专利名称:会话控制器的制作方法
技术领域:
本发明涉及一种对使用者的说话输出回答或答复的会话控制器。
背景技术:
开发了各种传统会话控制器用于多种情形。每个会话控制器输出对使用者说话的回答和答复。所述传统会话控制器公开于公开号为2004-258902、2004-258903、2004-258904的日本公开专利申请中。每个会话控制器回答使用者的问题,同时与使用者建立对话。
在每个会话控制器中,由于会话流是根据使用者说话确定的,所以依次输出答复句子以实现预先准备的会话流是不可能的。
发明内容
本发明的目的是提供一种会话控制器,其能够在对使用者作出响应的同时,依次输出答复句子以实现其中预先准备的会话流。
为了达到所述目的,本发明提供一种会话控制器,用于根据使用者说话输出答复句子,包括计划存储器单元,用于存储多个计划,其中每个计划具有一答复句子和一条或多条下一候选指定信息,其中所述一条或多条下一候选指定信息用于指定将要在答复句子后输出的下一候选答复句子;以及计划会话单元,用于根据第一使用者说话选择存储在所述计划存储器单元中的一个计划,并输出所选择的计划具有的答复句子,并且根据第二使用者说话选择所述计划具有的一条下一候选指定信息,且基于所选择的那条下一候选指定信息输出下一候选答复句子。
根据本发明,所述会话控制器可以通过依次执行由所述下一候选指定信息所指定的一系列计划,以预定顺序输出多个答复句子。
在本发明的优选实施例中,所述计划会话单元在接收到与所述下一候选答复句子无关的所述第二使用者说话或不清楚所述第二使用者说话与所述下一候选答复句子之间是否存在关系时,保留所述下一候选答复句子的输出,然后在接收到与所保留的下一候选答复句子相关的第三使用者说话时输出所保留的下一候选答复句子。
根据上述实施例,当使用者的兴趣转移到不同于相关联的计划的主题的其他的主题时,所述会话控制器可以保留所述相关联的答复句子的输出。相反,当使用者的兴趣回到所述相关联的计划时,所述会话控制器可以从所述相关联的答复句子的保留部分恢复所述相关联的答复句子的输出。
在本发明的优选实施例中,所述会话控制器还包括对话空间会话单元,其用于根据第二使用者说话输出关于与所保留的下一候选答复句子不相关的主题的答复句子。
根据所述实施例,当使用者想要谈论不同于相关联的计划的主题的另一主题时,所述会话控制器可以保留所述相关联的答复句子的输出,并且根据关于另外的主题的使用者说话对使用者作出响应。然后,当使用者的兴趣返回到所述相关联的计划时,所述会话控制器可以从所述相关联的答复句子的保留部分恢复所述相关联的答复句子的输出。因此,所述会话控制器可以从所述相关联的答复句子的开始至末尾执行所述相关联的答复句子的输出,同时,在输出所述相关联的解释性句子期间根据使用者说话插入关于另一主题的会话,所述另一主题不同于所述相关联的计划的主题。
在本发明的优选实施例中,所述答复句子是解释性句子的一部分或是用于促使使用者选择的疑问句的一部分。
根据所述实施例,所述会话控制器可以作为预先准备于其中的、依次的多个分割的答复句子,输出长的解释性句子或长的疑问性句子。
图1是根据本发明的范例实施例的会话控制器的框图;图2是根据本发明的范例实施例的语音识别单元的框图;图3是根据本发明的范例实施例的单词假定提炼部分的处理时序图;图4是根据本发明的范例实施例的语音识别单元的操作的流程图;图5是根据本发明的范例实施例的会话控制器的部分放大框图;图6是图示说明根据本发明的范例实施例的字符串与从该字符串中所提取的词素之间的关系的图;
图7是图示说明根据本发明的范例实施例的说话的句子类型、代表说话的句子类型的字母表中的两个以上的字母、以及说话的句子的例子的图。
图8是图示说明根据本发明的范例实施例的存储在说话类型数据库中的字典的细节的图;图9是图示说明根据本发明的范例实施例的在会话数据库中建立的层次结构的细节的图;图10是图示说明根据本发明的范例实施例的在会话数据库中建立的层次结构中的主题辨别信息的提炼的图;图11是图示说明根据本发明的范例实施例的形成在会话数据库中的主题标题的内容的图;图12是图示说明根据本发明的范例实施例的与形成在会话数据库中的主题标题相关联的答复句子的类型的图;图13是图示说明根据本发明的范例实施例的与主题辨别信息相关联的主题标题、答复句子和下一计划指派信息的内容的图;图14是图示说明根据本发明的范例实施例的计划空间的图;图15是图示说明根据本发明的范例实施例的计划转换的一个例子的图;图16是图示说明根据本发明的范例实施例的计划转换的另一个例子的图;图17是图示说明根据本发明的范例实施例的计划会话控制处理的细节的图;图18是根据本发明的范例实施例的会话控制单元中的主处理的流程图;图19是根据本发明的范例实施例的计划会话控制处理的一部分的流程图;图20是根据本发明的范例实施例的计划会话控制处理的其余部分的流程图;图21是根据本发明的范例实施例的基本控制状态的转换图;图22是根据本发明的范例实施例的对话空间会话控制处理的流程图。
具体实施例方式
下面将参照图1-22描述本发明的范例实施例。在所述范例实施例中,本发明提出的会话控制器用于输出对使用者说话的回答以及和使用者建立会话。
(1.会话控制器的结构)(1-1.总结构)会话控制器1中包括诸如计算机或工作站的信息处理器,或对应于信息处理器的硬件。信息处理器具有中央处理单元(CPU)、主存储器(随机访问存储器RAM)、只读存储器(ROM)、输入输出设备(I/O设备)、以及外部存储设备,例如硬盘。在ROM或外部存储设备中存储有用于使信息处理器作为会话控制器1工作的程序,以及用于使信息处理器执行会话控制方法的程序。所述CPU读取在主存储器上的程序并执行程序,从而实现会话控制器1或会话控制方法。注意到,所述程序可以存储在计算机可读程序记录介质或外部设备中,所述计算机可读程序记录介质为例如磁盘、光盘、磁光盘、高密度光盘(CD)或数字视频光盘(DVD),所述外部设备为例如应用服务提供商(ASP)的服务器。在这种情况下,所述CPU从计算机可读程序记录介质或外部设备读取程序到主存储器上并执行所述程序。
如图1所示,会话控制器1包括输入单元100、语音识别单元200、会话控制单元300、句子分析单元400、会话数据库500、输出单元600、和语音识别字典存储器700。
(1-1-1.输入单元)输入单元100接收由使用者提供的输入信息(使用者说话)。输入单元100将所接收的说话对应的语音作为语音信号输出给语音识别单元200。注意到,输入单元100可以是用于输入字符信息的键盘或触摸板。在这种情况下,省略语音识别单元200。
(1-1-2.语音识别单元)语音识别单元200,根据说话的内容,识别与在输入单元100所接收到的说话的内容对应的字符串。具体地,语音识别单元200在从输入单元100接收到语音信号时,基于所述的语音信号将所接收到的语音信号与会话数据库500及存储于语音识别字典存储器700中的字典相比较。然后,语音识别单元200将基于所述语音信号所估计的语音识别结果输出到会话控制单元300。语音识别单元200向会话控制单元300请求获取会话数据库500的存储器内容,然后接收会话控制单元300根据语音识别单元200的请求而检索到的会话数据库500的存储器内容。注意到,语音识别单元200可以直接检索会话数据库500的存储器内容。
(1-1-2-1.语音识别单元的结构)如图2所示,语音识别单元200包括特征提取部分200A、缓冲存储器(BM)200B、单词检索部分200C、缓冲存储器(BM)200D、候选确定部分200E、和单词假定提炼部分200F。单词检索部分200C和单词假定提炼部分200F连接到语音识别字典存储器700。候选确定部分200E经会话控制单元300连接到会话数据库500。
语音识别字典存储器700中存储音素隐马尔可夫模型(phoneme hiddenmarkov model,音素HMM)。音素HMM具有各种状态,其中每种状态包括下面的信息(a)状态号;(b)可接受的上下文类;(c)前面状态和后续状态的列表;(d)输出概率分布密度的参数;以及(e)自转换概率和到后续状态的转换概率。在所述范例实施例中,音素HMM是通过转变规定的说话者混合HMM而产生的,以识别相应分布是由哪些说话者得到的。输出概率分布函数具有包括34维对角协方差矩阵的混合高斯分布。语音识别字典存储器700中进一步存储单词字典。每个字符串都存储在单词字典中,每个字符串都代表了怎样逐个单词的在音素HMM中读取单词。
说话者的语音在输入到麦克之后输入到特征提取部分200A,然后转变成语音信号。特征提取部分200A在对输入语音信号执行A/D转换后从语音信号中提取特征参数,然后输出特征参数到缓冲存储器200B。可以提出各种用于提取特征参数的方法。例如,特征提取部分200A执行LPC分析以提取34维特征参数,该34维特征参数包括对数幂、16维对数倒频谱系数、Δ对数幂、以及16维Δ对数倒频谱系数。成熟的提取的特征参数经缓冲存储器200B输入到单词检索部分200C。
单词检索部分200C,基于从特征提取部分200A输入的特征参数和存储在语音识别字典存储器700中的音素HMM和单词字典,通过使用一次通过Viterbi解码方法检索单词假定,然后计算相似性。单词检索部分200C每次逐个音素HMM状态的计算单词中的相似性和语音发起的相似性。更具体地,每个相关联的单词的标识号、每次相关联的单词的语音发起时间、以及每个相关联的单词发出之前发出的之前的单词,都计算相似性。单词检索部分200C可以排除所计算的相似性中具有最低相似性的单词假定以减少计算机吞吐量。单词检索部分200C经缓冲存储器200D输出检索到的单词假定、与检索到的单词假定相关联的相似性、以及关于语音发起时间之后经过的时间的信息(如,帧数量)到候选确定部分200E和单词假定提炼部分200F。
候选确定部分200E参照会话控制单元300将检索到的单词假定和规定的对话空间中的主题辨别信息相比较,然后确定所检索到的单词假定中是否存在与主题辨别信息一致的一个单词假定。如果存在这样一个单词假定,则候选确定部分200E将该单词假定作为识别结果输出到会话控制单元300。如果没有这样一个单词假定,则候选确定部分200E要求单词假定提炼部分200F对检索到的单词假定进行提炼。
下面将描述候选确定部分200E的操作。假设下面的情况(a)单词检索部分200C输出多个单词假定(“KANTAKU(重申)”、“KATAKU(申辩)”、以及“KANTOKU(电影导演)”)以及分别与多个单词假定相关联的多个相似性(识别度)到候选确定部分200E;(b)所述规定的对话空间是关于电影的空间;(c)所述主题辨别信息包括“KANTOKU(电影导演)”;(d)“KANTAKU(重申)”的相似性在多个相似性中具有最高值;以及(e)“KANTOKU(电影导演)”的相似性在多个相似性中具有最低值。
候选确定部分200E将检索到的单词假定与规定对话空间中的主题辨别信息进行比较,然后确定一个单词假定“KANTOKU(电影导演)”与所述主题辨别信息一致。候选确定部分200E将该单词假定“KANTOKU(电影导演)”作为识别结果输出给会话控制单元300。由于这样的处理,相对于另外的单词假定“KANTAKU(重申)”和“KATAKU(申辩)”,优先选择了与主题“电影”相关联的、说话者当前发出的单词假定“KANTOKU(电影导演)”,而单词假定“KANTAKU(重申)”和“KATAKU(申辩)”的相似性具有比“KANTOKU(电影导演)”的相似性更高的值。结果,候选确定部分200E可以输出对话上下文中的识别结果。
另一方面,如果没有这样一个单词假定,则候选确定部分200E要求单词假定提炼部分200F对检索到的单词假定进行提炼。单词假定提炼部分200F基于单词检索部分200C经由缓冲存储器200D输出的检索到的单词假定,参考在语音识别字典存储器700中存储的统计语言模型,然后对检索到的单词假定进行提炼,以便从说话者在不同的语音发起时间开始发出且在同一语音终止时间结束发出的相同的单词的单词假定中选择一个单词假定。该单词假定在每次每个相关联的相同单词的头部音素上下文的时候从不同的语音发起时间到同一的语音终止时间计算的相似性中具有最高的相似性。在所述范例实施例中,定义表示三个音素串的头部音素上下文,所述三个音素包括对于在所述相关联的相同单词之前的单词的单词假定的末尾音素以及对于所述相关联的相同单词的单词假定的第一和第二音素。在所述提炼之后,单词假定提炼部分200F将在所有提炼的单词假定的单词串中具有最高相似性的单词假定的一个单词串作为识别结果输出到会话控制单元300。
下面参照图3描述由单词假定提炼部分200F所执行的单词提炼处理。
假设作为第(i-1)个单词W(i-1)的单词假定有六个假定Wa、Wb、Wc、Wd、We、Wf,第i个单词Wi包括音素串a1、a2、……an,其中第i个单词Wi在第(i-1)个单词W(i-1)之后。还假设前三个假定Wa、Wb、Wc和后三个假定Wd、We、Wf的末尾音素分别与末尾音素“x”、“y”相同。如果在同一语音终止时间te,三个假定具有三个在前的假定Wa、Wb、Wc,而一个假定具有三个在前的假定Wd、We、Wf,则单词假定提炼部分200F从具有相互相同的头部音素上下文的前三个假定中选择具有最高相似性的一个假定,然后排除另外两个假定。
在上面的例子中,因为后面的一个假定的头部音素上下文不同于前三个假定的头部音素的上下文,即,后面一个假定的在前假定的末尾音素“y”不同于前面三个假定的在前假定的末尾音素“x”,单词假定提炼部分200F并没有排除后面的一个假定。单词假定提炼部分200F每个在前假定的末尾音素留下一个假定。
可以定义头部音素上下文,该头部音素上下文表示包括对于相关联的相同单词之前的单词的单词假定的末尾音素的多音素串,包括对于相关联的相同单词之前的单词的单词假定的至少一个音素的音素串,包括对于相关联的相同单词的单词假定的第一音素的音素串。
特征提取部分200A、单词检索部分200C、候选确定部分200E、以及单词假定提炼部分200F的每一个都由诸如微型计算机之类的计算机构成。缓冲存储器200B、200D以及语音识别字典存储器700每一个都由诸如硬盘之类的存储单元构成。
在所述范例实施例中,代替使用单词检索部分200C和单词假定提炼部分200F来执行语音识别,语音识别单元200可以由音素比较部分和语音识别部分组成,其中所述音素比较部分配置为参照音素HMM,所述语音识别部分配置为通过参照根据“一次通过动态规划(One Pass DP)”算法的统计语言模型来执行语音识别。
在上述范例实施例中,代替语音识别单元200,组成会话控制器1的一部分的会话数据库500和语音识别字典存储器700,这些元件可以形成独立于会话控制器1的语音识别装置。
(1-1-2-2.语音识别单元的操作)将参照图4描述语音识别单元200的操作。
在步骤S401,当语音识别单元200从输入单元100接收语音信号时,其对包含在所接收的语音信号中的语音进行特征分析以产生特征参数。在步骤S402,语音识别单元200将所产生的特征参数与存储在语音识别字典存储器700中的音素HMM和语言模型进行比较,然后检索一定数量的单词假定并计算所述单词假定的相似性。在步骤S403,语音识别单元200将所检索的单词假定与规定对话空间内的主题辨别信息进行比较。在步骤S404,语音识别单元200确定所检索的单词假定中是否存在与主题辨别信息一致的一个单词假定。如果存在这样一个单词假定,则语音识别单元200将该单词假定作为识别结果输出到会话控制单元300(步骤S405)。如果不存在这样一个单词假定,则语音识别单元200根据所计算的单词假定的相似性,将具有最高相似性的一个单词假定作为识别结果输出到会话控制单元300(步骤S406)。
(1-1-3.语音识别字典存储器)语音识别字典存储器700存储与其中的标准语音信号相对应的字符串。当进行比较时,语音识别单元200为与所接收到的语音信号相对应的字符串识别一个单词假定,然后将该识别的单词假定作为字符串信号(识别结果)输出给会话控制单元300。
(1-1-4.句子分析单元)下面将参照图5描述句子分析单元400的结构。
句子分析单元400分析在输入单元100或语音识别单元200处识别的字符串。句子分析单元400包括字符串识别部分410、词素提取部分420、词素数据库430、输入类型确定部分440、和说话类型数据库450。字符串识别部分410将在输入单元100或语音识别单元200处识别的字符串划分成片段。片段是指在不破坏语法意义的程度下尽可能多地划分字符串而产生的句子。具体地,当字符串包括超过一定级别的时间间隔时,该字符串标识部分410在那部分划分该字符串。该字符串识别部分410将所产生的字符串输出到词素提取部分420和输入类型确定部分440。下面将要描述的“字符串”是指一个句子的字符串。
(1-1-4-1.词素提取单元)基于由在字符串识别部分410的划分而产生的句子的字符串,词素提取部分420从该句子的字符串中提取构成该字符串的最小单元的词素作为第一词素信息。在所述范例实施例中,词素是指在字符串中显示的单词结构的最小单元。单词结构的最小单元可以是例如包括名词、形容词和动词的语音的一部分。
在所述范例实施例中,如图6所示,在m1、m2、m3......处示出词素。更详细地,当从字符串识别部分410接收字符串时,词素提取部分420将所接收到的字符串与存储在词素数据库430中的词素组(将所述词素组准备为词素字典,其中,对于属于语音的各部分的每个词素描述方向单词、读法、和部分语音)进行比较。在比较时,词素提取部分420从字符串中提取与所存储的词素组中的一些匹配的词素(m1、m2......)。除了所提取的词素之外的词素(n1、n2、n3......)可以例如是辅助动词。
词素提取部分420将所提取的词素作为第一词素信息输出到主题辨别信息检索部分350。注意到,不需要结构化第一词素信息。在所述范例实施例中,结构化是指基于语音的部分对包含在字符串中的词素进行分类和排列。例如,将字符串划分成词素,然后以诸如主语、宾语和谓语之类的规定的顺序排列词素。所述范例实施例即使使用结构化的第一词素信息也可以实现。
(1-1-4-2.输入类型确定单元)输入类型确定部分440基于在字符串识别部分410识别的字符串,确定说话的内容的类型(说话类型)。在所述范例实施例中,所述说话类型是用于识别所述说话的内容的类型的信息,并且是指例如图7中所示的“说话的句子的类型”中的一个。
在上述范例实施例中,“说话的句子的类型”包括陈述句(DDeclaration),时间句子(TTime),位置句子(LLocation),否定的句子(NNegation)等,如图7所示。这些类型的句子以肯定句和疑问句形成。陈述句是指表示使用者的意见或想法的句子。在所述范例实施例中,例如,图7中所示的句子“我喜欢Sato”是肯定句。位置句子是指包括位置的概念的句子。时间句子是指包括时间的概念的句子。否定句是指否定陈述句的句子。图7示出了“说话的句子的类型”的示例性句子。
在所述范例实施例中,当输入类型确定部分440确定“说话的句子的类型”时,输入类型确定部分440使用陈述性表达字典来确定其是陈述句、否定性表达字典来确定其是否定句等等,如图8中所示。具体地,当从字符串识别部分410接收字符串时,输入类型确定部分440基于字符串将所接收的字符串与存储在说话类型数据库450中的字典进行比较。当比较时,输入类型确定部分440从所述字符串中提取与所述字典相关的元素。
基于所提取的元素,输入类型确定部分440确定“说话的句子的类型”。当字符串包括例如声明一个事件的元素时,输入类型确定部分440确定包括所述元素的字符串是陈述句。输入类型确定部分440输出所确定的“说话的句子的类型”到答复检索部分380。
(1-1-5.会话数据库)下面将参照图9描述会话数据库500中存储的数据的结构。
如图9所示,会话数据库500存储多条用于识别会话的主题的主题辨别信息810。各条主题辨别信息810与另外一条主题辨别信息810相关联。例如,如果识别了一条主题辨别信息C(810),则也识别了与该条主题辨别信息C(810)相关联的三条主题辨别信息A(810)、B(810)、D(810)。
在所述范例实施例中,一条主题辨别信息是指将由使用者输入的内容或将输出给使用者的答复句子相关的关键词。
各条主题辨别信息810与一个或多个主题标题820相关联。各个主题标题820由一个字符、多个字符串、或通过结合这些所形成的词素构成。各个主题标题820与将要输出给使用者的答复句子830相关联。多个答复类型分别与答复句子830相关联,各个答复类型表示所述答复句子830的类型。
下面将描述一条主题辨别信息810与另外一条主题辨别信息810之间的关联性。在所述范例实施例中,信息X与信息Y之间的关联是指,如果读出信息X,则可以读出与信息X关联的信息Y。例如,将在信息X的数据中存储有用于读取信息Y的信息(例如,指示了存储了信息Y的地址的指针,存储了信息Y的物理存储器地址,或者存储了信息Y的逻辑地址)的状态称为“信息Y与信息X关联”。
在所述范例实施例中,如图10所示,以相对于另外一条主题辨别信息的清楚的关系,作为上位概念、下位概念、同义词或反义词(未示出)存储各条主题辨别信息。例如,作为主题辨别信息810A(电影)的上位概念的主题辨别信息810B(娱乐)与主题辨别信息810A相关联并存储在高于主题辨别信息810A(电影)的上层中。
还有,作为主题辨别信息810A(电影)的下位概念的主题辨别信息810C1(电影导演)、主题辨别信息810C2(领衔主演)、主题辨别信息810C3(发行公司)、主题辨别信息810C4(上映时间)、主题辨别信息810D1(七个日本武士)、主题辨别信息810D2(乱)、主题辨别信息810D3(保镖)......都与主题辨别信息810A(电影)相关联,且存储在低于主题辨别信息810A(电影)的下层。
同义词900与主题辨别信息810A(电影)相关联。例如,同义词900(工作、内容、电影院)作为主题辨别信息810A的关键词“电影”的同义词而存储。由此,在关键词“电影”没有包含于说话中的情况下,如果关键词“工作”、“内容”、“电影院”中至少一个包含于所述说话中,则会话控制器1可以将主题辨别信息810A作为包含于所述说话中的主题辨别信息处理。
当会话控制器1识别主题辨别信息810时,会话控制器1可以参照会话数据库500所存储的内容,以高速检索且提取与识别的主题辨别信息810相关联的另外的主题辨别信息810以及主题辨别信息810的主题标题820或答复句子830。
下面将参照图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可以有另外的含义(语音的其他部分)。
如图11所示,当例如主语是“七个日本武士”,形容词是“有趣的”时,主题标题8202(第二词素信息)包括包含于第一辨别信息1001中的词素“七个日本武士”以及包含于第三辨别信息1003中的词素“有趣的”。注意到,在第二辨别信息1002中显示“*”是因为主题标题8202没有包含第二辨别信息1002的项中的任何词素。
主题标题8202(七个日本武士;*,有趣的)具有“七个日本武士是有趣的”的含义。下面,第一辨别信息1001、第二辨别信息1002、以及第三辨别信息1003以从左至右的顺序包含在主题标题8202的括号中。当主题标题820不包含辨别信息的项中的任何词素时,在那部分显示“*”。
注意到,构成主题标题820的辨别信息可能具有另外的辨别信息(例如第四辨别信息)。
将参照图12描述答复句子830。如图12所示,将答复句子830分类成不同的类型(响应的类型),如,陈述(DDeclaration),时间(TTime),位置(LLocation),否定(NNegation),以使答复适用于由使用者所提供的说话的句子的类型。在“A”处表示肯定句,而在“Q”处表示疑问句。
将参照图13描述主题辨别信息810的数据结构。如图13所示,主题辨别信息810“Sato”与多个主题标题(820)1-1、1-2、......相关联。主题标题(820)1-1、1-2、......分别与答复句子(830)1-1、1-2、......相关联。答复句子830是对于各种响应类型所准备的。
当主题标题(820)1-1例如是(Sato;*;喜欢){这些是提取的包含于“我喜欢Sato”中的词素}时,与主题标题(820)1-1相关联的答复句子(830)1-1包括(DA陈述性的肯定句“我也喜欢Sato”)和(TA时间肯定性句子“我喜欢正在击球的Sato”)。下面将要描述的答复检索部分380参照输入类型确定部分440的输出,检索与主题标题820相关联的答复句子830中的一个。
各条下一计划指定信息840与各个答复句子830相关联。下一计划指定信息840是用于指定响应使用者的说话将要优先输出的答复句子(后面称为下一答复句子)的信息。如果下一计划指定信息840是用于确定下一答复句子的信息,则我们可以定义任何信息为下一计划指定信息840。例如,将用于确定存储在会话数据库500中的所有答复句子的至少一个的答复句子ID定义为下一计划指定信息840。
在所述范例实施例中,将下一计划指定信息840描述为用于由答复句子确定下一答复句子的信息(例如,答复句子ID)。但是,下一计划指定信息840可以是用于由主题辨别信息810和主题标题820确定下一答复句子的信息。例如,将主题辨别信息ID和主题标题ID定义为下一计划指定信息840。在这种情况下,因为将多个答复句子指定为下一答复句子,将下一答复句子称为下一答复句子组。将包含于下一答复句子组中的任何答复句子输出为答复句子。
(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的要求发送部分或全部对话历史给主题辨别信息检索部分350、省略句补充部分360、主题检索部分370和/或答复检索部分380的功能。
(1-1-6-2.计划会话处理部分)计划会话处理部分320执行计划且具有根据所述计划建立使用者与会话控制器1之间的会话的功能。注意的是,所述计划是指按照规定的顺序提供预定的答复给使用者。
计划会话处理部分320还具有响应使用者的说话按照规定的顺序输出所述预定答复的功能。
如图14中所示,计划空间1401中包括多个计划1402(计划1、2、3、4)。计划空间1401是存储在会话数据库500中的一组所述多个计划1402。会话控制器1选择预先定义的一个计划1402以在起动会话控制器1或起动会话时使用,或响应各使用者说话的内容在计划空间1401中随机选择任一计划1402。然后,会话控制器1通过使用所选择的计划1402输出与使用者说话相对应的答复句子。
如图15所示,各计划1402中包括答复句子1501以及与答复句子1501相关联的下一计划指定信息1502。下一计划指定信息1502是用于指定的一个计划1402的信息,该计划1402包含将要在与该下一计划指定信息1502相关联的答复句子1501之后向使用者输出的一个答复句子(下一候选答复句子)1501。计划1(1402)中包括执行计划1时会话控制器1输出的答复句子A(1501),以及与所述答复句子A(1501)相关联的下一计划指定信息1502。下一计划指定信息1502是用于确定计划2(1402)的信息(ID002),计划2(1402)包括作为对所述答复句子A(1501)的下一候选答复句子的答复句子B(1501)。以同样的方式,计划2(1402)中包括答复句子B(1501)和与答复句子B(1501)相关联的下一计划指定信息1502。下一计划指定信息1502是用于确定另一计划的信息(ID043),该另一计划包括作为对所述答复句子B(1501)的下一候选答复句子的另一答复句子。
因此,计划1402通过下一计划指定信息1502相互链接,这实现了将一系列内容输出给使用者的计划会话。即,通过将一个人想要告诉的内容(说明性的句子、声明句子、质问等)划分为多个答复句子,然后作为计划准备所述分割的答复句子的顺序,就能够响应使用者的说话,按顺序向使用者提供答复句子。注意到,响应对于在前的答复句子的使用者说话,不需要将包含于由下一计划指定信息1502所指定的计划1402中的答复句子1501马上输出给使用者。例如,在与使用者进行关于除了当前计划的一个之外的主题的对话之后,会话控制器1可以将包含于由下一计划指定信息1502所指定的计划1402中的答复句子输出给使用者。
在图15中所示的答复句子1501与图13中所示的答复句子830的一个对应。还有,在图15中所示的下一计划指定信息1502与图13中所示的下一计划指定信息840对应。
在图15中将计划1402之间的链接限定到一维矩阵。如图16所示,计划1′(1402)中包括答复句子A′(1501)和分别与包含于计划2′、3′中的两个答复句子B′、C′(1501)相关联的两条下一计划指定信息1502(ID002′、003′)。会话控制器1二选一地选择答复句子B′、C′(1501)中的一个并在将答复句子A′(1501)输出给使用者之后完成计划1′(1402)。因此,计划1402之间的链接可以是树形的阵列或是网状阵列。
每个计划1402具有一条或多条下一计划指定信息1502。注意到,用于会话的结束的计划1402中可以没有下一计划指定信息1502。
如图17所示,计划14021、14022、14023、14024分别与用于通知使用者关于危机管理的信息的答复句子15011、15012、15013、15014对应。答复句子15011、15012、15013、15014作为总体构成连贯的句子(说明性句子)。计划14021、14022、14023、14024中包括ID数据17021、17022、17023、17024,其分别具有值1000-01、1000-02、1000-03、1000-04。注意到,在ID数据的连字符之后的数字表示相关联的计划的输出顺序。计划14021、14022、14023、14024中还包括下一计划指定信息15021、15022、15023、15024,其分别具有值1000-02、1000-03、1000-04、1000-0F。在下一计划指定信息15024的连字符之下的数字“0F”表示答复句子15014是连贯的句子的末尾,因为在答复句子15014之后没有要输出的计划。
在这个例子中,如果使用者说话是“请告诉我当发生大地震时所应用的危机管理”,则计划会话处理部分320开始执行该系列计划。更详细地,当计划会话处理部分320接收使用者说话“请告诉我当发生大地震时所应用的危机管理”时,计划会话处理部分320检索计划空间1401并检查是否有包括与所述使用者说话对应的答复句子15011的计划14021。这里,包含于计划14021中的使用者说话字符串17011对应于使用者说话“请告诉我当发生大地震时所应用的危机管理”。
如果计划会话处理部分320发现计划14021,则计划会话处理部分320检索包含于计划14021中的答复句子15011。然后,计划会话处理部分320输出答复句子15011作为对使用者说话的答复,且参照下一计划指定信息15021确定下一候选答复句子。
接下来,当计划会话处理部分320在输出答复句子15011之后经输出单元100、语音识别单元200等接收另一个使用者说话时,计划会话处理部分320检查是否输出由下一计划指定信息15021所指定的计划14022中所包含的答复句子15012。更具体地,计划会话处理部分320将所接收到的使用者说话与和答复句子15012相关联的使用者说话字符串17012或主题标题820(图17中未示出)比较。如果它们彼此相关,则计划会话处理部分320输出答复句子15012作为对使用者说话的答复,且参照下一计划指定信息15022确定下一候选答复句子。
用同样的方式,计划会话处理部分320根据一系列使用者说话发送计划14023、14024并输出答复句子15013、15014。计划会话处理部分320在答复句子15014的输出完成的时候结束计划执行。因此,计划会话处理部分320可以通过依次执行计划14021、14022、14023、14024以预先定义的顺序向使用者提供会话内容。
(1-1-6-3.对话空间会话控制处理部分)如图5所示,对话空间会话控制处理部分330包括主题辨别信息检索部分350、省略句补充部分360、主题检索部分370以及答复检索部分380。管理部分310控制会话控制单元300的整体。
对话历史是用于确定使用者与会话控制器1之间的会话的主题与题目的信息,且包括发现的主题辨别信息、发现的主题标题、使用者输入句子主题辨别信息、以及答复句子主题辨别信息中的至少一个。发现的主题辨别信息、发现的主题标题、答复句子主题辨别信息不限于由最后的会话所定义的信息。它们可以是在指定的过去的时段期间变成它们的信息或是它们的积累记录。
(1-1-6-3-1.主题辨别信息检索部分)主题辨别信息检索部分350将在词素提取部分420所提取的第一词素信息与多条主题辨别信息相比较,且从所述多条主题辨别信息中检索与构成第一词素信息的部分的词素对应的一条主题辨别信息。具体地,当从词素提取部分420收到的第一词素信息是两个词素“Sato”和“喜欢”时,主题辨别信息检索部分350将所收到的第一词素信息与主题辨别信息组进行比较。
在比较时,当主题辨别信息组包括构成第一词素信息部分的词素(例如“Sato”)作为发现的主题标题820focus时,主题辨别信息检索部分350输出发现的主题标题820focus给答复检索部分380。这里,使用参考号码820focus以区分上次检索的主题标题820与另一个主题标题820。另一方面,当主题辨别信息组不包括构成第一词素信息部分的词素作为发现的主题标题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可以使该句子成为正确的日语。
基于组“D”,省略句补充部分360检索与补充的第一词素信息相关的主题标题820。当省略句补充部分360发现与补充的第一词素信息相关的主题标题820时,省略句补充部分360输出所述主题标题820到答复检索部分380。答复检索部分380可以基于在省略句补充部分360处检索到的适当的主题标题820输出最适合于使用者说话的内容的答复句子830。
省略句补充部分360不限于增加组“D”到第一词素信息。基于所发现的主题标题,省略句补充部分360可以增加包含于构成主题标题的第一辨别信息、第二辨别信息、和第三辨别信息中的任何一个的词素到所提取的第一词素信息。
(1-1-6-3-3.主题检索部分)当省略句补充部分360没有确定主题标题820时,主题检索部分370将第一词素信息与和使用者输入句子主题辨别信息相关联的主题标题820相比较,并且从主题标题820之中检索最适于第一词素信息的主题标题820。
更详细地,当主题检索部分370从省略句补充部分360接收检索命令信号时,主题检索部分370基于包含于所接收到的检索命令信号中的使用者输入句子主题辨别信息和第一词素信息,从与使用者输入句子主题辨别信息相关联的主题标题820之中检索最适于第一词素信息的主题标题820。主题检索部分370将所检索到的主题标题820作为检索结果信号输出到答复检索部分380。
例如,如图13所示,由于所接收到的第一词素信息“Sato,喜欢”包括主题辨别信息810“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.答复检索部分)基于在省略句补充部分360或主题检索部分370所检索的主题标题820,答复检索部分380检索与主题标题相关联的答复句子。还有,基于在主题检索部分370所检索的主题标题820,答复检索部分380将与主题标题820相关联的不同的响应类型与在输入类型确定部分440所确定的说话类型相比较。当比较时,答复检索部分380从响应类型之中检索与所确定的说话类型相一致的响应类型。
例如,如图13所示,当在主题检索部分370所检索的主题标题是主题标题1-1“Sato;*;喜欢”时,答复检索部分380从与主题标题1-1相关联的答复句子1-1(DA,TA等)之中确定响应类型(DA),该响应类型(DA)与在输入类型确定部分440所确定的说话的句子的类型(如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将所检索到的答复句子作为答复句子信号输出到管理部分310。在从答复检索部分380接收到答复句子信号时,管理部分310将所接收到的答复句子信号输出到输出单元600。
(1-1-6-4.CA会话处理部分)当计划会话处理部分320或对话空间会话控制处理部分330没有确定对使用者的答复句子时,CA会话处理部分340输出答复句子,使得会话控制器1可以根据使用者说话的内容继续与使用者说话。
下面将参照图1再次描述会话控制器1的结构。
(1-1-7.输出单元)输出单元600输出在答复检索部分380检索到的答复句子。输出单元600可以是例如扬声器或显示器。具体地,当从答复检索部分380接收到答复句子时,输出单元600基于答复句子用声音输出所接收到的答复句子(例如,我也喜欢Sato)。
下面将参照图18到图22描述会话控制器1的操作。
当会话控制单元300接收使用者说话时,执行图18中所示的主处理。在执行主处理时,将对所接收的使用者说话的答复句子输出以建立使用者与会话控制器1之间的会话(对话)。
在步骤S1801,计划会话处理部分320执行计划会话控制处理。计划会话控制处理是用于执行计划的处理。
下面将参照图19、20描述计划会话控制处理的一个例子。
在步骤S1901,计划会话处理部分320检查基本控制状态信息。将关于计划的执行是否完成的信息作为基本控制状态信息存储于某存储区域。采用基本控制状态信息来描述计划的基本控制状态。
如图21所示,称为场景的计划类型具有四个基本控制状态(连结、取消、保持、以及继续)(1)连结当使用者说话与正在执行的计划1402相关时,更具体地,与对应于计划1402的主题标题820或例句1701相关时,在基本控制状态信息中设置连结。在连结中,计划会话处理部分320完成计划1402然后转移到与由下一计划指定信息1502所指定的答复句子1501相对应的另一计划1402。
(2)取消当确定使用者说话的内容要求计划1402的完成或确定使用者的兴趣转移到不同于正在执行的计划的事情时,在基本控制状态信息中设置取消。在取消中,计划会话处理部分320检索除了要取消的那个计划1402外,是否存在与使用者说话相对应的另一计划1402。如果存在这样的另一计划1402,则计划会话处理部分320开始该另一计划1402的执行。如果不存在这样的另一计划1402,则计划会话处理部分320结束一系列计划的执行。
(3)保持在使用者说话与正在执行的计划1402不相关时,更具体地,与对应于计划1402的主题标题820或例句1701不相关,且使用者说话不对应于基本控制状态“取消”时,在基本控制状态信息中设置保持。
在保持中,计划会话处理部分320确定在接收使用者说话时是否再次执行处于待处理/停止状态的计划1402。如果使用者说话不适于计划1402的再次执行(如,使用者说话与对应于该计划1402的主题标题820或例句1701不相关),则计划会话处理部分320开始执行另一计划1402或执行后面将要描述的对话空间会话控制处理(步骤S1802)。如果使用者说话适于计划1402的再次执行,则计划会话处理部分320基于所存储的下一计划指定信息1502输出答复句子1501。
还有,在保持中,如果使用者说话与相关联的计划1402不相关,则计划会话处理部分320检索另一计划1402以便输出一个答复句子,该答复句子不同于与相关联的计划1402对应的答复句子1501,或者执行对话对话空间控制处理。但是,如果使用者说话再次与相关联的计划1402相关,则计划会话处理部分320再次执行相关联的计划1402。
(4)继续当使用者说话与包含于正在执行的计划1402中的答复句子1501不相关、使用者说话的内容不对应于基本控制状态“取消”、且要基于使用者说话来进行解释的使用者的意图不清楚时,在基本控制状态信息中设置继续。
在继续中,计划会话处理部分320确定在接收使用者说话时是否再次执行处于待处理/停止状态的计划1402。如果使用者说话不适于计划1402的再次执行,则计划会话处理部分320执行下面将描述的CA会话控制处理,从而输出用于引起使用者的说话的答复句子。
在步骤S1902,计划会话处理部分320确定在基本控制状态信息中设置的基本控制状态是否是连结。如果基本控制状态是连结,则处理进行到步骤S1903。在步骤S1903,计划会话处理部分320确定答复句子1501是否是正在执行的计划1402中的最后的答复句子。
如果答复句子1501是最后的答复句子,则处理进行到步骤S1904。在步骤S1904,因为计划会话处理部分320已经传递了要答复使用者的所有内容,计划会话处理部分320在计划空间中检索以确定是否开始另一计划1402。在步骤S1905,计划会话处理部分320确定在计划空间中是否存在与使用者说话对应的另一计划1402。如果不存在另一计划1402,则因为没有任何计划1402要提供给使用者,计划会话处理部分320结束计划会话控制处理。
如果存在另一计划1402,则处理进行到步骤S1906。在步骤S1906中,计划会话处理部分320转移到另一计划1402,以开始执行该另一计划1402(包含于所述另一计划1402中的答复句子的输出)。
在步骤S1908中,计划会话处理部分320输出包含于相关联的计划1402中的答复句子1501。答复句子1501作为对使用者说话的答复输出,其提供要发送到使用者的信息。计划会话处理部分320在步骤S1908中已经结束答复句子输出的时候结束计划会话控制处理。
另一方面,在步骤S1903,如果答复句子1501不是最后的答复句子,则处理进行到步骤S1907。在步骤S1907中,计划会话处理部分320转移到与所输出的答复句子1501之后的答复句子1501(即由下一计划指定信息1502所确定的答复句子1501)相对应的计划1402。然后,处理进行到步骤S1908。
在步骤S1902,如果基本控制状态不是连结,则处理进行到步骤S1909。在步骤S1909,计划会话处理部分320确定在基本控制状态信息中设置的基本控制状态是否是取消。如果基本控制状态是取消,则因为没有要继续的计划1402,处理进行到步骤S1904。如果基本控制状态不是取消,则处理进行到步骤S1910。
在步骤S1910,计划会话处理部分320确定在基本控制状态信息中设置的基本控制状态是否是保持。如果基本控制状态是保持,计划会话处理部分320检索使用者是否对处于待处理/停止状态的计划1402感兴趣。如果使用者对计划1402感兴趣,则计划会话处理部分320再次执行处于待处理/停止状态的计划1402。
更详细地,如图20所示,在步骤S2001计划会话处理部分320检索处于待处理/停止状态的计划1402,然后在步骤S2002确定使用者说话是否与所述处于待处理/停止状态的计划1402相关。如果使用者说话与所述计划1402相关,则处理进行到步骤S2003。在步骤S2003,计划会话处理部分320转移到与使用者说话相关的计划1402,然后处理进行到步骤S1908。因此,计划会话处理部分320能够根据使用者说话再次执行处于待处理/停止状态的计划1402,这可以将预先准备的包含于计划1402的所有内容传递给使用者。如果使用者说话与所述计划1402无关,则处理进行到步骤S1904。
在步骤S1910,如果基本控制状态不是保持,则因为基本控制状态是继续,计划会话处理部分320结束计划会话控制处理而不输出答复句子。
如图18所示,当结束计划会话控制处理时,会话控制单元300执行对话空间会话控制处理(步骤S1802)。注意到,当在计划会话控制处理中输出答复句子(步骤S1801)时,会话控制单元300直接执行基本控制信息更新处理(步骤S1804)而不执行对话空间会话控制处理(步骤S1802)和CA会话控制处理(步骤S1803),然后结束主处理。
如图22所示,在步骤S2201,输入单元100接收使用者提供的使用者说话。更具体地,输入单元100接收携带了使用者说话的声音。输入单元100将与所接收的说话内容对应的语音作为语音信号输出到语音识别单元200。注意到,输入单元100可以接收由使用者输入的字符串(例如以文本格式输入的字符数据)代替声音。在这种情况下,输入单元100是用于输入字符信息的诸如键盘或触摸板之类的字符输入设备。
在步骤S2202,语音识别单元200基于由输入设备100所检索到的说话内容,识别与所述说话内容对应的字符串。更具体地,语音识别单元200在从输入单元100接收到语音信号时,识别与所述语音信号对应的单词假定(候选)。然后,语音识别单元200检索与所识别的单词假定对应的字符串并将所检索到的字符串输出到会话控制单元300(对话空间会话控制处理部分330)作为字符串信号。
在步骤S2203,字符串识别部分410将在语音识别单元200识别的字符串划分成片段。片段是指在不破坏语法意义的程序上尽可能多地划分字符串而产生的句子。更详细地,当字符串包括超过一定级别的时间间隔时,字符串识别部分410在那部分划分所述字符串。字符串识别部分410将所产生的字符串输出到词素提取部分420和输入类型确定部分440。优选的是,在从键盘输入字符串的情况下,字符串识别部分410在有标点符号或空格的部分划分字符串。
在步骤S2204,基于在字符串识别部分410识别的字符串,词素提取部分420提取构成字符串的最小单元的词素作为第一词素信息。更详细地,当从字符串识别部分410接收字符串时,词素提取部分420将所接收到的字符串与预先存储在词素数据库430中的词素组相比较。将所述词素组准备为词素字典,在该词素字典中,对于属于语音的相应部分的每个词素描述方向单词、读法、部分语音、和屈折形式。在比较时,词素提取部分420从所接收到的字符串中提取与所存储的词素组中的一些匹配的词素(m1、m2......)。词素提取部分420输出所提取的词素到主题辨别信息检索部分350作为第一词素信息。
在步骤S2205,输入类型确定部分440基于在字符串识别部分410识别的字符串,确定说话类型。具体地,当从字符串识别部分410接收字符串时,输入类型确定部分440基于所述字符串将所接收的字符串与存储在说话类型数据库450中的字典进行比较。当比较时,输入类型确定部分440从所述字符串中提取与所述字典相关的元素。基于所提取的元素,输入类型确定部分440确定各提取的元素属于哪个类型的说话句子。输入类型确定部分440输出所确定的说话的句子的类型到答复检索部分380。
在步骤S2206,主题辨别信息检索部分350将在词素提取部分420所提取的第一词素信息与发现的主题标题820focus相比较。如果构成第一词素信息的部分的词素与所述发现的主题标题820focus相关,则主题辨别信息检索部分350输出所述发现的主题标题820focus给答复检索部分380。如果构成第一词素信息的部分的词素与所述发现的主题标题820focus不相关,则主题辨别信息检索部分350输出所接收到的第一词素信息及使用者输入句子主题辨别信息到省略句补充部分360作为检索命令信号。
在步骤S2207,省略句补充部分360基于从主题辨别信息检索部分350接收到第一词素信息,增加发现的主题辨别信息和答复句子主题辨别信息到接收到第一词素信息。更具体地,用作为“W”的第一词素信息,以及作为“D”的一组发现的主题辨别信息和答复句子主题辨别信息,省略句补充部分360增加组“D”的一个或多个元素到第一词素信息“W”且产生补充的第一词素信息。然后,省略句补充部分360将所述补充的第一词素信息和与所述组“D”相关联的所有主题标题820比较,并检索与所述补充的第一词素信息相关的主题标题820。如果存在与所述补充的第一词素信息相关的主题标题820,则省略句补充部分360输出所述主题标题820到答复检索部分380。如果不存在与所述补充的第一词素信息相关的主题标题820,则省略句补充部分360输出所述第一词素信息及使用者输入句子主题辨别信息到主题检索部分370。
在步骤S2208,主题检索部分370将所述第一词素信息与所述使用者输入句子主题辨别信息相比较,并且从主题标题820之中检索最适于所述第一词素信息的主题标题820。更详细地,当主题检索部分370从省略句补充部分360接收检索命令信号时,主题检索部分370基于包含于所接收到的检索命令信号中的使用者输入句子主题辨别信息和第一词素信息,从与使用者输入句子主题辨别信息相关联的主题标题820之中检索最适于第一词素信息的主题标题820。主题检索部分370将所检索到的主题标题820输出到答复检索部分380作为检索结果信号。
在步骤S2209,基于在主题辨别信息检索部分350、省略句补充部分360或主题检索部分370检索到的主题标题820,答复检索部分380将与主题标题820相关联的不同类型的响应与在输入类型确定部分440所确定的说话的类型相比较。当比较时,答复检索部分380从响应的类型之中检索与所确定的说话类型相一致的响应类型。例如,当答复检索部分380从主题检索部分370接收检索结果信号并从输入类型确定部分440接收说话类型时,答复检索部分380基于与所接收的检索结果信号以及所接收的说话类型对应的主题标题,在与所述主题标题相关联的响应类型之中确定与说话类型(如DA)相一致的响应类型。
在步骤S2210,答复检索部分380经管理部分310将在步骤S2209检索到的答复句子830输出到输出单元600。当输出单元600从管理部分310接收答复句子830时,输出单元600输出所接收到的答复句子830。
如图18所示,当结束对话空间会话控制处理时,会话控制单元300执行CA会话控制处理(步骤S1803)。注意到,当在对话空间会话控制处理中输出了答复句子(步骤S1802)时,会话控制单元300直接执行基本控制信息更新处理(步骤S1804)而不执行CA会话控制处理(步骤S1803),然后结束主处理。
在CA会话控制处理中,会话控制单元300确定使用者说话是用于解释某事的说话、用于确定某事的说话、用于控诉或攻击某事的说话、或不同于上述的说话,然后输出与使用者说话内容对应的答复句子以及确定结果。由此,即使在计划会话控制处理或对话空间会话控制处理中没有输出适合于使用者说话的答复句子,会话控制单元300也可以输出允许会话流继续的桥接答复句子。
在步骤S1804中,会话控制单元300执行基本控制信息更新处理,在基本控制信息更新处理中,当计划会话处理部分320输出答复句子时,会话控制单元300的管理单元310在基本控制信息中设置连结。当计划会话处理部分320停止输出答复句子时,管理单元310在基本控制信息中设置取消。当对话空间会话控制处理部分330输出答复句子时,管理单元310在基本控制信息中设置保持。当CA会话处理部分340输出答复句子时,管理单元310在基本控制信息中设置继续。
在计划会话控制处理中参考在基本控制信息更新处理中设置的基本控制信息(步骤S1801),来继续或再开始一个计划。
如上所述,通过每当接收到使用者说话时执行主处理,会话控制器1可以根据使用者说话执行一个预先准备的计划,并对不包含于计划中的主题进行准确的响应。
权利要求
1.一种会话控制器,用于根据使用者说话输出答复句子,包括计划存储器单元,用于存储多个计划,其中每个计划具有一答复句子和一条或多条下一候选指定信息,所述一条或多条下一候选指定信息用于指定将要在答复句子之后输出的下一候选答复句子;以及计划会话单元,用于根据第一使用者说话选择存储在所述计划存储器单元中的一个计划且输出所选择的计划具有的答复句子,以及根据第二使用者说话选择所述计划具有的一条下一候选指定信息,并基于所选择的那条下一候选指定信息输出下一候选答复句子。
2.根据权利要求1所述的会话控制器,其中,所述计划会话单元在接收到与所述下一候选答复句子不相关的所述第二使用者说话或不清楚所述第二使用者说话与所述下一候选答复句子之间是否存在关系时,保留所述下一候选答复句子的输出,然后在接收到与所保留的下一候选答复句子相关的第三使用者说话时输出所保留的下一候选答复句子。
3.根据权利要求2所述的会话控制器,还包括对话空间会话单元,用于根据第二使用者说话输出关于与所保留的下一候选答复句子不相关的主题的答复句子。
4.根据权利要求1所述的会话控制器,其中所述答复句子是解释性句子的一部分。
5.根据权利要求1所述的会话控制器,其中所述答复句子是用于促使使用者选择的疑问句的一部分。
全文摘要
会话控制器根据使用者说话输出答复句子。所述会话控制器包括会话数据库和会话控制单元。所述会话数据库存储多个计划。各个计划具有一答复句子和用于指定将要在所述答复句子之后输出的下一候选答复句子的一条或多条下一计划指定信息。所述会话控制单元根据使用者说话选择存储在所述会话数据库中的一个计划并输出所选择计划具有的答复句子。然后,所述会话控制单元根据下一使用者说话选择所述计划具有的一条下一计划指定信息,并基于所选择的那条下一计划指定信息输出下一候选答复句子。一些计划具有一个解释性句子所分割成的多个答复句子。
文档编号G10L15/10GK1953056SQ20061013579
公开日2007年4月25日 申请日期2006年10月20日 优先权日2005年10月21日
发明者黄声扬, 胜仓裕 申请人:阿鲁策株式会社, 株式会社PtoPA
会话控制器的制作方法
相关推荐
专利名称:语音识别方法和系统的制作方法技术领域:本发明涉及语音识别技术领域,更具体地说,涉及语音识别方法和系统。背景技术:语音识别技术是一种对用户录入的语音信号进行识别,最终转化为文本字符串(也即识别结果为文本)的技术,其为自然人性的人机交
专利名称:液晶面板、液晶显示装置、电视接收装置和液晶面板的制造方法技术领域:本发明涉及一种液晶面板、液晶显示装置、电视接收装置和液晶面板的制造方法。背景技术:作为液晶显示装置的构成部件的液晶面板大致构成为,在确保规定的间隙的状态 下使一对基
专利名称:琵琶形转调箜篌的改进的制作方法技术领域:本实用新型涉及的一种民族乐器,具体地说是对乐器箜篌的改进。目前所使用的转调箜篌,是由装有转调机械的上臂、立柱、琵琶形立体式双面共鸣箱和装有踏板的底座组成。形为倒立三角形,在共鸣箱底边装有数支
模块化led灯具的制作方法【专利摘要】一种模块化LED灯具,它主要是由LED模块和控制系统构成,它的LED灯具模块为独立式自整流LED模块,并有独立的外壳;LED模块化灯具的光源散热器及外壳封装成的整体模组,多个模组的模组与模组之间相互独立
专利名称:一种led球泡灯的制作方法技术领域:本实用新型涉及一种LED灯,特别涉及一种散热效率高、制造成本低的LED球泡灯。背景技术:白光LED球泡灯是替代传统白炽灯泡的新型节能灯具。传统白炽灯(钨丝灯)耗能高、寿命短,在全球资源紧张的大环
基于医疗环境中的声音分析的医疗反馈系统的制作方法【专利摘要】本发明涉及一种基于医疗环境中的声音分析的医疗反馈系统(100)。利用能够分析并分类音频信号以便获得患者周围的所述医疗环境中的一个或多个声音源的列表的声音场景分析器(SSA,10),