本发明涉及计算机交互技术领域,特别涉及一种基于自然语言处理的对话式智能交互方法和系统。
背景技术:
随着计算机硬件的飞速发展,软件产品也随之竞争激烈。传统互联网产品的用户交互已经远远不足以满足用户对一个软件便利性以及自由性,丰富性等多层次的越来越严苛的需求。本着以人为本,使产品更加人性化,操作更加快捷便利,释放双手,对话式交互应运而生。而目前市面上的对话式交互系统仍然非常受应用场景,技术门槛以及用户习惯等多方因素的限制,未能得到广泛的普及使用。
互联网产品识别人类语言存在一定困难,随着深度学习的崛起,语音识别和自然语言理解的快速发展,为人机智能对话这一交互模式的流行创造了可能。现有技术中仅存在个别特定场景的少量人机对话交互(如问路机器人,手机语音助手),但存在功能单一,且未能完全控制屏幕上的每一个操作。大部分互联网产品仍然处于手触式交互,在一些入口层次很深的功能或者输入的时候显得十分繁琐。
针对cui(conversationaluserinterface)对话式交互,cn107368473a的中国专利申请公开了一种语音交互的实现方法,公开日为2017年11月21日,该方案仅仅对确定的语音库进行交互,将语音识别和自然语言理解广泛使用于更多的互联网产品,更多地应用在单一功能的互联网产品中。
技术实现要素:
为解决上述背景技术中提到的对话式交互中未能将语音识别和自然语言理解广泛使用于更多的互联网产品的问题,本发明提供一种基于自然语言处理的对话式智能交互方法,包括以下步骤:
步骤a、系统层对页面元素根据操作特性进行分类,并根据分类的操作元素建立与语音数据和操作指令的对应关系,形成可被导出的交互技能安装包;
步骤b、交互层进行语音交互,逻辑层对交互层中接收到的语音交互信息进行意图分析,并将分析后的结果反馈至交互层;
步骤c、交互层根据意图分析结果进行操作条件判断,并调用所述交互技能安装包中的对应关系,以执行页面操作命令。
在上述方案的基础上,进一步地,所述系统层加载页面文件解析器,对页面文件进行异步解构,以使页面层操作元素匹配所述对应关系。
在上述方案的基础上,进一步地,所述系统层包括个性化训练模块,以建立个性化元素的对应关系。
在上述方案的基础上,进一步地,所述交互技能安装包还包括跨平台可编译文件、jsvm虚拟运行时、语音逻辑包和自动化执行脚本。
在上述方案的基础上,进一步地,所述个性化训练的方法包括:
根据页面元素的特殊表达方式形成若干预料,输入到个性化训练模块;
个性化训练模块自动将其根据特定比例分配为训练集、测试集、验证集;优选地,所述特定比例为:8:1:1;
使用卷积神经网络进行训练后,再使用k-fold进行交叉验证,并根据验证集的效果自动动态调参以达到特定的识别效果;
保存模型迭代到逻辑层到语义分析服务完成个性化训练。
在上述方案的基础上,进一步地,所述交互层通过ui操作对话引导进行语音输入,并对通过语音识别将输入语音转化为文字,并通过逻辑层的自然语音处理进行对话意图分析,并将对话意图反馈至交互层的进行操作条件判断;
所述逻辑层通过条件词槽判定进行对话意图分析和语音内容输入引导。所述词槽包括必要词槽和非必要词槽,当所述必要词槽未被交互层抓取时,根据对话意图对语音输入进行询问引导,进而获得真实意图。
在上述方案的基础上,进一步地,步骤c中,当无法准确识别接收的语音内容时,通过兜底逻辑,对语音内容的输入进行引导。
在上述方案的基础上,进一步地,所述兜底逻辑包括:
通过内置html解释器,根据标签以及关键字,分析每一个页面所有的可操作元素以及一般外部操作,并将分析后的结果分类至元素类别中,并执行元素对应所将要进行的操作指令;
使用webkit包含的webcore绘制引擎和jscore引擎进行页面解析,生成需要的渲染树,再经过布局,与webkitports的渲染接口,将渲染树渲染输出到屏幕上,完成对语音内容的引导。生成需要的渲染树的方法包括:
通过htmlparser将html解析成dom树,通过cssparser将css解析成cssom树;
合并所述dom树和cssom树即得到所述渲染树。
在上述方案的基础上,进一步地,采用webkitports以使webkit能够移植至不同的操作系统或平台上,并调用nativelibrary的接口进行二次封装,以实现语音控制、声音播放和录音能力。
在上述方案的基础上,进一步地,
在上述方案的基础上,进一步地,所述系统层中,采用jscore建立与原生oc统一;
其中,所述jscore由以下构建块组成:词法分析器,解析器,启动解释器(llint),基线jit,低延迟优化jit(dfg)和高并发优化jit(ftl),其主要功能则是用于执行js脚本以操作dom树,并与之交互。其与原生oc建立联系的原理是通过jscore将我们写的源码分解成token序列并经过语法分析转换成统一的机器码并保存到内存中生成可执行文件,最后实际操作中则是在jsvm运行环境中执行该执行文件。
在上述方案的基础上,进一步地,所述系统层中,采用在native中开启多个线程来异步执行不同api,以创建多个jsvirtualmachinevm。通过创建的多个jsvm则可实现,语音控制中一句话里可能涉及的多个任务,其原理则是将操作寄存器中的操作指令集对应的指令以达到控制jscore中可执行文件内的对应方法执行并将其放置到jsvm中分别运行。
在上述方案的基础上,进一步地,在一个jsvirtualmachine中关联多个jscontext,通过jsvalue和native进行数据传递通信,同时通过jsexport,将native中遵守此解析的类的方法和属性转换为js的接口供其调用。其中,类作为面向对象编程的基础,现代高级语言基本上都是支持面向对象编程的,如java,c ,andriod等等,而类里面主要包括基础属性(需要操作的变量)和方法(函数),而不同语言的语法有所不通,通过jsexport的转换可以统一封装为一种js的接口,对外开放供其调用。
在上述方案的基础上,进一步地,所述逻辑层还包括训练模块,以对对话意图分析进行训练。
本发明还提供一种基于自然语言处理的对话式智能交互系统:包括系统层、交互层和逻辑层:
所述系统层对页面元素根据操作特性进行分类,并根据分类的操作元素建立与语音数据和操作指令的对应关系,形成可被导出的交互技能安装包;
所述交互层进行语音交互,逻辑层对交互层中接收到的语音交互信息进行意图分析,并将分析后的结果反馈至交互层;
所述交互层根据意图分析结果进行操作条件判断,并调用所述交互技能安装包中的对应关系,以执行页面操作命令。本发明提供一种基于自然语言处理的对话式智能交互方法及系统,与现有技术相比,能够提供一站式的服务平台,使传统互联网产品对话式交互的普及,开发者仅需根据业务需要在开放平台进行简单的配置即可让传统的互联网产品或者智能终端快速拥有对话式交互能力,使得任意的硬件设备都可以拥有对话式交互的能力,具备识别可靠,快速响应,开箱即用的特点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供一种基于自然语言处理的对话式智能交互方法流程示意图;
图2为使用webkit包含的webcore绘制引擎和jscore引擎进行页面解析流程示意图;
图3为实现利用jscore脱离于平台运行与不同的操作系统之上作为跨平台解析器使用的原理示意图;
图4为本发明提供一种基于自然语言处理的对话式智能交互系统示意图;
图5为本发明技术方案在实际应用中的实际操作案例过程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供以下实施例:
实施例1
本发明提供一种基于自然语言处理的对话式智能交互方法,如图1所示,
步骤a、系统层对页面元素根据操作特性进行分类,并根据分类的操作元素建立与语音数据和操作指令的对应关系,形成可被导出的交互技能安装包;
步骤b、交互层进行语音交互,逻辑层对交互层中接收到的语音交互信息进行意图分析,并将分析后的结果反馈至交互层;
步骤c、交互层根据意图分析结果进行操作条件判断,并调用所述交互技能安装包中的对应关系,以执行页面操作命令。
具体地,先将常规互联网产品在页面上所呈现的元素根据操作特性进行分类,如将图片,轮播,表格元素等无操作的称为展示元素;将按钮,输入框,切换等元素称为操作元素,将列表,下拉框,多选框等需要定位索引等称为列表元素;将跳转,返回等常规操作称为外部元素。
移动终端或者其他终端设备先将语言输入打开,或者是开设语音权限;当收到语音内容时,系统层根据预先对操作元素内建一系列对应的语言库,找到对应的元素,并获取得知对应所将要的操作,每一种都有内置对应都相关话术;其中,所述交互技能安装包还包括跨平台可编译文件、jsvm虚拟运行时、语音逻辑包和自动化执行脚本。
在用户输入无关对语音或识别不清的时候,采用兜底逻辑对用户进行引导,优化体验;兜底逻辑具体包括以下步骤:
步骤1、通过内置html解释器,根据标签以及关键字,分析每一个页面所有的可操作元素以及一般外部操作;此种设计可以在不需要改动原来产品项目的基础上,仅需要引入技能包,加以配置即可使原来只能用手操作的页面立即拥有对话式交互能力;达到快捷可靠,低成本低风险的升级目标。
步骤2、使用webkit包含的webcore绘制引擎和jscore引擎进行页面解析,整体流程如图2所示。
htmlparser会把html解析成dom树,cssparser会把css解析成cssom树;最后把这两棵tree合并,生成最终需要的渲染树,再经过布局,与具体webkitports的渲染接口,把渲染树渲染输出到屏幕上,成为了最终呈现在用户面前的页面。
由于webcore与平台无关,各个系统移植所共享,包含了html解析,css解析,渲染,调试等部分。所以至此通过加载器所得到的文件都应为通用的;而解析得到的dom树以及cssom树通过前述元素分类则可根据元素特征和元素间关系得到语音操作所需的各类元素。
其中为应对不同的客户端或操作系统,利用webkitports让webkit更加方便的移植、各个操作系统、平台上,提供统一调用nativelibrary的接口进行二次封装,以实现语音控制,声音播放,录音等能力。
通过上述操作,能够使本发明的技术方案实现跨平台元素操作。
实施例2
该实施例在实施例1的基础上,在系统层包括个性化训练模块,以建立个性化元素的对应关系,在逻辑层还包括训练模块,以对对话意图分析进行训练。
本发明技术方案通过内建针对交互的特定话术,并提供简易操作的泛化训练机,无需自然语言处理技术基础都可以迅速针对特定的产品形成对应的交互技能,扩展性得到了提升同时降低了技术门槛。对比其他开放平台还需要对应交互工作寻找和设计大量的训练集数据,本发明技术方案有着更可靠更方便的特点。针对传统互联网产品交互不足以及现有开放平台仅提供的训练机的服务,本发明将所有交互后处理的功能都已经集成其中,无需额外开发,降低成本和负担;大大提升了升级普及的可能性同时优化了用户体验。
实施例3
该实施例在实施例1的基础上,提供了一种便于交互技能安装包被导出的具体方法实施例,其实现利用jscore脱离于平台运行与不同的操作系统之上作为跨平台解析器使用的原理示意图如图3所示,包括:
利用jscore建立起技能包与原生oc统一沟通的桥梁;jscore是一个优化的vm,可以脱离于平台运行与不同的操作系统之上作为跨平台解析器使用。jscore由以下构建块组成:词法分析器,解析器,启动解释器(llint),基线jit,低延迟优化jit(dfg)和高并发优化jit(ftl),其功能则是用于执行js脚本以操作dom树,并与之交互。其与原生oc建立联系的原理是通过jscore将我们写的源码分解成token序列并经过语法分析转换成统一的机器码并保存到内存中生成可执行文件,最后实际操作中则是在jsvm运行环境中执行该执行文件。
在native中开启多个线程来异步执行不同api,也就意味着开发者可创建多个jsvirtualmachinevm,同时相互隔离不影响,这样保证了并行地执行不同js任务;亦可利用此特性实现调用原生应用的能力如渲染,硬件,驱动等,达到一个技能包通用各个系统的目标。通过创建的多个jsvm则可实现,语音控制中一句话里可能涉及的多个任务,其原理则是将操作寄存器中的操作指令集对应的指令以达到控制上述6中可执行文件內的对应方法执行并将其放置到jsvm中分别运行。
在一个jsvirtualmachine中还可以关联多个jscontext,并通过jsvalue(可与native进行数据传递通信,同时可以通过jsexport,将native中遵守此解析的类的方法和属性转换为js的接口供其调用。
通过上述优选实施例,能够一键导出拥有内置技能以及个性化配置的交互技能安装包,引入即使用,可以应对每一个页面化身单独的对话机器人,使用户可以不改变原来的使用习惯,仅仅用语音即可达到控制和输入的目的。此外,本发明技能包的导出,且可根据客户端提供调用麦克风以及扬声器的方法,可以让开发人员快速地接入无需对语音识别后对内容进行额外开发即可达到交互目的。
实施例4
该优选实施例中,本发明提供一种基于自然语言处理的对话式智能交互系统,如图4所示,包括系统层、交互层和逻辑层:所述系统层设有包括语音数据、操作元素和操作指令的对应关系;所述交互层进行语音交互,将接收到的语音交互信息进行操作条件判断,并调用所述系统层的对应关系,以执行页面操作命令;所述逻辑层对交互层中接收到的语音交互信息进行意图分析,通过条件词槽判定进行对话意图分析和语音内容输入引导,并将分析后的结果反馈至交互层进行操作条件判断。
具体地,在操作过程中,所述词槽包括必要词槽和非必要词槽,当所述必要词槽未被交互层抓取时,根据对话意图对语音输入进行询问引导,进而获得真实意图。
本发明实施例4提供的基于自然语言处理的对话式智能交互系统,可以执行上述基于自然语言处理的对话式智能交互方法中各实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
实施例5
本实施例提供将本发明技术方案在实际应用中的实际操作案例,如图5所示,包括以下过程:
1.开发人员需要在本发明的开发平台上进行相应绑定,当用户在与系统对话交互中发出相应指令,在步骤3中选定该操作的元素后继而进行相对应的操作,比如以往新增一条记录可能需要点击新增按钮=>打开表单=》填写对应表单内容=》保存并发送表单;在引入对话式交互后在知道新增内容的时候只需一句话即可达到同样效果,大大提供了效率。
2.以往的交互中要完成一个功能任务往往需要用户重复操作同一动作2次或以上,在引入对话式交互后可能在一句话中即可同时进行更多的任务,同样以新增为例,用户仅仅需要对话交互中发出“新增内容axxxx,内容bxxxx”即可同时插入两条新的记录而无需重复操作新增功能,极大地提高了用户体验。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
1.一种对话式智能交互方法,其特征在于,包括以下步骤:
步骤a、系统层对页面元素根据操作特性进行分类,并根据分类的操作元素建立与语音数据和操作指令的对应关系,形成可被导出的交互技能安装包;
步骤b、交互层进行语音交互,逻辑层对交互层中接收到的语音交互信息进行意图分析,并将分析后的结果反馈至交互层;
步骤c、交互层根据意图分析结果进行操作条件判断,并调用所述交互技能安装包中的对应关系,以执行页面操作命令。
2.根据权利要求1中的基于自然语言处理的对话式智能交互方法,其特征在于:所述系统层加载页面文件解析器,对页面文件进行异步解构,以使页面层操作元素匹配所述对应关系。
3.根据权利要求1中的基于自然语言处理的对话式智能交互方法,其特征在于:所述交互技能安装包还包括跨平台可编译文件、jsvm虚拟运行时、语音逻辑包和自动化执行脚本。
4.根据权利要求1中的基于自然语言处理的对话式智能交互方法,其特征在于:所述系统层包括个性化训练模块,以建立个性化元素的对应关系。
5.根据权利要求4所述的基于自然语言处理的对话式智能交互方法,其特征在于:
所述个性化训练的方法包括:
根据页面元素的特殊表达方式形成若干预料,输入到个性化训练模块;
个性化训练模块自动将其根据特定比例分配为训练集、测试集、验证集;
使用卷积神经网络进行训练后,再使用k-fold进行交叉验证,并根据验证集的效果自动动态调参以达到特定的识别效果;
保存模型迭代到逻辑层到语义分析服务完成个性化训练。
6.根据权利要求1中的基于自然语言处理的对话式智能交互方法,其特征在于:所述交互层通过ui操作对话引导进行语音输入,并对通过语音识别将输入语音转化为文字,并通过逻辑层的自然语音处理进行对话意图分析,并将对话意图反馈至交互层的进行操作条件判断;
所述逻辑层通过条件词槽判定进行对话意图分析和语音内容输入引导。
7.根据权利要求6中的基于自然语言处理的对话式智能交互方法,其特征在于:步骤c中,当无法准确识别接收的语音内容时,通过兜底逻辑,对语音内容的输入进行引导。
8.根据权利要求6中的基于自然语言处理的对话式智能交互方法,其特征在于,所述兜底逻辑包括:
通过内置html解释器,根据标签以及关键字,分析每一个页面所有的可操作元素以及一般外部操作,并将分析后的结果分类至元素类别中,并执行元素对应所将要进行的操作指令;
使用webkit包含的webcore绘制引擎和jscore引擎进行页面解析,生成需要的渲染树,再经过布局,与webkitports的渲染接口,将渲染树渲染输出到屏幕上,完成对语音内容的引导。
9.根据权利要求7中的基于自然语言处理的对话式智能交互方法,其特征在于:采用webkitports以使webkit能够移植至不同的操作系统或平台上,并调用nativelibrary的接口进行二次封装,以实现语音控制、声音播放和录音能力。
10.根据权利要求9中的基于自然语言处理的对话式智能交互方法,其特征在于:所述系统层中,采用jscore建立与原生oc统一;
其中,所述jscore由以下构建块组成:词法分析器,解析器,启动解释器(llint),基线jit,低延迟优化jit(dfg)和高并发优化jit(ftl)。
11.根据权利要求10中的基于自然语言处理的对话式智能交互方法,其特征在于:所述系统层中,采用在native中开启多个线程来异步执行不同api,以创建多个jsvirtualmachinevm。
12.根据权利要求11中的基于自然语言处理的对话式智能交互方法,其特征在于:在一个jsvirtualmachine中关联多个jscontext,通过jsvalue和native进行数据传递通信,同时通过jsexport,将native中遵守此解析的类的方法和属性转换为js的接口供其调用。
13.根据权利要求12中的基于自然语言处理的对话式智能交互方法,其特征在于:所述逻辑层还包括训练模块,以对对话意图分析进行训练。
14.一种基于自然语言处理的对话式智能交互系统,其特征在于:包括系统层、交互层和逻辑层:
所述系统层对页面元素根据操作特性进行分类,并根据分类的操作元素建立与语音数据和操作指令的对应关系,形成可被导出的交互技能安装包;
所述交互层进行语音交互,逻辑层对交互层中接收到的语音交互信息进行意图分析,并将分析后的结果反馈至交互层;
所述交互层根据意图分析结果进行操作条件判断,并调用所述交互技能安装包中的对应关系,以执行页面操作命令。
技术总结