具体实施方式
[A.第一实施例]
以下将参照附图对本发明的第一实施例进行说明。
[会话控制设备的结构示例]
[1.总体结构]
图1是根据本实施例的会话控制设备1的示意图。如图1所示,该会话控制设备1包括:输入单元100;语音识别单元200,其用作语音识别装置;会话控制单元300,其用作会话历史记录存储装置和会话控制装置;语句分析单元400,其用作语句分析装置;会话数据库500,其用作会话数据库装置;输出单元600;以及语音识别词典存储单元700,其用作语音识别词典存储装置。
[1-1.输入单元]
输入单元100获得由用户所输入的输入信息。以麦克风作为该输入单元100的一个示例。输入单元100将与所获取的话语内容对应的语音作为语音信号输出给语音识别单元200。
[1-2.语音识别单元]
语音识别单元200根据输入单元100所获取的话语内容,指定与该话语内容相对应的字符串。更具体地说,根据所输入的语音信号,语音识别单元200(其已从输入单元100接收了语音信号的输入)将该语音信号与存储在语音识别词典存储单元700中的词典和会话数据库500进行对照。
[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)先前状态和后续状态列表,(d)输出概率密度分布的参数,以及(e)自转变概率和向后续状态的转变概率。注意:由于必须指定每个分布是从哪个说话者得到的,因此在此实施例中所使用的音素HMM是通过对预定的说话者混合的HMM进行转换而产生的。其中,输出概率密度函数为具有34维对角协方差矩阵的混合高斯分布。此外,与单词对照单元200C连接的语音识别词典存储单元200存储单词词典。该单词词典存储指出了表示音素HMM的各个单词的读音的符号串。
将说话者所发出的语音输入麦克风等中,并且将其转换为语音信号,然后将其输入特征提取单元200A。特征提取单元200A对所输入的语音信号进行A/D转换,然后提取并输出特征参数。可以采用各种方法作为提取和输出特征参数的方法。以下述方法作为一个示例,该方法执行LPC分析并提取34维的特征参数,包括:对数功率、16阶倒谱系数、Δ对数功率、以及16阶Δ倒谱系数。通过缓存(BM)200B将所提取的特征参数的时间序列输入到单词对照单元200C中。
单词对照单元200C使用单通维特比解码(One Pass Viterbidecoding)方法,根据通过缓存200B所输入的特征参数的数据,利用音素HMM和存储在语音识别词典存储单元700中的单词词典来检测单词假设,并且计算似然度并将其输出。其中,在各个时刻对于每个HMM的每个状态,单词对照单元200C对单词内的似然度以及从话语开始的似然度进行计算。对于单词的识别号码、单词的起始时间、以及先前单词的各个差异而分别保持这些似然度。此外,为削减计算处理量,可以削减根据音素HMM和单词词典而计算的总似然度的低似然度的栅格假设。通过缓存200D,连同来自话语起始时间的时间信息(更具体的说,例如,帧号码)一起,单词对照单元200C将有关所检测的单词假设及其似然度的信息输出给候选确定单元200E和单词假设缩减单元200F。
候选确定单元200E参照会话控制单元500,将所检测的多个单词假设与预定会话空间中的话题指定信息进行比较,并判断在所检测的多个单词假设中是否存在与该预定会话空间中的话题指定信息匹配的单词假设。如果存在与该话题指定信息匹配的单词假设,则候选确定单元200E将该单词假设作为识别结果来输出。另一方面,如果不存在匹配该话题指定信息的单词假设,则候选确定单元200E请求单词假设缩减单元200F对这些单词假设进行缩减。
下面对候选确定单元200E的操作示例进行说明。假设:单词对照单元200C输出多个单词假设“kantaku”(单词“kantaku”在日语里是填海造地的意思)、“kataku”(单词“kataku”在日语里是借口的意思)、“kantoku”(单词“kantoku”在日语里是导演的意思),以及它们的似然度(识别率);预定会话空间涉及“电影”,并且其话题指定信息包括“kantoku”,但不包括“kantaku”和“kataku”。另外,“kantaku”的似然度最高,而“kantoku”的似然度最低,并且“kataku”的似然度居中。
在上述情况中,候选确定单元200E将所检测的多个单词假设和预定会话空间中的话题指定信息进行比较,判定单词假设“kantoku”与预定会话空间中的话题指定信息匹配,并且将该单词假设“kantoku”作为识别结果输出给会话控制单元。通过这种处理,相对于具有更高似然度(识别率)的“kantaku”和“kataku”,优先地选择与当前话题“电影”相关的“kantoku(导演)”。这使得可以输出符合会话语境的语音识别结果。
另一方面,如果不存在与话题指定信息匹配的单词假设,则单词假设缩减单元200F响应于来自候选确定单元200E的缩减单词假设的请求进行操作,以输出识别结果。单词假设缩减单元200F根据通过缓存200D从单词对照单元200C所输出的多个单词假设,参照存储在语音识别词典存储单元700中的统计语言模型,对于具有相同结束时间和不同起始时间的相同单词的单词假设,对这些单词假设进行缩减,使得对于该单词的各个先头音素环境,可以利用一个单词假设(该单词假设具有从话语起始时间至该单词的结束时间的所有计算出的似然度中最高的似然度)来表示这些单词假设。然后,单词假设缩减单元200F将缩减后在全部假设的单词串中具有最大似然度的假设单词串作为识别结果而输出。在此实施例中,优选地,要处理的单词的先头音素环境表示:包括该单词之前的一个单词假设的最后一个音素和该单词的单词假设的前两个音素在内的一行三个音素。
下面对单词假设缩减单元200F的单词缩减处理的示例进行说明。例如,假设,当将由音素串a1、a2、…、an所构成的第i个单词Wi置于第(i-1)个单词Wi-1之后时,存在六个假设Wa、Wb、Wc、Wd、We以及Wf作为单词Wi-1的单词假设。其中,假设前三个单词假设Wa、Wb和Wc的未尾音素为/x/,而后三个单词假设Wd、We和Wf的末尾音素为/y/。从结束时间te和先头音素环境相等的多个假设中删除具有最高总似然度的假设以外的假设。注意,由于从上数的第四个音素具有不同的先头音素环境,即,先前单词假设的未尾音素不是x而是y,因此不删除从上数的第四个假设。换言之,对于先前单词假设的各个未尾音素仅保留一个假设。
在上述实施例中,将单词的先头音素环境定义为包括该单词之前的一个单词假设的未尾音素和该单词的单词假设的前两个音素的一行三个音素。本发明并不限于此。该单词的先头音素环境可以是包括前一个单词假设的音素串(该音素串包括未尾音素和连续的多个先前单词假设中至少一个的音素)和一个音素串(该音素串包括该单词的单词假设的第一音素)的一行多个音素。
对于上述实施例,特征提取单元200A、单词对照单元200C、候选确定单元200E以及单词假设缩减单元200F由,例如,诸如数字计算机的计算机构成。缓存200B和200D以及语音识别词典存储单元700由,例如,诸如硬盘或存储器的存储装置构成。
对于上述实施例,使用单词对照单元200C和单词假设缩减单元200F进行语音识别。本发明并不限于此,并且可以包括,例如:音素对照单元,其参照音素HMM;以及语音识别单元,其利用(例如)单通DP算法,参照统计语言模型来执行单词的语音识别。
此外,在此实施例中,将语音识别单元200解释为会话控制装置1的一部分。然而,该语音识别单元200可以是独立的语音识别装置,包括语音识别单元200、语音识别词典存储单元700以及转换数据库500。
[1-2-2.语音识别单元的操作示例]
接下来,将参照图3对语音识别单元200的操作进行说明。图3是显示语音识别单元200的操作的示例的流程图。语音识别单元200在接收到来自输入单元100的语音信号后,对所输入的语音进行特征分析,以生成特征参数(步骤S301)。然后,该语音识别单元200将该特征参数和存储在语音识别词典存储单元中的音素HMM及语言模型进行比较,以获得预定数量的单词假设及其似然度(步骤S302)。随后,语音识别单元200将所获得的预定数量的单词假设和预定会话空间中的话题指定信息进行比较,以判断在所获得的预定数量的单词假设中是否存在与该预定会话空间中的话题指定信息相匹配的单词假设(步骤S303和S304)。如果存在与该话题指定信息相匹配的单词假设,则语音识别单元200输出该单词假设作为识别结果(步骤S305)。另一方面,如果不存在与该话题指定信息匹配的单词假设,则语音识别单元200根据所获得的单词假设的似然度,输出具有最大似然度的假设作为识别结果(步骤S306)。
[1-3.语音识别词典存储单元]
参照图1,现在对会话控制设备的结构示例进行说明。
语音识别词典存储单元700存储与一标准语音信号相对应的字符串。已经将该语音信号与存储在语音识别词典存储单元700中的词典进行了对照的语音识别单元200指定与对应于该语音信号的单词假设相对应的字符串,并且将所指定的字符串输出给会话控制单元300,作为字符串信号。
[1-4.语句分析单元]
语句分析单元400对输入单元100或语音识别单元200所指定的字符串进行分析。在此实施例中,如图4所示,该语句分析单元400包括字符串指定单元410、语素提取单元420、语素数据库430、输入类型判断单元440以及话语类型数据库(DB)450。字符串指定单元410将输入单元100和语音识别单元200所指定的字符串序列分割成多个短语。短语表示通过将一个字符串以不改变该字符串的语法意义的方式、尽可能小地进行分割而得到的一个分割后的语句。更具体地说,当在该字符串序列中存在具有固定长度或该固定长度以上的时间间隔时,字符串指定单元410在该部分中对该字符串进行分割。字符串指定单元410将所分割的多个字符串输出给语素提取单元420以及输入类型判断单元440。注意,假设以下将要说明的“字符串”表示每一个短语的字符串。
[1-5.语素提取单元]
根据字符串指定单元410所分割的一个短语的字符串,语素提取单元420从该字符串中提取构成字符串的最小单位的各个语素,作为第一语素信息。其中,本实施例中,语素是指表示为字符串的单词结构的最小单位。例如,作为单词结构的最小单位,存在诸如名词、形容词以及动词的多个品词。在此实施例中,如图5所示,可以将各个语素表示为m1、m2、m3、…。更具体地说,如图5所示,语素提取单元420(字符串从字符串指定单元410输入该语素提取单元420)将输入的字符串与预先存储在语素数据库430中的语素组(将该语素组准备为语素词典,在该语素词典中对索引词、读法、品词以及活用形式等进行了说明)进行对照。已经将输入的字符串与语素组进行了对照的语素提取单元420在该字符串中提取出与预先存储的语素组中的任一语素匹配的语素(m1、m2、…)。作为所提取的语素之外的语素(n1、n2、n3、…)的示例,有助动词等。该语素提取单元420将所提取的语素输出给话题指定信息检索单元320,作为第一语素信息。注意,不要求第一语素信息是结构化的。其中,“结构化”表示根据品词等对字符串中包含的多个语素进行分类并排列,例如,将作为所说的语句的一字符串转换为按照预定顺序(如“主语+宾语+表语”)排列多个语素所形成的数据。不用说的是,即使使用结构化的第一语素信息,该第一语素也不会有碍于本发明的实现。
[1-6.输入类型判断单元]
输入类型判断单元440根据字符串指定单元410所指定的字符串来判断话语内容的类型(话语类型)。在此实施例中,该话语类型表示,例如,如图6所示的“所讲语句的类型”。其中,如图6所示,“所讲语句的类型”由陈述句(D)、时间句(T)、位置句(L)、否定句(N)等构成。这些类型的语句形成为肯定句或者疑问句。“陈述句”是指说明用户的观点或者想法的语句。在本实施例中,如图6所示,作为陈述句的一个示例,存在“我喜欢佐藤”等语句。“位置句”是指涉及位置概念的语句。“时间句”是指涉及时间概念的语句。“否定句”是指当否定陈述句时所使用的语句。“所讲语句的类型”的示例性语句如图6所示。
在本实施例中,如图7所示,为判断“所讲语句的类型”,输入类型判断单元440使用定义表达词典来判断语句是否为陈述句,而使用否定表达词典来判断是否为否定句等。更具体地说,输入类型判断单元440(字符串从字符串指定单元410输入该输入类型判断单元440中)根据所输入的字符串,将该字符串与话语类型数据库450中存储的词典进行对照。已对该字符串和这些词典进行了对照的输入类型判断单元440从该字符串中提取与这些词典相关的元素。
该输入类型判断单元440根据所提取的元素判断“所讲语句的类型”。例如,如果在该字符串中包含描述某一事件的元素,则输入类型判断单元440判断包含该元素的字符串是否为陈述句。输入类型判断单元440将所判断的“所讲语句的类型”输出给应答获取单元350。
[1-7.会话数据库]
如图8所示,会话数据库500预先使表示构成一个字符、多个字符串及其组合的语素的多个话题名称(称为第二语素信息)与对于用户的应答语句彼此关联起来,并存储这些话题名称。此外,使表示这些应答语句的类型的多个应答类型与这些应答语句相关联。
此外,会话数据库500预先存储用于指定话题的多条话题指定信息。更具体地,在本实施例中,“话题指定信息”是指与预期会由用户输入的内容、或者应答用户的应答语句相关的关键词。使多个话题名称与该话题指定信息相关联。此外,使应答用户的应答语句分别与这些话题名称相关联。
如图9所示,在本实施例中,存储各条话题指定信息,使得可以明晰该话题指定信息和其他话题指定信息之间的上位概念、下位概念、同义词以及反义词之间的多种关系。例如,将作为话题指定信息(“电影”)的上位概念的话题指定信息(“娱乐活动”)存储在相对于该话题指定信息(“电影”)的更高的层级中。此外,将作为话题指定信息(“电影”)的下位概念的话题指定信息(“电影导演”、“领衔主演”等)存储在相对于该话题指定信息(“电影”)的更低的层级中。
如图10所示,话题名称(第二语素信息)由第一指定信息、第二指定信息以及第三指定信息构成。
其中,在本实施例中,该“第一指定信息”表示构成话题的主要语素。作为该第一指定信息的示例,存在构成语句的主语。
此外,在本实施例中,“第二指定信息”表示与第一指定信息具有密切关系的语素。作为该第二指定信息的示例,存在宾语单词。
另外,在本实施例中,该“第三指定信息”是指表示对象的动作的语素,或者修饰名词的语素等。作为该第三指定信息的示例,存在动词、副词或者形容词。
例如,如图10所示,当主语为“电影”而形容词为“有趣的”时,话题名称(第二语素信息)由第一指定信息中包含的语素“电影”和第三指定信息中包含的语素“有趣的”构成。该话题名称(电影;*;有趣的)的意思是:“电影是有趣的”。
构成该话题名称的圆括号中的各个信息按照从左至右的顺序分别为第一指定信息、第二指定信息以及第三指定信息。此外,当在话题名称的指定信息中不包含语素时,用“*”表示这部分指定信息。注意,构成话题名称的指定信息的数量不限于三条,可以包含另外的指定信息。
如图11所示,在本实施例中,将应答语句划分为多个类型(应答类型),如,陈述句(D)、时间句(T)、位置句(L)、以及否定句(N),以进行与用户所讲语句的类型相对应的应答。此外,用“A”表示肯定句,用“Q”表示疑问句。
例如,当话题名称1-1为“佐藤;*;喜欢”{这些是从“我喜欢佐藤”中提取出的语素}时,作为对应于话题名称1-1的应答语句1-1,有(DA;陈述肯定句“我也喜欢佐藤”,“TA;时间肯定句“我喜欢处在击球位上的佐藤”)等。稍后将描述的应答获取单元350获取与话题名称相关联的一个应答语句。
[1-8.会话控制单元]
在本实施例中,如图4所示,会话控制单元300包括管理单元310、话题指定信息检索单元320、缩略语句补全单元330、话题检索单元340以及应答获取单元350。管理单元310控制整个会话控制单元300。下面对构成会话控制单元300的这些单元进行说明。
[1-8-1.话题指定信息检索单元]
话题指定信息检索单元320将语素提取单元420所提取的第一语素信息与各条话题指定信息进行对照,并且检索与构成该第一语素信息的语素匹配的话题指定信息。更具体地,当从语素提取单元420输入的第一语素信息由两个语素构成时(即,“佐藤”和“喜欢”),该话题指定信息检索单元320对所输入的第一语素信息和该话题指定信息组进行对照。
当所关注的话题名称(先前所检索的话题名称)之中包含构成第一语素信息(例如“佐藤”)的语素时,已对第一语素信息和话题指定信息组进行了对照的话题指定信息检索单元320将所关注的话题名称输出给应答获取单元350。另一方面,当所关注的话题名称中不包含构成第一语素信息的语素时,该话题指定信息检索单元320根据第一语素信息来确定用户输入语句话题指定信息,并将所输入的第一语素信息和用户输入语句话题指定信息输出给缩略语句补全单元330。
[1-8-2.缩略语句补全单元]
缩略语句补全单元330使用先前所检索的话题指定信息(以下将其称为“关注话题指定信息”)和上次应答语句中包含的话题指定信息(以下将其称为“应答语句话题指定信息”)来补全第一语素信息,从而生成多种经过补全的第一语素信息。例如,如果所讲语句为语句“我喜欢”,则缩略语句补全单元330将关注话题指定信息“佐藤”包含在第一语素信息“喜欢”中,以生成补全的第一语素信息“佐藤,喜欢”。
换言之,当假设第一语素信息是“W”,并且关注话题指定信息和应答话题指定信息的集合是“D”时,缩略语句补全单元330将该集合“D”包含在第一语素信息“W”中,以生成补全的语素信息。
因此,例如,当利用第一语素信息构成的语句是缩略语句并且涵义不清时,该缩略语句补全单元330可以利用集合“D”将集合“D”的语素(即“佐藤”)包含在第一语素信息“W”中。因此,缩略语句补全单元330可以将第一语素信息“喜欢”改变为补全后的第一语素信息“佐藤,喜欢”。注意,该补全后的第一语素信息“佐藤,喜欢”对应于所讲的内容“我喜欢佐藤”。
换言之,即使用户的所讲内容为缩略语句,缩略语句补全单元330也可以使用集合“D”来补全该缩略语句。因此,即使第一语素信息所构成的语句为缩略语句,缩略语句补全单元330也可以使该语句变得恰当。
此外,缩略语句补全单元330根据集合“D”来检索与补全后的第一语素信息匹配的“话题名称”。当找到与补全后的第一语素信息匹配的“话题名称”时,缩略语句补全单元330将该“话题名称”输出给应答获取单元350。应答获取单元350可以根据缩略语句补全单元330所检索到的合适的“话题名称”而输出最适于用户所讲内容的应答语句。
注意,集合“D”的语素不仅是缩略语句补全单元330包含在第一语素信息中的语素。根据所关注的话题名称,缩略语句补全单元330可以将构成该话题名称的第一指定信息、第二指定信息或者第三指定信息中的任何一个当中所包含的语素包含在该第一语素信息中。
[1-8-3.话题检索单元]
当缩略语句补全单元330没有确定话题名称时,该话题检索单元340将第一语素信息与对应于用户输入语句话题信息的话题名称进行对照,并且从这些话题名称中检索出最适合于第一语素信息的一个话题名称。
更具体地,话题检索单元340(从缩略语句补全单元330向话题检索单元340输入检索指令信号)根据包含在所输入的检索指令信号中的用户输入语句话题指定信息和第一语素信息,从与用户输入语句话题指定信息相关联的多个话题名称中检索出最适合于该第一语素信息的话题名称。话题检索单元340将所检索的话题名称作为检索结果信号输出给应答获取单元350。
如图12所示,例如,由于在所输入的第一语素信息“佐藤,喜欢”中包含有话题指定信息“佐藤”,所以话题检索单元340将与该话题指定信息“佐藤”相关联的多个话题名称1-1、1-2、…与所输入的第一语素信息“佐藤,喜欢”进行对照。
该话题检索单元340根据对照的结果从多个话题名称1-1、1-2、…中检索出与所输入的第一语素信息“佐藤,喜欢”匹配的话题名称1-1(佐藤;*;喜欢)。话题检索单元340将所检索的话题名称1-1(佐藤;*;喜欢)作为检索结果信号输出给应答获取单元350。
[1-8-4.应答获取单元]
根据话题检索单元340所检索到的话题名称,应答获取单元350获取与该话题名称相关联的应答语句。此外,应答获取单元350根据话题检索单元340所检索到的话题名称,将与该话题名称相关联的多个应答类型与输入类型判断单元440所判断的话语类型进行对照。已将这些应答类型与话语类型进行了对照的应答获取单元350从这些应答类型中检索出与所判断的话语类型匹配的一个应答类型。
例如,如图12所示,如果话题检索单元340所检索的话题名称为话题名称1-1(佐藤;*;喜欢),则应答获取单元350从与话题名称1-1相关联的多个应答语句1-1(DA、TA等)中,指定与输入类型判断单元440所判断的“所讲语句类型”(例如DA)匹配的一个应答类型。根据所指定的应答类型(DA),指定了该应答类型(DA)的应答获取单元350根据所指定的应答类型(DA)来获取与该应答类型(DA)相关联的应答语句1-1(“我也喜欢佐藤)。
在“DA”、“TA”等中的“A”表示肯定形式。因此,当在话语类型和应答类型中包含有“A”时,这表示肯定某一事物。此外,在话语类型和应答类型中也可以包含诸如“DQ”和“TQ”的多种类型。“DQ”、“TQ”等中的“Q”表示关于某一事物的疑问。
当话语类型包含疑问形式“Q”时,与该话语类型相关联的应答语句由肯定形式(A)构成。作为由该肯定形式(A)所建立的应答语句的示例,有回应答所询问事物等的语句。例如,当所讲语句为“你操作过投币机吗?”时,该话语语句的话语类型为疑问形式(Q)。作为与该疑问形式(Q)相关联的应答语句的示例,有以下语句“我操作过投币机”(肯定形式(A))。
另一方面,当话语类型包含肯定形式(A)时,与该话语类型相关联的应答语句由疑问形式(Q)构成。作为以该疑问形式(Q)建立的应答语句的示例,存在对话语内容再次询问的疑问句、寻找特定事物的疑问句等。例如,当所讲语句为“我的业余爱好是玩投币机”,该所讲语句的话语类型为肯定形式(A)。作为与该肯定形式(A)相关联的应答语句的示例,例如存在以下语句“你的业余爱好是玩弹球盘吗?”(寻找特定事物的疑问语句“Q”)。
应答获取单元350将所获取的应答语句作为应答语句信号输出给管理单元310。已经从应答获取单元350输入了应答语句信号的管理单元310将所输入的应答语句信号输出给输出单元600。
输出单元600输出应答获取单元350所获取的应答语句。作为该输出单元600的示例,说话者有扬声器、显示器等。更具体地,已从管理单元310输入了应答语句的输出单元600根据所输入的应答语句,通过语音来输出应答语句,例如“我也喜欢佐藤”。
[2.会话控制方法]
可以根据下述过程来执行由具有上述结构的会话控制设备1所执行的会话控制方法。图13是根据本实施例的会话控制方法的过程的流程图。
首先,输入单元100执行从用户获取话语内容的步骤(步骤S1301)。更具体地说,输入单元100获取构成用户的话语内容的语音。输入单元100将所获取的语音作为语音信号输出给语音识别单元200。注意,输入单元100可以获取由用户输入的字符串(即,以文本格式输入的字符数据),而不是来自用户的语音。
随后,语音识别单元200根据输入单元100所获取的话语内容,执行指定与该话语内容对应的字符串的步骤(步骤S1302)。更具体地,已从输入单元100输入了语音信号的语音识别单元200根据所输入的语音信号,指定与该语音信号对应的单词假设(候选)。语音识别单元200获取与所指定的单词假设(候选)相关联的字符串,并将所获取的字符串作为字符串信号输出给会话控制单元300。
然后,字符串指定单元410执行将语音识别单元200所指定的字符串序列分割成多个语句的步骤(步骤S1303)。更具体地,当在所输入的字符串序列中存在固定长度或该固定长度以上的时间间隔时,已从管理单元310输入了字符串信号(或语素信号)的字符串指定单元410在这个部分对字符串进行分割。字符串指定单元410将所分割的字符串输出给语素提取单元420和输入类型判断单元440。注意,如果所输入的字符串是由键盘输入的字符串,则优选地,字符串指定单元410在出现标点符号、空格等的部分对字符串进行分割。
此后,语素提取单元420根据通过字符串指定单元410所指定的字符串,执行提取构成字符串的最小单位的语素作为第一语素信息的步骤(步骤S1304)。更具体地,已从字符串指定单元410输入了字符串的语素提取单元420将所输入的字符串与预先存储在语素数据库430中的语素组进行对照。注意,在本实施例中,将该语素组准备为语素词典,在该语素词典中对于属于各个品词分类的各个语素,描述了语素的索引词、读法、品词以及活用形式等。
已将字符串和语素组进行了对照的语素提取单元420从所输入的字符串中提取出与包含在预先存储的语素组中的语素匹配的多个语素(m1、m2、…)。语素提取单元420将所提取的多个语素作为第一语素信息输入给话题指定信息检索单元320。
随后,输入类型判断单元440执行以下步骤,即,根据构成字符串指定单元410所指定的语句的多个语素,对“所讲语句的类型”进行判断(步骤S1305)。更具体地,已从字符串指定单元410输入了字符串的输入类型判断单元440根据该字符串,对所输入的字符串和存储在话语类型数据库450中的各个词典进行对照,并且提取出与这些词典相关的元素。已经提取了这个元素的输入类型判断单元440根据该元素来判断所提取的元素属于哪个“所讲语句的类型”。输入类型判断单元440将所判断的“所讲语句的类型”(话语类型)输出给应答获取单元350。
然后,话题指定信息检索单元320执行以下步骤,即,将语素提取单元420所提取的第一语素信息和所关注的话题名称进行比较(步骤S1306)。
如果构成第一语素信息的多个语素与所关注的话题名称彼此匹配,则话题指定信息检索单元320将该话题名称输出给应答获取单元350。另一方面,如果构成第一语素信息的多个语素与该话题名称彼此不相匹配,则话题指定信息检索单元320将所输入的第一语素信息和用户输入话题指定信息作为检索指令信号输出给缩略语句补全单元330。
此后,该缩略语句补全单元330执行以下步骤,即,根据从话题指定信息检索单元320所输入的第一语素信息,将关注话题指定信息和应答语句话题指定信息包含在所输入的第一语素信息中(步骤S1307)。更具体地说,当假设第一语素信息为“W”,并且关注话题指定信息和应答语句指定信息的集合为“D”时,缩略语句补全单元330将该话题指定信息“D”的各个元素包含在第一指定信息“W”中,生成经过补全的第一语素信息,将补全后的第一语素信息和与该集合“D”相关联的所有话题名称进行对照,并进行检索以查找是否存在与补全后的第一语素信息匹配的话题名称。如果存在与补全后的第一语素信息匹配的话题名称,则缩略语句补全单元330将该话题名称输出给应答获取单元350。另一方面,如果未发现与补全后的第一语素信息匹配的话题名称,则缩略语句补全单元330将该第一语素信息和用户输入语句话题指定信息传送到话题检索单元340。
然后,该话题检索单元340执行以下步骤,即,将第一语素信息与用户输入语句话题指定信息进行对照,并从这些话题名称中检索出适合于该第一语素信息的一个话题名称(步骤1308)。更具体地,根据在所输入的检索指令信号中包含的用户输入语句话题指定信息和第一语素信息,已从缩略语句补全单元330输入了检索指令信号的话题检索单元340从与该用户输入语句话题指定信息相关联的多个话题名称中检索出适合于该第一语素信息的一个话题名称。话题检索单元340将作为检索结果而得到的话题名称作为检索结果信号输入给应答获取单元350。
随后,根据话题指定信息检索单元320、缩略语句补全单元330、或话题检索单元340所检索到的话题名称,应答获取单元350将所判断的用户话语类型和与该话题名称相关联的应答类型话语进行对照。已对话语类型和应答类型进行了对照的应答获取单元350从这些应答类型中检索出与所判断的话语类型匹配的一个应答类型(步骤S1309)。
更具体地说,应答获取单元350(已从话题检索单元340输入了检索结果信号并从输入类型判断单元440输入了“所讲语句的类型”)根据对应于所输入的检索结果信号的“话题名称”和所输入的“所讲语句的类型”,从与该“话题名称”相关联的应答类型组中指定与该“所讲语句的类型”(DA等)匹配的一个应答类型。
应答获取单元350获取与所指定的应答类型相关联的应答语句。应答获取单元350将所获取的应答语句通过管理单元310输出给输出单元600。输出单元600(已从管理单元310输入了应答语句)输出所输入的应答语句(步骤S1310)。
[3.该会话控制设备和会话控制方法的优点]
根据具有上述结构的实施例的本发明(会话控制设备和会话控制方法),第一语素信息是构成用户话语内容的多个主要语素的集合。因此,应答获取单元350可以考虑由这些主要语素所构成的语句的涵义和内容来获取应答语句。因此,与利用所讲的全部内容作为关键词,通过检索与该关键词相关联的应答语句而得到的应答语句相比,应答获取单元350可以获取更适合于话语内容的应答语句。
此外,由于话题检索单元340检索与第一语素信息匹配的话题名称,因此不必检索与用户所讲内容完全匹配的话题名称。因此,开发该会话控制设备1的开发人员不必使该会话控制设备1存储与第一语素信息完全匹配的所有话题,因此可以减小存储单元的容量。
另外,为了检索与该第一语素信息近似的话题名称,话题检索单元340仅需要将第一语素信息和与“话题指定信息”相关联的各个话题名称进行对照,并且不必将该第一语素信息与“所有的”话题名称进行对照。因此,话题检索单元340可以在短时间内检索与该第一语素信息近似的话题名称(定点检索)。此外,由于话题检索单元340可以根据在短时间内检索到的话题名称来执行该定点检索,因此应答获取单元350可以在短时间内获取与该话题名称相关联的应答语句。
此外,应答获取单元350可以从与多个话题名称相关联的多个应答类型中检索出与所判断的话语类型匹配的应答类型,并获取与所检索到的应答类型相关联的应答语句。因此,由于应答获取单元350可以获取与构成话语内容的话语类型匹配的应答语句,因此应答获取单元350可以更精确地对用户的话语内容进行应答。
此外,如果用户的话语内容为缩略语句,则缩略语句补全单元330可以将话题指定信息检索单元320上次所检索的话题指定信息包含在与话语内容对应的第一语素信息中。因此,即使用户的话语内容为缩略语句,缩略语句补全单元330也可以利用上次所检索的话题指定信息来补全缩略的语句。因此,即使由该第一语素信息所构成的语句为缩略语句,缩略语句补全单元330也可以使该语句变得合适。
此外,话题检索单元340可以根据第一语素信息在补全后检索与该第一语素信息相关的合适的话题名称。因此,应答获取单元350可以根据话题检索单元340所检索的该合适的话题名称来输出适合于话语内容的应答语句。
最后,即使来自用户的输入信息为缩略语句,会话控制设备1也可以利用过去的检索结果来推测该缩略语句的涵义,而无需使用神经网络、AI(人工智能)等功能,并且可以根据所推测的涵义和内容来检索适当的应答语句。此外,该会话控制设备1的开发人员不必安装神经网络或AI。因此,开发人员可以在短时间内简单地建立起用于该会话控制设备1的系统。
[B.第二实施例]
接下来,将对根据本发明第二实施例的会话控制设备进行说明。与图1中所示的根据第一实施例的会话控制设备1相同,根据第二实施例的会话控制设备包含:输入单元100、语音识别单元200、会话控制单元300、语句分析单元400、会话数据库500、输出单元600以及语音识别词典存储单元700。根据第二实施例的会话控制设备1′与根据第一实施例的会话控制装置1的不同之处在于,语音识别单元200向会话控制单元300发送语素信息,而不是字符串信号。
图14是根据第二实施例的会话控制设备的具体结构的部分功能框图。
在该实施例中,会话控制单元300′包含:管理单元310、话题指定信息检索单元320、缩略语句补全单元330、话题检索单元340以及应答获取单元350。管理单元310、话题指定信息检索单元320、缩略语句补全单元330、话题检索单元340以及应答获取单元350的功能和操作与第一实施例中的那些单元基本上相同。
在接收到来自语音识别单元200的语素信息之后,管理单元310将该语素信息传送到语句分析单元400′,使语句分析单元400′指定话语内容的类型(所讲语句类型),并将该语素信息作为第一语素信息传送到话题指定信息检索单元320。
话题指定信息检索单元320将第一语素信息和先前所确定的话题名称(将其称为“关注话题名称”)进行比较,以检查该第一语素信息是否与该话题名称匹配。如果该第一语素信息与该关注话题名称匹配,则话题指定信息检索单元320将该关注话题名称传送到应答获取单元350。应答获取单元350从会话数据库500中提取与所接收的话题名称对应的多个应答语句候选,在所提取的多个应答语句候选中选择与从输入类型判断单元440接收到的输入类型匹配的一个应答语句,并将该应答语句输出给管理单元310。另一方面,如果该第一语素信息与该关注话题名称不匹配,则话题指定信息检索单元320生成包含在该第一语素信息中的话题指定信息(称其为“用户输入语句话题指定信息”),并将该第一语素信息、用户输入语句话题指定信息、关注话题指定信息以及应答语句话题指定信息(包含在上次返回给用户的应答语句中的话题指定信息)传送到缩略语句补全单元330。
缩略语句补全单元330从会话数据库500中提取与该第一语素信息、用户输入语句话题指定信息、关注话题指定信息以及应答语句指定信息相关联的所有话题名称。然后,缩略语句补全单元330通过将这些话题指定信息添加到第一语素信息中而创建多种经过补全的第一语素信息(以下将其称为“补全第一语素信息”),将各个补全第一语素信息与这些话题名称进行对照,检索与该补全第一语素信息匹配的话题名称,并将该话题名称传送到应答获取单元350。应答获取单元350从会话数据库500中提取与所接收的话题名称对应的多个应答语句候选,在所提取的多个应答语句候选中选择与从输入类型判断单元440所接收的输入类型匹配的一个应答语句,并且向管理单元310输出该应答语句。另一方面,如果不存在与该补全第一语素信息匹配的话题名称,则缩略语句补全单元330将该第一语素信息和用户输入语句话题指定信息传送到话题检索单元340。
话题检索单元340接收第一语素信息组,并同时从会话数据库500中提取与用户输入语句话题指定信息相关联的多个话题名称,将这些话题名称与第一语素信息组进行比较,并且检查是否存在适合于该第一语素信息的话题名称。如果找到适合于该第一语素信息组的话题名称,则话题检索单元340将该话题名称传送到应答获取单元350。另一方面,如果不能找到适合于该第一语素信息的话题名称,则话题检索单元340通知应答获取单元350:应答不可用或未知。应答获取单元350选择一个预先定义为当应答不可用或未知时进行应答的应答语句,并将该应答语句输出到管理单元310。
应答获取单元350从会话数据库500中提取与从话题指定信息检索单元320、缩略语句补全单元330或者话题检索单元340所接收到的话题名称对应的多个应答语句候选。然后,应答获取单元350在所提取的多个应答语句候选中选择与从输入类型判断单元440接收到的输入类型(所讲语句类型)匹配的一个应答语句,并且将该应答语句输出到管理单元310。
根据第二实施例的会话控制设备1′的语句分析单元400′与第一实施例中的语句分析单元400的不同之处在于,语句分析单元400′包含输入类型判断单元440和话语类型数据库450,但是不包含字符串指定单元410、语素提取单元420以及语素数据库430。这是因为从会话控制单元300′提供给语句分析单元400′的是语素信息而不是字符串。
根据第二实施例,在语句分析单元400′中,对字符串进行语素分析,这使得不必创建第一语素信息。因此,减少了会话控制设备1′的负荷,并且可以实现与第一实施例相比更加快速的会话控制处理。
[4.改进及其他]
(1)注意,根据上述实施例的语音识别单元、语音识别设备、会话控制设备、语音识别方法以及会话控制方法并不限于用于以会话为目的的设备(会话机器人等),还可以用于游戏机。
(2)在本发明的第二实施例中,可以通过将会话数据库500反映到语音识别词典存储单元700中作为语言模型,从而建立具有更高识别精度的语音识别词典。图15显示了会话控制设备1的结构示例,其中,会话数据库500反映在语音识别词典存储单元700上作为语言模型。在此示例中,可以按照适当的定时将会话数据库500中积累的话题名称添加到语音识别词典存储单元700中,作为语言模型。这使得可以将与会话话题相符的语言模型反映在语音识别词典存储单元700上,并且可以进一步提高语音识别精度。