如何将语言分类为对 AI 友好或攻击性的语言?

人工智能 分类 数据集
2021-10-26 09:01:39

仅出于学习的目的,我想对推文是否使用攻击性语言进行分类。

我想知道如何解决这个问题。我想我需要首先在一个巨大的文本数据集上训练我的神经网络,什么是攻击性语言。这就提出了一个问题,我首先从哪里获得这些数据?

这对我来说有点像鸡和蛋的问题,所以我想知道我将如何解决这个问题?

4个回答

我做了一些搜索,找不到任何具有攻击性基本事实的数据库。这意味着您需要自己构建一个数据库。这可能是一项艰巨的任务。获取数千条消息,并手动对它们进行分类,无论它们是否具有攻击性。这部分是相当劳动密集型的。

第二部分在开始时要容易得多,但优化起来会很痛苦(性能和计算成本)。我建议您从这项工作的朴素贝叶斯分类器开始。这是垃圾邮件检测的首选分类器。ANN 可能不适用于这种情况,因为数据将是一个巨大的稀疏向量。估计英语单词数超过一百万,这意味着您的人工神经网络的输入层应该能够扩展到该数字。搜索稀疏向量分类以获取可在这些情况下使用的其他分类器。

Cem Kalyoncu的回答提到了为攻击性建立地面实况数据库的难度。

一种替代方法是尝试在概念级别进行操作,这将允许使用预先存在的本体,例如 ConceptNet。

这是一篇描述这种技术的论文。

一个简单的方法是词典情感分析。为此,您需要一个按分数分类的单词列表,该分数反映“友好”与“攻击性”情绪。有关使用 Spark 设置 SA 系统的示例,请参阅本文要执行您所说的操作,请将 AFINN 替换为不同的数据集。如果没有您想要的“外面”,您可能必须自己创建所述数据集。

请注意,这不是世界上最复杂的技术,但它被发现非常有效。

我完全同意mindcrime 和Cem Kalyoncu。

考虑到被动攻击性更难被发现(讽刺、黑色幽默、讽刺同样)

虽然另一个先机可能是跳出框框思考:碰巧我躺在一本关于无暴力交流的书旁。因此,您最好的开始可能是与语言学家讨论语言中的暴力并从那里开始。或者只是对语言学家或心理学家如何检测语言中的暴力进行一些评论(悬念:这可能非常复杂)

尽管如此:我不认为你需要真正的人工智能,单词和表达的黑名单以及一些表达模式检测对于一开始就足够精确了。

然后对于所有表达式、单词等,您可以为学习部分添加一个贝叶斯网络,该网络适用于概率(例如某些电子邮件垃圾邮件过滤器)搜索例如“朴素贝叶斯垃圾邮件过滤”

这应该足够有一个好的开始,所以严格来说,这里不需要真正的人工智能,只需要商业智能和概率计算。