使用 RNN 之前对文本进行预处理

数据挖掘 nlp 逻辑回归 rnn
2021-09-25 10:23:09

我将使用(RNN+Logisitic Regression)进行情感分析。

我应该对文本进行预处理,例如删除停用词、标点符号并通过找到的名词提取关键字吗?

1个回答

欢迎来到数据科学论坛。

是的,数据预处理是情感分析的一个重要方面,以获得更好的结果。要进行何种预处理很大程度上取决于数据的质量。您必须探索您的语料库以了解变量的类型、它们的功能、允许的值等。包括 html 和 xml 在内的一些格式包含提供更多元数据的标签和其他数据结构。

在高层次上,情感分析(使用词袋)将涉及 4 个步骤:

  • 第 1 步:数据组装
  • 第 2 步:数据处理
  • 第 3 步:数据探索或可视化
  • 第 4 步:模型构建和验证(训练和测试)

让我们了解不同的可能数据预处理活动:

  • Convert text to lowercase – 这是为了避免仅仅根据大小写来区分单词。

  • Remove Number– 数字可能与我们的分析相关,也可能不相关。通常它在情绪分析中并不重要

  • Remove Punctuation– 标点符号可以提供支持理解的语法上下文。对于基于词袋的情感分析,标点符号不会增加价值。

  • Remove English stop words– 停用词是一种语言中的常用词。for、of、are 等词是常见的停用词。

  • Remove Own stop words(if required)– 除了英语停用词,我们可以替代或另外删除我们自己的停用词。自己的停用词的选择可能取决于话语领域,并且在我们进行一些分析之前可能不会变得明显。

  • Strip white space– 消除多余的空格。

  • Stemming– 转换为词根。词干提取使用一种算法来删除英语单词的常见词尾,例如“es”、“ed”和“'s”。例如,即 1) “computer” & “computers” 变成 “compute”

  • Lemmatisation– 转换为字典基本形式,即“生产”和“生产”变为“生产”

  • Sparse terms– 我们通常对文档中的不常见术语不感兴趣。应该从文档术语矩阵中删除此类“稀疏”术语。

为了让您更深入地了解所涉及的步骤,这里有一些使用逻辑回归代码的示例情感分析https://github.com/srom/sentiment

https://github.com/jadianes/data-science-your-way/blob/master/04-sentiment-analysis/README.md

希望这可以帮助。