2、NLP文本预处理技术:词干提取和词形还原

您所在的位置:网站首页 prove词根词缀分析 2、NLP文本预处理技术:词干提取和词形还原

2、NLP文本预处理技术:词干提取和词形还原

2023-12-18 09:14| 来源: 网络整理| 查看: 265

三、Porter & Zemberek词干提取

        Porter词干提取算法是最常见的词干提取算法之一,其主要目的是删除和替换众所周知的英语单词后缀。

        如果您想用土耳其语进行操作,在土耳其语中查找词根的最常见算法被称为“ Zemberek ”。Zemberek 是一个自然语言处理库,可以根据土耳其语的语言结构和词法分离词根和后缀。

        尽管波特词干算法是针对英语文本开发的,但它可以适应不同的语言。然而,使用专门针对不同语言(例如土耳其语)设计的自然语言处理工具和算法更为有效,因为它们并不能完全适应该语言的特点。

        Zemberek 在理解和处理土耳其语丰富的形态结构方面更加成功,因此在土耳其语文本上给出了更好的结果。因此,更常见的是选择 Zemberek 等特定于语言的工具来进行土耳其语的语言处理和寻根任务。

我将在另一篇文章中更详细地介绍“Zemberek”主题。

        让我们看看波特词干算法是如何工作的:

from nltk.stem.porter import PorterStemmer stemmer = PorterStemmer() def stem_words(text): word_tokens = text.split() stems = [stemmer.stem(word) for word in word_tokens] return stems text = 'text preprocessing techniques for natural language processing by Aysel Aydin' stem_words(text)

输出:

['text', 'preprocess', 'techniqu', 'for', 'natur', 'languag', 'process', 'by', 'aysel', 'aydin']

        现在让我们考虑“词形还原”的主题

        在我们的词形还原示例中,我们将使用一种流行的词形还原器,称为WordNet词形还原器。

        WordNet 是英语单词关联数据库,也是英语词形还原的有用资源。然而,土耳其语中没有与此源直接等效的工具,Zemberek 等特定于语言的工具更适合土耳其语文本的词形化。

        正如我上面提到的,我将在另一篇文章中更详细地讨论“Zemberek”主题。

        让我们编码并应用词形还原。

from nltk.stem import WordNetLemmatizer lemmatizer = WordNetLemmatizer() def lemmatize_word(text): word_tokens = text.split() lemmas = [lemmatizer.lemmatize(word, pos ='v') for word in word_tokens] return lemmas text = 'text preprocessing techniques for natural language processing by Aysel Aydin' lemmatize_word(text)

输出:

['text', 'preprocessing', 'techniques', 'for', 'natural', 'language', 'process', 'by', 'Aysel', 'Aydin'] 四、总结

        总而言之,词干提取和词形还原是帮助我们进行自然语言处理的文本预处理的方法。它们都旨在将词形变化减少到共同的基本词根,但各自采取不同的方法来做到这一点。

        在某些情况下,词干提取可能比词形还原产生更好的结果,而在其他情况下,词形还原可能更准确。因此,在选择文本规范化技术时,必须权衡简单性、速度和准确性之间的权衡。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3