如何解决Synset' 对象没有属性 'lowest_common_hypernyms'
def _synset_similarity(s1,s2):
L1 =dict()
L2 =defaultdict(list)
for syn1 in s1:
L1[syn1[0]] =list()
for syn2 in s2:
subsumer = syn1[1].lowest_common_hypernyms(syn2[1],simulate_root=True)[0]
h =subsumer.max_depth() + 1 # as done on NLTK wordnet
syn1_dist_subsumer = syn1[1].shortest_path_distance(subsumer,simulate_root =True)
syn2_dist_subsumer = syn2[1].shortest_path_distance(subsumer,simulate_root =True)
l =syn1_dist_subsumer + syn2_dist_subsumer
f1 = np.exp(-alpha*l)
a = np.exp(beta*h)
b = np.exp(-beta*h)
f2 = (a-b) /(a+b)
sim = f1*f2
L1[syn1[0]].append(sim)
L2[syn2[0]].append(sim)
return L1,L2
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-5-2321cf4ecea6> in <module>()
66 s2 ='hurricane striked my house severly'
67
---> 68 print('similarity between '+'\"'+s1+'\"'+' and ' +'\"'+ s2+'\"'+ 'is: '+str(getSimilarity(s1,s2)))
1 frames
<ipython-input-5-2321cf4ecea6> in _synset_similarity(s1,s2)
23 for syn2 in s2:
24
---> 25 subsumer = syn1[1].lowest_common_hypernyms(syn2[1],simulate_root=True)[0]
26 h =subsumer.max_depth() + 1 # as done on NLTK wordnet
27 syn1_dist_subsumer = syn1[1].shortest_path_distance(subsumer,simulate_root =True)
AttributeError: 'synset' object has no attribute 'lowest_common_hypernyms'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。