基于人工智能的交互方法和装置与流程

文档序号:11386758阅读:363来源:国知局
基于人工智能的交互方法和装置与流程

本申请涉及计算机技术领域,具体涉及智能问答技术领域,尤其涉及基于人工智能的交互方法和装置。



背景技术:

人工智能(artificialintelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

在传统的搜索引擎技术,一般的流程是用户检索查询串,搜索引擎基于其中切分词的倒排索引查找出相关性较高的文档排序列表呈现给用户。近些年来,随着语义理解技术的发展,搜索引擎已经可以一定程度上理解用户所表述的查询串的真实含义,并且据此精确返回满足用户需要的结果。

然而,以上这些现有技术都只能允许用户在一轮查询中完整的表达自己的需求。当用户需要根据搜索引擎所返回的结果对自己的需求进行补充或修改时,需要重新输入修改后的完整查询串,需要耗用用户较多的时间来编写完整查询串。



技术实现要素:

本申请的目的在于提出一种改进的基于人工智能的交互方法和装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请实施例提供了一种基于人工智能的交互方法,该方法包括:接收用户经终端输入的当前交互语句;根据当前交互语句与用户已输入的上文交互语句提取出至少一种特征;使用预先训练的神经网络模型对至少一种特征进行处理,以确定当前交互语句与上文交互语句之间是否存在意图保持关系,神经网络模型用于表征从上下文交互语句提取出的特征与上下文交互语句之间是否存在意图保持关系的对应关系;若存在意图保持关系,则使用当前交互语句为上文交互语句更新限定条件并使用更新限定条件后的上文交互语句进行信息检索,将检索到的检索结果推送至终端。

在一些实施例中,根据当前交互语句与用户已输入的上文交互语句提取出至少一种特征,包括以下至少一项:对当前交互语句执行分词操作,将分词所得到的词语提取为特征;采用最大正向匹配或最大反向匹配的方式从当前交互语句分割出在用户搜索记录中出现的、至少一个独立的子交互语句,分别使用各个子交互语句在用户搜索记录中进行查询以得到用户使用子交互语句进行搜索的搜索结果中被用户点击的搜索结果的网页标题,对网页标题进行分词以将分词所得到的词语提取为特征;根据当前交互语句是否存在与上文交互语句的意图匹配的意图相关词提取特征;根据当前交互语句中的语句片段与上文交互语句中的意图相关词组成的语句组合是否在用户搜索记录的搜索语句中出现过提取出特征。

在一些实施例中,上述使用预先训练的神经网络模型对至少一种特征进行处理,以确定当前交互语句与上文交互语句之间是否存在意图保持关系,包括:针对至少一种特征中的每种特征,将该种特征中的每个特征转换成对应的特征向量,并对各个特征向量执行相加、卷积以及最大池化中的至少一种,以生成该种特征对应的第一定长向量;将各种特征对应的第一定长向量进行连接,得到第二定长向量;将连接成的第二定长向量输入至softmax分类器;根据分类器输出的分类结果确定当前交互语句与上文交互语句之间是否存在意图保持关系。

在一些实施例中,所述根据所述当前交互语句与所述用户已输入的上文交互语句提取出至少一种特征,还包括:将所述上文交互语句中的词语提取为特征;以及,所述使用预先训练的神经网络模型对所述至少一种特征进行处理,以确定所述当前交互语句与所述上文交互语句之间是否存在意图保持关系,还包括:将从所述上文交互语句中的词语映射为词向量,并使用神经循环网络模型将映射成的词向量转换为第三定长向量;以及,将连接成的第二定长向量输入至softmax分类器,包括:将第二定长向量以及第三定长向量拼接后输入至softmax分类器。

在一些实施例中,上述方法还包括:若不存在意图保持关系,则判断当前交互语句与上文交互语句之间是否存在意图切换关系;若存在意图切换关系,则选取上文中相应的检索结果作为当前交互语句所针对的对象,并按照当前交互语句操作该对象。

在一些实施例中,按照当前交互语句操作该对象,包括:在当前交互语句为查询语句时,按照当前交互语句查询对象的对象属性,并将所查询到的对象属性推送至终端。

在一些实施例中,按照当前交互语句操作该对象,包括:在当前交互语句为反馈语句时,根据当前交互语句生成用户针对对象进行反馈的反馈信息。

第二方面,本申请实施例提供了一种基于人工智能的交互装置,该装置包括:提取单元,用于根据当前交互语句与用户已输入的上文交互语句提取出至少一种特征;处理单元,用于使用预先训练的神经网络模型对至少一种特征进行处理,以确定当前交互语句与上文交互语句之间是否存在意图保持关系,神经网络模型用于表征从上下文交互语句提取出的特征与上下文交互语句之间是否存在意图保持关系的对应关系;检索单元,用于若存在意图保持关系,则使用当前交互语句为上文交互语句更新限定条件并使用更新限定条件后的上文交互语句进行信息检索,将检索到的检索结果推送至终端。

在一些实施例中,提取单元用于执行以下至少一项:对当前交互语句执行分词操作,将分词所得到的词语提取为特征;采用最大正向匹配或最大反向匹配的方式从当前交互语句分割出在用户搜索记录中出现的、至少一个独立的子交互语句,分别使用各个子交互语句在用户搜索记录中进行查询以得到用户使用子交互语句进行搜索的搜索结果中被用户点击的搜索结果的网页标题,对网页标题进行分词以将分词所得到的词语提取为特征;根据当前交互语句是否存在与上文交互语句的意图匹配的意图相关词提取特征;根据当前交互语句中的语句片段与上文交互语句中的意图相关词组成的语句组合是否在用户搜索记录的搜索语句中出现过提取出特征。

在一些实施例中,处理单元包括:第一转换子单元,用于针对至少一种特征中的每种特征,将该种特征中的每个特征转换成对应的特征向量,并对各个特征向量执行相加、卷积以及最大池化中的至少一种,以生成该种特征对应的第一定长向量;连接子单元,用于将各种特征对应的第一定长向量进行连接,得到第二定长向量;输入子单元,用于将连接成的第二定长向量输入至softmax分类器;确定子单元,用于根据分类器输出的分类结果确定当前交互语句与上文交互语句之间是否存在意图保持关系。

在一些实施例中,提取单元还用于:将上文交互语句中的词语提取为特征;以及,处理单元还包括:第二转换子单元,用于将从所述上文交互语句中的词语映射为词向量,并使用神经循环网络模型将映射成的词向量转换为第三定长向量;以及,输入子单元进一步用于:将第二定长向量以及第三定长向量拼接后输入至softmax分类器。

在一些实施例中,上述装置还包括:判断单元,用于若不存在意图保持关系,则判断当前交互语句与上文交互语句之间是否存在意图切换关系;操作单元,用于若存在意图切换关系,则选取上文交互语句对应的检索结果作为当前交互语句所针对的对象,并按照当前交互语句操作该对象。

在一些实施例中,该操作单元进一步用于:在当前交互语句为查询语句时,按照当前交互语句查询对象的对象属性,并将所查询到的对象属性推送至终端。

在一些实施例中,操作单元进一步用于:在当前交互语句为反馈语句时,按照当前交互语句生成用户针对对象进行反馈的反馈信息。

第三方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一项所描述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面中任一项所描述的方法。

本申请提供的基于人工智能的交互方法和装置,通过对上文交互语句与下文交互语句提取出的向量分析出进行分析上文交互语句与下文交互语句是否保持相同的意图,在保持意图相同时使用当前交互语句为上文交互语句更新限定条件,以使用更新限定条件后的上文交互语句进行信息检索并推送检索结果,使得用户可以只需要在下文输入作为补充条件或变更条件的交互语句,即可使用补充条件或变更条件按照相同的意图重新查询,而不需要重新输入上文交互语句中已输入的部分,减少了用户输入所耗用的时间,也能使得交互更能模拟人类之间的交互,具有更高的智能性与趣味性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的基于人工智能的交互方法的一个实施例的流程图;

图3是上文交互语句和当前交互语句的示例图;

图4是当前交互语句与下文交互语句存在意图保持关系时使用当前交互语句为上文交互语句增加限定条件的示意图;

图5是对交互语句进行解析的解析结果的示意图;

图6是通过神经网络模型进行处理的过程的示意图;

图7是根据本申请的基于人工智能的交互方法的又一个实施例的流程图;

图8是图7对应实施例中一个实现方式的交互场景示意图;

图9是图7对应实施例中不同交互语句的意图关系的一个示意图;

图10是根据本申请的基于人工智能的交互装置的一个实施例的结构示意图;

图11是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的基于人工智能的交互方法或基于人工智能的交互装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、智能机器人应用、购物类应用、搜索类应用、即时通信工具、社交平台软件等。

终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的信息提供支持的后台服务器。后台服务器可以对接收到的交互语句等数据进行分析等处理,并将处理结果(例如查询结果)反馈给终端设备。

需要说明的是,本申请实施例所提供的基于人工智能的交互方法一般由服务器105执行,相应地,基于人工智能的交互装置一般设置于服务器105中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的基于人工智能的交互方法的一个实施例的流程200。该基于人工智能的交互方法,包括以下步骤:

步骤201,接收用户经终端输入的当前交互语句。

在本实施例中,基于人工智能的交互方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行信息交互的终端接收用户经终端输入的当前交互语句。其中,上述无线连接方式可以包括但不限于3g/4g连接、wifi连接、蓝牙连接、wimax连接、zigbee连接、uwb(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。通常,用户利用终端上安装的应用进行信息检索时可以输入交互语句,所输入的当前交互语句即可发送至电子设备。

步骤202,根据当前交互语句与用户已输入的上文交互语句提取出至少一种特征。

在本实施例中,电子设备还可以保存用户已通过终端设备已输入的上文交互语句。在基于步骤201接收到当前交互语句后,电子设备可以将当前交互语句结合上文交互语句进行分析,以根据分析结果提取出至少一种特征。上文交互语句可以是与当前交互语句相邻的上文交互语句,也可以与当前交互语句之间间隔着用户输入的其他交互语句。通常,上文交互语句一般较为完整,能够表明一个清晰的意图。用户在上文交互语句之后输入的交互语句可用于对该上文交互语句进行进一步的询问或补充说明。上文交互语句和当前交互语句的示例可以参考图3所示的示意图。在图3中,对话框301、303、305、307中展示的内容分别是用户发出的交互语句,对话框302、304、306中展示的内容分别是系统根据上一次的交互语句给出的答案,该答案通常是基于交互语句进行检索得到的检索结果。其中,在用户输入对话框303、305或307的内容时,对话框303、305或307的内容可以作为此时的当前交互语句,对话框301中的内容为较完整的询问语句,对话框301中的内容可以作为此时的上文交互语句。通常,上文交互语句“西二旗附近有什么餐厅”也可以称为入口query,“这家人均多少钱”、“人均150左右的吧”、“到第二家坐地铁要多久”等后续的当前交互语句可以称为多轮query。

步骤203,使用预先训练的神经网络模型对至少一种特征进行处理,以确定当前交互语句与上文交互语句之间是否存在意图保持关系。

在本实施例中,电子设备可以将所提取出的至少一种特征输入至神经网络模型。其中,该神经网络模型可以是预先训练的、用于表征从上下文交互语句提取出的特征与上下文交互语句之间是否存在意图保持关系的对应关系。实践中,可以使用大量已知是否存在意图保持关系的上下文语句作为样本进行训练而得到该神经网络模型。

如此,电子设备即可以确定当前交互语句与上文交互语句之间是否存在意图保持关系。其中,意图用于表示交互语句的具体需求,比如寻找餐厅、寻找电影、询问价格等等。

在多轮query解析的过程中,由于具备其它query作为上文语境,因此单独的一条query很可能含义是不完整的,需要放在其所处的语境内进行理解。而在理解的过程中一个重要的因素就是这条query在当前语境下所表达的意图是什么。对于一条处在多轮语境下的query而言,它的意图可以被分成两类情况,第一类是它保持了前轮的意图,是对前轮query的补充或者修正,这种情况被称为意图保持;第二类情况是意图出现了变化,是对其它相关信息的询问,这种情况是不存在意图保持关系。

步骤204,若存在意图保持关系,则使用当前交互语句为上文交互语句更新限定条件并使用更新限定条件后的上文交互语句进行信息检索,将检索到的检索结果推送至终端。

在本实施例中,当步骤203所确定的结果是当前交互语句与上文交互语句之间存在意图保持关系时,电子设备可以使用当前交互语句为上文交互语句更新限定条件。之后,电子设备可以使用添加了限定条件后的上文交互语句进行信息检索。最后,电子设备可以将信息检索得到检索结果推送至终端,以供终端进行展示。需要说明的是,更新限定条件时,可以是在上文交互语句中新增该限定条件,也可以修改上文交互语句中的已有限定条件。

图4示出了当前交互语句与下文交互语句存在意图保持关系时使用当前交互语句为上文交互语句增加限定条件的示意图。在图4中,在“人均150左右”为当前交互语句时,上文交互语句为“西二旗附近有什么餐厅”。通过前述步骤可以判断出当前交互语句“人均150左右”与上文交互语句“西二旗附近有什么餐厅”存在意图保持关系,此时可以使用当前交互语句“人均150左右”为上文交互语句“西二旗附近有什么餐厅”增加限定条件,即更新限定条件后对应的交互语句可以是“西二旗附近有什么人均150左右的餐厅”。

此外,也可以对上文交互语句中的已有限定条件进行修改。例如,当上文交互语句为“西二旗附近有什么人均150左右的餐厅”且用户输入的当前交互语句是“100左右的呢”时,可以将使用“100左右”对上文交互语句的限定条件“150左右”进行修改。

还需要说明的是,使用当前交互语句为上文交互语句更新限定条件的具体实现中,可以是将上文交互语句和当前交互语句融合成一个单轮的新交互语句,以用于后续的检索;还可以通过当前交互语句对上文交互语句所解析成的意图与槽位组合中的槽位不断进行更新而完成,并利用更新槽位后的意图与槽位组合进行后续信息检索。在使用更新槽位的方式时,在处理每个交互语句时,尤其是入口query时,可以将交互语句解析成意图与槽位组合。其中,槽位则用来表示对于该意图的一些约束或者修饰,比如对餐厅环境的要求、对电影类型的要求等。图5示出了按照该解析方式对“推荐一个张三演的搞笑电影”这一交互语句进行解析的解析结果。其中,意图是寻找电影,在图中的符号为“f->movie”。槽位分别是“actor(演员)=张小华”,“movietype(电影类型)=搞笑”为该交互语句的槽位,分别约束了所要寻找的电影的演员以及类型。在使用当前交互语句为上文交互语句更新限定条件时,即可使用当前交互语句的内容转化为槽位并插入到上文交互语句的意图与槽位组合中。考虑到作为当前交互语句的多轮交互语句一般比较简短,可以使用事先挖掘好的词典对交互语句进行槽位标注。例如,当出现川菜时,则对应的槽位可以是菜系(catetype);当出现“辣的”时,对应的槽位是口味;当出现“便宜的”时,对应的槽位是价格需求。

另外,当前语句中可能不存在词典中用于标注槽位的词语,这种情形下无法通过槽位更新的方式更新上文交互语句的限定条件,此时可以通过修饰片段挖掘算法从当前交互语句中提取出修饰片段,并使用修饰片段在上文交互语句查询出的检索结果中进一步查找,以查找到匹配的结果。例如,对于当前交互语句“可以带猫进去的餐厅”,可以从中挖掘出“可以带猫进去的”这一修饰片段,而后可以用传统倒排索引检索的方式去寻找答案,即使用这个修饰片段去上文交互语句查询到的餐厅信息中进行进一步检索,以获得匹配度最高的餐厅列表,以推送给用户。

在本实施例的一些可选实现方式中,步骤203可以按以下至少一种方式执行:对当前交互语句执行分词操作,将分词所得到的词语提取为特征;采用最大正向匹配或最大反向匹配的方式从当前交互语句分割出在用户搜索记录中出现的、至少一个独立的子交互语句,分别使用各个子交互语句在用户搜索记录中进行查询以得到用户使用子交互语句进行搜索的搜索结果中被用户点击的搜索结果的网页标题,对网页标题进行分词以将分词所得到的词语提取为特征;根据当前交互语句是否存在与上文交互语句的意图匹配的意图相关词提取特征;根据当前交互语句中的语句片段与上文交互语句中的意图相关词组成的语句组合是否在用户搜索记录的搜索语句中出现过提取出特征。

第一种方式是:对当前交互语句执行分词操作,将分词所得到的词语提取为特征。在该方式中,可以以基本粒度的分词操作对当前交互语句进行分词。该特征在下文中简称为词语包特征。该方式分词得到的词语较短,具有召回率较高的优势。

第二种方式是:采用最大正向匹配或最大反向匹配的方式从当前交互语句分割出在用户搜索记录中出现的、至少一个独立的子交互语句,分别使用各个子交互语句在用户搜索记录中进行查询以得到用户使用子交互语句进行搜索的搜索结果中被用户点击的搜索结果的网页标题,并对网页标题进行分词以将分词所得到的词语提取为特征。在该方式中,可以按照用户搜索记录中已使用的交互语句从当前交互语句分割出独立的子交互语句,其标准可以是分割出的子交互语句与用户搜索记录出现过的检索语句相同或相似。其中,用户搜索记录可以通过搜索引擎的搜索日志获取到的。在遍历当前交互语句以查找这些子交互语句时,可以采用最大正向匹配或最大反向匹配的方式进行查找。在分割出子交互语句,可以根据用户搜索记录获取使用这些分割出的子交互语句进行搜索的搜索结果中被用户点击的搜索结果的网页标题。搜索结果的标题被用户点击过,可以反映出该标题内容较能匹配用户使用该子交互语句搜索时的实际需求,可用于从中提取出对当前交互语句进行扩展的扩展特征。在对网页标题进行分词以提取词向量时,可以在提取前按照tfidf权值等指标对提取出的词语进行过滤,过滤后的词语再提取为词向量。这样,通过过滤可以使得选出较能体现当前交互语句的特点的词语。例如,在当前交互语句为“有盗梦空间么”时,电子设备采用最大正向匹配或最大反向匹配的方式从当前交互语句分割出在用户搜索记录中出现的、至少一个独立的子交互语句为“盗梦空间”,此时电子设备可以获取到用户用“盗梦空间”作为交互语句时的搜索结果,提取出其中被用户点击过的搜索结果的网页标题,并对网页标题进行分词。例如,对网页标题分词所得到的词语可以包括:全集、电影、1080、在线、国语、科幻、影视、正片、高清、字幕、双语、观看。此时,可以按照tfidf权值等指标对这些词语进行过滤,例如过滤后得到的词语可以包括:电影、1080、在线、国语、科幻、影视、正片、高清、字幕、双语等。该方式提取出的特征在下文中简称为点击扩展特征。

第三种方式是:根据当前交互语句是否存在与上文交互语句的意图匹配的意图相关词提取特征。有些意图存在着一些相关的词语,如果一条交互语句中含有这些词,就有较大概率表明该查询可能属于这个意图,这些词语可以称为意图相关词。因此,该实现方式可以将当前交互语句是否含有上文交互语句的意图相匹配的意图相关词作为一种特征。如果当前交互语句含有上文交互语句的意图匹配的意图相关词,则说明当前交互语句很可能保持了上轮交互语句的意图,否则说明保持意图的可能性较小。其中,意图相关词可以通过人工方式进行采集,也可以通过使用计算机进行自动化收集。比如看电影这一意图“f->movie”,其比较常见的意图相关词是“电影”、“影片”、“大片”等。在当前交互语句含有与“电影”、“影片”、“大片”等意图相关词时,则当前交互语句有较大的可能保持了上文交互语句的意图。该方式提取出的特征在下文中简称为意图相关词特征。

第四种方式是:根据当前交互语句中的语句片段与上文交互语句中的意图相关词组成的语句组合是否在用户搜索记录的搜索语句中出现过提取出特征。在该方式中,可以根据将上文交互语句中的意图相关词与当前交互语句中的语句片段组成语句组合,再检测所组成的语句组合是否在用户搜索记录中出现,以根据出现情况提取出特征向量。例如,当上文交互语句是“我想看电影”而本轮交互语句是“来个吓人的”时,上文交互语句中的意图相关词为电影,当前交互语句中的语句片段“吓人的”与该意图相关词“电影”可以组合成“吓人的电影”这一语句组合。当“吓人的电影”在用户搜索记录中出现过时,可以将特征认定为正,以提取出特征向量。理论上,在当前交互语句的语句片段和上文交互语句的意图相关词能拼成在用户搜索记录中可查找到语句时,说明这个语句片段可以在真实的自然语言中修饰这个意图相关词,此时当前交互语句与上文交互语句有较大概率保持相同的意图。该方式提取出的特征在下文中简称为上下文搭配特征。

在本实施例的一些可选的实现方式中,上述步骤203可以具体包括以下步骤:针对至少一种特征中的每种特征,将该种特征中的每个特征转换成对应的特征向量,并对各个特征向量执行相加、卷积以及最大池化中的至少一种,以生成该种特征对应的第一定长向量;将各种特征对应的第一定长向量进行连接,得到第二定长向量;将连接成的第二定长向量输入至softmax分类器;根据分类器输出的分类结果确定当前交互语句与上文交互语句之间是否存在意图保持关系。

在该实现方式中,针对步骤202提取出的每种特征向量,电子设备可以在神经网络模型中对向量执行相加、卷积以及最大池化中的一种或多种计算操作,从而将每种特征对应的向量转换为固定长度的第一定长向量。可选的,针对词语包特征可以执行卷积和/或最大池化操作。可选的,针对点击扩展特征、意图相关词特征以及上下文搭配特征,则可以执行相加操作。之后,可以在神经网络模型中将各种特征对应的第一定长向量进行连接,得到第二定长向量,以得到第二定长向量,并将第二定长向量输入至softmax分类器。最后,softmax分类器可以根据所输入的第二定长向量输出分类结果,电子设备即可根据该分类结果确定当前交互语句与上文交互语句之间是否存在意图保持关系。

在本实施例的一些可选实现方式中,步骤202还可以包括:将所述上文交互语句中的词语提取为特征。此外,步骤203可以还包括:将从上文交互语句中的词语映射为词向量,并使用神经循环网络模型将映射成的词向量转换为第三定长向量。同时,上述将连接成的第二定长向量输入至softmax分类器可以是将第二定长向量以及第三定长向量拼接后输入至softmax分类器。在该实现方式中,可以通过神经循环网络(rnn,recurrentneuralnetworks)模型将上文交互语句提取出的词向量转化为固定长度的第三定长向量,并与第二定长向量拼接后输入至softmax分类器中进行分析,从而使得该方式综合考虑到上文交互语句的词语特征,可以提高最终对意图保持关系识别的准确度。

实践中,上述过程通过神经网络模型进行处理的过程可以参考图6所对应的示意图。在图6中,可以将上文交互语句、上下文搭配、意图相关词特征、点击扩展特征以及词语包特征(可命名为bagsofwords)均作为特征进行处理。具体的,对于上文交互语句、上下文搭配、意图相关词特征、点击扩展特征以及词语包等特征,首先均提取为特征向量。对于上下文搭配、意图相关词、点击扩展等特征,在提取出多个特征向量时可以进行相加处理,分别得到对应的第一定长向量。对于词语包特征,则可以通过cnn(卷积神经网络)和/或maxpooling(最大池化)转换成对应的第一定长向量。之后,可以对上下文搭配、意图相关词、点击扩展、bagsofwords分别对应的第一定长向量进行连接并转换成固定长度的256位第二定长向量。对于上文交互语句,可以通过句子编码器转换成32位的第三定长向量。具体的,可以首先将上文交互语句中词语映射为词向量,再通过rnn将原始的词向量转换为32位的第三定长向量。该第三定长向量可以与第二定长向量拼接后输入至softmax分类器进行处理,最后得到是否为意图保持的结果。

本申请的上述实施例提供的方法通过对上文交互语句与下文交互语句提取出的向量分析出进行分析上文交互语句与下文交互语句是否保持相同的意图,在保持意图相同时使用当前交互语句为上文交互语句更新限定条件,以使用更新限定条件后的上文交互语句进行信息检索并推送检索结果,使得用户可以只需要在下文输入作为补充条件或变更条件的交互语句,即可使用补充条件或变更条件按照相同的意图重新查询,而不需要重新输入上文交互语句中已输入的部分,减少了用户输入所耗用的时间,也能使得交互更能模拟人类之间的交互,具有更高的智能性与趣味性。

进一步参考图7,其示出了基于人工智能的交互方法的又一个实施例的流程700。该基于人工智能的交互方法的流程700,包括以下步骤:

步骤701,接收用户经终端输入的当前交互语句。

在本实施例中,步骤701的具体处理可以参考图2对应实施例中的步骤201,这里不再赘述。

步骤702,根据当前交互语句与用户已输入的上文交互语句提取出至少一种特征。

在本实施例中,步骤702的具体处理可以参考图2对应实施例中的步骤202,这里不再赘述。

步骤703,使用预先训练的神经网络模型对至少一种特征进行处理,以确定当前交互语句与上文交互语句之间是否存在意图保持关系。

在本实施例中,步骤703的具体处理可以参考图2对应实施例的步骤203,这里不再赘述。

步骤704,若存在意图保持关系,则使用当前交互语句为上文交互语句更新限定条件并使用更新限定条件后的上文交互语句进行信息检索,将检索到的检索结果推送至终端。

在本实施例中,步骤704的具体处理可以参考图2对应实施例的204,这里不再赘述。

步骤705,若不存在意图保持关系,则判断当前交互语句与上文交互语句之间是否存在意图切换关系。

在本实施例中,当步骤703所确定的结果是两者不存在意图保持关系时,电子设备可以继续判断当前交互语句与上文交互语句之间是否存在意图切换关系。判断的方式可以是从当前交互语句与上文交互语句提取出对应的特征向量并输入已训练好的机器学习模型中,从而根据与机器学习模型来进行识别。该机器学习模型可以是利用已知存在意图切换关系和/或已知不存在意图切换关系的上文交互语句与下文交互语句作为训练数据训练而成的。

步骤706,若存在意图切换关系,则选取上文交互语句对应的检索结果作为当前交互语句所针对的对象,并按照当前交互语句操作该对象。

在本实施例中,当步骤705中的判断结果为当前交互语句与上文交互语句之间是否存在意图切换关系,电子设备可以选取上文中相应的检索结果作为对象,并按照当前交互语句操作该对象。即,在当前交互语句与上文交互语句之间存在意图切换关系时,当前交互语句可以吸收上轮意图返回值作为参数,从而完成进一步的处理。对对象的操作包括但不限于查询、反馈等。

在本实施例的一些可选实现方式中,按照当前交互语句操作该对象可以包括:在当前交互语句为查询语句时,按照当前交互语句查询所述对象的对象属性,并将所查询到的对象属性推送至所述终端。该实现方式中,在当前交互语句为查询语句时,可以对上文检索结果查询对象属性。该实现方式可以使得用户可以对上文交互语句所对应的检索结果追问对象属性,以便用户可以了解检索结果更具体的信息。该实现方式的具体处理可以参考图8。在图8中,用户输入的当前交互语句是“这家人均多少钱”且上文交互语句是“西二旗附近有什么餐厅”,此时可以通过步骤701-703判断出当前交互语句“这家人均多少钱”与上文交互语句“这家人均多少钱”不存在意图保持关系,但是通过步骤705可以判断出两者存在意图切换关系,此时可以将上文交互语句的检索结果作为查询价格属性的对象,并进而查询到价格属性信息“人均40左右”并推送至终端。

需要说明的是,该步骤可以重复执行,以实现迭代对上一次的检索结果进行追问。

在本实施例的一些可选实现方式中,按照当前交互语句操作该对象可以包括:在当前交互语句为反馈语句时,根据当前交互语句生成用户针对对象进行反馈的反馈信息。在该实现方式中,在用户输入的是反馈语句时,可以将上文交互语句的检索结果作为反馈语句的反馈对象,从而生成相应的反馈信息。即,用户可以通过输入反馈语句对前述检索结果进行反馈,电子设备可以保存所生成的反馈结果。实践中,该反馈结果可用于进行后续的大数据分析,包括但不限于用户消费倾向分析或商业实体的受欢迎程度分析。需要说明的是,上述反馈语句可以是正面反馈,例如“去这里比较方便”;也可以是负面反馈,例如“太贵了”。

继续参见图9,图9是根据本实施例的基于人工智能的交互方法中不同交互语句的意图关系的一个示意图。在图9中,用户首先输入第一个交互语句(即入口query),对其解析后的解析结果为resturant=f->cate(),即意图为查找美食;之后,用户输入第二个交互语句(即第一个多轮query),此时解析出当前交互语句与上文的交互语句为意图保持关系,即当前交互语句的意图也为resturant=f->cate(),且解析结果为catetype=川菜(美食类型为川菜),此时可以使用catetype=川菜向上文解析结果resturant=f->cate()中添加槽位,所形成的新解析结果可以是resturant=f->cate(catetype=川菜)。之后,用户再次输入第三个交互语句,对该第三个交互语句进行解析的解析结果是catetype=!湘菜(美食类型为非湘菜),且第三个交互语句与前述两个交互语句的意图相同,皆为resturant=f->cate(),此时可以将catetype=!湘菜添加到第二个交互语句所对应的解析结果中,处理后的解析结果为resturant=f->cate(catetype=川菜&(!湘菜))。再之后,用户输入第四个交互语句,对该第四个交互语句进行解析的解析结果是f->cate()->price(),即查询美食价格。该第四个交互语句的意图相对于前述交互语句的意图已发生变化,两者之间不存在意图保持关系,进一步分析发现两者为意图切换关系,此时可以选取上文中相应的检索结果作为对象,使用当前交互语句对对象进行查询。即,上文的检索结果resturant作为f->cate()->price()的查询对象,此时输入该第四个交互语句后对应的解析结果可以表示为f->cate()->price(resturant)。最后,用户输入第5个交互语句,该交互语句解析出的意图是f->negative(),即进行负面性反馈。解析出第5个交互语句与第4个交互语句两者之间不存在意图保持关系,进一步分析发现两者为意图切换关系,则可以将前述查询结构作为负面性反馈的对象,以进行记录。

从图7中可以看出,与图2对应的实施例相比,本实施例中的基于人工智能的交互方法的流程700增加了在当前交互语句与上文交互语句存在意图切换关系时利用上文交互语句的结果作为本次查询或反馈的对象,有利于用户在不输入具体对象的情况下即可向用户反馈上文查询结果的属性或评价,减少用户输入查询结果所需要的时间,同时也能使得交互更接近自然人之间的对话,提高仿真度。

进一步参考图10,作为对上述各图所示方法的实现,本申请提供了一种基于人工智能的交互装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图10所示,本实施例的基于人工智能的交互装置1000包括:接收单元1001、提取单元1002、处理单元1003和检索单元1004。其中,接收单元1001用于接收用户经终端输入的当前交互语句;提取单元1002用于根据当前交互语句与用户已输入的上文交互语句提取出至少一种特征;处理单元1003用于使用预先训练的神经网络模型对至少一种特征进行处理,以确定当前交互语句与上文交互语句之间是否存在意图保持关系,神经网络模型用于表征从上下文交互语句提取出的特征与上下文交互语句之间是否存在意图保持关系的对应关系;而检索单元1004用于在存在意图保持关系时使用当前交互语句为上文交互语句更新限定条件并使用更新限定条件后的上文交互语句进行信息检索,将检索到的检索结果推送至终端。

在本实施例中,接收单元1001、提取单元1002、处理单元1003和检索单元1004的具体处理可以参考图2对应实施例的步骤201、步骤202、步骤203以及步骤204,这里不再赘述。

在本实施例的一些可选实现方式中,提取单元1002用于执行以下至少一项:对当前交互语句执行分词操作,将分词所得到的词语提取为特征;采用最大正向匹配或最大反向匹配的方式从当前交互语句分割出在用户搜索记录中出现的、至少一个独立的子交互语句,分别使用各个子交互语句在用户搜索记录中进行查询以得到用户使用子交互语句进行搜索的搜索结果中被用户点击的搜索结果的网页标题,对网页标题进行分词以将分词所得到的词语提取为特征;根据当前交互语句是否存在与上文交互语句的意图匹配的意图相关词提取特征;根据当前交互语句中的语句片段与上文交互语句中的意图相关词组成的语句组合是否在用户搜索记录的搜索语句中出现过提取出特征。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。

在本实施例的一些可选实现方式中,处理单元1003可以包括:第一转换子单元(未示出),用于针对至少一种特征中的每种特征,将该种特征中的每个特征转换成对应的特征向量,并对各个特征向量执行相加、卷积以及最大池化中的至少一种,以生成该种特征对应的第一定长向量;连接子单元(未示出),用于将各种特征对应的第一定长向量进行连接,得到第二定长向量;输入子单元(未示出),用于将连接成的第二定长向量输入至softmax分类器;确定子单元(未示出),用于根据分类器输出的分类结果确定当前交互语句与上文交互语句之间是否存在意图保持关系。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。

在本实施例中,提取单元1002进一步用于:将上文交互语句中的词语提取为特征;处理单元1003还可以包括第二转换子单元(未示出),用于将从上文交互语句中的词语映射为词向量,并使用神经循环网络模型将映射成的词向量转换为第三定长向量。以及,输入子单元进一步用于:将第二定长向量以及第三定长向量拼接后输入至softmax分类器。该实现方式的具体处理可以参考图2对应实施例中相应的实现方式,这里不再赘述。

在本实施例的一些可选实现方式中,装置1000可以包括:判断单元,用于若不存在意图保持关系,则判断所述当前交互语句与所述上文交互语句之间是否存在意图切换关系;操作单元,若存在意图切换关系,则选取上文交互语句对应的检索结果作为当前交互语句所针对的对象,并按照当前交互语句操作所述对象。该实现方式的具体处理可以参考图2对应实施例中相应的步骤,这里不再赘述。

在本实施例的一些可选实现方式中,操作单元进一步用于:在当前交互语句为查询语句时,按照当前交互语句查询对象的对象属性,并将所查询到的对象属性推送至终端。该实现方式的具体处理可以参考图7对应实施例中相应的实现方式,这里不再赘述。

在本实施例的一些可选实现方式中,操作单元进一步用于:在当前交互语句为反馈语句时,按照当前交互语句生成用户针对所述对象进行反馈的反馈信息。该实现方式的具体处理可以参考图7对应实施例中相应的实现方式,这里不再赘述。

此外,本申请还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如图2对应实施例或图7对应实施例或其任一实现方式所描述的方法。图11示出了适于用来实现本申请实施例的服务器的计算机系统1100的结构示意图。图11示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图11所示,计算机系统1100包括中央处理单元(cpu)1101,其可以根据存储在只读存储器(rom)1102中的程序或者从存储部分1108加载到随机访问存储器(ram)1103中的程序而执行各种适当的动作和处理。在ram1103中,还存储有系统1100操作所需的各种程序和数据。cpu1101、rom1102以及ram1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。

以下部件连接至i/o接口1105:输入部分1106;输出部分1107;包括硬盘等的存储部分1108;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至i/o接口1105。可拆卸介质1111根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(cpu)1101执行时,执行本申请的方法中限定的上述功能。

需要说明的是,本申请所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、提取单元、处理单元和检索单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收用户经终端输入的当前交互语句的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:接收用户经终端输入的当前交互语句;根据所述当前交互语句与所述用户已输入的上文交互语句提取出至少一种特征;使用预先训练的神经网络模型对所述至少一种特征进行处理,以确定所述当前交互语句与所述上文交互语句之间是否存在意图保持关系,所述神经网络模型用于表征从上下文交互语句提取出的特征与上下文交互语句之间是否存在意图保持关系的对应关系;若存在意图保持关系,则使用所述当前交互语句为所述上文交互语句更新限定条件并使用更新限定条件后的所述上文交互语句进行信息检索,将检索到的检索结果推送至所述终端。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1