语音对话系统以及发声意图理解方法与流程

文档序号:14070908阅读:848来源:国知局

本发明涉及语音对话系统,涉及与打断发声(barge-inutterance)对应的语音对话系统。



背景技术:

在语音对话系统中,期望在系统发声与用户发声叠合时判定用户是否对当前的系统发声作出了应答。

专利文献1公开如下内容:在系统发声与用户发声重叠的情况下,根据作为对象的用户发声的长度、作为对象的用户发声与紧接在前面的发声的时间关系、系统的状态等判断作为对象的用户发声是否为针对对话系统的发声。根据该方法,能够区分需要对话系统应答的用户发声和如自言自语等那样不需要应答的用户发声。

但是,在专利文献1的方法中,即使判断出与系统发声重叠的用户发声是针对语音对话系统的发声,也无法判断该用户发声是否为对当前输出过程中的系统发声进行应答的发声。

用户发声能够分类为对当前输出过程中的系统发声进行应答的发声、对前一个系统发声进行应答的发声以及用户自发地对语音对话系统进行搭话的发声等。在系统发声与用户发声叠合的情况下,期望能够判断用户是否有对当前的系统发声进行应答的意图。

本发明的目的在于,在语音对话系统中,在系统发声与用户发声叠合时准确地判断用户的发声意图。

专利文献1:日本特开2014-77969号公报



技术实现要素:

第一方案为一种语音对话系统,具备:

语音输入单元,获取用户发声;

意图理解单元,对由所述语音输入单元获取到的语音的发声意图进行理解;

对话语句制作单元,制作系统发声语句的文本;以及

语音输出单元,将所述系统发声语句输出为语音数据,

所述对话语句制作单元在制作系统发声语句的文本时,将标签嵌入到系统发声语句中的任意位置来制作系统发声语句的文本,

所述意图理解单元根据输入用户发声的定时在从所述语音输出单元输出与所述标签对应的位置的系统发声语句之前还是之后,对用户的发声意图进行理解。

这样,通过将标签嵌入到系统发声语句之中,能够根据用户发声的开始定时在与该标签对应的位置的文章(单词)的发声之前还是之后判定用户发声是否为对当前输出过程中的系统发声进行应答的发声。

在本方案中,如果输入用户发声的定时在从所述语音输出单元输出与所述标签对应的位置的系统发声语句之后,则所述意图理解单元理解为用户发声是对所述系统发声语句进行应答的发声;如果输入用户发声的定时在从所述语音输出单元输出与所述标签对应的位置的系统发声语句之前,则所述意图理解单元理解为用户发声不是对所述系统发声语句进行应答的发声。

另外,在本方案中,所述对话语句制作单元能够将所述系统发声语句生成为组合连接词部分和内容部分而成的语句,将所述标签插入到所述连接词部分与所述内容部分之间。其中,标签的位置也可以不在连接词部分与内容部分之间,例如,也可以是被设想为只要听到内容部分中的该位置之前的内容用户就能够理解系统发声的意图的位置。

另外,在本方案中,所述意图理解单元计算第1时间,该第1时间是从由所述语音输出单元输出所述系统发声语句至由所述语音输出单元输出所述标签之前的全部文本为止的时间;所述意图理解单元获取第2时间,该第2时间是从由所述语音输出单元输出所述系统发声语句至开始输入所述用户发声为止的时间;所述意图理解单元比较所述第1时间与所述第2时间,从而能够判断输入所述用户发声的定时在从所述语音输出单元输出与所述标签对应的位置的系统发声语句之前还是之后。

另外,在本方案中,期望所述语音输出单元不将所述系统发声语句的文本中的所述标签输出为语音。

此外,本发明还能够理解为具备上述单元的至少一部分的语音对话系统。另外,本发明还能够理解为执行上述处理的至少一部分的语音对话方法。进而,本发明还能够理解为用于使计算机执行该方法的计算机程序或者非临时地存储有该计算机程序的计算机可读存储介质。上述单元以及处理的每一个能够尽可能地相互组合来构成本发明。

根据本发明,在语音对话系统中,能够在系统发声与用户发声叠合时准确地判断用户的发声意图。

附图说明

图1是示出实施方式的语音对话系统的结构的图。

图2是示出变形例的语音对话系统的结构的图。

图3是说明实施方式的语音对话系统中的用户发声的意图理解的图。

图4是示出实施方式的语音对话系统中的对话语句制作以及输出处理的流程的例子的图。

图5是说明实施方式的语音对话系统中的用户发声的意图理解处理的流程的图。

具体实施方式

以下,参照附图,举例来详细说明本发明的优选的实施方式。以下说明的实施方式是将语音对话机器人用作语音对话终端的系统,但语音对话终端并不是非机器人不可,能够使用任意的信息处理装置、语音对话接口等。

<系统结构>

图1是示出本实施方式的语音对话系统(语音对话机器人)的结构的图。本实施方式的语音对话机器人100是包括麦克风(语音输入部)101、扬声器(语音输出部)107、微型处理器等运算装置、存储器以及通信装置等的计算机。利用微型处理器执行程序,从而语音对话机器人100作为语音识别部102、意图理解部103、对话管理部104、对话语句制作部105、语音合成部106发挥功能。虽未图示,但语音对话机器人100也可以具备图像获取装置(照相机)、可动关节部、移动单元等。

语音识别部102对从麦克风101输入的用户发声的语音数据进行噪音去除、声源分离、特征量抽取等处理,使用户发声的内容文本化。语音识别部102还获取对麦克风101进行用户发声的定时(时刻)。

此外,语音识别部102构成为能够理解在系统发声的期间发出的用户发声。系统发声过程中的用户发声被称为打断发声(中断发声(interruptingutterance))。语音识别部102对应于打断发声,从输入到麦克风101的语音数据中压制自己发声,从而能够取出用户发声而识别。

意图理解部103根据语音识别部102的识别结果(发声内容的文本、发声特征量等)来理解用户的发声意图。意图理解部103存储有用于理解发声内容的语料库或者辞典,通过参照语料库或者辞典来理解用户的发声。

意图理解部103还判断用户发出的打断发声是否为对当前的系统发声进行应答的发声。此外,关于打断发声不是对当前的系统发声进行应答的发声的情况包括打断发声是对当前的系统发声之前的系统发声进行应答的情况以及用户自发地对机器人进行搭话的情况这两种情况。稍后叙述判断打断发声是否为对当前的系统发声进行应答的发声的处理的详细内容。由意图理解部103得到的用户发声的发声意图理解的结果被送到对话管理部104以及对话语句制作部105。

对话管理部104中存储有过去在系统与用户之间进行的对话的历史。对话管理部104中不仅管理对话的内容,还管理在何种状况(例如,日期时间、地点)下进行了该对话。能够利用对话管理部104掌握在与用户之间进行了何种会话,能够参考过去的对话来生成应答。

对话语句制作部105从意图理解部103接受用户发声的意图理解的结果,制作对用户发声进行应答的发声(系统发声)的对话语句文本。在本说明书中,将系统发声的对话语句文本还称为系统发声语句或者系统对话语句。对话语句制作部105参照储存于对话管理部104的过去的对话的内容(也包括当前的对话内容)、用户信息等来制作系统对话语句。对话语句制作部105也可以保有对话脚本数据库,按照储存于数据库的对话脚本来制作应答语句。对话语句制作部105制作出的对话语句被送到对话管理部104,并进行存储。

在制作系统应答的对话语句文本时,嵌入用于告知用于判断用户的打断发声是否为对当前的发声进行应答的发声的定时的“标签”来制作。对话语句制作部105将应答语句制作成连接词部分与正文(内容部分)之和。此时,将标签插入到连接词与正文之间。例如,在衔接“哎哎”的连接词与“你的名字是?”的正文来制作文本的情况下,生成“哎哎,<1>你的名字是?”的文本。在这里,“<1>”相当于标签。另外,在衔接“这么说来”与“你知道明天的天气?”的情况下,为“这么说来,<2>你知道明天的天气?”。在这里,标签内的数字是确定标签的数字,但如果1个文章(应答)中只包含1个标签,则不一定要使用如数字那样的可变符号。

语音合成部106接收发声内容的文本,进行语音合成而生成应答语音数据。从扬声器107再生由语音合成部106生成的应答语音数据。此时,文本所包含的标签不输出为语音。

另外,语音合成部106计算发声内容的文本所包含的直至紧接在标签前面的语音输出完成的时刻、或者从文本的开头至紧接在标签前面的语音的输出所需的时间。能够根据发声内容的文本和发声速度计算该时刻或者时间。计算出的时间或者时刻被送到意图理解部103。

此外,语音对话机器人100并不是非要构成为1个装置不可。例如,如图2所示,能够由包括麦克风101、扬声器107、照相机、可动关节部等的机器人装置109(前端装置)和执行各种处理的智能手机110(或者其它计算机)这两个装置构成。在该情况下,机器人装置与计算机利用蓝牙(注册商标)等无线通信连接,机器人装置所获取到的数据被送到计算机,根据由计算机得到的处理结果,由机器人装置进行应答语句等的再生。

另外,并不是非要利用语音对话机器人100进行语音识别处理、对话语句制作处理,如图2所示,也可以在语音识别服务器200、对话服务器300中进行这些处理。另外,也可以利用1个服务器进行这些处理。在这样使用外部服务器进行处理的情况下,智能手机110(或者机器人装置109)控制与服务器之间的协作。

<处理>

图3是示意地说明在本实施方式中判断系统发声与用户发声叠合时的用户发声的意图的处理的图。在这里,处理如下例子:因为在系统发出“○○你的爱好是什么?”的发声301之后用户未回复应答,所以接着发出“哎哎,那么,你来自哪里?”的发声302。用户在比发声302的开始定时稍晚的定时发出“开车呀”的发声303。发声302与发声303重叠,需要判断用户发声303是对发声301进行应答的发声,还是对发声302进行应答的发声。

在这里,发声302的文本是由对话语句制作部105嵌入标签而制作出的,被制作成“哎哎,那么,<1>你来自哪里?”的文本。然后,在语音合成部106中计算从发声302的开始至紧接在标签<1>的前面的输出所需的时间a。此外,如上所述,标签不被输出为语音,但以下为了简化说明,有将直至紧接在标签前面的输出完成的定时称为标签的输出定时等记载为似乎标签被输出为语音的情况。

系统还能够获取发声302的开始与发声303的开始之间的时间b。在这里,如果用户的发声303的开始在标签输出定时之前(时间a≥时间b),则能够判断为用户的发声303是对系统先前的发声301进行应答的发声。这是因为如下缘故:由于将标签插入到应答语句的正文之前,所以应理解为正文输出之前的应答不是针对当前的发声302的应答,而是针对先前的发声301的应答。

另外,如果用户的发声303的开始在标签输出定时之后(时间a<时间b),则能够判断为用户的发声303是对系统当前的发声302进行应答的发声。这是因为应理解为在系统开始输出应答语句的正文之后,用户对当前的发声302进行了应答。

以下,参照图4以及图5的流程图,说明用于实现图3所示的处理的详细内容。

图4是示出语音对话机器人100中的对话语句的制作以及输出的处理的流程的流程图。在步骤s11中,对话语句制作部105确定与状况相应的对话脚本(会话模板)。这里所说的状况例如由用户发声的识别结果、此前对话的内容、当前的时刻或位置等各种因素确定。对话语句制作部105具有储存有多个对话脚本(会话模板)的对话脚本数据库,在对话脚本中记述系统发声的内容以及与设想的用户的应答相应的进一步的系统发声的内容。对话脚本中的系统发声的一部分内容被指定为根据用户的应答或其它状况来确定。对话语句制作部105选择适于当前状况的对话脚本。

在步骤s12中,对话语句制作部105根据选择出的对话脚本来确定发声语句的文本。发声语句文本的确定方法不作特别限定,但在这里,发声语句的文本最终被确定成连接词与正文的组合。连接词的例子是如“嗯”、“原来如此”、“这么说来”的简单回答、附和、开场白或者用户的发声内容的一部分的重叠。对话语句制作部105将标签插入到连接词与正文之间来制作发声语句的文本。例如,生成“哎哎,<1>你的名字是?”、“这么说来,<2>你知道明天的天气?”的文本。

此外,既可以将连接词、标签以及正文的组合储存于对话脚本(会话模板),也可以仅将正文储存于对话脚本,选择适当的连接词,与标签一起添加到正文。

在步骤s13中,在对话语句制作部105输出了所确定的发声文本时计算从发声开始至紧接在标签前面部分为止的发声所需的时间,并进行存储。能够根据语音合成处理中的发声速度的设定和发声文本的内容,求出从发声开始至紧接在标签前面为止的时间。

在步骤s14中,语音合成部106将发声语句文本变换为语音数据,从扬声器107输出。在步骤s15中,存储发声的开始定时。

图5是意图理解处理的流程图,在意图理解处理中判断用户的打断发声(即与系统发声叠合的用户发声)是否为意图对当前的系统发声进行应答的发声。此外,语音对话机器人100中的用户发声的意图理解处理还包含除了是否为对当前的系统发声进行应答的发声的判断以外的判断,但在这里,关注于是否为对当前的系统发声进行应答的发声进行说明。

在步骤s21中,从麦克风101获取用户的发声。此时,存储用户发声的开始定时。

在步骤s22中,意图理解部103比较从当前输出过程中的系统发声的发声开始定时至该系统发声内的标签的输出定时为止的期间的时间(图3中的时间a)、和从该系统发声的发声开始定时至用户发声的发声开始定时为止的期间的时间(图3中的时间b)。

如果用户发声在系统发声内的标签的输出开始定时之前即时间a≥时间b(s23-是),则在步骤s24中,意图理解部103判断为用户发声是对当前的系统发声的前1个系统发声进行应答的发声。

另一方面,如果用户发声在系统发声内的标签的输出开始定时之后即时间a<时间b(s23-否),则在步骤s25中,意图理解部103判断为用户发声是对当前的系统发声进行应答的发声。

<效果>

根据本实施方式,能够在用户发声与系统发声叠合的情况下,通过简单的处理判断该用户发声是否为针对当前的系统发声的应答。因而,能够更适当地实现系统与用户之间的对话。

<变形例>

在上述实施方式中,为了判断用户发声是否为对当前的系统发声进行应答的发声,仅考虑了用户发声的定时与标签的输出定时的比较结果,但也可以考虑其它要素而进行最终的判断。例如,可以考虑将前1个以及当前的系统发声的内容与用户的打断发声的内容的关联性考虑进来进行判断。如图3的例子所示,在系统接连发出“你的爱好是什么?”的询问和“你来自哪里?”的询问时,在用户说“开车呀”的情况下,不管用户发声的定时如何,都根据内容的关联性判断为是针对先前的系统发声(“你的爱好是什么?”)的应答。还优选这样考虑用户发声的定时与发声内容的关联性这两方来进行最终的判断。

另外,这里例举系统接连发出两个询问的例子进行了说明,但在系统开口发声的情况下也能够应用同样的处理。在该情况下,判断用户发声是对系统发声进行应答的发声还是自发地开口发出会话的发声。也就是说,在用户的打断发声不是对系统发声进行应答的发声的情况下,理解为用户意图开口会话。

另外,在对话语句的制作中使用了对话脚本(会话模板),但对话语句的制作方法不作特别限定。也可以不使用对话脚本而确定对话语句。另外,对话语句文本中的标签的插入位置不限于连接词与正文之间,只要插入到能够获得本发明的效果的位置即可。另外,也可以在1个应答语句之中插入多个标签,在该情况下,还能够根据用户发声的开始符合由标签规定的3个以上的区间中的哪部分来确定用户的发声意图。

在上述说明中,使用“标签”这样的用语,在应答语句文本中采用如“<1>”等的表达,但本发明中的“标签”是指定应答语句中的位置的标签,在应答语句文本中具体表达成什么样不作限定。为了确定应答语句中的位置而能够采用预先确定的任意的字符串或者基于预先确定的规则的任意的字符串,这些都相当于本发明中的“标签”。

<其它>

上述实施方式以及变形例的结构能够在不脱离本发明的技术的思想的范围内适当地组合利用。另外,本发明也可以在不脱离其技术的思想的范围适当地施加变更来实现。

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