会话控制装置的制作方法

文档序号:2829672阅读:192来源:国知局
专利名称:会话控制装置的制作方法
技术领域
本发明涉及一种会话控制装置,其根据来自用户的话语发送应答或响应。
背景技术
近年来,返回对用户话语的答复的会话控制装置已经用在不同的应用中,例如汽车导航系统(例如,日本未审专利公开No.2004-258902、2004-258903和2004-258904)。这种会话控制装置旨在与用户建立会话的同时,答复用户的问题并指导用户。
通常,以上所述的这种会话控制装置将对用户话语内容的应答、响应等准备为数据库,根据用户的话语内容从数据库提取应答、响应等,以及通过发送所述应答、响应等而尝试建立会话。然而,其不能对未在数据库中准备的用户话语内容进行答复。例如,其以如下方式进行设计,在用户话语内容中包括两个或更多未知词语(未在数据库中准备的词语)的情况下存在“无法应答”的情形,从而答复“我不知道”等。
在包括这种未知词语的连续的用户话语的情况下,目前已知的会话控制装置重复“我不知道”,从而无法建立会话,因而,存在使用户感觉不自然或不方便的缺陷。

发明内容
本发明的目的是提供一种会话控制装置,即使输入了一种可能引起“无法应答”的用户话语,该装置也不会仅仅返回可预测的、机械的应答,而是可以根据用户话语条件执行能够维持会话建立的应答。
作为解决以上所述问题的方案,本发明包括下述特征。
本发明提出一种会话控制装置,其响应于用户话语而发送应答语句。该会话控制装置包括处理器(例如CPU),执行响应于用户话语而发送应答语句的控制;以及存储器(例如,会话数据库),存储多个方案,每个方案包括所述应答语句和规定下一候选应答语句的下一候选规定信息,所述下一候选应答语句是将以承接于所述应答语句之后的顺序而被发送的应答语句。处理器响应于第一用户话语,选择存储在所述存储器中的方案,并发送所述方案中包括的应答语句,在随后说出的第二用户话语对应于由所述方案中包括的所述下一候选规定信息所规定的下一候选应答语句的情况下,发送由所述下一候选规定信息所规定的所述下一候选应答语句,而在所述第二用户话语不关联于所述下一候选应答语句或者关系不清楚的情况下,推迟对所述下一候选应答语句的发送;在推迟对所述下一候选应答语句的发送的情况下,搜索关联于所述第二用户话语的话题,并且在其找到关联于所述第二用户话语的话题的情况下,发送关联于所述话题的应答语句,而在其未找到关联于所述第二用户话语的话题的情况下,推迟对关联于所述话题的所述应答语句的发送;以及在推迟对所述应答语句的发送的情况下,估计所述第二用户话语,并根据估计结果执行用于发送应答语句的控制。
在这种会话控制装置中,根据用户话语的内容,首先是方案会话模块且其次是谈话空间会话模块发送应答语句,与用户建立会话。在方案会话模块或谈话空间会话模块均不能应答的情况下,情形为该会话控制装置没有适当的知识(或数据)来向用户话语提供应答。即使在这种情形下,在根据本发明的会话控制装置中,会话继续和维持模块也能够根据用户话语条件而发送维持会话的应答。
也容许该会话控制装置进一步包括下述特征。
即,容许该会话控制装置进一步包括使处理器执行如下控制的特征,即确定第二用户话语是否是正在解释某事、确认某事或者批评或攻击某事,根据确定结果从预定的应答语句集合(例如,说明性会话响应语句表、确认会话响应语句表、批评和攻击会话响应语句表或反射性会话语句表)中选择所述应答语句并发送。
即,该会话控制装置包括处理器,执行响应于用户话语而发送应答语句的控制;以及存储器,存储多个方案,每个方案包括所述应答语句和规定下一候选应答语句的下一候选规定信息,所述下一候选应答语句是将以承接于所述应答语句之后的顺序而被发送的应答语句。处理器响应于第一用户话语,选择存储在所述存储器中的方案,并发送所述方案中包括的应答语句,在随后说出的第二用户话语对应于由所述方案中包括的所述下一候选规定信息所规定的下一候选应答语句的情况下,发送由所述下一候选规定信息所规定的所述下一候选应答语句,而在所述第二用户话语不关联于所述下一候选应答语句或者关系不清楚的情况下,推迟对所述下一候选应答语句的发送;在推迟对所述下一候选应答语句的发送的情况下,搜索关联于所述第二用户话语的话题,并且在其找到关联于所述第二用户话语的话题的情况下,发送关联于所述话题的应答语句,而在其未找到关联于所述第二用户话语的话题的情况下,推迟对关联于所述话题的所述应答语句的发送;以及在推迟发送该应答语句的情况下,确定第二用户话语是否是正在解释某事、确认某事或者批评或攻击某事,根据确定结果从预定的应答语句集合中选择所述应答语句并发送。
根据这种会话控制装置,能够根据用户话语的内容发送维持会话建立的应答语句。
根据本发明,即使在不能利用装置内准备的知识来应答输入的用户话语的情况下,也能够维持会话的建立。
本发明的附加目的和优点将在以下的描述中阐述,并且通过描述其将变得显而易见,或可以通过实施本发明而了解。通过利用在下文中具体指出的手段和组合可以实现和获得本发明的目的和优点。


附图包含于说明书并构成说明书的一部分,其示出本发明的实施例,并与上文给出的一般性说明和下文给出的实施例的详细描述一起用于解释本发明的原理。
图1是示出会话控制装置的配置实例的功能框图;图2是示出声音识别单元的配置实例的功能框图;图3是示出词语假设消除器的处理实例的时序图;图4是示出声音识别单元的操作实例的流程图;图5是会话控制装置的局部放大框图;图6是示出字母串与从字母串提取的词素之间关系的视图;图7是示出“话语类型”、字母表中表示话语类型的两个字母以及对应于话语类型的话语实例的视图;图8示出语句类型与用于确定该类型的词典之间的关系;图9是示出在会话数据库中存储的数据的数据配置实例的示意图;图10是示出某一话题指定信息项和其它话题指定信息项之间关系的视图;图11是示出话题标题(也称为“第二词素信息”)的数据配置实例的视图;图12是描述应答语句的数据配置实例的视图;图13示出与某一话题指定信息项关联的话题标题、应答语句和下一方案指定信息的具体实例;图14是描述方案空间(plan space)的示意图;图15是示出方案实例的视图;图16是示出不同方案实例的视图;图17是示出方案会话(planned conversation)处理的具体实例的视图;图18是示出会话控制器的主处理的实例的流程图;图19是示出方案会话控制处理的实例的流程图;图20是承接图19,示出方案会话控制处理的实例的流程图;图21是示出基本控制条件的视图;
图22是示出谈话空间(talk space)会话控制处理的实例的流程图;图23是示出CA会话处理器的配置实例的功能框图;以及图24是示出CA会话处理的实例的流程图。
具体实施例方式
下面将参考附图给出对本发明第一实施例的描述。
本发明第一实施例被提出为一种会话控制装置,其输出对用户话语的响应并与用户建立会话。
A.第一实施例1.会话控制装置的配置实例1.1.整体配置图1是示出根据本实施例的会话控制装置1的配置实例的功能框图。
会话控制装置1具有例如安装在其外壳内的信息处理器,例如计算机或工作站,或者等效于信息处理器的硬件。包括在会话控制装置1中的信息处理器由如下设备构成,该设备配备有中央处理单元(CPU)、主存储器(RAM)、只读存储器(ROM)、输入/输出设备(I/O)以及例如硬盘的外部存储器设备。用于使信息处理器作为会话控制装置1的程序或用于使计算机执行会话控制方法的程序存储在ROM、外部存储器设备等中,将相关程序加载到主存储器中,并由执行该程序的CPU实现会话控制装置1或会话处理方法。此外,并非必须将程序存储在相关装置内的存储器设备中,这是因为如下配置也是容许的,即,使得程序由计算机可读程序记录介质,例如磁盘、光盘、磁光盘、CD(压缩盘)或DVD(数字视频盘)或外部设备(例如ASP(应用服务供应商)服务器等)提供,并加载到主存储器中。
如图1所示,会话控制装置1包括输入单元100、声音识别单元200、会话控制器300、结构分析器400、会话数据库500、输出单元600和声音识别词典存储器700。
1.1.1.输入单元输入单元100获得由用户输入的输入信息(用户话语)。输入单元100将对应于所获得的话语内容的声音作为声音信号发送到声音识别单元200。不必将输入单元100限定为是一种处理声音的组件,这是因为也容许其是一种处理字母输入的例如键盘或触摸屏的组件。在这种情况下,不必提供声音识别单元200,将在下面描述。
1.1.2.声音识别单元声音识别单元200基于由输入单元100获得的话语内容,识别对应于该话语内容的字母串。具体地,从输入单元100向其中输入了声音信号的声音识别单元200基于所输入的声音信号,将该声音信号与声音识别词典存储器700中存储的词典以及会话数据库500进行对照,并发送从该声音信号推断的声音识别结果。尽管在图1所示的配置实例中,声音识别单元200请求会话控制器300从会话数据库500获得存储器详情,并从会话数据库500接收会话控制器300响应于该请求而获得的存储器详情,然而,如下方式的配置也是容许的,即,声音识别单元200直接从会话数据库500获得存储器详情,并执行与声音信号的比较。
1.1.2.1.声音识别单元的配置实例图2示出声音识别单元200的配置实例的功能框图。声音识别单元200包括特征提取器200A、缓冲存储器(BM)200B、词语对照单元200C、缓冲存储器(BM)200D、候选确定单元200E以及词语假设消除器200F。词语对照单元200C和词语假设消除器200F连接到声音识别词典存储器700,候选确定单元200E连接到会话数据库500。
连接到词语对照单元200C的声音识别词典存储器700存储音素隐马尔可夫模型(在下文中,将隐马尔可夫模型称为HMM)。音素HMM被表示为包含每一个条件,每一个条件包括下述信息。该信息配置有(a)条件编号,(b)可接收的上下文种类,(c)在前条件(preceding condition)和后续条件(following condition)列表,(d)输出概率密度分布参数,以及(e)自转移概率和转换到后续条件的概率。由于需要识别每一个分布来自于哪一个讲话者,该实施例中使用的音素HMM转换并生成指定讲话者混合HMM。在本文中,输出概率密度函数是具有34维对角协方差矩阵的混合高斯分布。此外,连接到词语对照单元200C的声音识别词典存储器700存储词典。所述词典存储符号串,其指示由用于音素HMM的每一个词语的符号所表示的读取(reading)。
在讲话者发出的声音输入到麦克风等中并转换成声音信号后,其被输入到特征提取器200A。特征提取器200A在对输入声音信号进行A/D转换后,提取并发送特征参数。尽管可以考虑多种用于提取并发送特征参数的方法,但是作为实例,提出了如下方法,其中执行LPC分析,并提取34维特征参数,包括对数幂、16阶倒谱系数、Δ对数幂以及16阶Δ倒谱系数。经缓冲存储器(BM)200B,将所提取特征参数的时间序列输入到词语对照单元200C中。
词语对照单元200C基于经缓冲存储器200B输入的特征参数数据,利用一遍(one pass)Viterbi解码方法,使用在声音识别词典存储器700中存储的音素HMM和词典,检测词语假设,计算似然并发送。其中,词语对照单元200C计算词语中的似然以及每一次从发声开始处对每个HMM的每一个条件的似然。单独词语具有对于作为似然计算对象的词语的标识编号中的每一个差异、词语的发声开始时间以及在该词语前发声的在前词语的似然。此外,为减少计算处理的数量,也容许从基于音素HMM和词典所计算的整体似然中减少低似然栅格假设(likelihood grid hypothesis)。词语对照单元200C经缓冲存储器200D,将所检测的词语假设和关于似然的信息与发声开始时间处的时间信息(具体地,例如帧号)一起发送到候选确定单元200E和词语假设消除器200F。
参照会话控制器300,候选确定单元200E将所检测的词语假设与规定(prescribed)谈话空间中的话题指定信息进行比较,确定在所检测的词语假设中是否存在与规定谈话空间中的话题指定信息相匹配的任何词语假设,在存在匹配的情况下,将匹配词语假设作为识别结果发送,而在没有匹配的情况下,请求词语假设消除器200F执行对词语假设的消除。
将给出对候选确定单元200E的操作实例的描述。现在,假定词语对照单元200C发送多个词语假设“kantaku”、“kataku”、“kantoku”及其似然(识别率),在这种情况下,在话题指定信息中包括与“电影”、“kantoku(导演)”关联的规定谈话空间,但不包括“kantaku(收回)”和“kataku(借口)”。此外,在“kantaku”、“kataku”和“kantoku”中,“kantaku”的似然(识别率)最高,“kantoku”的似然最低,而“kataku”的似然位于上述两者之间。
在以上所述的情形中,候选确定单元200E将所检测的词语假设与规定谈话空间中的话题指定信息进行比较,确定词语假设“kantoku”与规定谈话空间中的话题指定信息匹配,将词语假设“kantoku”作为识别结果发送,并将其传送到会话控制器300。通过以这种方式进行处理,优先于具有更高似然(识别率)的词语假设“kantaku”和“kataku”,选择与目前正处理的话题“电影”关联的词语假设“kantoku(导演)”,从而,可以发送与会话的上下文相符的声音识别结果。
同时,在没有匹配的情况下,词语假设消除器200F以如下方式进行操作,即,响应于来自候选确定单元200E的请求,发送识别结果以便执行对词语假设的消除。在执行了对具有相同完成时间和不同开始时间的相同词语的词语假设的消除后,为了用作在从发声开始时间到相关词语完成时间内计算的整体似然中具有最高似然的代表性的一个词语假设,对于这些词语的每一个主要音素环境,词语假设消除器200F基于从词语对照单元200C经缓冲存储器200D发送的多个词语假设,参考在声音识别词典存储器700中存储的统计语言模型,将进行了消除后的所有词语假设的词语串中具有最大整体似然的假设的词语串作为识别结果而发送。在该实施例中,优选地,待处理词语的主要音素环境涉及三音素对准(alignment),包括在该词语之前的词语假设的最后一个音素以及该词语的词语假设的前两个音素。
将参考图3给出对词语假设消除器200F所进行的词语消除处理实例的描述。图3是示出词语假设消除器200F的处理实例的时序图。
例如,当在第(i-1)个词语Wi-1之后出现包括音素串a1、a2、...的第i个词语Wi时,认为存在六个假设Wa、Wb、Wc、Wd、We和Wf以作为词语Wi-1的词语假设。其中,认为前三个词语假设Wa、Wb和Wc的最后一个音素为/x/,并且后三个词语假设Wd、We和Wf的最后一个音素为/y/。在完成时间te处,在预先假定词语假设Wa、Wb和Wc的三个假设以及预先假定词语假设Wd、We和Wf的一个假设存在的情况下,保留在具有相同主要音素环境的前三个假设中具有最高整体似然的假设,同时删除其它假设。
由于预先假定词语假设Wd、We和Wf的假设具有与其它三个假设不同的主要音素环境,即,由于在前词语假设的最后一个音素不是x而是y,因而不删除预先假定词语假设Wd、We和Wf的假设。即,对于在前词语假设的每一个最后音素,仅保留一个假设。
尽管在以上所述的实施例中,将词语的主要音素环境定义为三音素对准,包括在该词语之前的词语假设的最后一个音素和该词语的词语假设的前两个音素,但是本发明不限于此,也容许音素对准包括在前词语假设的音素串以及包括该词语的词语假设的第一音素的音素串,其中在前词语假设的音素串包括在前词语假设的最后一个音素和相邻于所述最后一个音素的至少一个在前词语假设音素。
在以上所述的实施例中,特征提取器200A、词语对照单元200C、候选确定单元200E和词语假设消除器200F由例如计算机(例如微计算机)构成,而缓冲存储器200B和200D以及声音识别词典存储器700由例如存储器设备(例如硬盘存储器)构成。
尽管在上述实施例中,使用词语对照单元200C和词语假设消除器200F执行声音识别,但本发明不限于此,也容许构造为,例如,参考音素HMM的音素对照单元,以及例如使用一遍DP算法、参考统计语言模型来执行词语的声音识别的声音识别单元。
此外,在该实施例中,声音识别单元200被描述为是会话控制装置1的一部分,但是,其也可能是独立的声音识别设备,包括声音识别单元200、声音识别词典存储器700和会话数据库500。
1.1.2.2.声音识别单元的操作实例下面,将参考图4给出对声音识别单元200的操作的描述。图4是示出声音识别单元200的操作实例的流程图。当从输入单元100接收到声音信号时,声音识别单元200执行对所接收声音的特征分析,并生成特征参数(步骤S401)。接着,将特征参数与在声音识别词典存储器700中存储的音素HMM和语言模型进行比较,并获得规定数量的词语假设及其似然(步骤S402)。接着,声音识别单元200比较所获得的规定数量的词语假设、所检测的词语假设以及规定谈话空间中的话题指定信息,并确定在所检测的词语假设中是否存在与规定谈话空间中的话题指定信息相匹配的词语假设(步骤S403、S404)。在存在匹配的情况下,声音识别单元200将匹配的词语假设作为识别结果发送(步骤S405)。同时,在不存在匹配的情况下,声音识别单元200根据所获得的词语假设的似然,将具有最大似然的词语假设作为识别结果发送(步骤S406)。
1.1.3.声音识别词典存储器返回到图1,将继续描述会话控制装置1的配置实例。
声音识别词典存储器700存储对应于标准声音信号的字母串。已经进行了对照的声音识别单元200指定与对应于声音信号的词语假设相对应的字母串,并将指定的字母串作为字母串信号而发送到会话控制器300。
1.1.4.结构分析器下面将参考图5给出对结构分析器400的配置实例的描述。图5是示出会话控制器300和结构分析器400的具体配置实例的框图,其是会话控制装置1的局部放大框图。图5仅示出了会话控制器300、结构分析器400和会话数据库500,而省略了其它组件。
结构分析器400分析由输入单元100或声音识别单元200指定的字母串。在该实施例中,如图5所示,结构分析器400包括字母串指定单元410、词素(morpheme)提取器420、词素数据库430、输入类型确定单元440以及话语类型数据库450。字母串指定单元410将由输入单元100和声音识别单元200指定的字母串序列划分成多个分离从句。分离从句是指在不破坏语法意义的情况下通过尽可能小地划分字母串而获得的语句段。具体地,当在字母串序列中存在一个具有某一长度的时间间隔或更多的时间间隔时,字母串指定单元410划分该部分的字母串。字母串指定单元410将每一个划分的字母串发送到词素提取器420和输入类型确定单元440。此后所述的“字母串”是指用于分离从句的字母串。
1.1.4.1词素提取器词素提取器420基于由字母串指定单元410划分的分离从句的字母串,从分离从句的字母串中提取构成字母串的最小单元的每一个词素,作为第一词素信息。其中,在该实施例中,词素是指在字母串中表示的词语构成的最小单元。例如,可以将语音的一部分,例如名词、形容词或动词,视作词语构成的最小单元。
在该实施例中,如图6所示,每一个词素表示为m1、m2、m3...。图6是示出字母串和从该字母串提取的词素之间关系的视图。如图6所示,从字母串指定单元410向其中输入了字母串的词素提取器420,将所输入的字母串与在词素数据库430中预先存储的词素集合(词素集合被准备为描述属于话音种类每一部分的每一个词素的词素中心词、读取、部分话音、结合等的词素集合词典)进行对照。已经执行了对照的词素提取器420从字母串中提取与预先存储的词素集合中的任何一个相匹配的每一个词素(m1、m2...)。所提取的词素之外的元素(n1、n2、n3...)可以是例如助动词等。
词素提取器420将所提取的词素作为第一词素信息发送到话题指定信息检索单元350。无需对第一词素信息进行结构化。在本文中,“结构化”是指基于所述语音部分等,分类和分配包括在字母串中的词素,例如,按照预定顺序,例如“主语+宾语+谓语”,将例如所说出语句的字母串转换成通过分配词素而获得的数据。当然,即使在使用结构化的第一词素信息的情况下,也不会防碍该实施例的实现。
1.1.4.2.输入类型确定单元输入类型确定单元440基于由字母串指定单元410指定的字母串,确定话语内容的类型(话语类型)。在该实施例中,作为指定话语内容类型的信息的话语类型是指例如图7所示的“话语类型”。图7是示出“话语类型”、字母表中表示话语类型的两个字母以及对应于话语类型的话语实例的视图。
其中,在该实施例中,如图7所示,“话语类型”包括陈述(D)、时间(T)、场所(L)、否定(N)等等。由每一种类型构造的语句被构造成肯定语句或疑问语句。“陈述”是指表示用户意见或想法的语句。在该实施例中,例如如图7所示,陈述可以是例如“我喜欢Sato”的语句。“场所”是指附加有地理概念的语句。“时间”是指附加有时间概念的语句。“否定”是指当否定陈述时的语句。“话语类型”的实例如图7所示。
在该实施例中,为了使输入类型确定单元440能够确定“话语类型”,如图8所示,输入类型确定单元440使用用于确定是否为陈述的定义表示词典,以及用于确定是否为否定的否定表示词典等。从字母串指定单元410向其中输入了字母串的输入类型确定单元440,基于所输入的字母串,将该字母串与预先存储在话语类型数据库450中的每一个词典进行对照。已经执行了对照的输入类型确定单元440从字母串中提取涉及每一个词典的元素。
输入类型确定单元440基于所提取的元素确定“话语类型”。例如,在字母串中包括了对某一事件进行陈述的元素的情况下,输入类型确定单元440确定包括该元素的字母串为陈述。输入类型确定单元440将所确定的“话语类型”发送到应答获取单元380。
1.1.5.会话数据库下面将参考图9给出对存储在会话数据库500中的数据的数据配置实例的描述。图9是示出在会话数据库500中存储的数据的配置实例的示意图。
如图9所示,会话数据库500预先存储多个用于指定话题的话题指定信息项810。此外,也容许将每一个话题指定信息项810与其它话题指定信息项810进行关联,例如,如图9所示,在指定话题指定信息C(810)的情况下,选定并存储关联于该话题指定信息C(810)的其它话题指定信息A(810)、话题指定信息B(810)和话题指定信息D(810)。
具体地,在该实施例中,话题指定信息810是指期望由用户输入的输入细节,或与对用户的应答语句关联的“关键词”。
将一个或多个话题标题820与话题指定信息810相关联并存储。话题标题820由词素构成,该词素包括一个字母、多个字母串或其组合。将对用户的应答语句830与每一个话题标题820相关联并存储。此外,将指示应答语句830类型的多个应答类型与应答语句830关联。
下面将给出对某一话题指定信息项810与其它话题指定信息项810之间关系的描述。图10是示出某一话题指定信息项810A与其它话题指定信息项810B、810C1至810C4、810D1至810D3…之间关系的视图。在以下描述中,“关联于并存储于”是指如下事实,即,当读完某一信息项X时,可以读完与该信息项X关联的信息项Y,例如,将用于调用信息项Y的信息(例如,表示信息项Y的存储区地址的指针、信息项Y的存储区的物理存储地址、逻辑地址等等)存储在信息项X中的情形称为“信息项Y被“关联于并存储于”信息项X中”。
在图10所示的实例中,通过上位概念、下位概念、同义词和反义词(在该图的实例中省略),可将其它话题指定信息项关联于并存储于该话题指定信息项。在该图所示的实例中,就话题指定信息810A(=“电影”)而言,作为上位概念话题指定信息810而关联于并存储于话题指定信息810A中的话题指定信息810B(=“娱乐”)被存储在例如话题指定信息810A(“电影”)的上层。
此外,就话题指定信息810A(=“电影”)而言,可将话题指定信息810的下位概念项(=“导演”)、话题指定信息项810C2(=“主角”)、话题指定信息项810C3(=“发行人”)、话题指定信息项810C4(=“上映时间”),以及话题指定信息项810D1(=“七武士”)(The SevenSamurai)、话题指定信息项810D2(=“乱”)(Ran)和话题指定信息项810D3(=“保镖”)(Yojinbo the Bodyguard)关联于并存储于话题指定信息810A中。
此外,同义词900关联于话题指定信息810A。该实例示出如下情形,即,将“作品”、“内容”和“电影院”存储作为指定信息项810A的关键词“电影”的同义词。通过选定这种同义词,即使话语中未包括关键词“电影”,在话语等中包括“作品”、“内容”或“电影院”的情况下,也可以处理为如同话语等中包括了话题指定信息810A一样。
参照会话数据库500的存储内容,当指定了话题指定信息项810时,根据该实施例的会话控制装置1能够以高速搜索和提取关联于并存储于话题指定信息810的其它话题指定信息项810,以及话题指定信息810的话题标题820和应答语句830等。
下面将参考图11给出对话题标题820(也称为“第二词素信息”)的数据配置实例的描述。图11是示出话题标题820的数据配置实例的视图。
话题指定信息项810D1、810D2、810D3、…分别具有多个不同话题标题8201、8202、…、话题标题8203、8204、…以及话题标题8205、8206。在该实施例中,如图11所示,每一个话题标题820是由第一指定信息1001、第二指定信息1002和第三指定信息1003构成的信息项。其中,在该实施例中,第一指定信息1001是指构成话题的主词素。例如,构成语句的主语可被视作第一指定信息1001的实例。此外,在该实施例中,第二指定信息1002是指与第一指定信息1001具有紧密关系的词素。例如,可以将宾语视作第二指定信息1002。此外,在该实施例中,第三指定信息1003是指指示与某一主语关联的动作的词素,或限定名词等的词素。例如,可以将动词、副词或形容词视作第三指定信息1003。不必将第一指定信息1001、第二指定信息1002和第三指定信息1003的含义限制于以上所述的内容,因为即使对第一指定信息1001、第二指定信息1002和第三指定信息1003赋予其它含义(其它语音部分),只要能确定语句的内容,就可实现该实施例。
例如,在主语为“七武士”且形容词为“有趣的”情况下,如图11所示,话题标题(第二词素信息)8202由作为第一指定信息1001的词素“七武士”,以及作为第三指定信息1003的词素“有趣的”构成。由于在话题标题8202中未包括关于第二指定信息1002的词素,将符号“*”存储为第二指定信息1002以表示没有相关词素。
话题标题8202(七武士;*;有趣的)的意思是“七武士是有趣的”。下面,构成话题标题820的括号内容是按照从左侧开始的第一指定信息1001、第二指定信息1002以及第三指定信息1003的顺序。此外,在话题标题820的第一至第三指定中不包括词素的情况下,将该部分用“*”表示。
构成话题标题820的指定信息不限于如第一至第三指定信息这种类型的三个指定信息,也容许例如具有其它指定信息(第四指定信息或更高序数指定信息)。
下面将参考图12给出对应答语句820的描述。在该实施例中,如图12所示,为了提供对应于用户所说出话语的类型的应答,应答语句830被分类成多种类型(应答类型),例如陈述(D)、时间(T)、场所(L)和否定(N),并按类型准备。此外,肯定语句为(A)且疑问语句为(Q)。
将参考图13给出对话题指定信息810的数据配置实例的描述。图13示出与某一话题指定信息项810“Sato”关联的话题标题820和应答语句830的具体实例。
将多个话题标题(820)1-1、1-2、…与话题指定信息项810“Sato”相关联。将应答语句(830)1-1、1-2、…关联于并存储于每一个话题标题(820)1-1、1-2、…中。为每一个应答类型准备应答语句830。
在话题标题(820)1-1为(Sato;*;喜欢){其是包括在“我喜欢Sato”中的提取词素}的情况下,对应于话题标题(802)1-1的应答语句(830)1-1可以是(DA;陈述肯定语句“我也喜欢”)、(TA;时间肯定语句“我喜欢站在击球区时的Sato”)等等。以下将描述的应答获取单元380参照输入类型确定单元440的输出,获得与话题标题820关联的一个应答语句830。
下一方案规定信息840是规定响应于用户话语而优先发送的应答语句(称为“下一应答语句”)的信息,对于每一个应答语句,以对应于相关应答语句的方式选定下一方案规定信息840。下一方案规定信息840可以是任何类型的信息,只要其是能够指定下一应答语句的信息即可,例如,可以是应答语句ID,该应答语句ID能够从会话数据库500中存储的所有应答语句中指定至少一个应答语句。
尽管在该实施例中,将下一方案规定信息840描述为以应答语句为单位指定下一应答语句的信息(例如,应答语句ID),然而,也容许下一方案规定信息840是以话题标题820或话题指定信息810为单位指定下一应答语句的信息(在这种情况下,由于将多个应答语句规定为下一应答语句,因而将其称为下一应答语句集合。然而,在应答语句集合中包括的多个应答语句中,只有一个应答语句作为应答语句而被实际发送)。例如,即使在将话题标题ID或话题指定信息ID用作下一方案规定信息的情况下,也能够实现该实施例。
1.1.6会话控制器返回到图5,将给出对会话控制器300的配置实例的描述。
会话控制器300除能够控制在会话控制装置1内的每一个组件(声音识别单元200、结构分析器400、会话数据库500、输出单元600和声音识别词典存储器700)之间的数据传送,还具有响应于用户的话语而确定并发送应答语句的功能。
在该实施例中,如图5所示,会话控制器300包括管理器310、方案会话处理器320、谈话空间会话处理器330和CA会话处理器340。下面将给出对这些组件的描述。
1.1.6.1.管理器管理器310具有存储谈话历史和根据需要更新谈话历史的功能。管理器310具有响应于来自话题指定信息搜索单元350、缩写词扩展单元360、话题搜索单元370和应答获取单元380的请求,将所有或部分所存储的谈话历史传送到每一个单元的功能。
1.1.6.2方案会话处理器方案会话处理器320具有执行方案、与符合该方案的用户建立会话的功能。“方案”是指根据预定顺序为用户提供预定应答。下面将给出对方案会话处理器320的描述。
方案会话处理器320具有响应于用户的话语而根据预定顺序发送预定应答的功能。
图14是描述方案的示意图。如图14所示,在方案空间1401中预先准备多个方案1402,例如方案1、方案2、方案3和方案4。方案空间1401是指由会话数据库500中存储的多个方案1402构成的组。会话控制装置1在装置启动时或会话开始时选择用于在启动时使用的、预先选定的方案,或根据用户话语的内容从方案空间1401中选择合适的方案1402,并且利用所选方案1402将应答语句发送到用户话语。
图15是示出方案1402的配置实例的视图。方案1402包括应答语句1501和与之关联的下一方案规定信息1502。下一方案规定信息1502是指定方案1402的信息,其包括在应答语句1501之后将发送给用户的、包括在相关方案1402中的应答语句(称为下一候选应答语句)。在该实例中,方案1包括应答语句A(1501),当执行方案1时由会话控制装置1发送该应答语句A(1501);以及下一方案规定信息1502,其关联于应答语句A(1501)。下一方案规定信息1502是指定包括应答语句B(1501)的方案1402的信息(ID002),所述应答语句B(1501)是对应答语句A(1501)的下一候选应答语句。通过相同的方式,将下一方案规定信息1502选定用于应答语句B(1501),当发送应答语句B(1501)时,规定包括下一候选应答语句的方案2(1402)。通过这种方式,利用下一方案规定信息1502连续地连接多个方案1402,从而实现将一系列连续内容发送到用户的方案会话。即,通过将期望转达给用户的内容(描述、指导、调查等)划分成多个应答语句,以及预先确定每一个应答语句的顺序且按照方案对其进行准备,可以响应于用户的话语,依次为用户提供应答语句。只要存在与紧接在前的应答语句的发送相对应的用户话语,就不必立即发送在由下一方案规定信息1502规定的方案1402中所包括的应答语句1501,这是因为也可以在用户和会话控制装置1之间关于该方案之外的话题的会话之后,发送在由下一方案规定信息1502规定的方案1402中包括的应答语句1501。
图15所示的应答语句1501对应于图13中所示的应答语句830中的一个应答语句字母串,而图15所示的下一方案规定信息1502对应于图13所示的下一方案规定信息840。
方案1402的连接不限于图15所示的一维矩阵类型。图16是示出具有不同于图15的连接类型的方案1402实例的视图。在图16所示的实例中,方案1(1402)具有形成下一候选应答语句的两个应答语句1501,即,能够规定方案1402的两个下一方案指定信息项1502。为了选定两个方案1402,即具有应答语句B(1501)的方案2(1402)和具有应答语句C(1501)的方案3(1402),作为包括下一候选应答语句的方案1402,在发送某一应答语句A(1501)的情况下,提供两个下一方案规定信息项1502。应答语句B和应答语句C是可选择的且可交替的,在发送了一个应答语句的情况下,无需发送另一个即结束方案1(1402)。通过这种方式,方案1402的连接不限于一维排列形式,也容许其具有分支状连接或网状连接。
不限制每一个方案所具有的下一候选应答语句的数量。此外,对于作为谈话终点的方案1402,也可能不存在下一方案规定信息1502。
图17示出某一个方案1402序列的具体实例。方案14021至14024序列对应于用于告知用户关于危机处理的信息的四个应答语句15011至15014。四个应答语句15011至15014一起构成一个完整的谈话(描述)。每一个方案14021至14024分别具有ID数据17021至17024,称为“1000-01”、“1000-02”、“1000-03”以及“1000-04”。在ID数据中连字符后的标号是指示发送顺序的信息。此外,每一个方案14021至14024分别具有下一方案规定信息15021至15024。下一方案规定信息15024的内容是称为“1000-0F”的数据,但连字符后的标号“0F”是指示不存在应接着发送的方案以及相关应答语句是谈话(描述)序列终点的信息。
在该实例中,在用户话语是“告诉我在发生大地震情况时的危机处理”的情况下,方案会话处理器320开始执行所述方案序列。即,当方案会话处理器320接收到用户话语“告诉我在发生大地震情况时的危机处理”时,方案会话处理器320搜索方案空间1401,并检查是否存在具有对应于用户话语“告诉我在发生大地震情况时的危机处理”的应答语句15011的方案1402。在该实例中,认为与“告诉我在发生大地震情况时的危机处理”对应的用户话语字母串17011对应于方案14021。
当方案会话处理器320发现方案14021时,其获得包括在方案14021中的应答语句15011,将应答语句15011作为对应于用户话语的应答而发送,并通过下一方案规定信息15021指定下一候选应答语句。
接着,在发送了应答语句15011之后,当经由输入单元100或声音识别单元200接收到用户话语时,方案会话处理器320执行方案14022。也就是,方案会话处理器320确定是否执行由下一方案规定信息15021规定的方案14022,即,发送第二应答语句15012。具体地,方案会话处理器320将关联于应答语句15012或话题标题820(图17中省略)的用户话语字母串(也称为实例)17012与所接收的用户话语进行比较,并确定它们是否匹配。在它们匹配的情况下,发送第二应答语句15012。此外,当在包括第二应答语句15012的方案14022中描述了下一方案规定信息15022时,指定下一候选应答语句。
通过相同的方式,响应于此后连续的用户话语,方案会话处理器320能够依次地移动到方案14023和方案14024,并发送第三应答语句15013和第四应答语句15014。第四应答语句15014是最后一个应答语句,当结束了第四应答语句15014的发送时,方案会话处理器320结束该方案的执行。
通过这种方式,通过依次执行方案14021至14024,可以按照预定顺序为用户提供预先准备的会话内容。
1.1.6.3.谈话空间会话控制处理器返回到图5,将继续描述会话控制器300的配置实例。
谈话空间会话控制处理器330包括话题指定信息搜索单元350、缩写词扩展单元360、话题搜索单元370和应答获取单元380。管理器310控制整个会话控制器300。
作为指定用户和会话控制装置1之间的会话话题或主题的信息,“谈话历史”是包括以下所述的“目标话题指定信息”、“目标话题标题”、“用户输入语句话题指定信息”以及“应答语句话题指定信息”中的至少一个的信息。此外,包括在谈话历史中的“目标话题指定信息”、“目标话题标题”和“应答语句话题指定信息”不限于由紧接在前的会话所选定的那些信息,其也可以是在过去的规定周期期间已经变为“目标话题指定信息”、“目标话题标题”和“应答语句话题指定信息”的那些信息或者其累积记录。
在下文中,将给出对构成谈话空间会话处理器330的每一个单元的描述。
1.1.6.3.1.话题指定信息搜索单元话题指定信息搜索单元350将由词素提取器420提取的第一词素信息与每一个话题指定信息项进行对照,并从与构成第一词素信息的词素相匹配的话题指定信息项中搜索话题指定信息项。具体地,在从词素提取器420输入的第一词素信息由两个词素“Sato”和“喜欢”构成的情况下,将所输入的第一词素信息与话题指定信息集合进行对照。
在构成第一词素信息的词素(例如“Sato”)包括在目标话题标题820focus(写为820focus是为了将其与以上所找到的话题标题和其它话题标题区分开)的情况下,执行了对照的话题指定信息搜索单元350将目标话题标题820focus发送到应答获取单元380。同时,在构成第一词素信息的词素不包括在目标话题标题820focus中的情况下,话题指定信息搜索单元350基于第一词素信息确定用户输入语句话题指定信息,并将输入的第一词素信息和用户输入语句话题指定信息发送到缩写词扩展单元360。“用户输入语句话题指定信息”是指与第一词素信息所包括的、相应于用户正在谈论内容的多个词素中的一个词素相对应的话题指定信息,或者指与第一词素信息所包括的、可能相应于用户正在谈论内容的多个词素中的一个词素相对应的话题指定信息。
1.1.6.3.2缩写词扩展单元缩写词扩展单元360,使用以上所找到的话题指定信息项810(在下文中称为“目标话题指定信息”)以及包括在在前应答语句中的话题指定信息项810(在下文中称为“应答语句话题指定信息”),通过扩展第一词素信息,生成多种类型的扩展的第一词素信息。例如,在用户话语为“喜欢”的情况下,缩写词扩展单元360将目标话题指定信息“Sato”包括在第一词素信息“喜欢”中,并生成扩展的第一词素信息“Sato,喜欢”。
即,当将第一词素信息表示为“W”,并将由目标话题指定信息和应答语句话题指定信息构成的组表示为“D”时,缩写词扩展单元360将组“D”的元素包括在第一词素信息“W”中,并生成扩展的第一词素信息。
通过这种方式,在利用作为缩写词的第一词素信息构成的语句不是清楚的日语的情况下,或者在类似的情况下,缩写词扩展单元360能够利用组“D”将组“D”的元素(例如“Sato”)包括在第一词素信息“W”中。因此,缩写词扩展单元360能够使第一词素信息“喜欢”变成扩展的第一词素信息“Sato,喜欢”。扩展的第一词素信息“Sato,喜欢”对应于用户话语“我喜欢Sato”。
也就是,即使在用户话语的内容是缩写词的情况下,缩写词扩展单元360也能够利用组“D”而扩展缩写词。因此,即使在由第一词素信息构成的语句为缩写词的情况下,缩写词扩展单元360也能使该语句成为正确的日语。
此外,缩写词扩展单元360基于组“D”搜索与扩展的第一词素信息相匹配的话题标题820。在找到了与扩展的第一词素信息相匹配的话题标题820的情况下,缩写词扩展单元360将话题标题820发送到应答获取单元380。应答获取单元380能够基于在缩写词扩展单元360中找到的适当的话题标题820,发送最适合于用户话语内容的应答语句830。
缩写词扩展单元360不限于将组“D”的元素包括在第一词素信息中。也容许缩写词扩展单元360基于目标话题标题,将构成话题标题的第一指定信息、第二指定信息或第三指定信息中的任何一个所包括的词素包括在所提取的第一词素信息中。
1.1.6.3.3.话题搜索单元在缩写词扩展单元360中未确定话题标题820的情况下,话题搜索单元370将第一词素信息和对应于用户输入语句话题指定信息的每一个话题标题820进行对照,并从每一个话题标题820中搜索最接近地匹配第一词素信息的话题标题820。
具体地,从缩写词扩展单元360向其中输入了搜索命令信号的话题搜索单元370,基于所输入的搜索命令信号中包括的用户输入语句话题指定信息和第一词素信息,从关联于用户输入语句话题指定信息的每一个话题标题中,搜索最接近地匹配第一词素信息的话题标题820。话题搜索单元370将所找到的话题标题820作为搜索结果信号而发送到应答获取单元380。
以上所述的图13示出与某一话题指定信息项810(=“Sato”)关联的话题标题820和应答语句830的具体实例。如图13所示,例如,当话题指定信息810(=“Sato”)包括在输入的第一词素信息“Sato,喜欢”中时,话题搜索单元370指定话题指定信息810(=“Sato”),然后将与话题指定信息810(=“Sato”)关联的每一个话题标题(820)1-1、1-2、…与输入的第一词素信息“Sato,喜欢”进行对照。
话题搜索单元370基于对照结果,在每一个话题标题(820)1-1至1-2中指定与输入的第一词素信息“Sato,喜欢”相匹配的话题标题(820)1-1(Sato;*;喜欢)。话题搜索单元370将所找到的话题标题(820)1-1(Sato;*;喜欢)作为搜索结果信号而发送到应答获取单元380。
1.1.6.3.4.应答获取单元应答获取单元380基于在缩写词扩展单元360或话题搜索单元370中找到的话题标题820,获得与话题标题820关联的应答语句830。此外,应答获取单元380基于在话题搜索单元370中找到的话题标题820,将与话题标题820关联的每一个应答类型与由输入类型确定单元440确定的话语类型进行对照。已经执行了对照的应答获取单元380在每一个应答类型中搜索与所确定的应答类型相匹配的应答类型。
在图13所示的实例中,在话题搜索单元370中找到的话题标题为话题标题1-1(Sato;*;喜欢)的情况下,应答获取单元350在与话题标题1-1关联的应答语句1-1(DA、TA等)中,指定与由输入类型确定单元440所确定的“话语类型”(例如DA)相匹配的应答类型(DA)。已经指定了应答类型(DA)的应答获取单元380基于所指定的应答类型(DA),获得与应答类型(DA)关联的应答语句1-1(“我也喜欢Sato”)。
其中,在“DA”、“TA”等中,“A”表示肯定形式。因此,在“A”包括于话语类型和应答类型中的情况下,其指示关于某一事件的肯定。此外,在话语类型和应答类型中也可能包括例如“DQ”或“TQ”的类型。在“DQ”和“TQ”中,“Q”表示关于某一事件的问题。
当应答类型包括疑问形式(Q)时,与该应答类型关联的应答语句由肯定形式(A)构成。回答问题等的语句可被视为由肯定形式(A)编译的应答语句。例如,在所说出的语句是“你曾经操作过自动售货机吗?”的情况下,用于该所说出话语的话语类型是疑问形式(Q)。与疑问形式(Q)关联的应答语句可以是例如“我操作过自动售货机”(肯定形式(A))。
同时,当应答类型包括肯定形式(A)时,与应答类型关联的应答语句由疑问形式(Q)构成。可将询问关于话语内容的问题的疑问语句或询问特定事件的疑问语句等视为由疑问形式(Q)编译的应答语句。例如,在所说出的语句是“我的爱好是玩自动售货机”的情况下,用于该所说出语句的话语类型是肯定形式(A)。与肯定形式(A)关联的应答语句可以是例如“你的爱好不是玩弹球盘吗?”(询问特定事件的疑问形式(Q))。
应答获取单元380将所获得的应答语句830作为应答语句信号而发送到管理器310。从应答获取单元380向其中输入了应答语句信号的管理器310将所输入的应答语句信号发送到输出单元600。
1.1.6.4.CA会话处理器CA会话处理器340具有如下功能在无法在方案会话处理器320或谈话空间会话处理器330中确定对用户话语的应答语句的情况下,响应于用户话语的内容,发送能够继续与用户进行会话的应答语句。
返回到图1,将重新开始描述会话控制装置1的配置实例。
1.1.7.输出单元输出单元600发送由应答获取单元380获得的应答语句。输出单元600可以是例如扬声器、显示器等。具体地,从管理器310向其中输入了应答语句的输出单元600基于该输入的应答语句,利用声音输出应答语句,例如“我也喜欢Sato”。
至此完成了对会话控制装置1的配置实例的描述。
2.会话控制方法具有上述配置的会话控制装置1通过如下所述操作来执行会话控制方法。
下面将给出对根据实施例的会话控制装置1,特别是会话控制器300的操作的描述。
图18是示出会话控制器300的主处理实例的流程图。主处理是每次会话控制器300接收到用户话语时执行的处理,通过所执行的主处理,发送对用户话语的应答语句,并建立用户和会话控制装置1之间的会话(对话)。
当进入了主处理时,会话控制器300,或更具体地说是方案会话处理器320,首先执行方案会话控制处理(S1801)。方案会话控制处理是执行方案的处理。
图19和图20是示出方案会话控制处理的实例的流程图。在下文中,将参考图19和图20给出对方案会话控制处理的实例的描述。
当开始方案会话控制处理时,方案会话处理器320首先执行基本控制条件信息校验(S1901)。将方案1402执行完成的存在或不存在存储在预定存储区中,作为基本控制条件信息。
基本控制条件信息具有描述方案的基本控制条件的作用。
图21是示出针对被称为场景的方案类型而可能出现的四个基本控制条件的视图。在下文中,将给出对每一个条件的描述。
1.组合该基本控制条件是用户话语匹配于正在执行的方案1402,或更具体地说,匹配于与方案1402对应的话题标题820和示例性语句1701的情况。在这种情况下,方案会话处理器320结束相关方案1402,并移动到与由下一方案规定信息1502规定的应答语句1501相对应的方案1402。
2.取消该基本控制条件是在确定用户话语的内容正请求结束方案1402的情况下,或在确定用户的兴趣已经转移到正在执行的方案之外的事件的情况下所设定的基本控制条件。在基本控制条件信息指示取消的情况下,方案会话处理器320查找在作为取消对象的方案1402之外,是否存在对应于用户话语的方案1402,并且在存在的情况下,开始执行方案1402,而在不存在的情况下,结束方案的执行。
3.维持该基本控制条件是在用户话语不适用于与正在执行的方案1402对应的话题标题820(参考图13)或示例性语句1701(参考图17),并且确定用户话语不适用于基本控制条件“取消”的情况下,在基本控制条件信息中描述的基本控制条件。
在该基本控制条件的情况下,方案会话处理器320在接收到用户话语时,首先考虑是否重启已被推迟或取消的方案1402,并且在用户话语不适合于重启方案1402的情况下,例如,在用户话语不对应于与该方案1402对应的话题标题802或示例性语句1702的情况下,开始执行另一方案1402或执行稍后所述的谈话空间会话控制处理(S1802)等。在用户话语适合于重启方案1402的情况下,基于所存储的下一方案规定信息1502,发送应答语句1501。
在基本控制条件是“维持”的情况下,尽管方案会话处理器320搜索另一方案1402以便能够发送对应于相关方案1402的、应答语句1501之外的应答,或执行稍后所述的谈话空间会话控制处理等,在用户话语再次变为与方案1402关联的话语时,重启方案1402的执行。
4.继续该条件是在如下情况下设置的基本控制条件,即,用户话语不对应于正在执行的方案1402中包括的应答语句1501,即确定用户话语的内容不适用于基本控制条件“取消”并且从用户话语所推断的用户意图不清楚。
在基本控制条件为“继续”的情况下,当接收到用户话语时,方案会话控制器320首先考虑是否重启已被推迟或取消的方案1402,并且在用户话语不适用于重启方案1402的情况下,执行稍后所述的CA会话控制处理,以便能够发送引起用户其它话语的应答语句。
返回到图19,将继续描述方案会话控制处理。
已经查询了基本控制条件信息的方案会话处理器320确定由基本控制条件信息指示的基本控制条件是否为“组合”(S1902)。在确定基本控制条件为“组合”的情况下(S1902,是),方案会话处理器320确定应答语句1501是否是由基本控制条件信息指示的、正在执行的方案1402中的最后一个应答语句(S1903)。
在确定已经发送了最后一个应答语句1501的情况下(S1903,是),当已经发送了方案1402中应答用户的所有内容时,方案会话处理器320为了确定是否开始新的、单独的方案1402,执行搜索以查找在方案空间内是否存在对应于用户话语的方案1402(S1904)。在作为搜索结果而未能找到对应于用户话语的方案1402的情况下(S1905,否),由于不存在将提供给用户的方案1402,方案会话处理器320由此结束方案会话控制处理。
同时,在作为搜索结果而找到对应于用户话语的方案1402的情况下(S1905,是),方案会话处理器320移动到相关方案1402(S1906)。这是为了由于存在将提供给用户的方案1402而开始相关方案1402的执行(发送包括在方案1402中的应答语句1501)。
接着,方案会话处理器320发送相关方案1402的应答语句1501(S1908)。发送的应答语句1501作为对用户话语的应答,方案会话处理器320将期望发送的信息提供给用户。
在应答语句发送处理(S1908)之后,方案会话处理器320结束方案会话控制处理。
同时,在确定在前发送的应答语句1501是否是最后一个应答语句1501的过程中(S1903),在在前发送的应答语句1501不是最后一个应答语句1501的情况下(S1903,否),方案会话处理器320移动到对应于在前发送的应答语句1501之后的应答语句1501(即,由下一方案指定信息1502指定的应答语句1501)的方案1402(S1907)。
然后,方案会话处理器320发送包括在相关方案1402中的应答语句1501,执行对用户话语的应答(S1908)。所发送的应答语句1501是对用户话语的应答,方案会话处理器320将期望发送的信息提供给用户。在应答语句发送处理(S1908)之后,方案会话处理器320结束方案会话控制处理。
在S1902的确定处理中确定基本控制条件信息不是“结合”的情况下(S1902,否),方案会话处理器320确定由基本控制条件信息指示的基本控制条件是否为“取消”(S1909)。在确定基本控制条件为“取消”的情况下(S1909,是),由于不存在将继续的方案1402,方案会话处理器320为了确定是否存在将开始的新的、单独的方案1402,执行搜索以查找在方案空间1401中是否存在对应于用户话语的方案1402(S1904)。然后,以与上述的S1903中的处理相同的方式,方案会话处理器320执行从S1905至S1908的处理。
同时,在确定由基本控制条件信息指示的基本控制条件是否为“取消”的过程中(S1909),在确定基本控制条件不是“取消”的情况下(S1909,否),方案会话处理器320进一步确定由基本控制条件信息指示的基本控制条件是否是“维持”(S1910)。
在由基本控制条件信息指示的基本控制条件为“维持”的情况下(S1910,是),方案会话处理器320研究用户是否已经再次表示出了对已推迟或取消方案1402的兴趣,在表示出兴趣的情况下,以重启临时推迟或取消的方案1402的方式操作。即,方案会话处理器320检查处于推迟或取消状态的方案1402(图20;S2001),并且确定用户话语是否对应于处于推迟或取消状态的方案1402(S2002)。
在确定用户话语对应于相关方案1402的情况下(S2002,是),方案会话处理器320移动到对应于该用户话语的方案1402(S2003)。然后,为了发送包括在方案1402中的应答语句1501,执行应答语句发送处理(图19;S1908)。通过以这种方式进行操作,方案会话处理器320能够响应于用户话语而重启已推迟或取消的方案1402,并且可以向用户传送包括在预先准备的方案1402中的所有内容。
同时,在上述S2002(参考图20)中确定处于推迟或取消状态的方案1402不对应于用户话语(S2002,否)的情况下,方案会话处理器320为了确定是否存在将要开始的新的、单独的方案1402,执行搜索以查找在方案空间1401内是否存在对应于用户话语的方案1402(图19;S1904)。然后,以与上述的S1903中的处理(是)相同的方式,方案会话处理器320执行从S1905至S1909的处理。
在S1910的确定中确定由基本控制条件信息指示的基本控制条件不是“维持”的情况下(S1910,否),意味着由基本控制条件信息指示的基本控制条件是“继续”。在这种情况下,方案会话处理器320结束方案会话控制处理,而不发送应答语句。
至此完成了对方案会话控制处理的描述。
返回到图18,将继续描述主处理。
当结束了方案会话控制处理(S1801)时,会话控制器300开始谈话空间会话控制处理(S1802)。然而,在方案会话控制处理中执行了应答语句发送的情况下(S1801),会话控制器300执行基本控制信息更新处理(S1904)并结束主处理,而不执行谈话空间会话控制处理(S1802)或稍后所述的CA会话控制处理(S1803)。
图22是示出根据该实施例的谈话空间控制处理的实例的流程图。
首先,输入单元100执行获得来自用户的话语内容的步骤(步骤S2201)。具体地,输入单元100获得构成用户的话语内容的声音。输入单元100将所获得的声音作为声音信号发送到声音识别单元200。也容许输入单元100获得由用户输入的字母串(例如,以文本格式输入的字母数据),而不是来自用户的声音。在这种情况下,输入单元100是字母输入设备,例如键盘或触屏,而不是麦克风。
接着,声音识别单元200基于由输入单元100获得的话语内容,执行识别对应于话语内容的字母串的步骤(步骤S2202)。具体地,从输入单元100向其中输入了声音信号的声音识别单元200基于所输入的声音信号,指定与声音信号关联的词语假设(候选)。声音识别单元200获得对应于所指定的词语假设(候选)的字母串,并将所获得的字母串发送到会话控制器300,或者更具体地说,作为字母串信号而发送到谈话空间会话处理器330。
然后,字母串指定单元410执行将由声音识别单元200指定的字母串序列划分成单个语句的步骤(步骤S2203)。具体地,当在输入字母串序列中存在具有某一长度的一个时间间隔或更多时间间隔时,从管理器310向其中输入了字母串信号(或词素信号)的字母串指定单元410划分该部分的字母串。字母串指定单元410将每一个划分的字母串发送到词素提取器420和输入类型确定单元440。在输入字母串是从键盘输入的字母串的情况下,优选地,该字母串指定单元410划分存在标点符号、空格等处的字母串。
然后,词素提取器420基于由字母串指定单元410指定的字母串,执行将构成字母串的最小单元的每一个词素提取为第一词素信息的步骤(步骤S2204)。具体地,从字母串指定单元410向其中输入了字母串的词素提取器420将所输入的字母串与词素数据库430中预先存储的词素集合进行对照。词素集合被准备为描述属于话音种类每一部分的每一个词素的词素中心词、读取、部分话音、结合等的词素词典。
已经执行了对照的词素提取器420从输入字母串中提取与预先存储的词素集合的任何一个匹配的每一个词素(m1、m2、...)。词素提取器420将所提取的每一个词素作为第一词素信息发送到话题指定信息搜索单元350。
接着,输入类型确定单元440基于构成由字母串指定单元410指定的一个语句的每一个词素,执行确定“话语类型”的步骤(步骤S2205)。具体地,从字母串指定单元410向其中输入了字母串的输入类型确定单元440基于所输入的字母串,将字母串与存储于话语类型数据库450中的每一个词典进行对照,并从字母串中提取与每一个词典关联的元素。已经提取了元素的输入类型确定单元440基于所提取的元素,确定这些元素属于哪种“话语类型”。输入类型确定单元440将所确定的“话语的类型”(话语类型)发送到应答获取单元380。
然后,话题指定信息搜索单元350执行将由词素提取器420提取的第一词素信息与目标话题标题820focus进行比较的步骤(步骤S2206)。在构成第一词素信息的词素与目标话题标题820focus匹配的情况下,话题指定信息搜索单元350将话题标题820发送到应答获取单元380。同时,在构成第一词素信息的词素不与话题标题820匹配的情况下,话题指定信息搜索单元350将所输入的第一词素信息和用户输入语句话题指定信息作为搜索命令信号发送到缩写词扩展单元360。
然后,缩写词扩展单元360基于从话题指定信息搜索单元350输入的第一词素信息,执行将目标话题指定信息和应答语句话题指定信息包括在输入的第一词素信息的步骤(步骤S2207)。具体地,当第一词素信息被表示为“W”,且由目标话题指定信息和应答语句话题指定信息构成的组被表示为“D”时,缩写词扩展单元360将话题指定信息“D”的元素包括在第一词素信息“W”中,生成扩展的第一词素信息,将扩展的第一词素信息与关联于组“D”的所有话题标题820进行对照,并执行对是否存在与扩展的第一词素信息相匹配的话题标题820的搜索。在存在与扩展的第一词素信息相匹配的话题标题820的情况下,缩写词扩展单元360将话题标题820发送到应答获取单元380。同时,在未找到与扩展的第一词素信息相匹配的话题标题820的情况下,缩写词扩展单元360将第一词素信息和用户输入语句话题指定信息发送到话题搜索单元370。
接着,话题搜索单元370执行将第一词素信息与用户输入语句话题指定信息进行对照,并从每一个话题标题820中搜索与第一词素信息匹配的话题标题820的步骤(步骤S2208)。具体地,从缩写词扩展单元360向其中输入了的搜索命令信号的话题搜索单元370基于用户输入语句话题指定信息和包括在输入搜索命令信号中的第一词素信息,从关联于用户输入语句话题指定信息的每一个话题标题820中,搜索与第一词素信息相匹配的话题标题820。话题搜索单元370将作为搜索结果而获得的话题标题820作为搜索结果信号发送到应答获取单元380。
接着,应答获取单元380基于在话题指定信息搜索单元350、缩写词扩展单元360或话题搜索单元370中找到的话题标题820,将由结构分析单元400确定的用户话语类型与关联于话题标题820的每一个应答类型进行对照,并执行对应答语句830的选择(步骤S2209)。
具体地,按照如下所述执行对应答语句830的选择。即,从话题搜索单元370向其中输入了搜索结果信号且从输入类型确定单元440向其中输入了“话语类型”的应答获取单元380,基于与输入的搜索结果信号和输入的“话语类型”相关联的“话题标题”,在关联于“话题标题”的应答语句集合中,指定匹配于“话语类型”(DA等)的应答类型。
接着,应答获取单元380经由管理器310将在步骤S2209中获得的应答语句830发送到输出单元600(步骤S2210)。已经从管理器310接收到应答语句的输出单元600发送所输入的应答语句830。
至此完成了对谈话空间会话控制处理的描述。返回到图18,将重新开始对主处理的描述。
当结束了谈话空间会话控制处理时,会话控制器300执行CA会话控制处理(S1803)。然而,在方案会话控制处理(S1801)和谈话空间会话控制处理(S1802)中执行了应答语句发送的情况下,会话控制器300执行基本控制信息更新处理(S1804)并结束主处理,而不执行CA会话控制处理(S1803)。
CA会话控制处理(S1803)是一种如下所述的处理,其确定用户话语是“解释某事”、“确认某事”、“批评和攻击”或是“其它事”,并根据用户话语的内容和确定结果发送应答语句。通过执行CA会话控制处理,即使在方案会话控制处理或谈话空间会话处理中不能输出与用户话语相匹配的应答语句的情况下,也具有启动发送所谓的“连接”应答语句的作用,所述发送能够使与用户的会话流中保持连续而没有中断。
图23是示出CA会话处理器340的配置实例的功能框图。CA会话处理器340包括确定单元2301和应答单元2302。
确定单元2301从管理器310或谈话空间会话处理器330接收用户所说出的语句,还接收应答语句发送命令。在方案会话处理器20和谈话空间会话处理器330不执行或不能执行应答语句发送的情况下,执行应答语句发送命令。此外,确定单元2301从结构分析器400(更具体地说,输入类型确定单元440)接收输入类型,即,用户话语的类型(参考图12)。基于此,确定单元2301确定用户话语意图。例如,在用户话语是语句“我喜欢Sato”的情况下,基于包括在该语句中的独立词语“Sato”和“喜欢”,以及基于用户话语的类型是陈述肯定语句(DA)的事实,确定用户正执行对“Sato”和“喜欢”的说明。
应答单元2302根据来自确定单元2301的确定结果,确定应答语句并发送。在该实例中,应答单元2302包括说明性会话响应表、肯定会话响应表、批评和攻击会话响应表以及反射性会话表。
说明性会话响应表是一种如下所述的表,其存储在确定用户话语正在解释某事的情况下,作为对该话语的应答而发送的多种应答语句。例如,将不能作为回应而提问的、例如“是真的么?”的应答语句准备为应答语句实例。
确认会话应答表是一种如下所述的表,其存储在确定用户话语正在确认或提问某事的情况下,作为对该话语的应答而发送的多种应答语句。例如,将不能作为回应而提问的、例如“我恐怕不知道”的应答语句准备为应答语句实例。
批评和攻击会话响应表是一种如下所述的表,其存储在确定用户话语正在批评或攻击会话控制装置的情况下,作为对该话语的应答而发送的多种应答语句。例如,将例如“对不起”的应答语句准备为应答语句实例。
反射性会话表准备例如用户话语“我对***不感兴趣”的应答语句。“***”是指其中将存储包括在相关的用户话语中的独立词语。
应答单元2302以如下方式操作,即参考说明性会话响应表、肯定会话响应表、批评和攻击会话响应表以及反射性会话表,确定应答语句,并将所确定的应答语句发送到管理器310。
下面将给出对CA会话处理(S1803)的具体实例的描述,该处理是由CA会话处理器340执行的处理。图24是示出CA会话处理的具体实例的流程图。如上所述,在方案会话控制处理(S1801)和谈话空间会话控制处理(S1802)中执行应答语句发送的情况下,会话控制器300不执行CA会话控制处理(S1803)。即,CA会话控制处理(S1803)仅在方案会话控制处理(S1801)和谈话空间会话控制处理(S1802)中推迟了应答语句发送的情况下,才执行应答语句发送。
在CA会话处理(S1803)中,CA会话处理器340(确定单元2301)首先确定用户话语是否是解释某事的语句(S2401)。在确定用户话语是解释某事的语句的情况下(S2401,是),CA会话处理器340(应答单元2302)通过例如查询说明性会话响应表的方法来确定应答语句。
同时,在确定用户话语不是解释某事的语句的情况下(S2401,否),CA会话处理器340(确定单元2301)确定用户话语是否是确认或提问某事的语句(S2403)。在确定用户话语是确认或提问某事的语句的情况下(S2403,是),CA会话处理器340(应答单元2302)通过例如查询肯定会话响应表的方法来确定应答语句(S2404)。
同时,在确定用户话语不是确认或提问某事的语句的情况下(S2403,否),CA会话处理器340(确定单元2301)确定用户话语是否是批评或攻击的语句(S2405)。在确定用户话语是批评或攻击的语句的情况下(S2405,是),CA会话处理器340(应答单元2302)通过例如查询批评或攻击会话响应表的方法来确定应答语句(S2406)。
同时,在确定用户话语不是批评或攻击的语句的情况下(S2405,否),CA会话处理器340(确定单元2301)请求应答单元2302确定反射性会话应答语句。响应于该请求,CA会话处理器340(应答单元2302)通过例如查询反射性会话响应表的方法来确定应答语句(S2407)。
至此结束了CA会话处理(S1903)。通过CA会话处理,会话控制装置1能够响应于用户话语条件而执行可维持会话建立的应答。
返回到图18,将继续描述会话控制器300的主处理。
当结束了CA会话处理(S1803)时,会话控制器300执行基本控制信息更新处理(S1804)。在该处理中,会话控制器300,或更具体地说是管理器310,在方案会话处理器320已经执行了应答语句发送的情况下,将基本控制信息设置成“组合”,在方案会话处理器300已经停止了应答语句发送的情况下,将基本控制信息设置成“取消”,在谈话空间会话处理器330已经执行了应答语句发送的情况下,将基本控制信息设置成“维持”,以及在CA会话处理器340已经执行了应答语句发送的情况下,将基本控制信息设置成“继续”。
在方案会话控制处理(S1801)中查询在基本控制信息更新处理中设置的基本控制信息,并在方案的继续或重启中对其进行使用。
如上所述,通过在每次接收到用户话语时执行主处理,会话控制装置1能够响应于用户话语,不仅能执行预先准备的方案,而且还能适当地响应未包括在该方案中的话题。
本领域的技术人员将会很容易地想到附加的优点和修改。因此,在更宽泛的方案中,本发明不限于本文示出和描述的具体细节和代表性实施例。因此,在不脱离由附加的权利要求及其等效物定义的一般概念原理的精神或范围的情况下,可以做出各种修改。
权利要求
1.一种会话控制装置,其响应于用户话语而发送应答语句,包括方案存储单元,其存储多个方案,每个方案包括所述应答语句和规定下一候选应答语句的下一候选规定信息,所述下一候选应答语句是将以承接于所述应答语句之后的顺序而被发送的应答语句;方案会话单元,其响应于第一用户话语,选择存储在所述方案存储单元中的方案,并发送所述方案中包括的应答语句,在随后说出的第二用户话语对应于由所述方案中包括的所述下一候选规定信息所规定的下一候选应答语句的情况下,发送由所述下一候选规定信息所规定的所述下一候选应答语句,而在所述第二用户话语不关联于所述下一候选应答语句或者关系不清楚的情况下,推迟对所述下一候选应答语句的发送;谈话空间会话单元,其在所述方案会话单元推迟对所述下一候选应答语句的发送的情况下,搜索关联于所述第二用户话语的话题,并且在其找到关联于所述第二用户话语的话题的情况下,发送关联于所述话题的应答语句,而在其未找到关联于所述第二用户话语的话题的情况下,推迟对关联于所述话题的所述应答语句的发送;以及会话继续和维持单元,其在所述谈话空间会话单元推迟对所述应答语句的发送的情况下,估计所述第二用户话语,并根据估计结果发送所述应答语句。
2.根据权利要求1所述的会话控制装置,其中所述会话继续和维持单元确定所述第二用户话语是否在解释某事、确认某事、或者在批评或攻击某事,根据确定结果从预先准备的应答语句集合中选择应答语句并发送。
全文摘要
即使对于“无法应答”的用户话语,也能根据用户话语条件维持会话建立。会话控制装置包括会话数据库,存储多个方案,分别包括应答语句和规定下一候选应答语句的下一候选规定信息,下一候选应答语句是承接在应答语句之后发送的应答语句;方案会话处理器,若第二用户话语不关联于下一候选应答语句或关系不清楚,推迟下一候选应答语句的发送;谈话空间会话控制处理器,若方案会话模块推迟下一候选应答语句的发送,搜索关联于第二用户话语的话题,若未找到关联于第二用户话语的话题,推迟关联于话题的应答语句的发送;以及CA会话处理器,若谈话空间会话模块推迟应答语句的发送,从第二用户话语中估计第二用户话语,根据估计结果发送应答语句。
文档编号G10L15/10GK1975857SQ200610136038
公开日2007年6月6日 申请日期2006年10月20日 优先权日2005年10月21日
发明者黄声扬, 胜仓裕 申请人:阿鲁策株式会社, 株式会社PtoPA
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1