NLP 的数据预处理步骤,一文掌握

1. 标记化和文本清理

NLP的核心是将文本分解为有意义的单元的艺术。标记化是将文本拆分为单词、短语甚至句子(标记)的过程。这是为进一步分析奠定基础的第一步。再加上文本清理,删除了不必要的字符、数字和符号,标记化确保使用原始的、可理解的语言单位。

复制代码
#!pip install nltk
# Example Tokenization and Text Cleaning
text = "NLP is amazing! Let's explore its wonders."
tokens = nltk.word_tokenize(text)
cleaned_tokens = [word.lower() for word in tokens if word.isalpha()]
print(cleaned_tokens)

['nlp', 'is', 'amazing', 'let', 'explore', 'its', 'wonders']

2. 常用词删除:

并非所有单词对句子的含义都有同等的贡献。像"the"或"and"这样的常用词通常会被过滤掉,以专注于更有意义的内容。

复制代码
# Example Stop Words
from nltk.corpus import stopwords
stop_words = set(stopwords.words("english"))
filtered_sentence = [word for word in cleaned_tokens if word not in stop_words]
print(filtered_sentence)

['nlp', 'amazing', 'let', 'explore', 'wonders']

3. 词干提取和词形还原

词干提取和词形还原化都是自然语言处理 (NLP) 中使用的文本规范化技术,用于将单词简化为其基本或根形式。虽然它们有着简化单词的共同目标,但它们在应用的语言知识方面却有所不同。

词干提取:简化为根形式

词干提取涉及切断单词的前缀或后缀以获得它们的词根或基本形式,称为词干。目的是将具有相似含义的单词视为相同。词干提取是一种基于规则的方法,并不总是产生有效的单词,但它的计算强度较低。

词形还原:转换为字典形式

另一方面,词形还原涉及将单词简化为基本形式或字典形式,称为引理。它考虑了句子中单词的上下文并应用形态分析。与词干化相比,词形还原会产生有效的单词,并且在语言上更具信息性。

何时使用词干提取与词形还原:

词干提取:

  • 优点: 简单且计算成本更低。
  • 缺点:可能并不总是产生有效的单词。

词形还原:

  • 优点:产生有效的单词;考虑语言上下文。
  • 缺点:比词干提取更耗费计算量。

词干提取和词形还原之间的选取:

词干提取和词形还原之间的选择取决于 NLP 任务的具体要求。如果需要一种快速直接的文本分析方法,那么词干提取可能就足够了。但是,如果语言准确性至关重要,尤其是在信息检索或问答等任务中,则通常首选词形还原。

在实践中,选择通常取决于基于 NLP 应用程序的特定特征的计算效率和语言准确性之间的权衡。

复制代码
# Example Stemming, and Lemmatization 
from nltk.stem import PorterStemmer, WordNetLemmatizer

stemmer = PorterStemmer()
lemmatizer = WordNetLemmatizer()

stemmed_words = [stemmer.stem(word) for word in filtered_sentence]
lemmatized_words = [lemmatizer.lemmatize(word) for word in filtered_sentence]

print(stemmed_words)
print(lemmatized_words)

['nlp', 'amaz', 'let', 'explor', 'wonder']
['nlp', 'amazing', 'let', 'explore', 'wonder']

4. 词性标签:

词性标记(POS 标记)是一项自然语言处理任务,其目标是为给定文本中的每个单词分配一个语法类别(例如名词、动词、形容词等)。这样可以更深入地了解句子中每个单词的结构和功能。

Penn Treebank POS 标签集是一种广泛使用的标准,用于在英语文本中表示这些词性标签。

复制代码
# Example Part-of-Speech Tagging 
from nltk import pos_tag
pos_tags = nltk.pos_tag(filtered_sentence)
print(pos_tags)

[('nlp', 'RB'), ('amazing', 'JJ'), ('let', 'NN'), ('explore', 'NN'), ('wonders', 'NNS')]

5. 命名实体识别 (NER):

NER 通过识别和分类给定文本中的名称、位置、组织等实体,将语言理解提升到一个新的水平。这对于从非结构化数据中提取有意义的信息至关重要。

复制代码
# Example Named Entity Recognition (NER) 
from nltk import ne_chunk

ner_tags = ne_chunk(pos_tags)
print(ner_tags)

(S nlp/RB amazing/JJ let/NN explore/NN wonders/NNS)

NLP预处理步骤的实际应用

社交媒体情绪分析中的标记化和文本清理

在社交媒体情绪分析中,标记化和文本清理至关重要。例如,在分析推文以衡量公众对新产品的情绪时,标记化有助于将推文分解为单个单词或短语。文本清理用于消除社交媒体文本中常见的主题标签、提及和 URL 等噪音。

复制代码
import re
def clean_tweet(tweet):
    tweet = re.sub(r'@\w+', '', tweet)  # Remove mentions
    tweet = re.sub(r'#\w+', '', tweet)  # Remove hashtags
    tweet = re.sub(r'http\S+', '', tweet)  # Remove URLs
    return tweet

tweet = "Loving the new #iPhone! Best phone ever! @Apple"
clean_tweet(tweet)

'Loving the new ! Best phone ever! '

搜索引擎中的常用词删除

搜索引擎广泛使用常用词删除。在处理搜索查询时,通常会删除"the"、"is"和"in"等常用词,以专注于更有可能与搜索结果相关的关键字。

文本分类中的词干提取和词形还原

新闻机构和内容聚合器经常使用词干提取和词形还原进行文本分类。通过将单词简化为基本形式或词根形式,算法可以更轻松地将新闻文章分类为"体育"、"政治"或"娱乐"等主题。

语音助手中的词性标记

亚马逊的Alexa或苹果的Siri等语音助手使用词性标记来改善语音识别和自然语言理解。通过确定单词的语法上下文,这些助手可以更准确地解释用户请求。

客户支持自动化中的命名实体识别 (NER)

NER广泛用于客户支持聊天机器人。通过识别和分类产品名称、位置或用户问题等实体,聊天机器人可以对客户查询提供更有效和量身定制的响应。

这些例子突出了NLP预处理步骤在各个行业中的实际意义,使抽象的概念更加具体和易于掌握。了解这些应用程序不仅可以提供背景信息,还可以激发未来项目的想法。!

相关推荐
“AI国潮设计-小江”20 分钟前
《Python实战 | SDXL大模型批量生成“英歌舞海浪”蛋糕IP,附核心Prompt控制代码与IP授权变现思路》
人工智能·python·prompt·aigc
虹科网络安全29 分钟前
使用艾体宝 IOTA 10 CORE+ 监控企业网络中的 AI 流量
网络·人工智能
朝阳资本论32 分钟前
群核科技:从空间设计龙头到物理AI“卖水人”的升维之战
人工智能
七夜zippoe40 分钟前
为什么 2026 年每个 Java 团队都该懂 AI Agent
java·开发语言·人工智能
举个栗子。42 分钟前
SwarmForge:AI 智能体协同编程框架,让多个 Agent 在隔离工作区并行协作
人工智能·开源·ai编程
AIGC小尼1 小时前
Windows 本地 AI 漫剧全自动生产线部署完整教程(零基础、全指令、带源码、模型配置、排错方案)
人工智能·windows·ai漫剧
合米AI SOP系统1 小时前
传统产线如何快速上马落地 AI 防错?合米科技 AI SOP 7天即可上线。
大数据·人工智能·科技
思录Echo1 小时前
什么决定具身智能的最终走向?多技术路线与落地现实辨析
大数据·人工智能
ShallWeL1 小时前
Orin 上多模型常驻与显存预算
人工智能·嵌入式硬件·nvidia·orin
xiaohaiAIgeo1 小时前
【2026年】AI监控加行为分析守护实验室安全
大数据·人工智能·科普知识