【问题标题】:question on sentiment analysis情感分析问题
【发布时间】:2011-08-10 02:43:16
【问题描述】:

我有一个关于情绪分析的问题需要帮助。

现在,我通过 twitter 搜索 api 收集了一堆推文。因为我使用了搜索词,所以我知道我想要查看的主题或实体(人名)是什么。我想知道其他人对这些人的看法。

对于初学者,我下载了一个具有已知价/情绪分数的英语单词列表,并根据推文中这些单词的可用性计算情绪 (+/-)。问题是情绪是这样计算的——我实际上更多的是关注推文的语气,而不是关于这个人。

例如,我有这条推文:

"lol... Person A is a joke. lmao!"

消息显然是积极的语气,但 A 人应该得到否定的语气。

为了改进我的情绪分析,我可能会考虑我的单词列表中的否定和修饰符。但是我怎样才能让我的情绪分析来查看消息的主题(可能还有讽刺)呢?

如果有人可以指导我获取一些资源,那就太好了......

【问题讨论】:

  • “是的,没错。”分析此消息的语气是一项挑战。您需要注意,您的分析总会出现方式偏离并产生错误结果(或不存在正确结果!)的情况
  • 由于大多数人无法识别书面文本中的讽刺,因此算法很难实现这一目标。

标签: python twitter machine-learning sentiment-analysis


【解决方案1】:

在等待 AI 领域研究人员的回答时,我将为您提供一些关于您可以快速做些什么的线索。

尽管该主题需要自然语言处理、机器学习甚至心理学方面的知识,但您不必从头开始,除非您绝望或对该领域正在进行的研究质量不信任。

情感分析的一种可能方法是将其视为监督学习问题,其中您有一些小型训练语料库,其中包括人工注释(稍后会介绍)和一个测试语料库,您可以在该语料库上测试您的接近/系统正在执行。对于训练,您将需要一些分类器,如 SVM、HMM 或其他一些分类器,但要保持简单。我将从二进制分类开始:好,坏。您可以对连续范围的意见范围(从正面到负面)执行相同的操作,即获得一个排名,如 google,其中最有价值的结果排在首位。

对于开始检查libsvm classifier,它能够同时进行分类{好、坏}和回归(排名)。 注释的质量会对您获得的结果产生巨大影响,但是从哪里获得呢?

我找到了与餐馆打交道的one project about sentiment analysis。既有数据又有代码,所以你可以看到他们如何从自然语言中提取特征,以及哪些特征在分类或回归中得分高。 该语料库包含顾客对他们最近访问过的餐馆的意见,并就食物、服务或氛围提供了一些反馈。 他们的观点和数字世界的联系以他们给餐厅的星数来表达。您在一个网站上使用自然语言,在另一个网站上使用餐厅价格。

查看此示例,您可以针对所述问题设计自己的方法。 也可以看看nltk。使用 nltk,您可以进行词性标注,运气好的话,您还可以获取名称。完成此操作后,您可以向分类器添加一个功能,如果在 n 个单词(跳过 n-gram)中有表达意见的单词(查看餐厅语料库)或使用您已经拥有的权重,它将为名称分配分数,但它是最好依靠分类器来学习权重,这是他的工作。

【讨论】:

    【解决方案2】:

    在当前的技术状态下这是不可能的。

    英语(和任何其他语言)非常很复杂,还不能被程序“解析”。为什么?因为 EVERYTHING 必须是特殊情况。说某人是个笑话是笑话的一个特例,这是程序中的另一个例外。等等等等等等。

    一个很好的例子(ScienceFriction 在 SO 的某处发布):

    同样,情感词“不可预测”在惊悚片中可能是正面的,但在描述丰田的休息系统时可能是负面的。

    如果您愿意在这个主题上花费 +/-40 年,请继续,我们将不胜感激 :)

    【讨论】:

      【解决方案3】:

      我不完全同意nightcracker 所说的话。我同意这是一个难题,但我们正在朝着解决方案取得良好进展。

      例如,“词性”可以帮助您找出句子中的主语、动词和宾语。在丰田与惊悚片的例子中,“n-gram”可能会帮助您弄清楚上下文。看看TagHelperTools。它建立在 weka 之上,并提供词性和 n-gram 标记。

      尽管如此,想要得到 OP 想要的结果还是很困难的,但不会需要 40 年。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-30
        • 1970-01-01
        • 2019-06-25
        • 2022-01-15
        • 2020-01-21
        • 2013-02-07
        • 2020-08-14
        • 1970-01-01
        相关资源
        最近更新 更多