通过与之交谈来使您的Chatbot更智能
聊天机器人的主要问题在于,它们只能从其知识库中提供信息。这是一种新方法,可使您的聊天机器人在无法回答的每个问题中变得更聪明,使其成为一个自学的终身学习者。
如果您一直在跟上聊天机器人的爆炸式增长,那么您可能已经知道有两种基本架构:
基于规则的聊天机器人代表了当前可用工具的90%以上。它们具有预定义的查询和响应的决策树或类似瀑布的逻辑结构,相对简单且快速构建。
AI聊天机器人使用
深度学习引擎来制定响应。他们没有严格定义的结构,经过一些初步训练后就能够学习会话反应。
尽管NLU在这两种情况下的应用都非常聪明,但它们都有致命的弱点–他们不知道自己不知道的事情。也就是说,聊天机器人只能基于其知识库(KB)中的内容进行响应。
使用有限的内容可以使许多聊天机器人应用程序非常有效。如果您要建立推荐器,则可以访问您提供的产品的完整资料库以及它们的价格和规格。如果您要预订航班,则在任何两个城市之间都可以使用有限数量的产品。 但是,当您从有限的应用程序扩展到非常复杂的问答机(例如Alexa和Siri可能成为一天)时,您的知识库将变得非常庞大,甚至涵盖整个网络。现在那行不通。但是,这就是我们要去的地方。
这不是简单的搜索,您的聊天机器人可以用一长串可能意味着您要回答的内容进行响应。像IBM的Watson一样,它需要回答一个最正确的答案。该答案更有意义,否则您的用户将不会回来。
您的聊天机器人如何找到正确的答案
将用户的查询与知识库中的事实相匹配是复杂的,但是开发得相当好。该过程正式称为“上下文感知路径排名”或C-PR。
该过程同时创建了知识图和知识矩阵,它们通过逻辑关系(例如“在……中发现”或“在”中将“源实体”(您的用户询问的内容)与“目标实体”(知识库中的内容)链接在一起。是“或”通常一起使用”的成员)。实际上,它表示为“查询三元组”,显示为(s,r,t),其中s是源实体,r是关系,t是目标实体。
您可以直观地看到,如果您的Alexa版本旨在回答所有可能想到的问题,那么知识图和矩阵可能会很大。因此,就像Alexa和Siri故意限制其领域知识一样,问题仍然在于如何将知识推向越来越大的领域。
您的用户真正想知道什么
这个问题决定了您的知识库应该有多大。您的用户不太可能希望完全根据您对聊天机器人的放置方式提出任何问题。一种方法可能是尝试预先定义它。那是在开发过程中弄清楚该知识库需要多大。但是历史表明,无论我们多么谨慎地计划,我们总会错过一些东西。我们将包含不重要的数据,并排除用户想要知道的数据。
一个非常明显的解决方案是记录用户要求我们无法回答的内容,并将其添加到知识库中。在研究中,这称为KBC,即知识库完成。并且这些技术有效,但前提是查询三元组的所有三个元素((s,r,t),其中s是源实体,r关系和t目标实体)已经存在于您的知识库中,但根本没有尚未映射。将它们映射到知识图和知识矩阵上,您的用户就可以使用它们。
这是真正需要的
如果您的用户提出问题或发表声明,其中不存在任何S,R,T元素,那么聊天机器人将无法响应。所需要的是这样一个系统,其中聊天机器人可以不断地从新问题中学习并自动将其合并到知识库中。
换句话说,您对聊天机器人说或要问的任何内容都应该使它变得更聪明。
突破
幸运的是,来自伊利诺伊大学芝加哥分校的三名研究人员,Sahisnu Mazumder,马念祖,刘冰刚刚发表了他们的工作结果,从而开启了这种可能性。
“在人机对话中为终身交互式知识学习提供引擎”的研究涉及一种称为终身交互式学习和推理(LiLi)的新技术,该技术模仿了人类在交互式对话中如何获取知识并进行推理。
在这里,从输入对话中捕获了“ S”(用户想要知道的–一个实体),并且通过强化学习和LSTM的巧妙组合发现了“ R”(关系)和“ T”(目标实体)实时的深度学习模型。
每当用户发表声明或提出知识库中不存在的问题时,LiLi便成为终身学习组件,可增加您的聊天机器人知识库。
这个怎么运作
该问题从逻辑上分为两部分。如果用户发表声明(例如,奥巴马出生于美国),则系统会查询知识库(奥巴马,BornIn,美国),以确定是否存在此“真实事实”。如果不是,则将其添加。
但是,假设KB中已经存在的三元组是(Obama,CitizenOf,USA),而不是包含“ BornIn ”关系的三元组。然后,随着时间的流逝,RL / LSTM程序将使系统认识到“ CitizenOf ”和“ BornIn ”在这种情况下是逻辑等效项的可能性很高。
从对话中提取实体和关系的方法是一个单独的NLU过程,您可以在此处查看。
但是,第二种情况更加困难。当输入是查询或关系或实体不在KB中的查询时,就会发生这种情况。例如,如果用户问“奥巴马是在美国出生的吗?” 如果KB中还没有“奥巴马”或“出生于”或“美国”的人该怎么办?
接收到具有未知组件的查询后,LiLi执行一系列交错的步骤,包括:
推理策略:是否可以从现有KB三胞胎中建立具有很高匹配可能性的推理链。例如,发现“ CitizenOf ”和“ BornIn ”具有很高的等效性。
问问题以澄清问题:就像在谈话中的人类一样,如果我们不能清楚地理解伴侣的问题,我们将提出澄清问题。在每个澄清问题之后,LiLi像人类一样,将再次遍历推理策略,并确定是否有必要进行其他澄清问题。
毋庸置疑,确定哪些澄清性问题是适当的,以及您可以返回给用户几次以询问这些问题,并不是LiLi解决的琐碎问题。
以下是LiLi中可用的操作(按照发生的典型顺序)。
搜索源(h),目标(t)实体和查询关系(r),以KB为单位。
要求用户提供查询关系的示例/线索(r)
要求用户为路径完成功能提供缺少的链接。
要求用户提供用于增加KB中新实体的连接链接。
使用C-PR提取源实体和目标实体之间的路径特征。
将查询数据实例存储在数据缓冲区中,并调用预测模型进行推理。
使用奥巴马示例的交换可能会发生以下情况(注释“ SFn”表示推理策略所必需的线索)。
数据科学
简而言之,使用Q学习的RL模型的目的是制定使推理任务成为可能的策略。LiLi的策略制定以马尔可夫决策过程为模型。LiLi还使用LSTM创建每个功能的矢量表示。
该系统还包含一个例程,用于在用户无法提供线索或示例的情况下进行“猜测”,据报道该线索或示例明显比抛硬币更好。
在这里看到原始研究。
LiLi代表了使我们的聊天机器人更加智能化而又向前迈出的重要一步,而无需人为地扩大知识库,超出我们用户真正想知道的范围。
题库