【问题标题】:Porter Stemming of friedPorter Stemming of Fried
【发布时间】:2015-02-23 21:17:01
【问题描述】:

为什么波特词干算法在网上

http://text-processing.com/demo/stem/

将fried 转为fri 而不是fry?

我不记得有任何以ied 结尾的英语过去时,其主格以i 结尾。

这是一个错误吗?

【问题讨论】:

    标签: nlp nltk stemming porter-stemmer


    【解决方案1】:

    首先,词干分析器不是词形还原器,另见Stemmers vs Lemmatizers:

    >>> from nltk.stem import PorterStemmer, WordNetLemmatizer
    >>> porter = PorterStemmer()
    >>> wnl = WordNetLemmatizer()
    >>> fried = 'fried'
    >>> porter.stem(fried)
    u'fri'
    >>> wnl.lemmatize(fried)
    'fried'
    

    接下来,词形还原器对词性 (POS) 敏感:

    >>> wnl.lemmatize(fried, pos='v')
    u'fry'
    

    【讨论】:

      【解决方案2】:

      Porter Stemmer 返回的词干不一定是动词的基本形式,也不一定是有效词。如果你正在寻找那个,你需要寻找一个词形还原器。

      【讨论】:

      • 太棒了!有人可以提供一些算法(论文或代码)的链接,描述词干分析器和词形还原器如何结合使用,例如将friedness 转换为fry? lemmatizer 是否总是对词干算法的输出进行操作,还是需要单词的原始版本和词干版本?
      • 并非总是如此。例如,大多数“be”形式的引理——“is”、“was”、“were”、“are”——不能从词干中确定。词干更简单但容易出错。不过,在某些应用中,这是可以接受的。 lemmatizer 也可以使用词干分析器作为后备。
      猜你喜欢
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2012-05-02
      • 2013-03-03
      • 2010-10-10
      • 1970-01-01
      • 2013-07-02
      相关资源
      最近更新 更多