这是我正在写的一个函数,用于检查名词列表中是否存在超级和下位词。
def check_hyper_hypo(wordlist):
returnlist=[]
for word in wordlist: #by definition a base word has a word above and below heirachy
x = wn.synsets(word)
for syn in x:
if not(((len(syn.hypernyms()))==0)or((len(syn.hyponyms()))==0)):
returnlist.append(word)
break
return returnlist
我如何仅检查名词同义词的超/下位长度? E.g。
for syn in x:
if ".n." in syn:
#rest of code
答案 0 :(得分:3)
您也可以尝试
aiCar.mirrorPos
它只返回名词,如果你想要动词,你应该使用wordnet.synsets(word, pos='n')
答案 1 :(得分:1)
简单地说,
for syn in x:
if syn.pos == 'n':
#rest of code
答案 2 :(得分:-1)
使用wordnet和列表理解的另一种方法
print ([len(wn.morphy(tag,wn.NOUN)) for tag in tags])