当前位置: 首页 > news >正文

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']

四、总结

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

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

相关文章:

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

一、说明 在上一篇文章中,我们解释了文本预处理的重要性,并解释了一些文本预处理技术。在本文中,我们将介绍词干提取和词形还原主题。 词干提取和词形还原是两种文本预处理技术,用于将单词还原为其基本形式或词根形式。这些技术的…...

Fabric官方示例测试网络搭建

目录 一、参考文档二、环境依赖三、Fabric源码安装3.1、创建链目录3.2、下载源码3.3、修改安装脚本3.4、开始安装3.4.1、执行安装脚本3.4.2、手动下载ca和二进制配置包 四、启动测试网络五、使用测试网络5.1、创建应用通道5.2、部署链码5.3、发送交易 六、关闭测试网络 一、参考…...

ubuntu20.04 conda pack 打包虚拟环境,直接将其用到其他终端

在本机ubuntu20.04下配置的虚拟环境,想到将其整个放到新建的docker(ubuntu20.04)下使用,操作步骤如下: # 一、在ubuntu1下打包虚拟环境 # 安装conda-pack pip install conda-pack# 进入需要打包的虚拟环境,这里将目标虚拟环境名称为goal_env…...

云原生-AWS EC2使用、安全性及国内厂商对比

目录 什么是EC2启动一个EC2实例连接一个实例控制台ssh Security groups规则默认安全组与自定义安全组 安全性操作系统安全密钥泄漏部署应用安全元数据造成SSRF漏洞出现时敏感信息泄漏网络设置错误 厂商对比参考 本文通过实操,介绍了EC2的基本使用,并在功…...

【Proteus仿真】【Arduino单片机】简易电子琴

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用无源蜂鸣器、按键等。 主要功能: 系统运行后,按下K1-K7键发出不同音调。 二、软件设计 /* 作者:嗨小易&a…...

QT5.15.2 for Android 真机调试

一、准备就绪 1、一台安卓手机 1)手机需要进入开发者选项 2)准备一根USB线,需要用usb线连接电脑 2、QT5需要 Android搭建好环境(教程可以访问我另一篇文章) 二、调试 1、用usb线连接好电脑并进入开发者选项&…...

Mysql my.cnf配置文件参数详解

Linux 操作系统中 MySQL 的配置文件是 my.cnf,一般会放在 /etc/my.cnf 或 /etc/mysql/my.cnf 目录下。 如果你使用 rpm 包安装 MySQL 找不到 my.cnf 文件,可参考如下: 第一步: 通过cd命令 cd /usr/share/mysql 来到这个目录&#…...

linux下构建rocketmq-dashboard多架构镜像——筑梦之路

接上篇:linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路-CSDN博客 这里来记录下构建rocketmq-dashboard多架构镜像的方法步骤。 当前rocketmq-dashboard只有一个版本,源码地址如下: https://dist.apache.org/repos/dist/rele…...

git,ssh,sourcetree代码管理

安装Git并建立与GitHub的ssh连接 1、安装git,设置git的用户信息(需要通过用户信息来显示你是谁) 2、配置SSH, 因为本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,GitHub需要识别是否是你推送,Git…...

Jenkins中解决下载maven包巨慢的问题

背景介绍 我们在使用jenkins构建maven项目时由于依赖很多第三方jar包,默认会从maven中央仓库下载,由于maven中央仓库服务器是国外的,所以下载很慢,甚至会超时 解决办法 增加jenkins maven 源配置 如下图所示,增加m…...

Redis(11)| 持久化AOF和RDB

一、AOF(Append Only File) Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这个文件里的命令,并且执行它。 注意:只会记录写操作命令&am…...

ZYNQ实验---IQ调制实现SSB PART2

一、前言 本文实验在ZYNQ实验—IQ调制实现SSB PART1的基础上进行优化完善。 下图为IQ调制实现SSB PART1中设想实现设计框图 该图设计存在的几个问题: PC-PS的UDP传输存在丢包中断控制发包实际不适合流数据的传输采用的BRAM模块可以存储的空间较小,PC…...

机器学习-特征工程

一、特征工程介绍 1.1 什么是特征 数值特征(连续特征)、文本特征(离散特征) 1.2 特征的种类 1.3 特征工程 特征是机器学习可疑直接使用的,模型和特征之间是一个循环过程; 实际上特征工程就是将原始数据…...

大数据技术之集群数据迁移

文章目录 数据治理之集群迁移数据 数据治理之集群迁移数据 准备两套集群,我这使用apache集群和CDH集群。 启动集群 启动完毕后,将apache集群中,hive库里dwd,dws,ads三个库的数据迁移到CDH集群 在apache集群里hosts加上CDH Namenode对应域名并…...

CF1265E Beautiful Mirrors

CF1265E Beautiful Mirrors 洛谷CF1265E Beautiful Mirrors 题目大意 Creatnx \text{Creatnx} Creatnx有 n n n面魔镜,每天她会问一面镜子:“我漂亮吗?”,第 i i i面魔镜有 p i 100 \dfrac{p_i}{100} 100pi​​的概率告诉 Creat…...

软件测试/测试开发丨利用ChatGPT自动生成架构图

点此获取更多相关资料 简介 架构图通过图形化的表达方式,用于呈现系统、软件的结构、组件、关系和交互方式。一个明确的架构图可以更好地辅助业务分析、技术架构分析的工作。架构图的设计是一个有难度的任务,设计者必须要对业务、相关技术栈都非常清晰…...

Java学习笔记(六)——面向对象编程(基础)

一、类与对象 (一)类与对象的概念 (二)对象内存布局 ​编辑 对象分配机制 ​编辑 (三)属性/成员变量 (四)创建对象与访问属性 二、成员方法 (一)方法…...

0基础学习PyFlink——个数滚动窗口(Tumbling Count Windows)

大纲 Tumbling Count WindowsmapreduceWindow Size为2Window Size为3Window Size为4Window Size为5Window Size为6 完整代码参考资料 之前的案例中,我们的Source都是确定内容的数据。而Flink是可以处理流式(Streaming)数据的,就是…...

车载终端构筑智慧工厂:无人配送车的高效物流体系

​随着科技的不断进步和应用,智能化已经成为许多领域的关键词。在物流行业中,随着无人配送车的兴起和智慧工厂的崛起,车载终端正引领着无人配送车的科技变革之路。 文章同款:https://www.key-iot.com/iotlist/sv900.html 车载终端…...

插件_日期_lunar-calendar公历农历转换

现在存在某需求&#xff0c;需要将公历、农历日期进行相互转换&#xff0c;在此借助lunar-calendar插件完成。 下载 [1] 通过npm安装 npm install lunar-calendar[2]通过文件方式引入 <script type"text/javascript" src"lib/LunarCalendar.min.js">…...

OpenClaw学术研究助手:Qwen3-14b_int4_awq自动生成文献综述

OpenClaw学术研究助手&#xff1a;Qwen3-14b_int4_awq自动生成文献综述 1. 为什么需要AI辅助文献调研 作为一名计算机视觉方向的研究生&#xff0c;我每周需要阅读数十篇论文来跟踪领域进展。传统文献调研方式存在几个痛点&#xff1a;首先&#xff0c;手动下载和整理PDF文件…...

代码随想录算法第五十三天| KamaCoder110字符串迁移、KamaCoder105有向图的完全联通、KamaCoder106海岸线的计算

KamaCoder 110 字符串迁移 题目链接&#xff1a;110.字符串迁移 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a; 字符串迁移 思路与感想&#xff1a;直接卡在读懂题意这一关了&#xff0c;我还纳闷输出结果怎么跟自己理解的差那么多。卡哥讲完之后才明白题目的推导过程…...

OpenClaw+Qwen2.5-VL-7B:个人社交媒体自动化图文创作

OpenClawQwen2.5-VL-7B&#xff1a;个人社交媒体自动化图文创作 1. 为什么选择OpenClaw做社交媒体自动化 去年我开始运营一个科技类自媒体账号&#xff0c;最初每天花3小时手动找素材、写文案、配图。直到发现OpenClaw这个开源框架&#xff0c;我的工作流彻底改变了——现在9…...

FLAME PyTorch高效构建参数化3D人脸模型实战指南

FLAME PyTorch高效构建参数化3D人脸模型实战指南 【免费下载链接】FLAME_PyTorch 项目地址: https://gitcode.com/gh_mirrors/fl/FLAME_PyTorch 在数字内容创作、虚拟现实和影视制作等领域&#xff0c;3D建模技术正发挥着越来越重要的作用。其中&#xff0c;参数化人脸…...

基于COMSOL的复能带与凋落波研究:大、小单元嵌套声学黑洞结构PDE建模与文献复现

comsol实能带、复能带(PDE)建模 文献复现-“周期嵌套声学黑洞结构的复能带和凋落波研究”-“Complex band structure and evanescent Bloch wave propagation of periodic nested acoustic black hole phononic structure” 包括&#xff08;大单元、小单元、嵌套单元&#xff…...

SD卡速度模式全解析:从High Speed到UHS-III的选型指南

SD卡速度模式全解析&#xff1a;从High Speed到UHS-III的选型指南 在4K视频拍摄、高速连拍相机和工业级数据采集设备中&#xff0c;SD卡的性能往往成为系统瓶颈。我曾为一个医疗影像项目选型时&#xff0c;因误用Class 10的High Speed卡导致DVR设备频繁丢帧&#xff0c;最终发现…...

SpringBoot + Ollama + Qdrant + DeepSeek:从零构建企业级本地知识库问答系统

1. 为什么选择这套技术栈&#xff1f; 在企业内部搭建知识库问答系统时&#xff0c;技术选型需要平衡性能、成本和易用性。这套组合拳的巧妙之处在于&#xff1a;SpringBoot提供企业级开发框架&#xff0c;Ollama让大模型本地化运行成为可能&#xff0c;Qdrant解决向量检索的效…...

东方电机RS485嵌入式协议库:多型号统一控制与工业可靠性设计

1. 项目概述OrientalCommon_asukiaaa 是一个专为东方电机&#xff08;Oriental Motor&#xff09;RS485通信设备设计的嵌入式通用接口库。该库不直接实现物理层驱动&#xff0c;而是聚焦于协议层抽象与控制逻辑封装&#xff0c;为上层应用提供统一、可移植、符合工业现场总线规…...

AI Agent学习日记 Day3

今天没怎么搞&#xff0c;只做了一点小优化。之前我是用 agent.stream(invoke_input,stream_mode["messages", "updates"],config {"configurable": {"thread_id": "1"}}) 通过mode "messages"来获取并流式输…...

学术研究加速器:OpenClaw+千问3.5-27B自动整理参考文献

学术研究加速器&#xff1a;OpenClaw千问3.5-27B自动整理参考文献 1. 为什么需要自动化文献管理 作为一名经常需要阅读大量论文的研究者&#xff0c;我过去每周要花至少3小时手动整理参考文献。从下载PDF、提取元数据到生成BibTeX条目&#xff0c;这些重复性工作不仅枯燥&…...