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

一、说明

        在上一篇文章中,我们解释了文本预处理的重要性,并解释了一些文本预处理技术。在本文中,我们将介绍词干提取和词形还原主题。

        词干提取和词形还原是两种文本预处理技术,用于将单词还原为其基本形式或词根形式。这些技术的主要目标是减少文本文档中唯一单词的数量,使其更易于分析和理解。

        它们广泛用于搜索引擎和标记。搜索引擎使用词干来索引单词。因此,搜索引擎可能只存储其词根,而不是存储单词的所有形式。通过这种方式,词干提取可以减少索引的大小并提高检索准确性。

        让我们深入学习一下它们吧!

二、词干提取和词形还原

        词干提取涉及从单词中删除后缀以获得其基本形式,而词形还原涉及将单词转换为其形态基本形式。

        与词形还原相比,词干提取是一种更简单更快速的技术。它使用一组规则或算法来删除后缀并获得单词的基本形式。然而,词干提取有时会产生无效的基本形式,在这种情况下,它也可能导致歧义。

        另一方面,词形还原是一种更复杂的技术,它使用词汇和形态分析来确定单词的基本形式。词形还原比词干提取更且更复杂。它生成可以在字典中找到的有效基本形式,使其比词干提取更准确。

当单词的含义对分析不重要时,首选词干提取。例如:垃圾邮件检测

当单词的含义对于分析很重要时,建议进行词形还原。例如:问题解答

三、Porter & Zemberek词干提取

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

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

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

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

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

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

from nltk.stem.porter import PorterStemmerstemmer = PorterStemmer()def stem_words(text):word_tokens = text.split()stems = [stemmer.stem(word) for word in word_tokens]return stemstext = '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 WordNetLemmatizerlemmatizer = WordNetLemmatizer()def lemmatize_word(text):word_tokens = text.split()lemmas = [lemmatizer.lemmatize(word, pos ='v') for word in word_tokens]return lemmastext = 'text preprocessing techniques for natural language processing by Aysel Aydin'
lemmatize_word(text)

输出:

['text','preprocessing','techniques','for','natural','language','process','by','Aysel','Aydin']

四、总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/157259.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建ABAP数据库表和ABAP字典对象-理解表字段02

理解表字段 这一步,您将定义表字段。首先,你需要了解你的需求: 内置的ABAP类型和新定义的字段类型 下面我们将会创建3个字段类型在数据库表中。 ●内置字段类型:最快的方法:应用系统已经提供好的字段类型,基本类型、长度和描述…

软件无线电处理平台解决方案:330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡

基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 一、板卡概述 本板卡基于Xilinx公司的FPGAXC7K325T-2FFG900 芯片,pin_to_pin兼容FPGAXC7K410T-2FFG900 ,支持PCIeX8、64bit DDR3容量2GByte,HPC的FMC连接器,北京太速科…

opencv复习(很乱)

2-高斯与中值滤波_哔哩哔哩_bilibili 1、均值滤波 2、高斯滤波 3、中值滤波 4、腐蚀操作 卷积核不都是255就腐蚀掉 5、膨胀操作 6、开运算 先腐蚀再膨胀 7、闭运算 先膨胀再腐蚀 8、礼帽 原始数据-开运算结果 9、黑帽 闭运算结果-原始数据 10、Sobel算子 左-右&#x…

地图坐标展示工具folium

参考:https://github.com/python-visualization/folium https://zhuanlan.zhihu.com/p/384078185?utm_id0 https://www.w3cschool.cn/article/37568875.html 其他还有baidu:echarts 安装: pip install folium代码(离线地图&a…

美术如何创建 skybox 贴图资源?

文章目录 目的PS手绘Panorama To CubemapPS手绘Pano2VRSkybox & Cubemap Tutorial (Maya & Photoshop)Unity 中使用 ReflectionProbe 生成 Cubemap 然后再 PS 调整PS直接手绘 cubemapBlender 导入 Panorama,然后烘焙到 cubemap,再导入unity中使用…

利用Nginx负载均衡、动静分离特性部署前后端项目

目录 一、Nginx简介 1.1 Nginx是什么? 1.2 Nginx的作用 二、Nginx负载均衡 2.1 Nginx安装 2.2 Nginx搭载负载均衡 2.2.1 tomcat负载均衡 2.2.2 服务器的集群 三、前后端分离项目 3.1 前端项目导出 3.2 前端项目Linux部署 一、Nginx简介 1.1 Nginx是什么…

CSS3背景样式

在CSS 2.1中,background属性的功能还无法满足设计的需求,为了方便设计师更灵活地设计需要的网页效果,CSS3在原有background基础上新增了一些功能属性,可以在同一个对象内叠加多个背景图像,可以改变背景图像的大小尺寸&…

MATLAB | 万圣节来画个简单的可爱鬼叭!

万圣节要到啦一起来画个可爱鬼吧~ 代码比较的短: 完整代码 figure(Units,normalized,Position,[.2,.1,.52,.72]); axgca;hold on;axis off; ax.DataAspectRatio[1,1,1]; ax.YDirreverse; ax.XLim[0,100]; ax.YLim[0,100]; [X,Y]meshgrid(linspace(0,1,200)); Zsq…

Java实现对Html文本的处理

1.引入jsoup <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.8.3</version> </dependency> 2. html示例 示例代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1…

各种爱心特效代码免费分享

「链接&#xff1a;https://pan.xunlei.com/s/VNi9l3Mqp9oEflga1T6M-ZUOA1?pwdsam3# 提取码&#xff1a;sam3”复制这段内容后打开手机迅雷App&#xff0c;查看更方便」 「链接&#xff1a;https://pan.xunlei.com/s/VNi9lWqdFIwdtD5sdCDZFamoA1?pwdka8b# 提取码&#xff1a;…

Goby 漏洞发布|XXL-JOB accessToken 权限绕过漏洞

漏洞名称&#xff1a; XXL-JOB accessToken 权限绕过漏洞 English Name&#xff1a;XXL-JOB default accessToken Permission bypass Vulnerability CVSS core: 9.2 影响资产数&#xff1a; 18489 漏洞描述&#xff1a; XXL-JOB 是一款开源的分布式任务调度平台&#xff0…

python manage.py createsuperuser运行错误

我把思念作笺&#xff0c;随风而去&#xff0c;落在你常路过的那个街角… 错误复现 PS D:\教学文件\Django\djangoProject\webDemo02> python manage.py createsuperuser System check identified some issues:WARNINGS: ?: (urls.W005) URL namespace admin isnt unique…