# 二、情感分析

为了帮助掌握 HDInsight 中的工具，我们将通过对大量非结构化文本数据应用简单的情感分析过程来演示它们的用法。在这个简短的非技术部分，我们将看看什么是情感分析。作为其中的一部分，我们将制定一个简单的方法，当我们探索 HDInsight 的过程中，将会用到这个方法。

## 简单概述

情感分析是通过分析交流中使用的词语和术语，从交流中获得情感背景的过程。这可以在下面的简单例子中详细说明:

第一步:选择一些简单的自由格式的文本，比如来自酒店评论的文本:

| 标题 | 酒店反馈 |
| 内容 | 我在你的度假胜地度过了一段美妙的假期。服务很好，很友好。我的家人都玩得很开心。

游泳池关闭了，虽然有点糟糕。 |

第二步:列出情感中被认为“积极”或“消极”的单词:

| 积极的 | 否定的；消极的；负面的；负的 |
| 好的 | 严重的 |
| 伟大的 | 更坏的 |
| 极好的 | 垃圾 |
| 优秀的 | 吸 |
| 友好的 | 可怕的 |
| 可怕的 | 可怕的 |
| 享受 | 伪造的 |

第三步:将文本与情感单词列表匹配:

| 标题 | 酒店反馈 |
| 内容 | 我在你的度假胜地度过了一段美妙的假期。服务很好，很友好。我的家人都玩得很开心。游泳池关闭了，虽然有点糟糕。 |

第四步:统计每个类别的情感词:

| 积极的 | 否定的；消极的；负面的；负的 |
| 极好的 | 吸 |
| 优秀的 |  |
| 友好的 |  |
| 享受 |  |
| **4** | **1** |

第五步:从正数中减去负数:

| 积极的情感 | four |
| 消极情感 | one |
| 整体情感 | three |

在这个例子中，总的结果是这个特定文本块的情感是积极的，自动化系统可以将这解释为积极的评论。

## 复杂性

上面提出的观点是一种非常简单的情感分析方法，因为它不受上下文影响地检查单个单词，并决定它们是积极的还是消极的。例如，考虑这一段:

```cs
      “I think you misunderstand me. I do not hate this and it doesn’t make me angry or upset in any way. I just had a terrible journey to work and am feeling a bit sick.”

```

通过使用人类推导上下文的能力来检查它，这根本不是负面评论；非常抱歉。但是，它充斥着孤立评估后会呈现出非常负面观点的词汇。简单的上下文可以通过考虑修饰词如“not”的影响来添加，尽管这会影响处理时间。更复杂的语境开始进入自然语言处理领域，这是一个试图解决这些挑战的深刻而复杂的领域。

第二个问题是特定词语的权重。“讨厌”是比“不喜欢”更强烈的不喜欢表达——但是“讨厌”和“糟糕”在这个范围内的什么地方呢？一个人的写作风格也会影响这些词的权重。倾向于更戏剧化表达的人可能会宣称他们“讨厌”一些只是小麻烦的事情，而一个更有外交手腕的人可能会声明他们“关心”一些实际上给他们造成巨大困难的事情。

这可以通过几种方式来解决。第一种方法是抛开个人风格，根据主观判断对具体的词进行加权。当然，这带来了一个挑战，即单词列表会很长，因此，分配权重将是一项耗时的工作。另外，很有可能在野外不会遇到所有的单词。第二种方法——反映了分析界在处理非绝对规模的结果时使用的一种技术——是简单地使用一种简单的方法，将一个词划分为积极的、消极的，或者在没有分类的情况下，中性的——并将规模问题放在一边。

第三个问题是给定场景中单词的分布和使用。在某些情况下，在被分析的领域中常见的词可能会给出假阳性或假阴性。例如，查看产品评论的泵制造商不应该解释“糟糕”这个词的使用，因为这个词会出现在这些产品性能的描述中。这是一个更容易解决的问题，因为像任何情感分析的一部分一样，重要的是审查影响情感的更频繁的单词，以防单词在特定领域中实际上是中性的时侯被评估为这样做。

关于这个领域的进一步阅读，建议你看看伊利诺伊大学刘冰教授(这个领域的专家)在[http://www.cs.uic.edu/~liub/](http://www.cs.uic.edu/~liub/)的作品。