会话控制装置的制作方法

文档序号:2829673阅读:180来源:国知局
专利名称:会话控制装置的制作方法
技术领域
本发明涉及一种会话控制装置,其根据来自用户的话语发送应答或者响应。
背景技术
目前,已经提出了许多会话控制装置,并且正在尝试他们的实际应用。通常,这种会话控制装置是这样的,即会话控制装置仅提出问题或者仅接收来自用户的问题,其缺少关于会话内容的灵活性。
到目前为止,当尝试进行调查的采集时,在用户说出与调查无关的话语的情况下,会话控制装置还不能会话语内容做出合适的响应,因此很难实现获得调查的目的。由于这个原因,已经存在这样的问题,即如果用户说出的话语内容与调查采集无关,由于会话控制装置仅能重复“请再说一次”的响应,因此在没有获得调查采集的情况下,与用户的对话就结束了。

发明内容
本发明的目的旨在提供一种会话控制装置,其能够甚至在用户的话语内容与初始目标不同的情况下,也能以预定的顺序返回预定的应答。
作为解决前述问题的方法,本发明包括下文所述的特征。
本发明作为会话控制装置提出,其发送应答语句以响应用户话语。
会话控制装置包括处理器(例如CPU),响应用户话语,促使执行发送应答语句的控制;以及存储多个方案的存储器(例如会话数据库),每个方案包括应答语句和规定下一候选应答语句的下一候选规定信息(例如,下一方案的指示信息),下一候选应答语句是以继所述应答语句之后的顺序预期将被发送的应答语句。处理器响应第一用户话语,选择存储在存储器中的方案,促使所选的方案发送包括在该方案中的应答语句,并且随后响应第二用户话语,基于包括在方案中的下一候选规定信息,促使发送下一候选应答语句;以及不管用户话语的内容,使得以对于多个方案的至少一个部分的预定顺序发送预定的应答语句(例如,调查中的每个问题)和下一候选应答语句。
根据这种会话控制装置,以预定的顺序发送预定的应答语句(例如,调查问题项目)是可行的。
同样可以接受的是,该会话控制装置还具有以下特征。即建立的会话控制设备甚至具有如下特征多个方案的一部分是存储了按顺序发送的第一到第N个应答语句的N个方案,N个方案中的第M个方案包括规定了第M个应答语句后的第一个应答语句的下一候选规定信息。
根据这种会话控制装置,可以按照第一到第N的顺序发送第一到第N个应答语句,而不管用户话语的内容。
同样可以接受的是,该会话控制装置还可以具有以下特征。即建立的会话装置甚至具有如下特征即使在响应于发送的问题的用户话语的内容不同于预定的应答内容的情况下,多个方案的至少一部分是用于重复发送问题的方案。
根据这种会话控制装置,即使在用户的话语内容不同于初始目标的情况下也可以提供能够以预定顺序获取关于预定问题的应答的会话控制装置。
根据本发明,即使在用户话语内容不同于初始目标的情况下,以预定的顺序返回预定的应答是可行的。
下面的说明中将提出本发明的其它目的和优点,并且通过该介绍,部分将是显而易见的或者可以通过实施本发明了解。利用下文特别指出的手段和组合,可以实现并得到本发明的目的和优点。


附图包括在说明书中并构成说明书的一部分,其说明了本发明的实施例,并且其与上文给出的概述和下文给出实施例的详细描述用于介绍本发明的原理。
图1是示出会话控制装置的结构实例的原理框图;图2是示出声音识别单元的结构实例的原理框图;图3是示出词语假设消除器的处理实例的时间图;图4是示出声音识别单元的操作实例的流程图;图5是会话控制装置的部分放大框图;图6是示出字母串和从字母串提取的词素之间的关系的图;图7是示出“话语类型”、字母表中表示话语类型的两个字母以及属于该话语类型的话语实例的图表;图8示出语句类型和用于确定该类型的词典之间的关系;图9是示出存储在会话数据库中的数据的数据结构实例的概念图;图10是示出话题指定信息的特定项和话题指定信息的其它项之间的相关性的图;图11是示出话题标题(也称为“第二词素信息”)的数据结构实例的图表;图12是用于描述应答语句的数据结构实例的图;图13示出话题标题、应答语句以及与话题指定信息的特定项相互关联的下一方案规定信息的具体实例;图14是用于描述方案空间的概念图;图15是示出方案实例的图;图16是示出不同方案实例的图;图17是示出方案会话过程的具体实例的图;图18是示出会话控制器的主要过程的实例的流程图;图19是示出方案会话控制过程的实例的流程图;
图20是示出承接图19的方案会话控制过程的实例的流程图;图21是示出基本控制条件的图;图22是示出谈话空间会话控制过程的实例的流程图;图23是示出在第二实施例中方案会话过程的具体实例的图;以及图24是示出在第二实施例中方案会话过程的另一具体实例的图。
具体实施例方式
下文参考附图介绍本发明的第一实施例。
本发明的第一实施例作为会话控制装置提出,其输出用户话语的响应并且建立与用户的会话。
A.第一实施例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,该声音识别单元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存储音素(phoneme)隐式马尔可夫模型(下文,隐式马尔可夫模型称为HMM)。音素HMM表示包括每个条件,每个条件包括下面的信息。其配置有(a)条件数量;(b)可接收的上下文种类;(c)在前条件和在后条件的列表;(d)输出概率密度分布参数;以及(e)自转移概率和转换到下面条件的概率。由于需要识别每个分布是来自于哪一个讲话者,应用在本实施例中的音素HMM转换并且产生规定的讲话者混合HMM。这里,输出概率密度函数是具有34维的对角协方差矩阵的混合高斯分布。而且,连接到词语对照单元200C的声音识别词典存储器700存储词语词典。词语词典存储指示由用于音素HMM的每个词语的符号所表示的读法(reading)的符号串。
在将讲话者发出的声音输入到麦克风等并转换为声音信号后,将其输入到特征提取器200A。特征提取器200A在对输入的声音信号进行A/D转换后,提取并发送特征参数。尽管可以考虑多种用于提取并发送特征参数的方法,但是作为一个实例提出了一种其中进行LPC分析的方法,并且提取34维特征参数,该34维特征参数包括对数幂、第16阶对数倒频谱系数、Δ对数幂和第16阶Δ对数倒频谱系数。将提取的特征参数的时间序列经由缓冲存储器(BM)200B输入到词语对照单元200C中。
使用一次通过(one pass)维特比解码方法的词语对照单元200C基于经由缓冲存储器200B输入的特征参数的数据,使用存储在声音识别词典存储器700中的音素HMM和词语词典来检测词语假设,计算似然(likelihood)并发送它。在这里,词语对照单元200C计算词语中的似然以及从每次发音开始时在每个HMM条件的似然。单独词语具有对应作为似然计算对象的词语的识别号码中的每个差异、该词语的发音开始时间以及在该词语前的在前所说词语的似然。同样,为了减少计算过程的数量,同样可以接受的是通过基于音素HMM和词语词典计算的总体似然来减少低似然栅格假设(likelihood gridhypothesis)。词语对照单元200C将检测到的词语假设和关于似然的信息连同从发声开始时间的时间信息(特别地,例如帧数)经由缓冲存储器200D发送到候选确定单元200E和词语假设消除器200F。
候选确定单元200E参照会话控制器300对检测到的词语假设和规定谈话空间中的话题指定信息进行比较,确定检测到的词语假设中的任何一个是否与规定谈话空间中的话题指定信息相匹配,以及在匹配的情况下,将匹配的词语假设作为识别结果发送,而在不匹配的情况下,请求词语假设消除器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中的统计语言模型,针对词语的每一个主要音素环境,将在消除之后的所有词语假设的词语串之中具有最大总体似然的假设的词语串作为识别结果发送。在本实施例中,优选的是将被处理的词语的主要音素环境指三个音素对准(phoneme alignment),其包括在该词语前面的词语假设的最后的音素和该词语的词语假设的前两个音素。
将参考图3介绍词语假设消除器200F的词语消除处理的实例。图3是示出词语假设消除器200F的处理实例的时间图。
例如,当在第(i-1)个词语Wi-1后出现包括音素串a1、a2、...、an的第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是会话控制装置1的部分扩大框图,其是示出会话控制器300和结构分析器400的具体结构实例的框图。图5仅示出会话控制器300、结构分析器400以及会话数据库500,而省略了其他组件。
结构分析器400分析由输入单元100或者声音识别单元200指定的字母串。在本实施例中,如图5所示,结构分析器400包括字母串指定单元410、词素提取器420、词素数据库430、输入类型确定单元440以及话语类型数据库450。字母串指定单元410将输入单元100和声音识别单元200指定的一系列字母串划分为单个子句(clause)。单个子句指在不破坏语法意义的条件下通过尽可能小地划分字母串而获得的句断。具体地,当在一系列字母串中存在特定长度或更多的时间间隔时,字母串指定单元410在该部分对字母串进行划分。字母串指定单元410将每个划分的字母串发送到词素提取器420和输入类型确定单元440。此后描述的“字母串”指用于单个子句的字母串。
1.1.4.1.词素提取器词素提取器420基于字母串指定单元410划分的单个子句的字母串,从单个子句的字母串中提取构成字母串的最小单元的每个词素作为第一词素信息。在这里,在本实施例中,词素指在字母串中所表示的词语结构的最小单元。诸如名词、形容词或者动词等语音部分可以认为是词语结构的最小单元。
在图6所示的实施例中,每个词素可以表示为m1、m2、m3...。图6是示出字母串和从该字母串中提取的词素之间的关系的图。如图6所示,字母串从字母串指定单元410输入到词素提取器420,词素提取器420对照输入的字母串和预先存储在词素数据库430中的词素集和(准备的词素集合作为规定了对于属于语音类别的每个部分的每个词素的词素中心词、读法、语音部分、共轭性(conjugation)等的词素集合)。已经完成对照的词素提取器420从字母串提取与预先存储的词素集合中任意一个相匹配的每个词素(m1、m2...)。除了提取的词素之外的元素(n1、n2、n3...)可以是例如辅助的动词等。
词素提取器420将提取的词素作为第一词素信息发送到话题指定信息搜索单元350。对第一词素信息进行结构化是不需要的。在这里,“结构化”指基于语音部分等对包括在字母串中的词素进行分类和分发,例如将字母串(例如说出的句子)以规定的顺序,例如“主语+宾语+谓语”,转换为通过分发词素所获得的数据。当然,即使在使用结构化第一词素信息的情况下,也不存在对实现实施例的障碍。
1.1.4.2.输入类型确定单元440输入类型确定单元440基于字母串指定单元410指定的字母串来确定话语内容类型(话语类型)。话语类型是指定话语内容的类型的信息,在本实施例中,其指例如图7所示的“话语类型”。图7是示出“话语类型”、字母表中表示话语类型的二个字母以及属于该话语类型的话语的实例的图表。
在这里,在图7所示的实施例中,“话语类型”包括陈述(D)、时间(T)、地点(L)、否定(N)等。将由每种类型构成的句子配置为肯定句或者疑问句。“陈述”指表示用户意见或想法的语句。在图7所示的实施例中,陈述可以是例如语句“我喜欢Sato”。“地点”指带有地理概念的语句。“时间”指带有时间概念的语句。“否定”指在否定陈述时的语句。“话语类型”的实例如图7所示。
在本实施例中,为了输入类型确定单元440确定“话语类型”,如图8所示,输入类型确定单元440使用确定表示词典以确定其是陈述,以及使用否定表示词典以确定其是否定等。字母串从字母串指定单元410输入到输入类型确定单元440,该输入类型确定单元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(=“电影”),话题指定信息的下位概念项810C1(=“导演”)、话题指定信息项810C2(=“主要角色”)、话题指定信息项810C3(=“发行人”)、话题指定信息项810C4(=“上映时间”)、话题指定信息项810D1(=“七武士”)、话题指定信息项810D2(=“乱”)以及话题指定信息项810D3(=“保镖”)相互关联并存储在话题指定信息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的第一到第三指定中不存在词素(pattern)信息的情况下,该部分由“*”表示。
构成话题标题820的指定信息不限于如第一到第三指定信息的种类中的三个指定信息,可以接受的是,例如还具有其它指定信息(第四指定信息或者更高序号的指定信息)。
接下来,将参考图12介绍应答语句830。在图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”中的词素}的情况下,对应于该话题标题(820)1-1的应答语句(830)1-1可以是(DA;陈述肯定语句“我也喜欢Sato”)、(TA;时间肯定语句“我喜欢站在击球区时的Sato”)等等。参照输入类型确定单元440的输出,将在下面描述的应答采集单元380获取与话题标题820相互关联的一个应答语句830。
下一方案规定信息840是规定响应用户话语而将被优先发送的应答语句(称为“下一应答语句”)的信息,对于每个应答语句,以对应于相关应答语句的方式来选定下一方案规定信息840。下一方案规定信息840可以是任意种类的信息,只要其是可以指定下一应答语句的信息,例如其是可以从存储在会话数据库500的所有应答语句中指定至少一个应答语句的应答语句ID。
在本实施例中,尽管将下一方案规定信息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具有响应来自话题指定信息搜索单元350、缩写词扩展单元360、话题搜索单元370以及应答采集单元380的请求以将所有或者部分存储的谈话历史传送到每个单元的功能。
1.1.6.2.方案会话处理器320方案会话处理器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包括在执行方案1时会话控制装置1发送的应答语句A(1501)以及与该应答语句A(1501)相互关联的下一方案规定信息1502。下一方案规定信息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示出具有被称为连续类型特定情节(scenario)的类型的特定系列方案1402的具体实例。一系列方案14021到14024对应于四个应答语句15011到15014以用于通知用户关于处理危机的方法的信息。四个应答语句15011到15014一起构成一个完整谈话(描述)。每个方案14021到14024分别具有称为“1000-01”、“1000-02”、“1000-03”、“1000-04”的ID数据17021到17024。ID数据中的连字号后的数字是表示发送顺序的信息。同样,每个方案14021到14024分别具有下一方案规定信息15021到15024。下一方案规定信息15024的内容是称为“1000-0F”的数据,但是连字号后的数字“0F”是表示不存在下一个将被发送的方案并且相关应答语句是该系列谈话(描述)的结尾的信息。
在本实例中,在用户话语是“告诉我在大地震时处理危机的方法”的情况下,方案会话处理器320开始执行该系列方案。即,当方案会话处理器320接收到用户话语“告诉我在大地震时处理危机的方法”时,方案会话处理器320搜索方案空间1401,并且调查是否存在具有对应于用户话语“告诉我在大地震时处理危机的方法”的应答语句15011的方案1402。在本实例中,认为对应于“告诉我在大地震时处理危机的方法”的用户话语字母串17011对应方案14021。
当方案会话处理器320发现方案14021时,其获取包括在方案14021的应答语句15011,并且将该应答语句15011作为对应于用户话语的应答发送,由下一方案规定信息15021指定下一候选应答语句。
接下来,在经由输入单元100或者声音识别单元200发送应答语句15011后,一旦接收到用户话语,方案会话处理器320就执行方案14022。即,方案会话处理器320确定是否执行由下一方案规定信息15021规定的方案14022,也就是发送第二应答语句15012。具体地,方案会话处理器320将与应答语句15012相互关联的用户话语字母串(也称为实例)17012或者话题标题820(在图17中省略)与接收到的用户话语进行比较,并且确定他们是否匹配。在他们匹配的情况下,发送第二应答语句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”和“喜欢”构成的情况下,话题指定信息搜索单元350将输入的第一词素信息和话题指定信息集合进行对照。
在构成第一词素信息的词素(例如“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中没有确定话题标题810的情况下,话题搜索单元370将第一词素信息与对应用户输入语句话题指定信息的每个标题810相对照,并且从每个话题标题810中搜索最匹配第一词素信息的话题标题810。
具体地,搜索命令信号从缩写词扩展单元360输入到话题搜索单元370,该话题搜索单元370基于包括在输入搜索命令信号中的用户输入语句话题指定信息和第一词素信息,从与用户输入语句话题指定信息相互关联的每个话题标题中搜索最匹配第一词素信息的话题标题810。话题搜索单元370将搜索到的话题标题810发送到应答采集单元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;*;喜欢)的情况下,应答采集单元380从与话题标题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)时,与该应答类型相互关联的应答语句由疑问形式(0)构成。询问关于话语内容的问题的疑问句或者询问关于指定事件的疑问句等可以认为是遵守疑问形式(Q)的应答语句。例如,在所说语句是“我的爱好是玩自动售货机”的情况下,用于所说语句的话语类型是肯定形式(A)。与肯定形式(A)相互关联的应答语句可以是例如“你的爱好不是玩弹球盘吗?”(询问关于指定事件的疑问形式(Q))。
应答采集单元380将获取的应答语句830发送到管理器310作为应答语句信号。应答语句信号从应答采集单元380输入到管理器310,管理器310将输入的应答语句信号发送到输出单元600。
1.1.6.4.CA会话处理器CA会话处理器340具有如下功能在方案会话处理器320或者谈话空间会话控制处理器330中没有确定对用户话语的应答语句的情况下,发送能够继续与用户会话的应答语句以响应用户话语内容的功能。
返回图1,将重新开始介绍会话控制装置1的结构实例。
1.1.7.输出单元输出单元600发送应答采集单元380获取的应答语句。输出单元600可以是例如扬声器、显示器等。具体地,应答语句从管理器310输入到输出单元600,输出单元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.维持这种基本控制条件是在用户话语不适用于话题标题820(参照图13)或者对应正执行的方案1402的实例语句1701(参照图14),以及确定用户话语不是适用于基本控制条件“取消”的情况下,在基本控制条件信息中描述的基本控制条件。
在这种基本控制条件的情况下,方案会话处理器320在接收到用户话语时,首先考虑是否重新开始已经推迟或取消的方案1402,在用户话语不适合于重新开始方案1402的情况下,例如,用户话语不对应于话题标题802或者与方案1402相对应的实例语句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中的应答语句1501),因为存在将被提供给用户的方案1402。
接下来,方案会话处理器320发送相关方案1402的应答语句1501(S1908)。所发送的应答语句1501是对用户话语的应答,方案会话处理器320提供期望传送给用户的信息。
在应答语句发送过程(S1908)后,方案会话处理器320完成了方案会话控制过程。
同时,在确定先前发送的应答语句1501是否为最后的应答语句1501(S1903)方面,如果先前发送的应答语句1501不是最后的应答语句1501(S1903,否),则方案会话处理器320移动到与在先前发送的应答语句1501之后的应答语句1501相对应的方案1402,即,由下一方案规定信息1502指定的应答语句1501(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基于输入的声音信号来指定与声音信号相互关联的词语假设(候选)。声音识别单元200获取对应于指定的词语假设(候选)的字母串,并且将获取的字母串发送到会话控制器300,或者更具体地,发送到谈话空间会话控制处理器330作为字母串信号。
然后,字母串指定单元410执行将声音识别单元200指定的字母串序列划分为单独语句的步骤(步骤S2203)。具体地,字符串信号(或者词素信号)从管理器310输入到字母串指定单元410,当在字母串序列中存在特定长度或更多的时间间隔时,字母串指定单元410在该部分划分字母串。字母串指定单元410将每个划分的字母串发送到词素提取器420和输入类型确定单元440。如果输入的字母串是从键盘输入的字母串,则优选的是字母串指定单元410在具有标点符号、空格等处划分字母串。
此后,词素提取器420基于字母串指定单元410指定的字母串,执行提取构成字母串最小单元的每个词素作为第一词素信息的步骤(步骤S2204)。具体地,字母串从字母串指定单元410输入到词素提取器420,词素提取器420将输入的字母串和预先存储在词素数据库430中的词素集合进行对照。准备的词素集合作为规定了对于属于语音类别的每个部分的每个词素的词素中心词、读法、语音部分、共轭性等的词素词典。
已执行对照的词素提取器420从输入的字母串提取与预先存储的词素集合中的任一个相匹配的每个词素(m1、m2、...)。词素提取器420将提取的每个词素发送到话题指定信息搜索单元350作为第一词素信息。
接着,输入类型确定单元440基于构成字母串指定单元410指定的一个语句的每个词素,执行确定“话语的类型”的步骤(步骤S2205)。具体地,字母串从字母串指定单元410输入到输入类型确定单元440,输入类型确定单元440基于输入的字母串,将字母串与存储在话语类型数据库450中的每个词典进行对照,并且从字母串中提取与每个词典有关的元素。已经提取元素的输入类型确定单元440基于提取的元素,确定元素属于哪一种“话语的类型”。输入类型确定单元440将经确定的“话语的类型”(话语类型)发送到应答采集单元380。
然后,话题指定信息搜索单元350执行对词素提取器420提取的第一词素信息和目标话题标题820focus进行比较的步骤(步骤S2206)。如果构成第一词素(pattern)的词素匹配目标话题标题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,话题搜索单元370基于包括在输入搜索命令信号中的用户输入语句话题指定信息和第一词素信息,从与用户输入语句话题指定信息相互关联的每个话题标题820中,搜索匹配第一词素信息的话题标题820。话题搜索单元370将获取的作为搜索结果的话题标题820发送到应答采集单元380作为搜索结果信号。
接着,应答采集单元380基于在话题指定信息搜索单元350、缩写词扩展单元360或者话题搜索单元370中搜索的话题标题820,将结构分析单元400确定的用户话语类型和与话题标题820相互关联的每个应答类型进行对照,并且执行应答语句830的选择(步骤S2209)。
具体地,如此后所述,执行应答语句830的选择。即,来自话题指定单元370的搜索结果信号和来自输入类型确定单元440的“话语类型”输入到应答采集单元380,应答采集单元380基于与搜索结果信号和输入的“话语类型”相互关联的“话题标题”,从与“话题标题”相互关联的应答语句集合中指定匹配“话语类型”(DA等)的应答类型。
接着,应答采集单元380将在步骤S2209中获取的应答语句830经由管理器310发送到输出单元600(步骤S2210)。已经从管理器310接收到应答语句的输出单元600发送输入的应答语句。
这完成了对对谈话空间会话控制过程的介绍。返回图18,将重新开始介绍主要过程。
会话控制器300,在完成谈话空间会话控制过程时,执行CA会话控制过程(S1803)。然而,如果在方案会话控制过程(S1801)和谈话空间会话控制过程(S1802)中执行应答语句发送,则会话控制器300执行基本控制信息更新过程(S1804)并完成主要过程,而不执行CA会话控制过程(S1803)。
CA会话控制过程(S1803)是确定是否用户话语是“解释某事”、“确认某事”、“批评和攻击”或者“其它事情”,并且根据用户话语内容和确定结果发送应答语句的过程。通过执行CA会话控制过程,即使在匹配用户话语的应答语句不能在方案会话过程或者谈话空间会话过程中输出的情况下,可以发送所谓的“连接”应答语句,其能够保持连续性而不中断与用户的会话流。
接下来,会话控制器300执行基本控制信息更新过程(S1804)。在该过程中,会话控制器300,或者更具体地管理器310,在方案会话处理器320已经执行应答语句发送的情况下,设置基本控制信息为“组合”;在方案会话处理器320已经停止应答语句发送的情况下,设置基本控制信息为“取消”;在谈话空间会话控制处理器330已经执行应答语句发送的情况下,设置基本控制信息为“维持”;以及在CA会话处理器340已经执行应答语句发送的情况下,设置基本控制信息为“继续”。
在基本控制信息更新过程中设置的基本控制信息在方案会话控制过程(S1801)中被查阅,并且用于方案的继续或者重新开始。
如此前所述,通过在每次接收到用户话语时执行主要过程,会话控制装置1可以响应用户话语,并且能够执行预先准备的方案,同样适当地响应没有包括在方案中的话题。
B.第二实施例接下来,将介绍本发明的第二实施例。根据第二实施例的会话控制装置1具有能够管理称为强制类型特定情节的这类方案的特征,该强制类型特定情节是其中以如此方式发送应答语句,即无论用户话语内容可能是什么种类的内容,都促使预定的应答语句以预定的顺序输出。在这种会话控制装置1中,存储在会话数据库500中的多个方案1402的至少一个部分是,例如存储按顺序发送的从第一到第N个应答语句的N个方案,N个方案中的第M个方案包括下一候选规定信息,其规定了在第M个应答语句后(注意M和N是整数,并且1≤M<N)的第一应答语句。
在根据第二实施例的会话控制装置1的介绍中,将仅介绍不同于第一实施例的区域,并且省略与第一实施例相同的结构或者操作的介绍。
图23示出了称为强制类型特定情节的一类方案1402的具体实例。一系列方案140211到140216对应构成关于汽车调查的应答语句150111到150116。尽管在方案140212到140216中的用户话语字母串170112到170116显示为“*”,但是“*”表示其对应每个用户话语。
在图23所示的实施例中,方案140210是触发开始强制类型特定情节的方案,其不是强制类型特定情节的一部分。
每个方案140210到140216分别包括称为“2000-01”、“2000-02”、“2000-03”、“2000-04”、“2000-05”、“2000-06”和“2000-07”的ID数据170210到170216。而且,每个方案140210到140216分别包括下一方案规定信息150210到150216。而且,尽管下一方案规定信息150216的内容是称为“2000-0F”的数据,但是连字号后的数字“0F”是表示下一次将被发送的方案不存在以及相关应答语句是调查的结尾。
在本实例中,当用户和会话控制装置1之间的会话正在进行时,在用户说出(或者输入)用户话语“我需要车”的情况下,则方案会话处理器320开始执行该系列方案。即,在会话控制装置1,或者更具体地方案会话处理器320接收到用户话语“我需要车”时,方案会话处理器320搜索方案空间1401,并且调查是否有包括对应于用户话语“我需要车”的应答语句1501的方案1402。
在本实例中,认为对应于“我需要车”的用户话语字母串170110对应于方案140210。
在方案会话处理器320找到方案140210时,其获取包括在方案140210中的应答语句150110并且发送该应答语句150110“在这种情况下,请应答简单调查。有五个问题。如果你愿意回答调查,请键入“我不介意回答调查””作为对应用户话语的应答,其利用下一方案规定信息150210来指定下一候选应答语句。在本实例中,下一方案规定信息150210包括ID数据“2000-02”。方案会话处理器320存储并保留对应于ID数据“2000-02”的方案140211的应答语句作为下一候选应答语句。
在对应应答语句“在这种情况下,请回答简单调查。有五个问题。如果你愿意回答调查,请键入“我不介意回答调查””的用户应答(即用户话语)不是“我不介意回答调查”的情况下,则方案会话处理器320、谈话空间会话控制处理器330或者CA会话处理器340执行对应于该用户话语的某应答语句的输出,但是不会开始调查。
同时,在完成用户话语“我不介意回答调查”的情况下,方案会话处理器320选择已经被规定作为下一候选应答语句的方案140211,并且完成该方案的执行。即,方案会话处理器320发送应答语句,该应答语句是包括在方案140211中的应答语句150111,方案会话处理器320利用包括在方案140211中的下一方案规定信息150211指定下一候选应答语句。在本实例中,下一方案规定信息150211包括ID数据“2000-03”。方案会话处理器320将包括在对应于ID数据“2000-03”的方案140212中的应答语句作为下一候选应答语句。现在开始强制类型特定情节的调查的执行。
如果存在响应会话控制装置1发送的应答语句“谢谢你。这是第一个问题。如果你买汽车,你想买新车还是旧车”的某种用户话语,则选择被规定做为下一候选应答语句的方案140212,并且执行该方案。即,方案会话处理器320发送包括在方案140212中的应答语句150112的应答“问题二。你喜欢日本汽车还是外国汽车?”,方案会话处理器320利用包括在方案140212中的下一方案规定信息150212来指定下一候选应答语句。在本实例中,下一方案规定信息150212是“2000-04”,选择包括该ID的方案140213作为下一候选应答语句。
利用称为强制类型特定情节的这类方案,由于用户话语字母串1701的内容是表示用户所有话语内容的符号“*”,因此方案会话处理器320执行所选的方案,而不管用户话语内容是什么。例如,即使在认为诸如“我不知道”或者“我要离开它”等应答不是对该调查的应答的情况下,其也继续执行应答语句(其是下一个问题)的发送。
随后,会话控制装置1,或者更具体地方案会话处理器320,在其每次接收到用户话语时,顺序执行方案140213、方案140214、方案140215以及方案140216,而不管用户话语内容是什么。即,会话控制装置1,或者更具体地方案会话处理器320,在其每次接收到用户话语时,不管用户话语内容是什么,其顺序发送应答语句150113到150116“问题三。你喜欢什么类型的汽车?你喜欢轿车还是运动车,四轮货车还是小型货车?”、“问题四。你打算花多少钱?”、“问题五。你认为你可能什么时候买?”以及“没有更多问题了。非常感谢”,其是方案140213、方案140214、方案140215以及方案140216的应答语句。
方案会话处理器320从包括在方案140216中的下一方案规定信息150216识别出相关应答语句是调查的结尾,并且结束方案会话过程。
图24是示出称为强制类型特定情节的这类方案的另一个实例的图。
在图23所示的实例中,会话控制方法是这样的,即其继续进行调查问题而不管用户话语是否是该调查的应答,但是在图24所示的实例中,会话控制方法是这样的,即仅在用户话语是该调查的应答的情况下,其进行到下一个调查问题,而在用户话语不是该调查的应答的情况下,它重复该调查问题以尝试获取该调查的应答。
图24中的实例是包括如图23的构成关于汽车的调查的问题语句的方案,其示出了对应调查的第一问题(参照图23,方案140211)、第二问题(参照图23,方案140212)和第三问题(参照图23,方案140213)的方案,但是省略了对应第四问题和之前的方案。用户话语字母串170124是表示用户话语既不是“新车”也不是“旧车”的数据,而利用相同的方法,用户话语字母串170127是表示用户话语既不是“日本汽车”也不是“外国汽车”的数据。
在图24的实例中,认为用户话语“我不介意回答调查”已经完成。在这种情况下,方案会话处理器320搜索方案空间1401,并且寻找方案140221。其获取包括在方案140221中的应答语句150121,并且发送应答语句150121“谢谢你。这是第一个问题。如果你买汽车,你想买新车还是旧车?”作为对应于用户话语的应答,其利用下一方案规定信息150221来指定下一候选应答语句。在本实例中,下一方案规定信息150221包括三个ID数据项“2000-02”、“2000-03”以及“2000-04”。方案会话处理器320存储并保留对应于三个ID数据项“2000-02”、“2000-03”和“2000-04”的方案140222、方案140223以及方案140224的应答语句,作为下一候选应答语句。
这里,如果完成的用户话语“新车”是会话控制装置1发送的应答语句“谢谢你。这是第一个问题。如果你买汽车,你想买新车还是旧车?”的响应,则方案会话处理器320从被规定做为下一候选应答语句的三个方案140222、140223以及140224中,选择方案140222,该方案包括对应于用户话语的用户话语字母串170122,并且执行该方案。即,方案会话处理器320也发送包括在方案140222中的应答语句150122的应答“问题二。你喜欢日本汽车还是外国汽车?”,其利用包括在方案140222中的下一方案规定信息150222来指定下一候选应答语句。在本实例中,下一方案规定信息150222包括三个ID数据项“2000-06”、“2000-07”和“2000-08”。方案会话处理器320选择包括在对应于三个ID数据项“2000-06”、“2000-07”和“2000-08”的三个方案140225、140226和140227中的应答语句,作为下一候选应答语句。即,会话控制装置1以这种方式执行会话控制,即在结束第一调查问题的应答“新车”的采集时,继续进行到第二调查问题的应答的采集。
同时,如果完成的用户话语“旧车”是会话控制装置1发送的应答语句“谢谢你。这是第一个问题。如果你买汽车,你想买新车还是旧车?”的响应,则方案会话处理器320从被规定做为下一候选应答语句的三个方案140222、140223和140224中,选择包括对应于用户话语的用户话语字母串170123的方案140223,并且执行该方案。即,方案会话处理器320也发送包括在方案140223中的应答语句150123的应答“问题二。你喜欢日本汽车还是外国汽车?”,其利用包括在方案140223中的下一方案规定信息150223来指定下一候选应答语句。在本实例中,采用如上述下一方案规定信息150222的方法,下一方案规定信息150223包括三个ID数据项“2000-06”、“2000-07”和“2000-08”。方案会话处理器320选择包括在对应于三个ID数据项“2000-06”、“2000-07”和“2000-08”的三个方案140225、140226和140227中的应答语句作为下一候选应答语句。即,会话控制装置1以这种方式执行会话控制,即在结束第一调查问题的应答“旧车”的采集时,继续进行第二调查问题的应答的采集。
同样,在响应会话控制装置1中发送的应答语句“谢谢你。这是第一个问题。如果你买汽车,你想买新车还是旧车?”上,如果完成的用户话语既不是“新车”也不是“旧车”,例如“我不知道”或者“都可以”,则方案会话处理器320从被规定做为下一候选应答语句的三个方案140222、140223和140224中选择包括对应于用户话语的用户话语字母串170124的方案140224,并且执行该方案。即,方案会话处理器320也发送包括在方案140224中的应答语句150124的应答“首先请回答问题一。如果你买汽车,你想买新车还是旧车?”,其利用包括在方案140224中的下一方案规定信息150224来指定下一候选回答语句。在本实例中,下一方案规定信息150224包括三个ID数据项“2000-03”、“2000-04”和“2000-05”。方案会话处理器320选择包括在对应于三个ID数据项“2000-03”、“2000-04”和“2000-05”的三个方案140222、140223和140224中的应答语句作为下一候选应答语句。即,会话控制装置1执行通过重复向用户询问第一调查问题来尝试采集第一调查问题的应答的会话控制。换言之,会话控制装置1,或者更具体地方案会话处理器320,向用户重复询问第一调查问题,直到用户产生“新车”或者“旧车”的用户话语。
接下来,将介绍方案会话处理器320已经执行上面的方案140222或140223并且发送应答语句“问题二。你喜欢日本汽车还是外国汽车?”之后的过程。在完成的用户话语“日本汽车”是会话控制装置1发送的应答语句“问题二。你喜欢日本汽车还是外国汽车?”的响应,则方案会话处理器320从被规定做为下一候选应答语句的三个方案140225、140226和140227中,选择包括对应于用户话语的用户话语字母串170125的方案140225,并且执行该方案。即,方案会话处理器320也发送包括在方案140225中的应答语句150125的应答“问题三。你喜欢什么类型的汽车?你喜欢轿车还是运动车,四轮货车还是小型货车”,其利用包括在方案140225中的下一方案规定信息150225来指定下一候选应答语句。在本实例中,下一方案规定信息150225包括三个ID数据项“2000-09”、“2000-10”和“2000-11”。方案会话处理器320选择包括在对应于三个ID数据项“2000-09”、“2000-10”和“2000-11”的三个方案中的应答语句作为下一候选应答语句。即,在这点上,会话控制装置1以如此方式执行会话控制,即在结束第二调查问题的应答“日本汽车”的采集时,继续进行第三调查问题的应答的采集。在图24中,省略了对应“2000-09”、“2000-10”和“2000-11”的方案。
同时,如果完成的用户话语“外国汽车”是会话控制装置1发送的应答语句“问题二。你喜欢日本汽车还是外国汽车?”的响应,则方案会话处理器320从被规定做为下一候选应答语句的三个方案140225、140226和140227中,选择包括对应于用户话语的用户话语字母串170126的方案140226,并且执行该方案。即,方案会话处理器320也发送包括在方案140226中的应答语句150126的应答“问题三。你喜欢什么类型的汽车?你喜欢轿车还是运动车,四轮货车还是小型货车?”,其利用包括在方案140226中的下一方案规定信息150126来指定下一候选应答语句。在本实例中,下一方案规定信息150226包括三个ID数据项“2000-09”、“2000-10”和“2000-11”。方案会话处理器320选择包括在对应于三个ID数据项“2000-09”、“2000-10”和“2000-11”的三个方案中的应答语句作为下一候选应答语句。即,会话控制装置1以如此方式执行会话控制,即在结束第二调查问题的应答“外国汽车”的采集时,继续进行第三调查问题的应答的采集。
同样,在响应会话控制装置1发送的应答语句“问题二。你喜欢日本汽车还是外国汽车?”上,如果用户话语既不是“日本汽车”也不是“外国汽车”,例如“我不知道”或者“都可以”,则方案会话处理器320从被规定做为下一候选应答语句的三个方案140225、140226和140227中,选择包括对应于用户话语的用户话语字母串170127的方案140227,并且执行该方案。即,方案会话处理器320也发送包括在方案140227中的应答语句150127的应答“首先请回答问题二。你喜欢日本汽车还是外国汽车?”,其利用包括在方案140227中的下一方案规定信息150227来指定下一候选应答语句。在本实例中,下一方案规定信息150227包括三个ID数据项“2000-06”、“2000-07”和“2000-08”。方案会话处理器320选择包括在对应于三个ID数据项“2000-06”、“2000-07”和“2000-08”的三个方案140225、140226和140227中的应答语句作为下一候选应答语句。即,会话控制装置1执行通过重复向用户询问第二调查问题来试图采集第二调查问题的应答的会话控制。换言之,会话控制装置1,或者更具体地方案会话处理器320向用户重复询问第二调查问题,直到用户发出“日本汽车”或者“外国汽车”的用户话语。
此后,会话控制装置1,或者更具体地方案会话处理器320,利用与上文所述相同的会话控制方法,完成第三调查问题到第五调查问题的应答的采集。
根据对应第二实施例的这种会话控制装置,可以提供能够按照预定顺序获取预定事件的应答的会话控制装置,即使在用户话语内容不同于初始目标的情况下。
权利要求
1.一种发送应答语句以响应用户话语的会话控制装置,包括方案存储模块,其存储多个方案,每个方案包括所述应答语句和规定下一候选应答语句的下一候选规定信息,该下一候选应答语句是以继所述应答语句之后的顺序预期将被发送的应答语句;以及方案会话模块,其响应于第一用户话语,选择存储在所述方案存储模块中的方案,使得所选择的方案发送包括在所述方案中的应答语句,以及随后响应于第二用户话语,基于包括在所述方案中的下一候选规定信息,使得发送下一候选应答语句,其中所述多个方案的至少一部分以如此这种方式包括应答语句和下一候选应答语句即使得以预定的顺序发送预定的应答语句,而不管用户话语的内容。
2.根据权利要求1所述的会话控制装置,其中所述多个方案的所述一部分是存储了按顺序发送的第一到第N个应答语句的N个方案,所述N个方案中的第M个方案包括规定了第M个应答语句后的第一个应答语句的下一候选规定信息(注意M和N是整数,并且1≤M<N)。
3.根据权利要求1所述的会话控制装置,其中如果响应于发送的问题的用户话语的内容不同于预定的应答内容,则所述多个方案的所述至少一部分是用于重复发送所述问题的方案。
全文摘要
为了以预定顺序返回预定应答,即使在用户话语内容与初始目标不同的情况下。发送应答语句以响应用户话语的会话控制装置包括存储多个方案的会话数据库,每个方案包括应答语句和规定下一候选应答语句的下一候选规定信息,该候选应答语句是以继应答语句的顺序将被预期发送的应答语句;以及方案会话处理器,其响应第一用户话语,选择存储在会话数据库中的方案,发送包括在该方案中的应答语句,以及随后响应第二用户话语,基于包括在该方案中的下一候选规定信息来发送下一候选应答语句,其中多个方案的至少一部分,而不管用户话语内容是什么,以这种方式包括应答语句和下一候选应答语句,即以预定顺序发送预定调查中的每个问题。
文档编号G10L15/22GK1975858SQ200610136039
公开日2007年6月6日 申请日期2006年10月20日 优先权日2005年10月21日
发明者黄声扬, 胜仓裕 申请人:阿鲁策株式会社, 株式会社PtoPA
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1