Python 2.7: 莱斯克算法 returns None

Python 2.7: Lesk algorithm returns None

我正在创建一个程序来消除歧义词,我使用的是 nltk。现在上台使用lesk算法的时候遇到了一些麻烦

例如,如果我尝试:

c = lesk('There sign bothered consider inverse logic namely mental illness   substance abuse might degree consequence rather cause homelessness ','consider')

c 将是 None,这意味着算法将 return none.

我试着给出一个单词列表来代替句子:即:

sent = word_tokenize('There sign bothered consider inverse logic namely mental illness substance abuse might degree consequence rather cause homelessness ')
c = lesk(sent, 'consider')

甚至是引理列表而不是完整单词,但它仍然 returns None.

有谁知道这是否是 lesk 的一个特性(当它不能将这个词与 return None 消除歧义时),还是我做错了什么?另外,如果它是一个功能,那么它可以被删除吗(给我 return 一个词而不是 None)?

谢谢!

是的,方法returns None 如果找不到词义。您可以增加上下文的大小。据我在方法源代码中看到的,上下文句子必须被标记化。