处理非正式文本中的情绪(Hi vs HIIIIII!!!!)?

人工智能 神经网络 机器学习 自然语言处理
2021-10-30 13:43:14

这是一个与神经网络检测“垃圾邮件”相关的问题吗?. 我想知道如何处理文本中传达的情感。在非正式的写作中,尤其是在青少年观众中,通常会发现情感表现为重复人物。例如,“Hi”与“Hiiiiiiiiiiiiiii”的含义不同,但“hiiiiii”、“hiiiiiiiii”和“hiiiiiiiiii”具有相同的含义。

一个天真的解决方案是预处理输入并在某个阈值(例如 4)之后删除重复字符。这可能会将最长的“hiiiii”减少到 4 个“hiiii”,给出单独的含义(上下文中的权重?) “嗨”与“长嗨”。

当有组合时,就会出现这种解决方案的幼稚。例如,haha vs haha​​hahaha 或 lol vs lolololol。同样,我们可以编写一个正则表达式来将 lolol[ol]+ 简化为 lolol。但后来我们遇到了 haha​​haahhaaha 的问题,一个错字破坏了顺序。

还有整个 Emoji 问题。表情符号起初可能看起来令人生畏,因为它们是特殊字符。但是一旦理解,表情符号实际上可能会在这种情况下变得有用。例如,😂 可能与 😂😂😂😂😂 的含义完全不同,但 😂😂😂😂😂 可能与 😂😂😂😂 和 😂😂😂😂😂😂 的含义相同。

对我来说,表情符号的诀窍在于它们实际上可能更容易解析。只需在 😂 之间添加空格即可在文本分析中将 😂😂😂😂 转换为 😂😂😂😂。我猜重复会在训练中发挥作用,但与“hi”和“hiiii”不同,Word2Vec 不会尝试将 😂 和 😂😂 分类为不同的词(因为我现在被迫成为单独的词,依靠频率以检测短语的情绪)。

更重要的是,这将有助于检测“好玩”的语言,例如😠😂😂😂,其中 😠 表情符号可能暗示有愤怒,但除了明白这个人并不是真的生气。

这有什么意义吗?或者我走错了方向?

2个回答

文本中的这些重复可能会对学习算法提出重复要求,这些算法可能会或可能不会在没有特殊编码的情况下处理。

  • 你好。
  • 嗨!
  • HIIIIIIIII
  • 你好!!!!!!!!!!!!!!

这些在一个层面上具有相同的含义,但在检测电子邮件的价值时,情感内容不同,因此与类别的相关性不同,在最简单的情况下,就是将消息放置在两个类别之一中。

  • 传递给收件人
  • 仅存档

这通俗地称为垃圾邮件检测,尽管并非所有无用的电子邮件都是垃圾邮件,并且广播垃圾邮件的组织发送的某些消息可能有用,因此从技术上讲,垃圾邮件一词并不是特别有用。决定因素通常应该是对接收者或接收和分类信息的组织的投资回报。

阅读信息并可能做出回应是否比阅读成本更有价值?

这是对使用 AI 组件来学习或跟踪接近(在持续学习中)某些业务或个人最优性时价值或成本函数必须表示的内容的高级解释。

该问题提出了一种规范化方案,该方案截断字符中短模式的长重复,但截断必然具有破坏性。某种类型的压缩既可以保留细微差别又可以与作者对 Word2Vec 的使用配合使用,这是一种更灵活、更全面的方法。

在有趣的字符序列的情况下,想象一个人工网络会理解嬉戏或愤怒是拟人化的,但是现有的学习设备当然可以学习使用人类在出现的对消息进行分类的功能中称之为嬉戏或愤怒的字符序列包含它们。请记住,无模型学习与认知完全不同,因此“理解”一词是对 AI 组件可能不具备的心理能力的期望。

由于没有迹象表明将使用循环或递归网络,而是将整个消息表示为固定宽度的向量,因此问题变成了这两种方法中的哪一种将在学习后产生最佳结果。

  • 保持文本未压缩,以便“H”字符后跟十个“i”字符与“H”字符后跟五个“i”字符的单词不同
  • 将文本分别压缩为“Hi [9xi]”和“Hi [4xi]”或一些这样的词分叉。

第二种方法在提到的其他情况下产生合理的行为,例如将“😠😂😂😂”预处理为“😠😂 [2x😂]”。Word2Vec 中的算法将对这两个选择中的每一个做什么以及它对它们的处理将如何影响结果很难预测。必须运行实验。三件事是可取的行动方针。

  • 构建测试夹具以快速评估各种试验的结果。
  • 用心做实验。不要留下任何可能有趣的案例。
  • 尽可能合理地标记生产数据,并使用这些数据以及固定数据,以便可以在置换组合中评估上述选项,以及固定数据和实时数据之间的模式分布差异。

我的感觉是,这需要一种具有大型数据集的统计方法。

该算法需要将俚语“翻译”成正式术语(表达单个概念的离散单词或短语。)

诀窍是审查算法决策,这需要足够的人类样本来评估每个新俚语实例的给定翻译。(这可能需要某种形式的众包,类似于验证码。)

这将确定 4😂⇔ 5😂⇔ 6😂 其中符号的 4x、5x、6x 是否相等,以及表情符号之间的间距是否有意义。

这些很可能是模糊的关联,因为相同的俚语可以被不同的人以不同的方式解释,并且在不同的上下文中使用时含义可能会有所不同:

😂😂😂😂😂 可能意味着“我笑得超级厉害,因为你说的太荒谬了。” [对抗]

😂😂😂😂😂 可能意味着“我笑得很厉害,因为这个笑话非常有趣。” [合作社]

非正式地,我对 5😂 的体验一直是对抗性的,但这可能是我遇到它的上下文的函数,这加强了对大样本的需求。

我突然想到,您可以通过使用友好的聊天机器人来减少样本量,该聊天机器人会解析社交媒体帖子中的任何非标准符号信息,然后查询发帖者要求澄清。(这样,你会从使用它的人那里得到俚语的意图,而不是对那些观看它的人的解释。)

对于非正式文本(与表情符号相反),算法希望能够区分有意或无意的拼写错误。