【问题标题】:Performing Stemming outputs jibberish/concatenated words执行词干输出 jibberish/concatenated words
【发布时间】:2012-04-01 15:47:15
【问题描述】:

我正在尝试使用 Python 库 NLTK 进行自然语言处理。

我的问题:我正在尝试执行词干提取;将单词简化为其规范化形式。但它没有产生正确的单词。我是否正确使用了词干类?我怎样才能得到我想要得到的结果?

我想规范化以下单词:

words = ["forgot","forgotten","there's","myself","remuneration"]

...进入这个:

words = ["forgot","forgot","there","myself","remunerate"]

我的代码:

from nltk import stem
words = ["forgot","forgotten","there's","myself","remuneration"]
for word in words:
    print stemmer.stem(word)

#output is:
#forgot forgotten there' myself remuner

【问题讨论】:

    标签: python nlp nltk


    【解决方案1】:

    您可以在单词级别执行两种类型的规范化。

    1. 词干 - 一种快速而肮脏的 hack,将单词转换为不能保证是实际单词的某个标记,但通常同一单词的不同形式应映射到相同的词干标记

      李>
    2. 词形还原 - 将单词转换为某种基本形式(单数、现在时等),它本身始终是合法的单词。这显然会更慢、更复杂,并且通常不需要很多 NLP 任务。

    您似乎在寻找词形还原器而不是词干分析器。在 Stack Overflow 中搜索“lemmatization”应该会为您提供大量关于如何设置其中之一的线索。我玩过这个名为morpha 的软件,发现它非常有用且很酷。

    【讨论】:

      【解决方案2】:

      与 adi92 一样,我也相信您正在寻找词形还原。由于您使用的是 NLTK,您可能可以使用它的WordNet interface

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-06
        • 1970-01-01
        • 1970-01-01
        • 2018-08-27
        • 1970-01-01
        • 1970-01-01
        • 2013-09-29
        • 1970-01-01
        相关资源
        最近更新 更多