一种实现开放式语义交互服务的方法及系统的制作方法

文档序号:9597818阅读:242来源:国知局
一种实现开放式语义交互服务的方法及系统的制作方法
【技术领域】
[0001]本发明涉及基于语义理解的智能化人机交互技术,尤其涉及一种实现开放式的语义交互服务的方法及系统。
【背景技术】
[0002]随着智能终端的进一步普及,普通用户对基于语义理解的智能化人机交互的需求逐渐被释放出来。
[0003]目前主要有两种方案实现基于语义理解的智能化人机交互,第一种方案是通过类似语音助手的应用来整合各种信息资源、应用资源,为普通用户提供语义交互服务,这种方案的问题在于:1)需要集成数量巨大的信息资源、应用资源,形成实现复杂的语义理解环境,在具体实现过程中将带来成本陷阱和技术困难;2)信息资源、应用资源的拥有者出于自身利益考虑,对于是否整合到语音助手后端也心存顾虑。
[0004]第二种方案是提供一个面向第三方应用开发者的语义服务平台,从而令第三方应用可以借助这个平台在自己的应用中植入为终端用户提供语义交互体验的能力。第二种方案可以使宿主应用保持完全的自主性,因而拥有广阔的前景。但现有的技术存在以下问题:1)配置复杂、繁琐:需要开发者掌握复杂的语言知识、脚本知识,也没有为开发者提供强有力的自动化、智能化的语言知识共享支持,导致配置过程繁琐,令开发者望而生畏。2)接口封闭、使用不便、门槛过高:开发者需要依赖语义交互服务提供者预定义的功能,导致双方耦合过紧:对开发者来说,不能随时按照自己的需求扩充语义交互功能,失去了灵活自主性。对语义交互服务的提供者来说,又需要过多地涉入具体领域的细节,形成不必要的成本负担;3)不能很好地支持带上下文的交互,或者虽能部分支持但暴露太多细节给开发者,导致开发者必须面对复杂的配置过程;4)理解不够精准、功能单一:采用面向模板的,而不是面向语义的分析技术,只能支持简单的语句,不能支持复杂语句;只能支持单向的操控类任务,不能很好地支持带返回数据的查询类要求,自然也就无法支持按需计算;5)也没有实现语义标准化,因此不利于开发者提供语义交互功能。所谓语义标准化是指语义分析引擎应该为形式不同、含义相同的自然语言表达返回相同的结果;
[0005]这些问题严重制约了开发者在自己的应用中植入语义交互服务。

【发明内容】

[0006]本发明实施例的目的在于提出一种实现开放式语义交互服务的方法及系统,以有效解决现有技术存在的配置复杂、接口封闭、使用门槛过高、交互能力不足、理解不够精准等问题。其主要特点有:1)提供简单易用的开放的配置工具,允许开发者根据自己的需要自行定义语义事件,并允许开发者根据语义事件提供相应的自然语言表达,从而有效地解决了语义标准化的问题;2)通过语言知识共享支持技术自动识别与开发者提供的自然语言表达语义等价的其他表达,进而自动扩充语义接口,达到举一反三的效果,不仅能极大地减轻开发者的配置工作负担,而且能更好地适应用户的不同表达习惯与风格;3)在此基础上,由系统自动形成语义接口、语义规则,使开发者无需面对复杂的语言知识和繁杂的脚本;4)在语义分析过程中,创造性地将语义事件参数实现为语义角色,此举不仅实现了自然语言表达与语义事件的无缝耦合,还可几乎无限地扩充语义计算能力;5)对于复杂的自然语言表达,将触发若干个(而不是一个)查询类语义事件,并在这些语义事件的基础上实现按需计算,从而精准地实现对复杂表达的理解。
[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]优选地,所述对宿主应用的用户以自然语言表达的问句或指令进行自动问答分析,触发一个或一组语义事件之前,还包括:
[0037]在宿主应用中添加语义事件响应代码;
[0038]所述在宿主应用中添加语义事件响应代码,包括:
[0039]为调用特定功能或服务而定义的针对特定语义事件的响应代码,所述语义事件响应代码中还包括适配代码,适配代码用于将语义事件中的输入参数转换成特定的接口可以接受的形式。
[0040]优选地,所述根据自动生成的语义规则对宿主应用的用户以自然语言表达的问句或指令进行语义分析,包括:
[0041]根据所述语义规则完成对自然语言表达的理解,并完成缺省恢复、倒装恢复、等价识别、歧义消解、指代消解等,以获得正确的用户的意图和要求,并触发符合一个或一组特定的语义事件。
[0042]优选地,所述自动问答分析,包括:
[0043]根据所述用户输入的自然语言表达,从自动问答索引中查找相关度超过阀值的问答项;
[0044]若查找到相关度超过阈值的问答项,则根据所述问答项触发生成一个自动问答类语义事件。
[0045]优选地,所述根据触发的语义事件进行按需计算,包括:
[0046]根据语义事件之间的输入输出关系将多个语义事件耦合起来,形成一个偏序有向拓扑,拓扑中的节点对应一个语义事件。遍历所述有向拓扑,完成对其中所有节点的计算,获取符合用户意图和要求的结果。
[0047]一种实现开放式语义交互服务的系统,所述系统包括:
[0048]语义分析引擎,用于根据自动生成的语义规则对宿主应用的用户以自然语言表达的问句或指令进行语义分析,触发一个或一组语义事件,这些事件包括上下文操作类事件、交互类事件、操控类事件和查询类事件等;
[0049]自动问答引擎,用于对宿主应用的用户以自然语言表达的问句或指令进行自动问答分析,如果存在相关度达到阀值的答案,则触发自动问答类事件;
[0050]按需计算引擎,用于根据语义分析引擎触发的查询类事件进行按需计算;
[0051]语义驱动组件,驻留于宿主应用,用于向语义分析引擎、自动问答引擎转发用户的自然语言表达,负责为宿主应用的用户呈现查询类事件的计算结果,响应交互类事件、自动问答类事件,并向宿主应用转发操控类事件。
[0052]优选地,所述系统还包括:
[0053]语义接口配置模块,用于定义语义事件和语义接口 ;
[0054]训练模块,用于利用已知的语言知识自动识别与已知表达语义等价的其他表达,并据以扩充语义接口 ;用于根据语义接口生成语义规则;若是自动问答类,则提取自然语言表达和答案的特征,添加到文本特征索引中。
[0055]优选地,所述语义接口配置用于第三方应用开发者定义并管理语义接口,以及管理本体和自定义语义事件。
[0056]优选地,所述训练模块用于根据语义接口形成语义规则,所述训练模块还包括为使用自动问答类事件的语义接口添加
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1