聊天机器人如何学习同义词?

人工智能 自然语言处理 聊天机器人
2021-11-17 03:41:21

我已经开始做一个聊天机器人了。它有一个问候列表,它可以理解并使用自己的问候列表进行响应。

机器人如何学习新的问候语或它已经知道的单词的同义词?

3个回答

这个答案描述了 NLP 中的“词向量”工具包。分析大型语料库以查找出现在相似上下文中的单词的结果为每个单词提供了密集向量,然后可以将其用于相似性。对于机器人来说,目标通常是相似性而不是确切的同义词。如果需要,可以使用 WordNet 对同义词进行硬编码。对于您的问候问题,以下博客文章可以提供帮助:机器人开发人员的自己动手 NLP

有一个非常简单的方法:编写一个分析大量文本的程序。找到包含我们问候的句子。然后找到完全相同的句子,除了我们的词有另一个词。您发现的此类示例越多,它是同义词而不是来自同一类别的具有不同含义的单词的可能性就越高。

您可以训练模型将句子分类为用户意图。例如,意图可以是“问候”。另一个意图可能是“帮助”,或者您的机器人能够谈论的任何其他功能。

要训​​练您的模型,您应该为相同的意图提供几个示例。例如,对于“问候”,您可以提供“Hi”、“Hello”、“What's up”等...

您还应该在将句子输入模型之前应用一些预处理,例如词嵌入 与 WordNet 的语义相似性。这些技术允许将字符串转换为捕获单词含义相似性的表示。您的模型在不重新训练的情况下检测同义词的能力在很大程度上取决于这种预处理。