我想构建一个聊天机器人,作为零售网站上的一线客户支持。我有大量可以使用的客户和支持专业人员之间的聊天会话日志。我想知道构建这个聊天机器人的最佳方法是什么。
以下是我研究过的一些想法;
- 我做的第一件事是将聊天记录分解为问答对。将每个问题视为一个文档,计算一个术语-文档矩阵,并在客户提出问题时使用它来检索最相似的问题。这个想法是然后简单地选择人类给出的问题的答案(进行一些修改)。然而,这给出了非常糟糕的结果,并且与之前的问题不太匹配。即使我让这种方法运作良好,我们也将仅限于已经提出的问题。
- 我想到的另一件事是修改 ALICE 之类的东西,并为客户支持相关的 QA 编写一些 AIML。然而,这需要大量非常精确的 AIML 文字才能正常工作。该解决方案将无法扩展到其他语言,这是我想做的事情。
- 我的另一个想法是尝试对客户支持人员给出的答案进行聚类(与客户提出的问题相比,它们更有可能保持一致)。这会让我了解哪些问题是相似的。然后我可以在问题上使用 LSA 之类的东西,然后回到第一种方法。
- 还有一种方法是建立领域特定知识的本体,并给定一个问题来决定该问题属于哪个类别。然后可以将聊天日志中的问题映射到本体,我可以训练分类器将问题映射到不同的知识领域。一旦我到达叶节点,我就可以给出预定义的答案。但是,我的保留是,将聊天日志映射到本体会非常繁琐。有没有将现有 QA 映射到本体的好方法?