当前位置:   article > 正文

NLP 的数据预处理步骤,一文掌握_文本分类任务中的数据预处理部分

文本分类任务中的数据预处理部分

1. 标记化和文本清理

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

  1. #!pip install nltk
  2. # Example Tokenization and Text Cleaning
  3. text = "NLP is amazing! Let's explore its wonders."
  4. tokens = nltk.word_tokenize(text)
  5. cleaned_tokens = [word.lower() for word in tokens if word.isalpha()]
  6. print(cleaned_tokens)
['nlp', 'is', 'amazing', 'let', 'explore', 'its', 'wonders']

2. 常用词删除:

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

  1. # Example Stop Words
  2. from nltk.corpus import stopwords
  3. stop_words = set(stopwords.words("english"))
  4. filtered_sentence = [word for word in cleaned_tokens if word not in stop_words]
  5. print(filtered_sentence)
['nlp', 'amazing', 'let', 'explore', 'wonders']

3. 词干提取和词形还原

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

词干提取:简化为根形式

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

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

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

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

词干提取:

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

词形还原:

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

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

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

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

  1. # Example Stemming, and Lemmatization
  2. from nltk.stem import PorterStemmer, WordNetLemmatizer
  3. stemmer = PorterStemmer()
  4. lemmatizer = WordNetLemmatizer()
  5. stemmed_words = [stemmer.stem(word) for word in filtered_sentence]
  6. lemmatized_words = [lemmatizer.lemmatize(word) for word in filtered_sentence]
  7. print(stemmed_words)
  8. print(lemmatized_words)
  1. ['nlp', 'amaz', 'let', 'explor', 'wonder']
  2. ['nlp', 'amazing', 'let', 'explore', 'wonder']

4. 词性标签:

词性标记(POS 标记)是一项自然语言处理任务,其目标是为给定文本中的每个单词分配一个语法类别(例如名词、动词、形容词等)。这样可以更深入地了解句子中每个单词的结构和功能。
Penn Treebank POS 标签集是一种广泛使用的标准,用于在英语文本中表示这些词性标签。

  1. # Example Part-of-Speech Tagging
  2. from nltk import pos_tag
  3. pos_tags = nltk.pos_tag(filtered_sentence)
  4. print(pos_tags)
[('nlp', 'RB'), ('amazing', 'JJ'), ('let', 'NN'), ('explore', 'NN'), ('wonders', 'NNS')]

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

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

  1. # Example Named Entity Recognition (NER)
  2. from nltk import ne_chunk
  3. ner_tags = ne_chunk(pos_tags)
  4. print(ner_tags)
(S nlp/RB amazing/JJ let/NN explore/NN wonders/NNS)

NLP预处理步骤的实际应用

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

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

  1. import re
  2. def clean_tweet(tweet):
  3. tweet = re.sub(r'@\w+', '', tweet) # Remove mentions
  4. tweet = re.sub(r'#\w+', '', tweet) # Remove hashtags
  5. tweet = re.sub(r'http\S+', '', tweet) # Remove URLs
  6. return tweet
  7. tweet = "Loving the new #iPhone! Best phone ever! @Apple"
  8. clean_tweet(tweet)
'Loving the new ! Best phone ever! '

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

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

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

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

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

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

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号