词干分析是产生词根/基词的形态变体的过程。词干分析程序通常被称为词干分析算法或词干分析器。词干提取算法将单词“chocolate”、“chocolate”、“choco”缩减为词根单词,“chocolate”和“retrieve”、“retrieve”、“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"
词干分析中的错误: 词干分析主要有两个错误:
- 过度堵塞
- 堵塞不足
当两个单词来自同一个词根且词干不同时,就会出现词干过度。过度堵塞也可被视为假阳性。
词干不足是指两个单词来自同一个词根,但词干不同。词干不足可以解释为假阴性。
词干分析的应用:
- 词干分析用于搜索引擎等信息检索系统。
- 它用于在领域分析中确定领域词汇。
有趣的事实 :谷歌搜索在2003年采用了词干法。以前搜索“鱼”不会返回“钓鱼”或“鱼”。
一些词干提取算法包括:
- 波特的词干分析器算法 这是1980年提出的最流行的词干提取方法之一。它基于这样一种观点,即英语中的后缀是由更小和更简单的后缀组合而成的。这种茎干分析器以其速度和简单而闻名。Porter Stemmer的主要应用包括数据挖掘和信息检索。然而,它的应用仅限于英语单词。此外,词干组被映射到同一个词干上,输出词干不一定是一个有意义的词。这些算法在本质上相当冗长,被认为是最古老的词干分析器。 例子: EED->EE的意思是“如果单词至少有一个元音和辅音加上EED结尾,将结尾改为EE”,因为“agreed”变成了“agree”。
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在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.
- 道森茎秆机 它是Lovins词干分析器的一个扩展,其中后缀按长度和最后一个字母索引的相反顺序存储。
Advantage: It is fast in execution and covers more suffices.Limitation: It is very complex to implement.
- 克罗维茨茎干器 它是由罗伯特·克罗维茨在1993年提出的。以下是步骤: 1) 将单词的复数形式转换为单数形式。 2) 将单词的过去时态转换为现在时态,并去掉后缀“ing”。 例子: “儿童”->“儿童”
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.
- 施乐干手机 例子:
- “儿童”->“儿童”
- “理解”->“理解”
- “谁”->“谁”
- “最好的”->“很好”
- N-Gram词干分析器 n-gram是从一个单词中提取的一组n个连续字符,其中相似的单词有很大比例的n-gram相同。 例子: n=2的“介绍”变成:*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.
- 雪球茎秆机:
与波特词干分析器相比,雪球词干分析器也可以映射非英语单词。由于Snowball词干分析器支持其他语言,因此可以称为多语言词干分析器。Snowball词干分析器也是从nltk软件包中进口的。这个词干分析器基于一种叫做“雪球”的编程语言,该语言处理小字符串,是使用最广泛的词干分析器。Snowball stemmer比Porter stemmer更具攻击性,也被称为Porter2 stemmer。由于与Porter词干分析器相比增加了改进,Snowball词干分析器具有更高的计算速度。
- 兰开斯特茎秆机:
与其他两种茎秆机相比,兰开斯特茎秆机更具攻击性和动态性。词干分析器的速度确实更快,但在处理小词时,算法确实令人困惑。但它们的效率不如雪球式茎秆机。Lancaster词干分析器从外部保存规则,基本上使用迭代算法。
参考: 词干提取算法的比较研究