Python 2.7:Lesk算法返回None

时间:2015-03-08 10:00:01

标签: python-2.7 nltk disambiguation word-sense-disambiguation

我正在创建一个能够歧视ambiguos单词的程序,而我正在使用nltk。现在,当我来到舞台上使用lesk算法时,我遇到了一些麻烦。

例如,如果我尝试:

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

c将为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')

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,如果找不到单词感,则该方法返回None。您可以增加上下文的大小。据我所知,在方法源代码中,上下文句子必须被标记化。