📜  词干简介

📅  最后修改于: 2021-04-16 09:18:43             🧑  作者: Mango

词干是产生词根/基词形态变异的过程。阻止程序通常称为阻止算法或阻止程序。词干算法将单词“ chocolates”,“ chocolatey”,“ choco”减少到词根,“ chocolate”和“ retrieval”,“ retrieved”,“ retrieves”减少到词干“ retrieve”。词干是自然语言处理中流水线处理的重要组成部分。词干分析器的输入是标记词。我们如何获得这些标记化的单词?好吧,标记化涉及将文档分解成不同的词。要详细了解令牌化及其工作原理,请参阅以下文章:

https://www.geeksforgeeks.org/nlp-how-tokenizing-text-sentence-words-works/

Some more example of stemming for root word "like" include:
->"likes"
->"liked"
->"likely"
->"liking"


提取错误:
词干分析主要有两个错误-

  • 过度梗
  • 抽干不足

当两个词都来自不同词干的同一个词根时,就会发生词干过度现象。过度梗塞也可以被认为是假阳性。

当两个词都来自相同词根而不是不同词干时,就会发生词干不足。词根不足可以解释为假阴性。

词干的应用:

  1. 词干用于诸如搜索引擎之类的信息检索系统中。
  2. 它用于确定领域分析中的领域词汇。

有趣的事实:Google搜索在2003年采用了一个词。以前,对“鱼”的搜索不会返回“钓鱼”或“鱼”。

一些词干算法是:

  • 波特的Stemmer算法
    它是1980年提出的最流行的词干提取方法之一。它基于这样的思想,英语中的后缀是由较小和较简单的后缀组成的。该词干提取器因其速度和简单性而闻名。 Porter Stemmer的主要应用包括数据挖掘和信息检索。但是,其应用仅限于英语单词。同样,词干组映射到相同的词干,并且输出词干不一定是有意义的词。该算法本质上相当冗长,并且被认为是最古老的词干分析器。
    例如: EED-> EE的意思是“如果单词中至少有一个元音和辅音加EED的结尾,则将结尾改为EE”,因为“同意”变为“同意”。
Advantage: It produces the best output as compared to other stemmers and it has less error rate.
Limitation:  Morphological variants produced are not always real words.

  • 洛文斯·斯特默(Lovins Stemmer)
    Lovins在1968年提出的建议是从单词中删除最长的后缀,然后对该单词进行重新编码以将该词干转换为有效单词。
    示例:坐->坐->坐
Advantage: It is fast and handles irregular plurals like 'teeth' and 'tooth' etc.
Limitation: It is time consuming and frequently fails to form words from stem.

  • 道森·斯坦默(Dawson Stemmer)
    它是Lovins词干分析器的扩展,其中后缀以其长度和最后一个字母索引的相反顺序存储。
Advantage: It is fast in execution and covers more suffices.
Limitation: It is very complex to implement.

  • 克罗维兹·斯特默(Krovetz Stemmer)
    它是由Robert Krovetz在1993年提出的。步骤如下:
    1)将单词的复数形式转换为单数形式。
    2)将单词的过去时转换为现在时,并删除后缀“ ing”。
    例如: ‘children’->’child’
Advantage: It is light in nature and can be used as pre-stemmer for other stemmers.
Limitation: It is inefficient in case of large documents.

  • 施乐Stemmer
    例子:
    • ‘孩子’->’孩子’
    • ‘了解’->’了解’
    • ‘whom’->’who’
    • ‘最好’->’好’
  • N-格拉姆·斯特默
    n-gram是从单词中提取的n个连续字符的集合,其中相似的单词将具有较高比例的n-gram。
    示例: n = 2的“ INTRODUCTIONS”变为:* I,IN,NT,TR,RO,OD,DU,UC,CT,TI,IO,ON,NS,S *
Advantage: It is based on string comparisons and it is language dependent.
Limitation: It requires space to create and index the n-grams and it is not time efficient.

  • 雪球梗:

与Porter Stemmer相比,Snowball Stemmer也可以映射非英语单词。由于它支持其他语言,因此可以将“雪球词干”称为多语言词干。 Snowball提取器也从nltk包中导入。该词干器基于一种称为“ Snowball”的编程语言,该语言可处理小字符串,并且是使用最广泛的词干器。 Snowball提取器比Porter Stemmer更具攻击性,也被称为Porter2 Stemmer。与Porter Stemmer相比,由于添加了改进,Snowball提取器的计算速度更快。

  • 兰开斯特·斯特默(Lancaster Stemmer):

与其他两个茎杆相比,Lancaster茎杆更具攻击性和活力。词干提取器确实更快,但是处理小单词时该算法确实令人困惑。但是它们不如Snowball Stemmers高效。 Lancaster词干提取器在外部保存规则,并且基本上使用迭代算法。

参考:茎算法的比较研究