0

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

例如,如果我尝试:

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

c 将为 None,这意味着算法将返回 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')

甚至是词条列表而不是完整的单词,但它仍然返回 None。

有谁知道这是否是 lesk 的一个功能(当它无法消除返回 None 这个词的歧义时),还是我做错了什么?此外,如果它是一个功能,那么它可以被删除(返回一个单词而不是 None)?

谢谢!

4

1 回答 1

1

是的,None如果没有找到词义,则该方法返回。您可以增加上下文的大小。据我在方法源代码中看到的,必须对上下文语句进行标记。

于 2015-03-11T11:37:11.913 回答