【问题标题】:Python 2.7: Lesk algorithm returns NonePython 2.7:Lesk 算法返回无
【发布时间】:2015-03-08 10:00:01
【问题描述】:

我正在创建一个可以消除歧义词的程序,并且我正在使用 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)?

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 是的,发现None是完全正常的。不过,contet 不一定需要标记化。
    猜你喜欢
    • 1970-01-01
    • 2018-11-14
    • 2014-08-22
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2016-04-18
    • 2018-11-28
    • 2019-10-15
    相关资源
    最近更新 更多