如何获取路径相似度得分最高的synset

2024-10-01 15:45:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道下面的代码使用syn2的语法集迭代{}的所有语法集。在

我的问题是,如何得到给出最高分数的synset?在

    from nltk.corpus import wordnet
    syn1 = wordnet.synsets('speed',pos='n')
    syn2 = wordnet.synsets('performance',pos='n')
    for word1 in syn1:
        best = max(word1.path_similarity(word2) for word2 in syn2)
        ps_list.append(best)

Tags: 代码infromposfor语法分数wordnet
1条回答
网友
1楼 · 发布于 2024-10-01 15:45:42

也许你需要这样的东西:

import numpy as np
from nltk.corpus import wordnet

syn1 = wordnet.synsets('speed',pos='n')
syn2 = wordnet.synsets('performance',pos='n')

def getMaxPath(synset1,synset2):
    sim=[]
    a=[]
    b=[]
    for i in synset1:
        for j in synset2:
            sim.append(wordnet.path_similarity(i,j))
            a.append(i.name())   # save the names from synsets1 into list
            b.append(j.name())   # save the names from synsets2 into list

    max_sim=max(sim)
    idx=np.argmax(sim)
    s1=a[idx]        # get the name of synset1 for which path sim is max
    s2=b[idx]        # get the name of synset2 for which path sim is max
    return max_sim, s1, s2

getMaxPath(syn1, syn2)

输出:

^{pr2}$

相关问题 更多 >

    热门问题