在德克萨斯州识别多个类别和相关情绪

2024-05-13 08:00:20 发布

您现在位置:Python中文网/ 问答频道 /正文

如果你有一个文本语料库,你如何识别所有的类别(从一个预先定义的类别列表中)以及与之相关的情绪(积极/消极的写作)?在

我将在Python中实现这一点,但在这个阶段,我不一定要寻找特定于语言的解决方案。在


让我们用一个例子来看看这个问题,试图澄清我的问题。在

如果我有完整的产品评论,例如:

Microsoft's Xbox One offers impressive graphics and a solid list of exclusive 2015 titles. The Microsoft console currently edges ahead of the PS4 with a better selection of media apps. The console's fall-2015 dashboard update is a noticeable improvement. The console has backward compatibility with around 100 Xbox 360 titles, and that list is poised to grow. The Xbox One's new interface is still more convoluted than the PS4's. In general, the PS4 delivers slightly better installation times, graphics and performance on cross-platform games. The Xbox One also lags behind the PS4 in its selection of indie games. The Kinect's legacy is still a blemish. While the PS4 remains our overall preferred choice in the game console race, the Xbox One's significant course corrections and solid exclusives make it a compelling alternative.

我有一个预定义类别的列表,例如:

  • 图形
  • 游戏玩法
  • 游戏选择
  • 应用程序
  • 性能
  • 无关/其他

我可以收集大量的评论,然后用句子把它们分解。对于我的培训数据中的每一句话,我可以用适当的类别来标记它们。问题是在一个句子中可能有不同的类别。在

如果每个句子有一个类别,那么scikit learn的任何分类算法都能做到。在处理多个类时,我可以使用类似于多标签分类的方法。在

增加情绪才是最棘手的部分。识别句子中的情绪是一个相当简单的任务,但如果不同标签上的情绪混合在一起,就会变得不同。在

示例语句“Xbox One有很多游戏可供选择,但性能比PS4差”。我们可以确定两个预先定义的类别(游戏选择,性能),但我们对游戏选择有积极的情绪,对性能的消极情绪。在

有什么方法可以将文本中的所有类别(从我们预先定义的列表中)与其相关联的情感进行识别?在


Tags: andofthe游戏列表定义is类别
2条回答

一个简单的方法是使用解析器将训练集分解成最小的句子,并将其用作标签和情感分类的输入。在

你的例句:

The Xbox One has a good selection of games but the performance is worse than the PS4

使用Stanford Parser,获取没有子S标记的S标记(因此是最小的句子),并将标记放回一起。对于上面的句子,你可以得到:

^{pr2}$

S标签中的情绪在大多数时候应该是一致的。如果像The XBox has good games and terrible graphics这样的句子在你的数据集中很常见,你可能需要把它分解成NP标记,但这似乎不太可能。在

关于标签,正如您所提到的,任何多标签分类方法都应该有效。在

对于更复杂的方法,有很多关于连接主题情感模型的研究——搜索“主题情感模型”会找到很多论文和代码。下面是一篇介绍Hidden Topic Sentiment Model的文章中的训练数据示例,它看起来很适合你。注意第一句话中有两个主题。在

HTSM training data

希望有帮助!在

我能想到的唯一方法是一系列步骤。在

1)使用一些库从文本及其关系中提取实体。例如,查看本文:

http://www.nltk.org/book/ch07.html

通过分析每一个文本,你可以找出每一个文本中有哪些实体,以及哪些文本块与该实体相关。在

2)使用NLTKs情感提取分析与每个实体具体相关的语块,得到它们的情感。这给了你每个实体的情感。在

3)之后,你需要找到一种方法,将文本中可能遇到的实体映射到你所称的“主题”。不幸的是,我看不到一个自动化的方法,因为你显然没有用传统的方式定义主题,通过词频(比如在主题建模算法中,LDA,NMF等等)。在

相关问题 更多 >