【NLP】文本预处理:删除停用词和标点符号

目录

什么是停用词?

在处理自然语言之前通常被过滤掉的单词称为停用词。这些词实际上是任何语言中最常见的词(如冠词、介词、代词、连词等),不会给文本增加太多信息。英语中几个停用词的例子是"the","a","an","so","what"。

为什么要删除停用词?

停用词在任何人类语言中都是大量存在的。通过删除这些词,我们从文本中删除了底层信息,以便更加关注重要的信息。我们可以说,删除这些词语并不会对我们的任务训练产生任何负面影响。

删除停用词肯定会减少数据集的大小,从而减少训练时间,因为训练中涉及的标识数量较少。

我们总是删除停用词吗?他们总是对我们没用吗?

答案是否定的!

我们并不能总是删除停用词。停用词的删除在很大程度上取决于我们正在执行的任务和我们想要实现的目标。例如,如果我们正在训练一个可以执行情绪分析任务的模型,我们可能不会删除停用词。

影评:"The movie was not good at all."

删除停用词后,剩下的文字:"movie good"

我们可以清楚地看到这部电影的评论是负面的。然而,在去掉停用词之后,评论变得积极起来,这不是现实。因此,删除停用词在这里可能是有问题的。

像文本分类这样的任务通常不需要停用词,因为数据集中存在的其他词更重要,并且给出了文本的一般概念。因此,我们通常会删除这些任务中的停用词。

简单地说,NLP有很多任务在去掉停用词后无法正常完成。因此,在执行此步骤之前,请先考虑一下。这里的问题是,没有一条规则是通用的,也没有一个停用词列表是通用的。

注意事项:在删除停用词之前,先研究一下你的任务和你要解决的问题,然后再做决定。

有哪些不同的库可以删除停用词?

自然语言处理是当今研究最多的领域之一,在这一领域有了许多革命性的发展。NLP依赖于先进的计算技术,世界各地的开发人员已经创造了许多不同的工具来处理人类语言。

在这么多的库中,有一些非常流行,并且在执行许多不同的NLP任务时有很大帮助。

相关推荐
人工智能AI技术1 分钟前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能
Flynn Liang23 分钟前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
汤姆宝库34 分钟前
构建一个能用的RAG系统:切块、嵌入、混合检索与融合排序
人工智能
Dawson Zhu37 分钟前
【LLM推理与Serving⑪】MoE推理与MLA:DeepSeek-V3架构下的显存与通信权衡
人工智能·语言模型·架构·aigc·agi
github_is_geeksKai1 小时前
50 个 AI 与开源工具怎么选:从实际用途到实现边界
人工智能
IT_陈寒1 小时前
Vite的HMR把我整不会了:一个生产环境的热更新坑
前端·人工智能·后端
github_is_geeksKai1 小时前
浏览器 AI 小工具怎么选?40 个项目与 5 类商业任务的参考指南
人工智能
styshoo1 小时前
[snapshot]7-placeholder与恢复流程
人工智能
这个DBA有点耶2 小时前
库内计算推理:一条SQL背后的算子融合,和外挂方案差了几次网络往返
数据库·人工智能·sql
SelectDB2 小时前
AI Agent 的分析数据存在哪里?Trace、Prompt 与会话数据的存储选型
人工智能