我正在创建一个能够歧视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的歧义时),或者我做错了什么?此外,如果它是一个功能,那么它可以删除(给我一个单词而不是无)?
谢谢!
答案 0 :(得分:1)
是的,如果找不到单词感,则该方法返回None
。您可以增加上下文的大小。据我所知,在方法源代码中,上下文句子必须被标记化。