enter image description here我正在尝试运行一个函数,该函数定义两个集合之间共有的单词数之间的重叠。我有一个Python 2.0的代码,我试图在Python 3.x中复制相同的代码:
def computeOverlap(self, target, pos, (defn,examples,wordnetints), pre_words, post_words):
# relevant words = words with same pos
context_overlap = 0
def_overlap = 0
consecutive_overlap = 0
def_words = defn.split(' ')
# put all examples into the definition too. # CHANGE. no.
for example in examples:
if example.find(target) != -1:
lst = example.split(target)
example = lst[0] + lst[1]
def_words.extend(example.split(' '))
# put wordnet int senses into defn
for wnint in wordnetints:
wnstring = target + "." + pos + "."
if wnint < 10: wnstring += "0" + str(wnint)
else: wnstring += str(wnint)
try:
wndef = utilities.cleanString(wn.synset(wnstring).definition)
def_words.extend(wndef.split(' '))
except: pass
尝试以以下方式运行该功能
#print list_of_senses
for sense in list_of_senses: # sense is int. length list_of_senses is approx 5
#print "Senses:\n", sense, list_of_senses[sense]
overlap = self.computeOverlap(word, pos, list_of_senses[sense], pre_words, post_words)
#print "overlap for sense", sense, ":", overlap
#print "!!!!", sense, "Overlap:", overlap
scores[sense] = overlap+alpha
#print "Best Sense is: ", best_sense
if softScoring:
values = []
total = sum(scores.values())
for key in scores:
scores[key] = scores[key] / float(total)
return scores, alpha
但这给了我以下错误:
File "<ipython-input-13-e08e748435b4>", line 91
def computeOverlap(self, target, pos, (defn , examples, wordnetints), pre_words, post_words):
SyntaxError: invalid syntax
我想念什么吗?
答案 0 :(得分:0)
尝试一下:
def computeOverlap(self, target, pos, defn , examples, wordnetints, pre_words, post_words):
context_overlap = 0
def_overlap = 0
consecutive_overlap = 0
答案 1 :(得分:0)
将列表作为参数,然后稍后将其解压缩为元组:
赞:
def computeOverlap(self, target, pos, temp_list, pre_words, post_words):
(defn, examples, wordnetints) = temp_list