一种人机对话方法及装置制造方法

文档序号:6535242阅读:616来源:国知局
一种人机对话方法及装置制造方法
【专利摘要】本发明公开了一种人机对话方法及装置,属于计算机【技术领域】。该方法包括:接收终端发送的对话请求,该对话请求携带对话上文数据,该对话上文数据为文本形式的自然语言;根据预设必需语义项以及所述对话上文数据,确定该对话上文数据的缺失语义项,该缺失语义项为包含在该预设必需语义项中且未包含在该对话上文数据的语义项中的语义项;从该对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为所述对话上文数据的对话下文数据;向终端发送该对话下文数据,使得该终端以文本形式响应该对话请求。本发明通过根据必需语义项,确定对话上文数据的缺失语义项,将缺失语义项对应的文本作为对话下文数据进行反馈,实现了人机对话。
【专利说明】一种人机对话方法及装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种人机对话方法及装置。
【背景技术】
[0002]人机对话系统是人工智能的一个重要工程方向。人机对话是计算机的一种工作方式,即计算机操作员或用户与计算机之间,通过控制台或终端显示屏幕,以对话方式进行工作。
[0003]现有技术中,人机对话系统可以接收用户的语音输入,首先进行语音识别,然后对识别出来的文本进行语义理解并且生成相应的问话(回答)文本,最后使用语音合成技术将问话(回答)文本以声音的形式反馈给用户。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]现有技术中的人机对话系统,仅支持英语,有一定的局限性。

【发明内容】

[0006]为了解决现有技术的问题,本发明实施例提供了一种人机对话方法及装置。所述技术方案如下:
[0007]—方面,提供了一种人机对话方法,所述方法包括:
[0008]接收终端发送的对话请求,所述对话请求携带对话上文数据,所述对话上文数据为文本形式的自然语言;
[0009]根据预设必需语义项以及所述对话上文数据,确定所述对话上文数据的缺失语义项,所述缺失语义项为包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项;
[0010]从所述对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为所述对话上文数据的对话下文数据;
[0011]向终端发送所述对话下文数据,使得所述终端以文本形式响应所述对话请求。
[0012]可选地,所述必需语义项包括多个语义项,所述方法还包括:
[0013]配置所述预设必需语义项以及每个语义项对应的多个预设应答。
[0014]可选地,根据预设必需语义项,确定所述对话上文数据的缺失语义项包括:
[0015]获取所述对话上文数据的语义项;
[0016]比较所述预设必需语义项以及所述对话上文数据的语义项,将包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项,确定为所述对话上文数据的缺失语义项。
[0017]可选地,获取所述对话上文数据的语义项包括:
[0018]读取预设语法规则;
[0019]根据所述预设语法规则,解析所述对话上文数据,得到所述对话上文数据的语义项。[0020]另一方面,提供了一种人机对话装置,所述装置包括:
[0021]对话请求接收模块,用于接收终端发送的对话请求,所述对话请求携带对话上文数据,所述对话上文数据为文本形式的自然语言;
[0022]缺失语义项确定模块,用于根据预设必需语义项以及所述对话上文数据,确定所述对话上文数据的缺失语义项,所述缺失语义项为包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项;
[0023]对话下文数据确定模块,用于从所述对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为所述对话上文数据的对话下文数据;
[0024]对话下文数据发送模块,用于向终端发送所述对话下文数据,使得所述终端以文本形式响应所述对话请求。
[0025]可选地,所述必需语义项包括多个语义项,所述装置还包括:
[0026]必需语义项配置模块,用于配置所述预设必需语义项以及每个语义项对应的多个预设应答。
[0027]可选地,所述缺失语义项确定模块包括:
[0028]语义项获取单元,用于获取所述对话上文数据的语义项;
[0029]缺失语义项确定单元,用于比较所述预设必需语义项以及所述对话上文数据的语义项,将包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项,确定为所述对话上文数据的缺失语义项。
[0030]可选地,所述语义项获取单元包括:
[0031]语法规则读取子单元,用于读取预设语法规则;
[0032]语义项获取子单元,用于根据所述预设语法规则,解析所述对话上文数据,得到所述对话上文数据的语义项。
[0033]本发明实施例提供的技术方案带来的有益效果是:
[0034]通过根据必需语义项,确定对话上文数据的缺失语义项,将缺失语义项对应的文本作为对话下文数据进行反馈,实现了人机对话。
【专利附图】

【附图说明】
[0035]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1是本发明实施例提供的人机对话方法流程图;
[0037]图2是本发明实施例提供的人机对话方法流程图;
[0038]图3是本发明实施例提供的人机对话语义项解析示意图;
[0039]图4是本发明实施例提供的人机对话方法流程图;
[0040]图5是本发明实施例提供的人机对话装置结构示意图。
【具体实施方式】
[0041]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0042]图1是本发明实施例提供的人机对话方法流程图。参见图1,该实施例包括:
[0043]101、接收终端发送的对话请求,该对话请求携带对话上文数据,该对话上文数据为文本形式的自然语言。
[0044]102、根据预设必需语义项以及该对话上文数据,确定该对话上文数据的缺失语义项,该缺失语义项为包含在该预设必需语义项中且未包含在该对话上文数据的语义项中的语义项。
[0045]103、从该对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为该对话上文数据的对话下文数据。
[0046]104、向终端发送该对话下文数据,使得该终端以文本形式响应该对话请求。
[0047]本发明实施例提供的方法,通过根据必需语义项,确定对话上文数据的缺失语义项,将缺失语义项对应的文本作为对话下文数据进行反馈,实现了人机对话。
[0048]可选地,该必需语义项包括多个语义项,该方法还包括:
[0049]配置该预设必需语义项以及每个语义项对应的多个预设应答。
[0050]可选地,根据预设必需语义项,确定该对话上文数据的缺失语义项包括:
[0051 ] 获取该对话上文数据的语义项;
[0052]比较该预设必需语义项以及该对话上文数据的语义项,将包含在该预设必需语义项中且未包含在该对话上文数据的语义项中的语义项,确定为该对话上文数据的缺失语义项。
[0053]可选地,获取该对话上文数据的语义项包括:
[0054]读取预设语法规则;
[0055]根据该预设语法规则,解析该对话上文数据,得到该对话上文数据的语义项。
[0056]图2是本发明实施例提供的人机交互方法流程图。本发明实施例为终端与服务器的交互过程。参见图2,该实施例包括:
[0057]201、当终端检测到自然语言输入时,向服务器发送对话请求,该对话请求携带对话上文数据,该对话上文数据为文本形式的自然语言。
[0058]其中,该终端可以为固定终端或移动终端,固定终端可以为PC (PersonalComputer,个人电脑)或显示设备,移动终端可以为智能手机、平板电脑、MP3 (MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、PDA(Personal Digital Assistant,个人数字助理)等。
[0059]202、当接收到该对话请求时,服务器获取该对话上文数据的语义项。
[0060]在本发明实施例中,服务器获取该对话上文数据的语义项的具体过程包括步骤202a,202b:
[0061]步骤202a、服务器读取预设语法规则。
[0062]服务器可以将预设语法规则读入内存,并将预设规则展开成网络,使得当服务器接收到对话上文数据时,将该对话上文数据放入网络中进行解码,进一步获取该对话上文数据的语义项。
[0063]步骤202b、根据该预设语法规则以及该对话上文数据,服务器解析该对话上文数据,得到该对话上文数据的语义项。[0064]本发明实施例采用LEX脚本语言对输入进行语义解析的核心思想是根据预设语法规则,定义该对话上文数据的语义项,并且在表达式的输出中,将语义项的值捕获到。例如,用户说了一句话“我要去北京”,这句话包含了这些信息:主体一“我”,目的地一“北京”,领域一“出行”。通过预设语法规则可以让机器了解到这些信息,这条规则是export expr=(我I小红I小明)要去(北京I上海)=>request(主体=〃$1〃,目的地=〃$2〃,领域=〃出行〃)。这条规则解析用户输入的结果是request (主体=〃我〃,目的地=〃北京〃,领域=〃出行")。
[0065]如图3所示,以预设规则“(我I小红I小明)要去(北京I上海)”的网络展开和解码图,其中每个椭圆和矩形表示一个LEX节点,矩形节点表示被捕获的语义项,除了 start节点和end节点之外,每个LEX节点都有一个入边和一个出边。网路展开后,加载文本输入进LEX网络。输入文本在LEX网络中的解码过程就是选择从start节点和end节点之间,与输入文本相似度最高的路径的过程。比如,输入文本是“我要去北京”,那么图3中的黑体字节点即是解码出来的最相似路径,这条路径对应的语义项就是我,北京。
[0066]其中,该LEX脚本语言有如下特点。 [0067]1.LEX 语言支持的语法规则米用 DFA (Deterministic Finite Automaton,确定有穷自动机)算法实现,从语法规则的表现形式上兼容了标准正则表达式的语法,如.表示任意字符,?表示重复O次或者I次,*表示重复O次或者任意多次,+表示重复I次或者任意多次,{m, η}表示重复m次到η次。
[0068]2.LEX语言支持配置和调整规则的置信度来表示规则的可信程度,以此来调整输入文本在LEX规则之间的匹配准确度,置信度高的LEX规则输出将被优先匹配到。
[0069]3.对于置信度相同的LEX规则,可以通过规则内匹配的命中数来标识规则和输入文本相似度,命中次数高的规则对应的语义项将被优先输出。
[0070]LEX语言支持内建变量,内建变量包含了一系列专有名词,专有名词按所在领域划分成多个独立的集合,每个集合以领域名字为表名存储在数据库中。LEX语言进行专有名词的匹配时,使用内建变量,并且比较输入文本和内建变量值的余弦相似度,取相似度最高的内建变量值为专有名词的匹配结果。
[0071]203、服务器比较该预设必需语义项以及该对话上文数据的语义项,将包含在该预设必需语义项中且未包含在该对话上文数据的语义项中的语义项,确定为该对话上文数据的缺失语义项,该缺失语义项为包含在该预设必需语义项中且未包含在该对话上文数据的语义项中的语义项。
[0072]在本发明实施例中,服务器配置有该预设必需语义项以及每个语义项对应的多个预设应答。可选地,服务器还可以在不同的领域配置每个语言项对应的文本。
[0073]在本发明实施例中,服务器检查对该对话上文数据进行语义解析的结果,对比解析结果和必需语义项,以便后续选择缺失语义项对应的文本,反馈给用户。
[0074]可选地,LUA脚本语言控制对话的具体步骤包含以下步骤1-4。
[0075]1.配置领域内的必需语义项和语义项对应的反馈文本。
[0076]2.检查语义解析的结果,对比必需语义项,选择缺失语义项。
[0077]3.选择缺失语义项的文本,向用户反馈。
[0078]4.重复2和3,直到没有缺失语义项。[0079]如,针对出行领域,系统预先定义了三个必需语义项,它们分别是出发地,目的地,出发日期;出发地对应了 2个反馈文本一“请问您要从哪里出发? ”和“您要从哪里出发? ”;目的地对应了 I个反馈文本---〃您要去哪儿? 〃;出发日期对应了 I个反馈文本一"您什么时候出发?"。
[0080]204、从该对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为该对话上文数据的对话下文数据。
[0081]在本发明实施例中,服务器可以采用轮盘算法随机选择缺失语义项对应的文本,反馈给用户。例如,用户输入“我要去北京”,语义解析的结果是“主体=我,目的地=北京,领域=出行”,LUA检查语义解析结果,发现缺失的语义项有出发地和出发日期,系统从这两个缺失语义项中随机选出一个,假设系统随机选出了出发地,因为出发地的预设应答有2个,系统继续从这2个预设应答中随机选出一个确定为该对话下文数据,如“您要从哪里出发? ”,反馈给用户。系统一直重复这个过程,直到预设的必需语义项都有值便结束对话。这个示例的对话过程可以抽取如下:
[0082]用户第一轮输入:“我要去北京。”;
[0083]系统第一轮反馈:“您要从哪里出发? ” ;
[0084]用户第二轮输入:“上海。”;
[0085]系统第二轮反馈:“您什么时候出发? ” ;
[0086]用户第三轮输入:“明天。”;
[0087]对话结束。
`[0088]205、服务器向终端发送该对话下文数据,使得该终端以文本形式响应该对话请求。
[0089]在本发明实施例中,如图4所示在对话系统初始化阶段,定义好对话必需语义项,然后对话开始。首先,由LEX语言对输入文本作语义解析,然后由LUA回调函数检查必需语义项是否有缺失,如果有缺失则由对话系统选择相应的应答文本进行反馈,直到对话系统获得了所有必需语义项的值,则结束对话。
[0090]需要说明的是,步骤201-步骤205是一轮人机对话的过程,由于整个人机对话的过程可以包括多轮人机对话,每轮人机对话均执行相同的过程,这里不再重复赘述。
[0091]本发明实施例提供的方法,通过根据必需语义项,确定对话上文数据的缺失语义项,将缺失语义项对应的文本作为对话下文数据进行反馈,实现了人机对话。
[0092]图5是本发明实施例提供的人机交互装置结构示意图。参见图5,该装置包括:对话请求接收模块501、缺失语义项确定模块502、对话下文数据确定模块503、对话下文数据发送模块504。其中,
[0093]对话请求接收模块501用于接收终端发送的对话请求,该对话请求携带对话上文数据,该对话上文数据为文本形式的自然语言;对话请求接收模块501与缺失语义项确定模块502连接,缺失语义项确定模块502用于根据预设必需语义项以及该对话上文数据,确定该对话上文数据的缺失语义项,该缺失语义项为包含在该预设必需语义项中且未包含在该对话上文数据的语义项中的语义项;缺失语义项确定模块502与对话下文数据确定模块503连接,对话下文数据确定模块503用于从该对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为该对话上文数据的对话下文数据;对话下文数据确定模块503与对话下文数据发送模块504连接,对话下文数据发送模块504用于向终端发送该对话下文数据,使得该终端以文本形式响应该对话请求。
[0094]可选地,该必需语义项包括多个语义项,该装置还包括:
[0095]必需语义项配置模块,用于配置该预设必需语义项以及每个语义项对应的多个预设应答。
[0096]可选地,该缺失语义项确定模块502包括:语义项获取单元,用于获取该对话上文数据的语义项;缺失语义项确定单元,用于比较该预设必需语义项以及该对话上文数据的语义项,将包含在该预设必需语义项中且未包含在该对话上文数据的语义项中的语义项,确定为该对话上文数据的缺失语义项。
[0097]可选地,该语义项获取单元包括:语法规则读取子单元,用于读取预设语法规则;语义项获取子单元,用于根据该预设语法规则,解析该对话上文数据,得到该对话上文数据的语义项。
[0098]本发明实施例提供的装置,通过根据必需语义项,确定对话上文数据的缺失语义项,将缺失语义项对应的文本作为对话下文数据进行反馈,实现了人机对话。
[0099]需要说明的是:上述实施例提供的人机对话装置在人机对话时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的人机对话装置与人机对话方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0100]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0101]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种人机对话方法,其特征在于,所述方法包括: 接收终端发送的对话请求,所述对话请求携带对话上文数据,所述对话上文数据为文本形式的自然语言; 根据预设必需语义项以及所述对话上文数据,确定所述对话上文数据的缺失语义项,所述缺失语义项为包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项; 从所述对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为所述对话上文数据的对话下文数据; 向终端发送所述对话下文数据,使得所述终端以文本形式响应所述对话请求。
2.根据权利要求1所述的方法,其特征在于,所述必需语义项包括多个语义项,所述方法还包括: 配置所述预设必需语义项以及每个语义项对应的多个预设应答。
3.根据权利要求1所述的方法,其特征在于,根据预设必需语义项,确定所述对话上文数据的缺失语义项包括: 获取所述对话上文数据的语义项; 比较所述预设必需语义项以及所述对话上文数据的语义项,将包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项,确定为所述对话上文数据的缺失语义项。
4.根据权利要求3所述的方法,其特征在于,获取所述对话上文数据的语义项包括: 读取预设语法规则; 根据所述预设语法规则,解析所述对话上文数据,得到所述对话上文数据的语义项。
5.一种人机对话装置,其特征在于,所述装置包括: 对话请求接收模块,用于接收终端发送的对话请求,所述对话请求携带对话上文数据,所述对话上文数据为文本形式的自然语言; 缺失语义项确定模块,用于根据预设必需语义项以及所述对话上文数据,确定所述对话上文数据的缺失语义项,所述缺失语义项为包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项; 对话下文数据确定模块,用于从所述对话上文数据的缺失语义项对应的多个预设应答中,选择一个预设应答确定为所述对话上文数据的对话下文数据; 对话下文数据发送模块,用于向终端发送所述对话下文数据,使得所述终端以文本形式响应所述对话请求。
6.根据权利要求5所述的装置,其特征在于,所述必需语义项包括多个语义项,所述装置还包括: 必需语义项配置模块,用于配置所述预设必需语义项以及每个语义项对应的多个预设应答。
7.根据权利要求5所述的装置,其特征在于,所述缺失语义项确定模块包括: 语义项获取单元,用于获取所述对话上文数据的语义项; 缺失语义项确定单元,用于比较所述预设必需语义项以及所述对话上文数据的语义项,将包含在所述预设必需语义项中且未包含在所述对话上文数据的语义项中的语义项,确定为所述对话上文数据的缺失语义项。
8.根据权利要求7所述的装置,其特征在于,所述语义项获取单元包括: 语法规则读取子单元,用于读取预设语法规则; 语义项获取 子单元,用于根据所述预设语法规则,解析所述对话上文数据,得到所述对话上文数据的语义项。
【文档编号】G06F17/27GK103744836SQ201410008175
【公开日】2014年4月23日 申请日期:2014年1月8日 优先权日:2014年1月8日
【发明者】吴旺, 张李, 肖佳林, 仇传奇, 代大明 申请人:苏州思必驰信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1