人机交互方法、装置、系统、存储介质、电子设备与流程

文档序号:19828604发布日期:2020-02-04 12:09阅读:116来源:国知局
人机交互方法、装置、系统、存储介质、电子设备与流程

本申请实施例涉及人机交互技术领域,尤其涉及一种人机交互方法、装置、系统、存储介质、电子设备及人机交互系统。



背景技术:

随着ai技术的发展,智能交互技术成为研究的热门方向之一,现有的交互技术从大的技术层面上可以划分为基于生成的交互技术以及基于检索的交互技术。

对于生成式的交互技术来说,其采用机器学习的方法在后台来建立一个复杂的算法模型,这个模型接受用户在前端输入的问题,通过该模型内部复杂计算生产一个对应的回复语句。但是,机器生成的回复质量很低,甚至会存在大量语法甚至逻辑不通顺的问题。

而对于基于检索的交互技术来说,其基本原理是在后台配置一个对话库,前端的交互系统接收到用户输入后,后台通过在对话库中以搜索匹配的方式进行应答内容提取。相对于生成式的交互技术来说,这种方式由于对话库都是人工建立或者是通过爬虫爬取一些真实场景下的对话内容来构建的,给出的应答都是很自然很符合人类语法的句子,可以保证较高的回复质量。

但是,对于基于检索的交互技术来说,由于用户的输入或者又称之为提问方式千变万化,如何才能够尽量多且准确地匹配用户输入,成为亟待解决的技术问题。



技术实现要素:

有鉴于此,本申请实施例所解决的技术问题之一在于提供一种人机交互方法、装置、系统、存储介质、电子设备及人机交互系统,用以克服或者缓解现有技术中的上述技术缺陷。

本申请实施例提供了一种人机交互方法,其包括:

根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本申请实施例提供了一种人机交互装置,其包括:

第一程序单元,用于根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

第二程序单元,用于将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本申请实施例提供了一种存储介质,其上存储有计算机可读指令,所述计算机可读指令在被处理器执行时处理如下步骤:

根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本申请实施例提供了一种电子设备,其包括存储介质以及处理器,存储介质上存储有计算机可读指令,所述计算机可读指令在被处理器执行时处理如下步骤:

根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本申请实施例提供了一种人机交互系统,其包括前端的电子终端以及后台的业务服务器,所述前端的电子终端用于接收用户输入,所述后台的业务服务器用于:

根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本申请实施例提供的技术方案,通过根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复,能够应对千变万化的用户的输入或者提问方式,可尽量多且准确地匹配用户输入。

附图说明

后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:

图1为本申请实施例一中的电子终端的结构示意图。

图2为本申请实施例二中人机交互方法流程示意图;

图3为本申请实施例三中人机交互方法的流程示意图;

图4为本申请实施例四中人机交互方法的流程示意图;

图5为本申请实施例五中人机交互装置的结构示意图。

具体实施方式

实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。

本发明实施例所提供的方法及装置可应用于如图1所示实施例一中的电子终端中。

于本发明实施例中,电子终端100优选为移动终端设备,例如可以包括智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、穿戴式移动终端等等。

如图1所示,电子终端包括存储器101(或又称之为存储介质)、存储控制器102,一个或多个(图中仅示出一个)处理器103、外设接口104、射频模块105、音频模块106、显示屏幕107、传感器108如加速度传感器、距离传感器等。这些组件通过一条或多条通讯总线/信号线116相互通讯。

存储器101可用于存储软件程序以及模块,如本申请实施例中的人机交互方法及装置对应的程序指令/模块,处理器103通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理。

存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器103以及其他可能的组件对存储器101的访问可在存储控制器102的控制下进行。

外设接口104将各种输入/输入装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

射频模块105用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。

音频模块106向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。

显示屏幕107在电子终端与用户之间同时提供一个输出及输入界面。具体地,显示屏幕107向用户显示内容输出,这些输出的内容可包括文字、图形、视频及其任意组合。

传感器108中的距离传感器用于感应电子终端与人体距离,例如在通话过程中,当电子终端的屏幕贴近用户脸部时,就会自动感应出电子终端与人体距离是多少,当小于某个值时,就会熄灭屏幕,不再接收用户触摸屏幕事件,从而防止通话过程中的误操作。该距离传感器还可以用于实现悬浮等控制。

传感器108中的加速度传感器是能感受加速度并转换成可用输出信号的传感器。

可以理解,图1所示的结构仅为示意,电子终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

于本申请实施例中,电子终端中安装有客户端,该客户端可以是浏览器也可以是第三方应用软件,与服务器(server)端相对应,为用户提供服务,例如电子阅读服务,用于播放本地或在线的各种可视化文本文件。

于本申请实施例中,显示界面可以包括电子终端中的客户端的显示界面,包括实际显示内文的界面,以及用于显示当前所显示内文的浏览进度的进度标签。显示界面的大小与客户端对显示界面的设置有关,如果客户端设置的显示界面可以是全屏模式,那么显示界面的大小与电子终端显示屏(如显示屏幕107)的显示区域大小可以相同,如果客户端设置的显示界面小于电子终端的显示屏,那么显示界面的大小就是实际所设置的显示界面的大小。

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。

下面结合本申请实施例附图进一步说明本申请实施例具体实现。

图2为本申请实施例二中人机交互方法流程示意图;本实施例可用于ai领域的智能信息服务提供装置或模块,如:智能聊天机器人,智能聊天机器人可以为用户和对话库之间的交互桥梁。具体地,如图2所示,其包括如下步骤201-203:

201、根据预先搜集的语料将对话库的索引进行离线更新;

本实施例中,步骤201中,具体可以根据语料对索引进行离线增量更新或全量更新。

本实施例中,步骤s201中仅进行索引的离线增量更新或者全量更新。离线增量更新或全量更新的选择可以在后台根据需求进行配置。

本实施例中,步骤201中在根据预先搜集的语料(或者又称之为人机交互中的语料)对索引进行离线增量更新时,具体可以根据预先搜集的语料以及消息中间件对索引进行离线增量更新。

本实施例中,语料可以包括但不限于用户的历史输入,这里的用户并非为某一特定或者具体用户,而泛指不同的用户或者说所有的用户。语料可以通过前端的电子终端收集后上传给后台服务器进行存储。

本实施例中,消息中间件主要用于对索引实现离线异步地进行离线增量更新,不对后续在线进程形成干扰。具体地,消息中间件可以为swift消息中间件,但是,需要说明的是,swift消息中间件仅仅是可根据预先搜集的语料实现索引更新的一具体实现,对于本领域普通技术人员来说,也可以用其他任一消息中间件或者与消息中间件可等同替换的方式,实现上述离线异步的增量更新。

本实施例中,步骤201中根据预先搜集的语料将对话库中的索引进行离线增量更新时,进一步可以根据预先搜集的语料将对话库中的索引进行离线实时增量更新。在一具体应用场景中,所述离线增量更新的具体操作包括:索引的增删改查,方便快速的对人机交互系统进行干预,达到快速优化对话效果的目的,同时提升运营效率。

本实施例中,为了便于用户进行离线增量更新,可以在前端的电子终端上提供一操作页面,在该操作页面中配置具体的更新操作选项,比如增加对话库中原本不存在的语料,类似地,也可以删除、修改以及查询等对话库中原本存在的用户输入以及针对该用户输入的回复,如有必要,一并修改用户输入和其回复的对应关系,即对索引进行修改。

本实施例中,步骤201中根据语料对索引进行离线全量更新时可以包括:根据定时机制将对话库中的索引进行合并,和/或,将对话库中关联与所述索引的语料及对应回复进行更新。

比如,在一具体应用场景中,通过离线全量更新,达到提升检索效率的目的,并且可以通过全量更新流程将对话库进行批量替换操作,而且是采用热更新的方式,不会影响线上的正常使用。

本实施例中,离线全量更新包括针将对话库中的所有用户输入和其回复以及索引进行全局删除、替换等。

202、根据设定的扩展规则,对用户输入进行在线扩展处理;

本实施例中,扩展规则包括但不限于纠错、同义词扩展等。

203、将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本实施例中,在确定回复时,如果步骤s202中仅进行进行了索引的离线增量更新或者全量更新,则在步骤203中进行回复的确定时,对应地与离线增量更新或者全量更新后的索引进行匹配。

本实施例中,索引记录了用户输入和回复的匹配关系。

进一步地,在上述图1实施例的基础上,还可以在步骤202之后步骤203之前增加:将预先搜集的语料从前端下载到后台进行持久化存储。

本实施例中,处于数据的安全性考虑,预先搜集的语料一方面存储在一语料服务器上,另外一方面再将语料从语料服务器上下载到另外的备份服务器进行存储,从而实现了数据的分布式存储,防止了数据的丢失。

图3为本申请实施例三中人机交互方法的流程示意图;其包括如下步骤301-304:

301、将预先语料实时推送给预处理模块,由预处理模块对预先搜集的语料进行预处理;

本实施例中,预处理模块可以配置在后台的业务处理服务器上,该预处理模块在对语料进行预处理时,包括:语义纠错,标点符号的统一、英文大小写的统一等,标点符号的统一比如附号的圆角、半角的格式统一等。

但是,需要说明的是,预处理模块也并非一定配置在业务处理服务器上,也可以分布式地配置在其他后台的服务器上。另外,预处理模块也可以配置在前端的用户终端上。

302、根据消息中间件以及预处理后的语料对索引进行离线增量更新;

本实施例中,消息中间件仍然为swift消息中间件。

本实施例中,离线增量更新如上述图2实施例中,将对话库中部分语料及其回复的对应关系进行离线更新即对索引进行离线更新,该更新包括但不限于增删改查。

303、根据设定的扩展规则,对用户输入进行在线扩展处理;

本实施例中,步骤303中,根据设定的扩展规则,对用户输入进行在线扩展处理包括但不限于用户输入进行分词、纠错、同义词扩展中的至少一种扩展处理。

304、将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本实施例中,步骤304中与离线增量更新后的索引进行匹配,以确定针对所述用户输入的回复。

图4为本申请实施例四中人机交互方法的流程示意图;与上述实施例不同的是,本实施例中以进行离线全量更新为例进行说明。具体地,如图4所示,其包括如下步骤401-404:

401、将预先搜集的语料定时推送给数据订阅模块,由预数据订阅模块对预先搜集的语料进行订阅处理;

本实施例中,数据订阅模块可以配置在后台业务处理服务器上,主要用于对预先搜集的语料进行筛选。在一具体应用场景中,数据订阅模块具体用于定时接收索引服务器推送的语料以在步骤402中进行下载到备份服务器。

402、数据下载模块将订阅后的语料从索引服务器下载到备份服务器以对索引进行离线定时全量更新。

本实施例中,数据下载模块也可以直接配置在备份服务器上,当然也可以配置在索引服务器上。

403、根据设定的扩展规则,对用户输入进行在线扩展处理;

本实施例中,步骤403类似上述实施例相应的步骤。

404、将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

进一步地,在步骤403中若对用户输入进行同义词扩展,则将用户输入扩展成表示相同或者类似含义的多个语句,以增加针对所述用户输入的回复的召回率。

在一具体应用场景中,比如:用户输入“世姐首富是谁”,用户把“世界”错误输入为“世姐”,通过纠错之后变成“世界首富是谁”,然后通过同义词扩展,“世界”可以替换为“全球”,“首富”可替换为“最有钱”,最后进行输入的扩展,原本的用户输入“世界首富是谁”被扩展成了四种不同的说法:“世界首富是谁”、“世界最有钱是谁”、“全球首富是谁”、“全球最有钱是谁”。

进一步地,在步骤403中将扩展后的用户输入作为对话库的输入,与其中全量更新后的索引进行匹配,以确定针对所述用户输入的回复时,可以包括:将所述扩展处理后的用户输入与离线更新后的索引进行匹配,得到具有设定相似度的多个初步回复;根据具有设定相似度的多个初步回复确定针对所述用户输入的最终回复。

进一步地,在步骤403中根据具有设定相似度的多个初步回复确定针对所述用户输入的最终回复时,可以包括:

对具有设定相似度的多个初步回复进行筛选得到若干个初步回复;根据若干个初步回复确定针对所述用户输入的最终回复。

进一步地,在步骤403中根据若干个初步回复确定针对所述用户输入的最终回复包括:

计算所述用户输入与若干个初步回复的相似度,并将其中具有最高相似度的初步回复作为针对所述用户输入的最终回复。

进一步地,在步骤403中还包括:将所述用户输入与若干个初步回复转换为词向量,以计算所述用户输入与若干个初步回复的相似度。

进一步地,在步骤403中计算所述用户输入与若干个初步回复的相似度包括:利用余弦相似度计算公式和相对熵公式所述用户输入与若干个初步回复的相似度。

在一具体应用场景中,假如要计算与从对话库中匹配到的用户输入query2的相似度,则其综合相似度计算公式如下公式所示:

score=α*cos(query1,query2)+β*kl(query1,query2)

α和β为控制因子,cos表示余弦相似度计算,kl表示相对熵计算。query1表示用户输入,query2表示从索引(离线增量更新或者全量更新后的索引)中匹配到的一个用户输入。

在计算出多个综合相似度分数后,对分数进行排序,分数最高的一条结果与设定的阈值比对,如果不小于设定的阈值,即分数最高的一条结果作为召回的最终回复,否则可认为针对当前的用户输入在对话库中不存在答复。

图5为本申请实施例五中人机交互装置的结构示意图;如图5所示,其包括:

第一程序单元501,用于用于根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

第二程序单元502,用于将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

将对话本申请实施例还提供了一种存储介质,其上存储有计算机可读指令,所述计算机可读指令在被处理器执行时处理如下步骤:

根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本申请还提供了一种电子设备(如服务器或者电子终端),其包括存储介质以及处理器,存储介质上存储有计算机可读指令,所述计算机可读指令在被处理器执行时处理如下步骤:

根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

本申请还提供了一种人机交互系统,其包括前端的电子终端以及后台的服务器,所示电子终端和所述后台服务器通过网络进行通讯,所述前端的电子终端用于接收用户输入,所述后台服务器用于:

根据预先搜集的语料将对话库的索引进行离线更新,以及根据设定的扩展规则,对用户输入进行在线扩展处理;

将所述扩展处理后的用户输入与离线更新后的索引进行匹配,以确定针对所述用户输入的回复。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

本领域的技术人员应明白,本申请实施例的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。

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