一种语音交互方法及交互设备、服务器与流程
本申请涉及语音处理技术领域,尤其涉及一种语音交互方法及交互设备、服务器。
背景技术:
以深度学习为代表的人工智能技术的快速发展,使得语音交互技术已成为人工智能的重点研究领域。随着业务功能多样化以及用户需求的提升,人们希望显示设备(比如智能电视、智能音箱、智能手机等)支持更加多样化的用户说法以及提供更加自然流畅的用户体验。
多轮对话场景中,用户发送的语音请求中存在一些代词或省略词,然而,传统的深度学习模型无法准确理解模糊的语音请求,从而不能正确的响应用户语音请求,降低了用户体验。
因此,在用户输入的语音请求语义较为模糊的情境下,需要提供一种用于提高用户体验的语音交互方法以完成信息交互过程。
技术实现要素:
本申请实施例提供了一种语音交互方法及交互设备、服务器,用以在语音交互过程中,结合用户的历史语音响应结果记录响应用户语音请求,进而提高用户体验。
第一方面,本申请实施例提供一种交互设备,包括:
存储器,与控制器连接,被配置为存储计算机指令;
通信器,与控制器连接,被配置为与服务器进行通信;
控制器,被配置为根据计算机指令执行以下操作:
接收用户语音,对用户语音进行识别,得到语音文本;
对语音文本进行语义解析,得到第一语音请求,第一语音请求中包含实体指称;
查询历史语音请求及响应结果记录,得到实体指称指代的对象,其中,历史语音请求及响应结果记录包括历史语音请求以及对应的响应结果;
用对象替换第一语音请求中的实体指称,得到第二语音请求;
根据第二语音请求进行响应,并输出响应结果。
第二方面,本申请的实施例提供一种语音交互方法,包括:
接收用户语音,对用户语音进行识别,得到语音文本;
对语音文本进行语义解析,得到第一语音请求,第一语音请求中包含实体指称;
查询历史语音请求及响应结果记录,得到实体指称指代的对象,其中,历史语音请求及响应结果记录包括历史语音请求以及对应的响应结果;
用对象替换第一语音请求中的实体指称,得到第二语音请求;
根据第二语音请求进行响应,并输出响应结果。
第三方面,本申请实施例提供一种交互设备,包括:
语音识别模块,被配置为接收用户语音,对用户语音进行识别,得到语音文本;
语义解析模块,被配置为对语音文本进行语义解析,得到第一语音请求,第一语音请求中包含实体指称;
查询模块,被配置为查询历史语音请求及响应结果记录,得到实体指称指代的对象,其中,历史语音请求及响应结果记录包括历史语音请求以及对应的响应结果;
语义解析模块,还被配置为用对象替换第一语音请求中的实体指称,得到第二语音请求;
响应模块,被配置为根据第二语音请求进行响应,并输出响应结果。
第四方面,本申请提供一种服务器,包括:处理器和存储器;
存储器,与处理器连接,配置为存储计算机指令;
处理器,与存储器连接,配置为执行计算机指令以使得服务器进行:
接收来自交互设备的用户语音,对用户语音进行识别,得到语音文本;
对语音文本进行语义解析,得到第一语音请求,第一语音请求中包含实体指称;
查询历史语音请求及响应结果记录,得到实体指称指代的对象,其中,历史语音请求及响应结果记录包括历史语音请求以及对应的响应结果;
用对象替换第一语音请求中的实体指称,得到第二语音请求;
根据第二语音请求进行响应,并将响应结果发送至交互设备。
本申请的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于执行第二方面的方法。
本申请的上述实施例中,识别接收的用户语音,得到语音语本,并对语音文本进行语义解析,得到包含实体指称的第一语音请求,查询历史语音请求及响应结果记录,得到实体指称指代的对象,用实体指称指代的对象替换第一语音请求中的实体指称,得到第二语音请求,根据第二语音请求进行响应,并输出响应结果。其中,历史语音请求及响应结果记录包括历史语音请求以及对应的响应结果,通过查询历史语音请求及响应结果记录确定实体指称指代的对象,得到语义清晰的语音请求,从而进行正确的响应,进而提高了用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了本申请实施例中显示设备与控制装置之间操作场景的示意图;
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图;
图3示例性示出了本申请实施例提供的知识库的示意图;
图4示例性示出了本申请实施例提供的交互设备的功能结构图;
图5示例性示出了本申请实施例提供的语音交互方法的流程图;
图6示例性示出了本申请实施例提供的服务器400的硬件配置框图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(unlessotherwiseindicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
示例性地,本申请实施例中的交互设备可以是具有语音交互功能的显示设备,比如智能电视、智能手机等,该显示设备可以响应用户语音请求,并在用户界面显示语音请求的响应结果。本申请实施例中的交互设备也可以是具有语音交互功能的播放设备,比如智能音箱,该播放设备可以响应用户的语音请求,播放语音请求的响应结果。本申请实施例中的语音交互方法可通过交互设备或服务器执行。
以交互设备为显示设备为例描述本申请的实施例。图1中示例性示出了本申请实施例中显示设备与控制装置之间操作场景的示意图。如图1中示出,用户可通过移动终端300和控制装置100操作显示设备200。
其中,控制装置100可以遥控器,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑等设备控制显示设备200。例如,使用在移动终端上运行的应用程序控制显示设备200,该应用程序通过配置关联在移动终端的屏幕上,以直观的用户界面(ui)为用户提供各种控制。
示例的,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200可从服务器400获取视频图像。服务器400可以为一组或多组服务器,也可以一类或多类服务器。服务器400用于提供全景视频图像。
显示设备200,可以为液晶显示器、oled显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控ui界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制设备100或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置100(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230还可以包括图像采集器,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。
在一些实施例中,检测器230还可声音采集器等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口hdmi接口、模拟或数据高清分量输入接口、复合视频输入接口、usb输入接口、rgb端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及epg数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。
在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择ui对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
如图2所示,控制器250包括随机存取存储器251(randomaccessmemory,ram)、只读存储器252(read-onlymemory,rom)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(graphicsprocessingunit,gpu)、中央处理器254(centralprocessingunit,cpu)、通信接口(communicationinterface),以及通信总线256(bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,ram251用于存储操作系统或其他正在运行中的程序的临时数据。
在一些实施例中,rom252用于存储各种系统启动的指令。
在一些实施例中,rom252用于存储一个基本输入输出系统,称为基本输入输出系统(basicinputoutputsystem,bios)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。
在一些实施例中,在收到开机信号时显示设备200电源开始启动,cpu运行rom252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至ram251中,以便于启动或运行操作系统。当操作系统启动完成后,cpu再将存储器中各种应用程序的临时数据拷贝至ram251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,cpu处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,cpu处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入mpeg-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60hz帧率转换为120hz帧率或240hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如gpu+frc(framerateconversion))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,″用户界面″,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。
基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和ui界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
为清楚说明本申请的实施例,下面给出一些语义分析相关的名词的相关解释。
对象:是指客观存在并可相互区别的事物,包括具体的人、事、物、机构、抽象的概念或联系。
实体指称:指代对象的一个名称,包括代词(比如″他″、″他们″、″这″)、名词(比如″首都″)等。例如,″中国首都″中″首都″为实体指称,指代的对象为″北京″。
知识库:知识根据它们的应用领域特征、背景特征、使用特征、属性特征等而被构成便于利用的、有结构的组织形式,称为知识库,知识库包含多个对象及各对象间的关系。比如,在实体链接研究中所使用的中文知识库包括百度百科、互动百科、中文维基百科等,英文知识库包括维基百科等。图3示例性示出了本申请实施例提供的知识库的示意图。图中方框表示对象,方框之间的连线表示对象间的关联关系,箭头方向表示关系方向。比如对象″吴京″的″妻子″为对象″谢楠″。
人机多轮对话场景中,多轮对话可以为一个用户的连续对话,也可以为多个用户的连续对话。多轮对话中,若用户的语音请求中包含实体指称,导致交互设备无法理解用户语音请求的语义,从而不能进行正确的响应,用户体验较差。比如,用户a的第一轮对话为″《战狼》的导演是谁?″,交互设备输出的响应结果为″吴京″,用户a的第二轮对话为″这部电影评分多少?″,此时交互设备无法准确″这部电影″指代的什么,也就无法输出正确的响应结果。
为了解决上述问题,本申请实施例根据历史语音及对应的响应结果生成了历史语音请求及响应结果记录,语音交互过程中,可通过查询历史语音请求及响应结果记录确定实体指称指代的对象,得到语义清晰的语音请求,从而正确响应该语音请求,提高用户体验。
下面结合附图详细描述本申请提供的实施例。
图4示例性示出了本申请实施例提供的交互设备的功能结构图。如图所示,包括语音识别模块401、语义解析模块402、查询模块403、响应模块404。
语音识别模块401,被配置为接收用户语音,对语音进行识别,得到语音文本。在一些实施例中,语音识别模块401包括至少两层长短时记忆(longshort-termmemory,lstm)网络。在另一些实施例中,语音识别模块401也可以包括门控循环单元(gatedrecurrentunit,gru)网络或卷积神经网络。语音识别模块401采用何种网络不影响得到语音文本的结果。
语义解析模块402,被配置为对语音文本进行语义解析,得到第一语音请求,第一语音请求中包含实体指称。语义解析模块402包括至少两层lstm网络,lstm的层数可以与语音识别模块中lstm的层数相同,也可以不同。在另一些实施例中,语义解析模块402也可以包括门控循环单元(gatedrecurrentunit,gru)网络或卷积神经网络。语义解析模块402采用何种网络不影响语义解析结果。
查询模块403,被配置为查询历史语音响应结果记录,得到实体指称指代的对象,其中,历史语音响应结果记录中包括历史语音请求以及对应的响应结果,该响应结果通过查询知识库得到的。
语义解析模块402,还被配置为用实体指称指代的对象替换第一语音请求中的实体指称,得到第二语音请求。
响应模块404,被配置为,根据第二语音请求进行响应,并输出响应结果。
其中,若第一语音请求的语义清晰,即第一语音请求中不包含实体指称,则可由响应模块404根据第一语音请求进行响应并输出响应结果。
在本申请的实施例中,历史语音请求及响应结果记录模块采用二维结构记录历史语音及响应结果,如表1所示。横坐标记录了所有用户的用户标识(比如用户名、用户id等),纵坐标记录了对话过程中从知识库得到的响应结果。其中,用户标识可通过视频分析、语音分析、雷达、毫米波等方式确定。
表1、历史语音请求响应结果记录的二维结构
如表1所示,第一轮对话中,用户a的语音请求为″最近播放的《战狼2》是谁导演的?″,通过查询知识库,得到的响应结果为″吴京″;在第二轮对话中,用户b的语音请求为″《战狼2》的女主是谁?″,通过查询知识库,得到的响应结果为″卢靖姗″;在第三轮对话中,用户b的语音请求为″他们是夫妻吗?″,通过查询知识库,得到的响应结果为″不是″。
在本申请的另一些实施例中,为了使机器准确理解用户请求,提高查找速度,可用简单的采用主谓宾的形式记录用户语音请求及响应结果。如表2所示,将第一轮对话中用户a的语音请求″最近播放的《战狼2》是谁导演的?″记录为″谁导演的《战狼2》?″,将第一轮响应结果记录为″吴京导演的《战狼2》″;将第二轮的响应结果记录为″《战狼2》的女主是卢靖姗″,根据第一轮和第二轮的对话过程,将第三轮对话中用户b的语音请求″他们是夫妻吗?″记录为″吴京和卢靖姗不是夫妻″。
表2、历史语音请求及响应结果记录的二维结构
其中,历史语音请求及响应结果记录的句型越复杂,代表智能化的程度越高。比如,在响应结果记录中加入形容的记录,当用户的语音请求为″中国女排取得的成绩怎么样″时,响应结果为″辉煌的″。
在本申请的实施例中,历史语音请求及响应结果记录模块记录历史语音请求及对应的响应结果时,是按照语法格式进行的,语法格式包括疑问句、陈述句、特殊句型和复合语句。历史语音请求及响应结果记录的基本语法结构为:
基本语法=[定语,][主语,][连词[定语,][主语,]][状语,][谓语,][补语,][定语,][宾语,][连词[定语,][宾语,]][语气词]
其中,[a,]表示有n个a出现,n为大于或等于0的整数,a为主语、谓语、宾语、定语、状语、补语等。
在本申请的实施例中,特殊句型包括把字句、被字句等。复合语句由陈述句、疑问句、特殊句型连接而成,复合语句的定义为:
[[基本语法,陈述句,特殊句型,]连词[[基本语法,陈述句,特殊句型,]]
疑问句和陈述句由基本语法结构、特殊句型或复合语句迭代而成。陈述句和疑问句的定义为:
[大主语][大谓语][[大主语][大谓语][基本语法,陈述句,复合语句,特殊句型,]]
其中,大主语=[定语,][主语,][连词[定语,][主语,]],大谓语=[状语,][谓语,][补语,][连词[状语,][谓语,][补语,]]。
基于图4的网络结构,图5示例性示出了本申请实施例提供的语音交互方法的流程图。该流程可由软件方式实现,也可由软硬件结合方式实现。该流程可由具有语音交互功能的显示设备、播放设备执行,也可由服务器执行,如图所示,该流程包括以下几步:
s501:接收用户语音,对用户语音进行识别,得到语音文本。
该步骤中,接收用户通过通信设备中的语音助手发送的语音或接收音频采集器采集的语音,对接收的用户语音进行预处理操作,包括去燥(比如去除回声和环境噪声)和分帧。具体的,对接收的用户语音进行去燥,得到干净的语音信号,对干净的语音信号进行分帧,得到每帧帧长固定的语音信号,并将语音信号转换为网络模型可识别的语音特征向量。网络模型如图4所示,采用至少两层lstm网络对语音特征向量进行识别,得到语音文本。其中,语音助手可为智能手机、智能电视、智能音箱等智能设备的语音输入应用程序。
比如,用户语音为″今天天气怎样?″,分帧后得到帧长固定的语音信号″青岛今天天气怎样?″,识别后得到的语音文本为″青岛今天天气怎样?″。
s502:对语音文本进行语义解析,得到第一语音请求,第一语音请求中包含实体指称。
该步骤中,采用如图4所示的网络模型中的至少两层lstm网络对语音文本进行语义解析,得到第一语音请求,并确定第一语音请求中包括的一个或多个实体指称。其中,同一实体指称可以指代同一对象,也可以指代不同的对象,多个实体指称可以指代不同的对象,也可指代相同的对象。
举例来说,″刘德华是名演员,他也是名歌手″,其中实体指称″他″指代的对象为″刘德华″;″张国立和邓婕是夫妻,他们共同主演了《铁齿铜牙纪晓岚》″,其中实体指称″他们″指代的对象为″张国立″和″邓婕″;″《城市猎人》的主演是谁?这部电影豆瓣评分多少?″,其中实体指称″谁″指代的对象为″成龙″,实体指称″这部电影″指代的对象为″城市猎人″;″《城市猎人》的主演是谁?他是中国人吗?″,其中实体指称″谁″指代的对象为″成龙″,实体指称″他″指代的对象也为″成龙″。
s503:查询历史语音请求及响应结果记录,得到实体指称指代的对象,其中,历史语音请求及响应结果记录包括历史语音请求以及对应的响应结果。
该步骤中,历史语音请求及响应结果记录包括历史语音请求以及对应的响应结果。确定第一语音请求中包含的实体指称后,确定实体指称指代的对象的属性,属性包括对象的类型、对象的数量中的至少一种。根据实体指称指代的对象的属性,查询历史语音请求及响应结果记录,得到历史语音请求及响应结果记录中的至少一条记录。其中,至少一条记录包含与实体指称指代的对象的属性匹配的语句成分,且当至少一条记录的数量大于1时,至少一条记录属于同一业务场景。
举例来说,历史语音请求及响应结果记录中包括第一轮对话的语音请求及对应的响应结果″吴京导演《战狼2》″和第二轮对话的语音请求及对应的响应结果″《战狼2》的女主是卢靖姗″。本轮对话中的第一语音请求为″他们是夫妻吗?″,根据″夫妻″一词可确定第一语音请求中的实体指称″他们″指代的对象的类型为人,且指代的对象的数量为2。根据对象的属性,查询历史语音请求及响应结果记录,得到包含人名的两条历史语音请求及响应结果,分别为″吴京导演《战狼2》″和″《战狼2》的女主是卢靖姗″,通过分析上述2条历史语音请求及响应结果记录中的主语和宾语,确定实体指称″他们″指代的对象为″吴京″和″卢靖姗″。其中,上述两条历史语音请求及响应结果属于影视业务领域。
在本申请的一些实施例中,同一用户的多轮对话的相关性较强。因此,接收到用户语音后,还可进一步确定用户标识,通过用户标识缩小历史语音请求及响应结果记录的范围,从而提高确定实体指称指代对象的效率。
其中,确定用户标识的方法包括以下几种:
方法1:预先设置用户声纹与用户标识的对应关系表。接收到用户语音后,对用户语音进行声纹识别,根据用户声纹与用户标识的对应关系表,获取声纹识别结果对应的用户标识。
方法2:预先设置用户人脸与用户标识的对应关系表。接收到用户语音后,获取用户的脸部图像,对脸部图像进行人脸识别,根据用户人脸与用户标识的对应关系表,获取人脸识别结果对应的用户标识。
方法3:预先设置用户位置与用户标识的对应关系表。语音交互过程中,采用雷达测距装置或毫米波测距装置测量用户位置信息,根据用户位置信息的变化,确定对应的用户标识。
举例来说,位置1对应用户a,位置b对应用户b,位置c对应用户c。用户a行进至距离交互设备小于设定阈值处后发送语音,根据测距装置测得的用户a的位置信息的变化,确定该语音为用户a发送的。
以上仅为示例,本申请实施例对确定用户标识的方法不做限制性描述。
确定用户标识后,根据用户标识查询历史语音请求及响应结果记录,得到历史语音请求及响应结果记录中用户标识对应历史语音请求及响应结果记录,缩小了查询范围。进一步地,根据s502得到的实体指称指代的对象的属性,查询用户标识对应历史语音请求及响应结果记录,得到包含与对象的属性匹配的语句成分的至少一条记录。其中,当至少一条记录的数量大于1时,至少一条记录属于同一业务场景。根据得到的至少一条记录,确定实体指称指代的对象。
举例来说,历史语音请求及响应结果记录中包括用户a和用户b的历史语音请求及响应结果,记为[″吴京导演《战狼2》″,″《战狼2》的女主是卢靖姗″,″青岛今天天气怎样″]。其中,用户a的历史语音请求及响应结果为[″吴京导演《战狼2》″,″《战狼2》的女主是卢靖姗″],用户b的历史语音请求及响应结果为[″青岛今天天气怎样″],用户a的两条记录为影视业务领域,用户b的一条记录为天气业务领域。确定本轮对话中的用户标识为用户a,第一语音请求为″他的妻子是谁?″,实体指称″他″指代的对象的属性为1个男人。根据用户a查询历史语音请求及响应结果记录,得到的查询结果为[″吴京导演《战狼2》″,″《战狼2》的女主是卢靖姗″],根据对象的属性查询[″吴京导演《战狼2》″,″《战狼2》的女主是卢靖姗″],确定实体指称″他″指代的对象为″吴京″。
s504:用对象替换第一语音请求中的实体指称,得到第二语音请求。
以s503为例,第一语音请求中实体指称指代的对象为″吴京″和″卢靖姗″,用″吴京″和″卢靖姗″替换″他们″,得到第二语音请求″吴京和卢靖姗是夫妻吗?″。
s505:根据第二语音请求进行响应,并输出响应结果。
该步骤中,用实体指称指代的对象替换实体指称后,得到的语义清晰的第二语音请求,根据第二语音请求查询知识库,确定响应结果并输出。
举例来说,替换后的第二语音请求为″吴京的最新电影有哪些?″,当交互设备为显示设备时,音频播放器播放语音″吴京最新的电影有《战狼2》″,并在显示器的用户界面显示《战狼2》影片的简介,当交互设备为智能音箱时,音频播放器播放语音″吴京最新的电影有《战狼2》″,并播放该影片的相关描述。
值得说明的是,由服务器执行上述方法适,s505中由服务器将响应的结果发送给交互设备(比如显示设备、智能音箱等),由交互设备输出响应结果。
在本申请的实施例中,对第二语音请求进行响应后,将第二语音请求及对第二语音请求的响应结果添加至历史语音请求及响应结果记录中。
本申请的上述实施例中,对接收的用户语音进行识别得到语音文本,对语音文本进行语义解析后,得到包含实体指称的第一语音请求,查询历史语音请求及响应结果记录,确定实体指称指代的对象并用该对象替换实体指称,得到语义清楚的第二语音请求并进行响应,从而提高了响应结果的准确定,进而提高了用户体验。
基于相同的技术构思,本申请实施例还提供了一种服务器,可实现前述实施例的功能。
图6是根据一示例性实施例示出的一种服务器的硬件结构图。该服务器包括存储器601、处理器602,存储器601用于存储处理器602可执行指令,处理器602被配置为执行存储器601存储的指令。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,该指令可由服务器的处理器602执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
在此需要说明的是,本申请实施例提供的上述服务器,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除