对话系统的制作方法

文档序号:6649775阅读:150来源:国知局
专利名称:对话系统的制作方法
技术领域
本发明涉及一种对话系统,其能够根据用户对来自系统的询问的应答而进行状态转移。更具体地,本发明涉及一种能够接受对过去状态的重新输入的对话系统。
背景技术
作为传统公知的对话系统,存在一种对话系统,该系统通过将例如语音识别模块用作接受用户输入的装置,实现用户与系统间的对话。这种对话系统已被应用于信息提供系统,例如语音门户、用于呼叫中心服务的交互式语音应答(IVR)系统以及车辆导航系统等。
在传统的对话系统中,通过处理对话场景实现系统与用户间的对话,其中该对话场景含有对话进程的记述。通常,用状态转移模型表示对话场景。将系统输出和识别候选项集合的内容分配给每个状态,其中,在该识别候选项集合中记述了系统从用户输入中识别的词汇。根据响应于系统输出的用户输入的识别结果,确定下一个将转到的状态。通过重复该程序进行对话。以例如VoiceXML的语言记录对话场景。以例如语音识别语法规范(SRGS)的语言记录识别候选项集合。
为接受用户的输入,使用语音识别技术。这种技术利用语音识别模块(也可称为自动语音识别(ASR)模块)将用户的语音输入变换为文本信息。语音识别模块查询指定的识别候选项集合,如果判断用户输入与识别候选项集合中包含的识别候选项的某一个匹配,则语音识别模块将该识别候选项作为识别结果返回。语音识别模块具有将识别结果返回以及将识别结果与实际的用户输入相一致的可能性作为可靠性返回的功能。此外,语音识别模块能够同时查询多个识别候选项集合以进行识别。
为呈现来自系统的信息,使用了语音合成技术。利用这种技术,语音合成模块(也可称为文本转话音(TTS)模块)能够自动地大声朗读文本信息。用户可通过使用与对话系统直接连接的输入装置和输出装置或者通过使用固定电话、诸如手机和PDA的移动通信装置以及汽车导航装置等经由网络接入对话系统而使用服务。
在该对话系统中,为了改变或纠正已输入的信息,用户经常重新输入信息。具体地,在语音对话系统中,在用户应答了系统的询问之后,由于系统的识别错误、用户的话音错误和话音停顿等原因,用户经常需要重新输入信息。为了便于这种重新输入,提出了一种语音识别装置,当要为多个不同项输入一连串话音时,该语音识别装置无需用于确认和纠正识别结果的键操作,而仅通过重新讲话就可容易地纠正输入(参见JP H05-66794A)。
然而,在传统的对话系统里,对话场景中必须记述对来自系统的各种询问给出有效的用户应答的识别候选项集合以及当用户的输入匹配识别候选项集合中包含的一个识别候选项时待进行的处理。因此,为实现允许重新输入的对话系统,即使当系统发出下一个询问时,用于接受对前一个询问的重新输入的识别候选项集合也应置为有效,此外,在对话场景中还应明确地记述在实际执行重新输入时待进行的处理。
特别是在未预先确定系统发出的询问的顺序但是根据例如用户输入的内容的情形可确定对话的流程的情况下,对话场景中的记述将变得极为复杂,这意味着开发成本的增加。这是因为应当通过查询关于前一询问的内容的对话历史而指定用于接受重新输入的识别候选项集合。此外,考虑到所有可能的对话流程,对话场景中应当记述当执行重新输入时待进行的处理。

发明内容
因而,考虑到上述内容,本发明的目的是提供一种对话系统,其能够适当地处理用户的重新输入,而无需记述假定用户重新输入的对话场景。
本发明的对话系统与用户间的“对话”并未限制于通过语音方式的对话。例如,通过用户使用例如键盘、手写字符输入装置等输入设备输入文本数据等而进行的信息交换也被归入本发明的“对话”的概念中。
为实现上述的目的,本发明的对话系统包括输入单元,其接受用户的输入;输出单元,其向该用户呈现信息;对话场景存储单元,其存储其中记述有状态转移模型的对话场景,其中该状态转移模型是根据通过该输入单元和该输出单元执行的与该用户的对话而记述的;状态管理单元,其基于该对话场景中记述的状态转移模型,根据用户通过该输入单元的输入在状态转移模型中包含的状态中确定下一将转到的状态;当前状态存储单元,其存储状态转移模型中包含的状态中的当前状态;处理执行单元,其执行分配给由该状态管理单元确定的状态的处理;识别候选项集合存储单元,其预先存储识别候选项集合,所述识别候选项集合包含用于用户输入的识别候选项,并且所述用于用户输入的识别候选项是相对于该状态转移模型中包含的每个状态而假定的,每个识别候选项集合与该状态转移模型中包含的每个状态相关联;重新输入可接受状态存储单元,其在转移到下一状态时存储转移前的状态;重新输入识别候选项集合存储单元,其在转移到下一状态时存储分配给转移前的状态的识别候选项集合;以及识别处理单元,其在用户输入时查询与该用户输入时的状态相关联的识别候选项集合以及重新输入识别候选项集合存储单元中存储的识别候选项集合,以确定与该用户的输入对应的识别候选项。在由该识别处理单元确定的识别候选项为该重新输入识别候选项集合存储单元中存储的识别候选项集合中记述的识别候选项的情况下,该状态管理单元确定该重新输入可接受状态存储单元中存储的状态为将转到的状态。
利用这种结构,在从某一状态转移到下一状态时,将该转移前的状态存储于该重新输入可接受状态存储单元中,并将分配给该转移前状态的识别候选项集合存储于该重新输入识别候选项集合存储单元中。然后,在用户输入时,该识别处理单元查询与该用户输入时的状态相关联的识别候选项集合以及该重新输入识别候选项集合存储单元中存储的识别候选项集合,以确定与该用户的输入对应的识别候选项。在由此确定的识别候选项为该重新输入识别集合存储单元中存储的该识别候选项集合中记述的识别候选项的情况下,该状态管理单元确定该重新输入可接受状态存储单元中存储的状态为将转到的状态。从而,能够提供一种对话系统,其能够接受对前一状态的重新输入并且能适当地处理该重新输入,而无需像传统系统一样记述假定用户重新输入的对话场景。
优选地,本发明的对话系统还包括重新输入判断单元。在用户输入时,在与该当前状态存储单元中存储的状态相关联的识别候选项集合以及该重新输入识别候选项集合存储单元中存储的识别候选项集合都包含与该用户的输入对应的识别候选项的情况下,该重新输入判断单元基于预定的规则确定这些识别候选项集合的优先级。
利用这种结构,在该用户的输入与对前一状态的重新输入的识别候选项以及对当前状态的输入的识别候选项均对应时,重新输入判断单元能够确定应将该用户的输入作为何种输入来处理。此处,在这种情况下,可根据系统的目的等为每个对话系统设置这些识别候选项集合的优先权。
优选地,本发明的对话系统还包括重新输入识别候选项集合变换单元,其将该重新输入识别候选项集合存储单元中存储的识别候选项集合变换为包含假定当该用户执行重新输入时使用的识别候选项的识别候选项集合。利用这种结构,将该重新输入识别候选项集合存储单元中存储的该识别候选项集合变换为包含假定当该用户执行重新输入时该用户经常使用的识别候选项的识别候选项集合。从而,可更加准确地识别用户的重新输入。
在上述的情况下,该识别处理单元还可以存储在前识别的结果,并且该重新输入识别候选项集合变换单元可以从该重新输入识别候选项集合存储单元中存储的识别候选项集合中删除该在前识别的结果。由于在前识别的识别错误可能引起用户的重新输入,通过从该识别候选项集合中删除该在前识别的结果,能够增强重新输入过程中的识别准确性。
可选地,在上述的情况下,该重新输入识别候选项集合变换单元可以将新的识别候选项添加在该重新输入识别候选项集合存储单元中存储的识别候选项集合中,通过将在重新输入过程中用户使用的词汇项添加到该识别候选项集合中记述的任何一个识别候选项中而获得所述新的识别候选项。在重新输入的情况下,特别是在通过语音输入进行自我纠正的情况下,用户经常添加用于否定在前输入的词汇项(例如插入词)。从而,通过准备新的识别候选项以将这些词汇项附加在这些识别候选项之前和/或之后,并且通过将新的识别候选项添加到该识别候选项集合中,能够增强重新输入过程中的识别准确性。
在本发明的对话系统中,优选地,在该用户未进行任何输入而从某一状态转到下一状态的情况下,优选不更新该重新输入可接受状态存储单元中存储的状态以及该重新输入识别候选项集合存储单元中存储的识别候选项集合。利用这种结构,在无用户输入的情况下,可以防止对重新输入的错误接受。
优选地,本发明的对话系统还包括重新输入结果验证状态产生单元。在该用户的输入与该重新输入识别候选项集合存储单元中存储的识别候选项集合中包含的识别候选项匹配的情况下,该重新输入结果验证状态产生单元产生用于让该用户明确地验证该识别处理单元的识别结果的状态。利用这种结构,在用户能够验证对该重新输入的识别结果之后,该状态能够转到下一状态。
在本发明的对话系统中,优选地,在该用户的输入与该重新输入识别候选项集合存储单元中存储的识别候选项集合中包含的识别候选项匹配的情况下,调用用于将在该用户输入的状态中调用的应用程序的程序结果恢复到原始状态的程序。利用这种结构,例如,可将由识别错误启动的程序的结果恢复到原始状态。
在本发明的对话系统中,优选地,该重新输入可接受状态存储单元包括用于存储多个过去状态的区域,并且该重新输入识别候选项集合存储单元包括用于存储分配给过去状态的多个识别候选项集合的区域。优选地,该对话系统还包括识别结果历史存储单元,其存储响应于用户对过去状态的输入而得到的识别结果。利用这种结构,能够接受并且适当地处理对前两个或更靠前的状态的重新输入。
此外,本发明的程序记录介质上装有使计算机执行与用户的对话处理的程序。该计算机配有接受用户输入的输入单元以及向用户呈现信息的输出单元。该程序使该计算机执行如下步骤处理执行步骤,其查询其中记述有状态转移模型的对话场景,其中该状态转移模型是根据通过该输入单元和该输出单元执行的与用户的对话而记述的;基于该状态转移模型,根据用户通过该输入单元的输入在状态转移模型中包含的状态中确定下一将转到的状态;以及在当前状态存储单元中存储确定的状态并执行分配给该确定状态的处理;存储步骤,其在转移到下一状态时,在重新输入可接受状态存储单元中存储转移前的状态,并在重新输入识别候选项集合存储单元中存储分配给转移前的状态的识别候选项集合;以及识别步骤,其在用户输入时,查询识别候选项集合存储单元,该识别候选项集合存储单元预先存储相对于该状态转移模型中包含的每个状态而假定的包含用于用户输入的识别候选项的识别候选项集合,每个识别候选项集合与该状态转移模型中包含的每个状态相关联,以及查询与用户输入时的状态相关联的识别候选项集合以及重新输入识别候选项集合存储单元中存储的识别候选项集合,以确定与用户的输入对应的识别候选项。在该识别步骤确定的识别候选项为该重新输入识别候选项集合存储单元中存储的识别候选项集合中记述的识别候选项的情况下,在随后的处理执行步骤中,该程序使计算机确定该重新输入可接受状态存储单元中存储的状态为将转到的状态。
根据本发明,提供一种对话系统,其能够适当地处理用户的重新输入,而无需在对话中记述假定用户重新输入的对话场景。


图1是根据本发明的实施例1的对话系统的框图。
图2是根据本发明的实施例2的对话系统的框图。
图3示出了根据实施例2的对话系统中的对话实例。
图4示出了根据实施例2的对话系统的状态转移模型。
图5示出了传统的对话场景的一个实例。
图6示出了根据实施例2的对话系统中的场景实例。
图7是示出了根据实施例2的对话系统的操作实例的流程图。
图8是根据本发明的实施例3的对话系统的框图。
图9示出了根据实施例3的对话系统中的对话实例。
图10示出了根据实施例3的对话系统中的状态转移模型。
图11是示出了根据实施例3的对话系统的操作实例的流程图。
图12是根据本发明的实施例4的对话系统的框图。
图13示出了根据实施例4的对话系统中的状态转移模型。
图14是根据实施例4的对话系统的改进实例的框图。
图15示意性地示出了存储于图14的识别结果历史存储单元中的内容的一个实例。
具体实施例方式
实施例1下面,将说明本发明的对话系统的基本实施例。图1是示意性地示出了根据本实施例的对话系统的结构的框图。
如图1所示,本实施例的对话系统包括对话场景存储单元101;状态管理单元102;当前状态存储单元103;处理执行单元104;输入单元105;输出单元106;识别候选项集合存储单元107;识别处理单元108;重新输入可接受状态存储单元109;以及存储用于重新输入的识别候选项集合的单元110(后面称为“重新输入识别候选项集合存储单元110”)。
利用计算机构建该对话系统,并且状态管理单元102、处理执行单元104和识别处理单元108是通过使计算机的处理器执行预定程序而实现的功能块。也就是说,可以不必总是将这些单元作为相应的硬件提供。对话场景存储单元101、当前状态存储单元103、识别候选项集合存储单元107、重新输入可接受状态存储单元109以及重新输入识别候选项集合存储单元110由计算机中的内部存储单元或计算机能够存取的外部存储单元实现。
输入单元105具有接受用户的输入的功能,在语音输入对话系统的情况下,可通过例如麦克风的输入装置实现该功能;在文本数据或数字数据输入对话系统的情况下,可通过例如键盘、数字键(ten key)或输入板等输入装置实现该功能。在语音输入的情况下,输入单元105或识别处理单元108具有用于识别用户的话音内容的语音识别功能。在用户利用手写字符输入文本数据等的情况下,输入单元105或识别处理单元108具有用于识别用户手写的字符、符号等的字符识别功能。由于实现语音识别功能和字符识别功能的机理是公知的,因而略去其详细解释。输出单元106具有将系统的输出呈现给用户的功能,该功能可通过扬声器、显示器等实现。
对话场景存储单元101存储用于实现系统与用户间对话的对话场景。该对话场景是基于状态转移模型记述的。每个状态包含分配给该状态且将在该状态下执行的处理。具体来讲,下面记述了分配给每个状态的处理(1)系统输出的内容(例如,从系统输出到用户的询问);(2)记述用户输入的识别候选项的识别候选项集合,以及在对话场景中为每个状态记述的在用户输入匹配识别候选项集合中包含的任一识别候选项或者正确识别用户输入失败或者没有用户输入的情况下的下一个将转到的状态(后面称为“下一转移状态”)。后面将会说明对话场景的具体实例。状态管理单元102确定下一转移状态,并且处理执行单元104执行分配给由状态管理单元102确定的状态的处理,从而实现系统与用户间的对话。
当状态管理单元102确定了下一转移状态时,当前状态存储单元103存储该状态的名称。处理执行单元104查询对话场景存储单元101中的对话场景,并基于系统输出的内容和分配给由状态管理单元102确定的状态的识别候选项集合而控制识别处理单元108和输出单元106。识别候选项集合存储单元107预先存储可能由用户输入的词汇集合,并将其作为识别候选项集合,每个识别候选项集合与对话场景中记述的状态转移模型的每个状态相关联。换句话说,识别候选项集合存储单元107中存储的识别候选项集合的数量与接受用户某一输入的状态转移模型中包含的状态数量相同。识别处理单元108查询在识别候选项集合存储单元107存储的识别候选项集合中被指定为与当前状态对应的识别候选项集合。识别处理单元108进行来自输入单元105的用户输入的识别处理。如果识别处理单元108判断用户的输入与识别候选项集合中包含的识别候选项的某一个匹配,则识别处理单元108将该识别候选项作为识别结果传送到状态管理单元102。状态管理单元102基于当前状态存储单元103中存储的当前状态和识别处理单元108传送的识别结果确定下一转移状态。在本实施例的对话系统中,通过重复上述的一系列处理进行对话。
此外,在本实施例的对话系统中,重新输入可接受状态存储单元109存储转移到当前状态之前的状态的名称。此处,在本实施例中,将例如“询问1”和“询问2”的名称分配给各个状态(参见图4和图6),并且将这些名称存储于当前状态存储单元103和重新输入可接受状态存储单元109中。然而,用于识别各状态的标识符并未限制于这些名称,而是可以使用任何标识符。重新输入识别候选项集合存储单元110存储分配给转移到当前状态之前的状态的识别候选项集合。通过这种方式,根据本实施例的对话系统,当执行状态转移时,将转移前的状态的名称存储于重新输入可接受状态存储单元109中,并且将分配给转移前状态的识别候选项集合存储于重新输入识别候选项集合存储单元110中。
然后,当执行分配给转移后的状态的处理时,在用户输入之后,将查询重新输入识别候选项集合存储单元110中存储的分配给转移前的状态的识别候选项集合,同时还查询分配给转移后的状态的识别候选项集合。先查看分配给转移后的状态的识别候选项集合,还是先查看重新输入识别候选项集合存储单元110中存储的分配给转移前的状态的识别候选项集合,或者是否同时查看两个识别候选项集合,将取决于系统的设计。在继续进行包含有对应答的相同选项的对话的情况下,优选地,系统被设计为根据对话内容优先二者之一。
在用户执行对应转移前状态的重新输入的情况下,用户重新输入的词汇项将匹配重新输入识别候选项集合存储单元110中存储的分配给转移前状态的识别候选项集合中包含的识别候选项之一。这种情况下,当前状态存储单元103的内容将被暂时返回到重新输入可接受状态存储单元109中存储的转移前的状态,然后执行向基于对用户输入的识别结果而确定的状态的转移。从而,以与在转移前状态中执行用户输入的情况相同的方式继续对话。
如上所述,在本实施例的对话系统中,无需记述假定用户重新输入的对话场景。相反,通过在查询分配给当前状态的识别候选项集合的同时查询分配给前一状态的识别候选项集合,能够接受用户的重新输入。
实施例2下面说明根据本发明的对话系统的另一实施例。图2是示意性地示出了根据本实施例的对话系统的结构框图。这里应当注意,相同的标号表示与实施例1中说明的结构中的元件具有相同功能的元件,并略去其详细说明。
如图2所示,本实施例的对话系统除了包括实施例1的对话系统的结构外,还包括重新输入判断单元111。重新输入判断单元111具有这样的功能当从分配给当前状态的识别候选项集合以及分配给前一状态的识别候选项集合中获得识别结果时,重新输入判断单元111确定优先哪一个识别结果。
在从分配给当前状态的识别候选项集合以及分配给前一状态的识别候选项集合获得识别结果的情况下,可以通过比较随识别结果一起返回的可靠性而确定这些识别候选项集合的优先权。可选择地,可为分配给当前状态的识别候选项集合以及分配给前一状态的识别候选项集合分配一定的权重,然后就可以确定这些识别候选项集合的优先权。如果用户的输入匹配在分配给当前状态的识别候选项集合以及分配给前一状态的识别候选项集合中共同包含的任一识别候选项,则重新输入判断单元111确定这些识别候选项集合的优先权。通常,自然会考虑将较高的优先权赋于分配给当前状态的识别候选项集合。然而,也可根据对话系统的目的等自由地设置优先权。
下面是对根据本实施例对话系统中处理的具体实例的解释。在下文中,将对话场景假设为对话系统逐一询问用户他/她的年龄和性别以完成用户注册。图3示出了一个对话实例,其中,用户对对话系统发出的对年龄的询问(询问1)做出“二十九岁”的应答,然后当对话系统询问性别时(询问2),用户对前面的询问1重新输入了“三十岁”的应答。如图3所示,在根据本实施例的对话系统中,当对话系统发出询问2时,对询问1的识别候选项集合与对询问2的识别候选项集合都是有效的。此处,“有效的”识别候选项集合意味着该识别候选项集合可由识别处理单元108查询,并可用于识别处理。
图4示出了在上述实例中的对话场景中记述的状态转移模型的一个实例。在图4的状态转移模型中,在状态S1中,对话系统询问年龄(询问1)。如果用户对该询问的应答为“十多岁”,则状态转为状态S2。如果应答为“二十多岁”,则状态转为状态S3,而如果应答为“三十多岁”,则状态转为状态S4。然后,在状态S3中,对话系统询问性别(询问2)。如果用户对该询问的应答为“男”,则状态转为状态S5,而如果应答为“女”,则状态转为S6。此处,在状态S3中,如果用户重新输入对询问1的应答,则基于应答的重新输入,以与状态S1中相同的方式,将状态转为与用户应答相同的状态。
为了实现这种状态转移模型,即,为了允许即使在进行第二个询问2(关于性别)时也可接受对第一个询问1(关于年龄)的应答的重新输入,同时能够对这些询问进行适当的处理,还需要在传统的对话系统做下面的设置在对话场景明确地记述当实际输入年龄时进行的处理的同时,还在对话场景中将接受年龄的识别候选项集合置为有效(参见图5)。特别是在如本实例中下一转移状态根据用户输入的内容而改变的情况下,必须记述对转移前的状态和转移后的状态的复杂处理。此外,在如从图4的状态S7或S8到状态S3的转移中,在关于性别的询问前,对话可以包含有关年龄以外的其它询问的流程。从而,记述对话场景时必须考虑到关于前一询问(状态)的内容的整个对话的流程,使得对话场景的开发成本极其昂贵。
另一方面,在根据本实施例的对话系统中,与实施例1相似,将转移到当前状态前的状态的名称以及分配给转移到当前状态前的状态的识别候选项集合分别存储于重新输入可接受状态存储单元109以及重新输入识别候选项集合存储单元110中。并且识别处理单元108通过查询分配给转移到当前状态前的状态的识别候选项集合以及分配给当前状态的识别候选项集合而执行识别处理。此外,状态管理单元102基于当前状态存储单元103中存储的当前状态以及识别处理单元108获得的识别结果而确定下一转移状态。从而,在用户进行重新输入的情况下,无需记述假定用户重新输入的对话场景就能够适当地进行处理。
图6是在本实施例的对话系统中使用的对话场景。从图5与图6的对比中能够看出,在本实施例的对话系统中使用的对话场景比图5的传统对话系统中使用的对话场景简单得多。
图7是示出根据本实施例的对话系统中的程序流程的流程图。首先,程序从对话场景中记述为初始状态的状态开始(Op 11)。处理执行单元104执行分配给记述为初始状态的状态的处理。具体来讲,首先,输出单元106执行分配给对话场景中的该状态的系统输出(从系统到用户的询问等)(Op12)。然后,在识别候选项集合存储单元107存储的识别候选项集合中,将分配给当前状态的识别候选项集合置为有效(Op 13)。然后,当用户响应系统输出而执行输入时,识别处理单元108通过将用户的输入与在处理执行单元104的控制下在Op 13中置为有效的识别候选项集合相比较而执行识别处理(Op 14)。然后,基于在Op 14中的识别处理的结果,状态管理单元102在状态转移模型所包含的状态中确定下一转移状态(Op 15)。
如果在Op 15中确定的下一转移状态是结束状态(Op 16中的YES),则状态管理单元102结束对话。另一方面,如果在Op 15中确定的下一转移状态不是结束状态(Op 16中的No),则状态管理单元102使重新输入可接受状态存储单元109存储转移前的状态的名称(Op 17)。此外,状态管理单元102使重新输入识别候选项集合存储单元110存储分配给转移前状态的识别候选项集合(Op 18)。
然后,处理执行单元104执行分配给在Op 15中确定的转移状态的处理,从而输出单元106执行分配给对话场景中的该状态的系统输出(从系统到用户的询问等)(Op 19)。也就是说,此时,状态从Op 11的初始状态转到Op 15确定的状态。然后,识别处理单元108将分配给当前状态(即转移后的状态)的识别候选项集合以及重新输入识别候选项集合存储单元110中存储的识别候选项集合置为有效(Op 20),并将用户的输入与这些识别候选项集合比较,从而执行用户输入的识别处理(Op 21)。在得到了用户输入的识别结果的情况下,重新输入判断单元111判断用户的输入是否是重新输入(Op 22)。后面将说明在Op 22中重新输入判断单元111判断的方式。
在Op 22中,在判断用户的输入不是重新输入的情况下,程序返回到Op 15,在Op 15中状态管理单元102确定下一转移状态。另一方面,在判断用户的输入是重新输入的情况下,将当前状态转到重新输入可接受状态存储单元109中存储的状态(即,紧接的前一状态)(Op 23),然后程序返回到Op 15。
在上述的Op 22中,基于用户的输入匹配在分配给当前状态的识别候选项集合中或者在分配给前一状态的识别候选项集合(存储于重新输入识别候选项集合存储单元110中的识别候选项集合)中包含的任一识别候选项的事实,重新输入判断单元111判断用户的输入是否是重新输入。在用户的输入与分配给前一状态的识别候选项集合和分配给当前状态的识别候选项集合中均包含的任一识别候选项匹配时,可以通过比较与识别结果一起返回的其可靠度而确定优先权。此外,也可基于重新输入的可能性而为可靠性分配权重。如果用户的输入与分配给前一状态的识别候选项集合和分配给当前状态的识别候选项集合中共同包含的任一识别候选项匹配(例如,在对话场景中,在某一状态中询问了父亲的年龄,而在随后的状态中询问了母亲的年龄的情况下),则可以判断用户的输入匹配分配给当前状态的识别候选项集合中包含的识别候选项(即,不是重新输入)。
实施例3下面说明根据本发明的对话系统的另一实施例。图8是示意性地示出根据本实施例的对话系统的结构框图。这里应当注意,相同的标号表示与上述实施例中说明的结构中的元件具有相同功能的元件,并略去其详细说明。
如图8所示,本实施例的对话系统除了包括根据实施例2的对话系统的结构外,还包括用于变换重新输入的识别候选项集合的单元112(后面称为“重新输入识别候选项集合变换单元112”)以及重新输入验证状态产生单元113。重新输入识别候选项集合变换单元112将分配给前一状态的识别候选项集合变换为便于用户重新输入的识别候选项集合,以增强重新输入过程中的识别性能。当作为识别结果而将用户的输入判断为重新输入时,重新输入验证状态产生单元113便产生执行一对话的状态,该对话用于让用户明确地验证重新输入的识别结果。
当用户重新输入应答时,根据具体情况,重新输入经常包括表示例如“不……”的否定、例如“……我说的是”的强调以及例如“不……”的改变的词汇项。因而,重新输入识别候选项集合变换单元112将包含重新输入所特有的那些项的识别候选项作为新的识别候选项添加在分配给前一状态的识别候选项集合中,其中所述重新输入所特有的那些项被添加在注册和记述的识别候选项之前和/或之后。如果用户由于识别错误而重新输入,则可以从分配给前一状态的识别候选项集合中删除过去的识别结果,以防止重复相同的识别错误。
此外,在用户未做出应答而从某一状态转移到下一状态的情况下,不更新重新输入可接受状态存储单元109与重新输入识别候选项集合存储单元110,从而用户能够对更靠前的状态中的在前状态进行重新输入。此外,在从第一次询问开始经过了一段时间后重新输入的可能性较低的情况下,可根据经过的时间而确定是否应该将重新输入识别候选项集合存储单元110中存储的识别候选项集合置为有效。
下面说明根据本实施例的对话系统的操作。在下文中,将对话场景假定为用户输入一些条件以使用饭店搜索服务的实例。图9示出了一个对话实例,其中当对话系统首先询问用户需要的食物类型时(询问1),虽然用户应答“日餐”,但系统错误地识别为“西餐”,然后在系统对搜索条件进行验证的过程中(询问2),用户再次输入“不,我说的是日餐”的应答,以作为对询问1的重新输入。
图10示出了在本实施例的对话场景中记述的状态转移模型。如图10所示,在该对话场景中,根据对用户应答在第一状态(S1)中关于食物类型的询问(询问1)的输入的识别结果(“日餐”、“西餐”和“中餐”),该状态转到彼此不同的状态(S2到S4)。此外,在状态S3中,在对话系统对搜索条件进行验证的过程中(询问2),如果用户没有输入,则该状态转到下一状态(S5)。
图11是示出根据本实施例的对话系统的程序流程的流程图。这里应当注意,根据本实施例的对话系统包括在根据图7的实施例2的对话系统程序的Op 17和Op 22之后分别添加的步骤Op 30和Op 31。由于从Op 11到Op23的程序与实施例2的程序相同,故略去其解释。
在Op 30中,重新输入识别候选项集合变换单元112变换分配给前一状态的识别候选项集合,并使重新输入识别候选项集合存储单元110存储变换的识别候选项集合。如上所述,当用户重新输入应答时,应答经常包括重新输入特有的词汇项(附属词汇项)。因此,为接受这种应答,重新输入识别候选项集合变换单元112将包含重新输入所特有的词汇项的识别候选项作为新的识别候选项添加在分配给前一状态的识别候选项集合中,其中所述重新输入所特有的词汇项被添加在记述的识别候选项之前和/或之后,从而变换识别候选项集合。
作为重新输入所特有的附属词汇项,可考虑例如“不……”和“那是错误的……”的表示否定的词汇项、用于纠正识别错误的例如“我说的是……”、“我的意思是……”和“你知道……”的表示强调的词汇项以及用于纠正输入的例如“不,……”的表示改变的词汇项。这里应当注意,上面列举的附属词汇项只是说明性的实例,而并非用以限定这些实例。此外,为防止重复同样的识别错误,能够变换识别候选项集合,以便从识别候选项集合中删除过去的识别结果(此情况下的“西餐”)。
在Op 31中,如果重新输入判断单元111判断出用户输入的识别结果为重新输入,则在前一状态的处理之前提供用于让用户明确地验证识别结果的对话。这可以通过使处理执行单元104执行分配给由重新输入验证状态产生单元113产生的状态的处理而实现。在此实例中,用户被明确地要求对例如“日餐,对么?”的重新输入的识别结果进行验证。如果用户并未重新输入却错误地判断成该用户执行了重新输入,则该程序可防止到此时为止的输入被丢弃,该丢弃使得状态转到用户不期望的状态。
在根据本实施例的对话系统中,在未获得用户的任何输入而将状态转到下一状态的情况下,不进行对当前状态存储单元103中存储的状态以及对重新输入识别候选项集合存储单元110中存储的识别候选项集合的更新处理(Op 17和Op 18)。从而,在此实例中,在用户未对“将进行西餐的搜索,是么?”的询问2输入任何应答,并且即使在状态转到发出了如“你期望的价格范围是?”的询问(图10的询问3)的下一状态S5的情况下,用户也能执行对食物类型(询问1)的重新输入。
实施例4下面说明根据本发明的对话系统的另一实施例。图12是示意性地示出了根据本实施例的对话系统的结构框图。这里应当注意,将相同的标号表示与上述实施例中说明的结构中的元件具有相同功能的元件,并略去其详细说明。
如图12所示,本实施例的对话系统具有与根据实施例3的对话系统的结构相似的基本结构。然而,本实施例的对话系统还能够不仅接受对紧接的前一状态的重新输入,而且还接受对更靠前的在前状态的重新输入。为了该目的,重新输入可接受状态存储单元109以及重新输入识别候选项集合存储单元110分别存储多个过去状态以及对应于各状态的识别候选项集合。
下面说明根据本实施例的对话系统的操作。在下文中,将对话场景假定为提供机票咨询服务和预定服务。图13示出了本实施例的对话系统中的对话场景中记述的状态转移模型。在该对话场景中,首先,在第一状态S1询问用户需要的服务(询问1),然后在第二状态S2,询问出发地及目的地(询问2)。后面的对话流程随用户在状态S1选择的服务而不同。也就是说,用户在状态S1中选择“机票”咨询服务的情况下,状态从S2转到S3,以显示出机票的信息。另一方面,用户在状态S2中选择“预定”服务的情况下,状态从S2转到S4,以询问日期和时间(询问3)。
在该状态转移模型中,为了能够不仅接受对紧接的前一询问的重新输入而且还接受对更靠前的在前询问的重新输入,重新输入可接受状态存储单元109以及重新输入识别候选项集合存储单元110分别存储多个状态以及对应于各状态的识别候选项集合。然后,当状态改变时,转移前的状态和分配给转移前的状态的识别候选项集合分别被添加存储在重新输入可接受状态存储单元119和重新输入识别候选项激活存储单元110中。然后,在识别处理过程中,将重新输入识别候选项集合存储单元110中存储的所有识别候选项集合以及分配给当前状态的识别候选项集合同时置于有效。在对过去的询问执行重新输入的情况下,在当前状态转到重新输入可接受状态存储单元109中存储的多个状态中的某个状态后,分配含有与用户的输入匹配的识别候选项的识别候选项集合,并确定下一转移状态。
例如,在图13的状态转移模型中,如果用户在机票信息被提供时输入“预定”(状态S3),识别处理单元108识别出输入了对应于状态S 1的识别候选项集合中包含的识别候选项。从而,允许用户通过对话在中途将其需要的服务从“机票”咨询转到“预定”。在这种情况下,由于接受了对状态S1的重新输入,当状态接着转到S2时,再次发出对出发地和目的地的询问。
如图14所示,作为本实施例的进一步的改进实例,可以进一步添加识别结果历史存储单元114,以便如果已经获得识别结果则可跳过状态。图15示意性地示出了识别结果历史存储单元114中存储的内容的一个实例。在图15的实例中,用户对图13的状态S1的输入的识别结果为“机票”,并且用户对状态S2的输入的识别结果为出发地“东京”和目的地“大阪”。在识别结果历史存储单元114中存储有图15的内容的情况下,如果在状态S3中提供机票信息时用户输入“预定”,则状态管理单元102查询识别结果历史存储单元114中存储的内容,以确认已经得到用户对状态S1和S2的输入的识别结果,并跳过状态S2而转到状态S4。从而,在机票咨询服务的程序中,用户不需在状态S2中再次输入出发地和目的地。
关于对过去某个时间点的询问的重新输入应被置为可接受的问题,可根据各识别候选项集合被存储后经过的时间而确定是否将重新输入识别候选项集合存储单元110中存储的每个识别候选项集合置为有效。可选的,关于有多少在前状态的识别候选项集合应被置为有效的问题,可根据到那时为止的状态转移次数确定。此外,当完成了预定的任务(例如,机票的预定)时,可清除重新输入可识别状态存储单元109和重新输入识别候选项集合存储单元110的内容。
这里应当注意,当用户的输入匹配重新输入识别候选项集合存储单元110中存储的识别候选项集合中包含的识别候选项时,状态执行单元104可以调用用于将在当前状态调用的外部应用程序的程序结果恢复到原始状态的程序。例如,在分配给某状态的处理中,可将用于调用应用程序的程序以及用于将应用程序的处理结果恢复到原始状态的程序都置为调用就绪状态。此处,用于将程序结果恢复到原始状态的程序并不总是需要在话场景中的记述,并且在用户的输入被判断为重新输入的情况下,该程序可自动执行,而与对话场景无关。
例如,在对话系统与数据库关联操作的情况下,假定调用用于写到数据库的应用程序以启动对数据库的写入程序。从而,当用户执行重新输入时,便调用用于取消写到数据库的API,从而可避免前一个用户输入的影响。
本发明可应用于一种具有高可用性的对话系统,其允许用户的重新输入,而无需在对话场景中记述用于处理重新输入的代码。
在不脱离本发明的精神和本质特征的情况下,本发明可以其他方式实施。在本申请中公开的实施例仅作为解释而并非用于限定。本发明的范围将在后附的权利要求中予以阐述,并非由前述的说明阐述,并且所有落入权利要求书的等效含义及范围内的变换都将包含于本发明的范围之中。
权利要求
1.一种对话系统,其包括输入单元,其接受用户的输入;输出单元,其向该用户呈现信息;对话场景存储单元,其存储其中记述有状态转移模型的对话场景,其中该状态转移模型是根据通过该输入单元和该输出单元执行的与该用户的对话而记述的;状态管理单元,其基于该对话场景中记述的状态转移模型,根据用户通过该输入单元的输入在该状态转移模型中包含的状态中确定下一将转到的状态;当前状态存储单元,其存储该状态转移模型中包含的状态中的当前状态;处理执行单元,其执行分配给由该状态管理单元确定的状态的处理;识别候选项集合存储单元,其预先存储识别候选项集合,所述识别候选项集合包含用于用户输入的识别候选项,并且所述用于用户输入的识别候选项是相对于该状态转移模型中包含的每个状态而假定的,每个识别候选项集合与该状态转移模型中包含的每个状态相关联;重新输入可接受状态存储单元,其在转移到下一状态时存储转移前的状态;重新输入识别候选项集合存储单元,其在转移到下一状态时存储分配给转移前的状态的识别候选项集合;以及识别处理单元,其在用户输入时查询与该用户输入时的状态相关联的识别候选项集合以及重新输入识别候选项集合存储单元中存储的识别候选项集合,以确定与该用户的输入对应的识别候选项,其中,在由该识别处理单元确定的识别候选项为该重新输入识别候选项集合存储单元中存储的识别候选项集合中记述的识别候选项的情况下,该状态管理单元确定该重新输入可接受状态存储单元中存储的状态为将转到的状态。
2.如权利要求1所述的对话系统,其还包括重新输入判断单元,其中,在用户输入时,在与该当前状态存储单元中此时存储的状态相关联的识别候选项集合以及该重新输入识别候选项集合存储单元中存储的识别候选项集合都包含与该用户的输入对应的识别候选项的情况下,该重新输入判断单元基于预定的规则确定这些识别候选项集合的优先级。
3.如权利要求1所述的对话系统,其还包括重新输入识别候选项集合变换单元,其将该重新输入识别候选项集合存储单元中存储的识别候选项集合变换为包含假定当该用户执行重新输入时使用的识别候选项的识别候选项集合。
4.如权利要求3所述的对话系统,其中,该识别处理单元还存储在前识别的结果,以及该重新输入识别候选项集合变换单元从该重新输入识别候选项集合存储单元中存储的识别候选项集合中删除该在前识别的结果。
5.如权利要求3所述的对话系统,其中,该重新输入识别候选项集合变换单元将新的识别候选项添加在该重新输入识别候选项集合存储单元中存储的识别候选项集合中,通过将在重新输入过程中用户使用的词汇项添加到该识别候选项集合中记述的任何一个识别候选项中而获得所述新的识别候选项。
6.如权利要求1所述的对话系统,其中,在该用户未进行任何输入而从某一状态转到下一状态的情况下,并不更新该重新输入可接受状态存储单元中存储的状态以及该重新输入识别候选项集合存储单元中存储的识别候选项集合。
7.如权利要求1所述的对话系统,其还包括重新输入结果验证状态产生单元,其在该用户的输入与该重新输入识别候选项集合存储单元中存储的识别候选项集合中包含的识别候选项匹配的情况下,产生用于让该用户明确地验证该识别处理单元的识别结果的状态。
8.如权利要求1所述的对话系统,其中,在该用户的输入与该重新输入识别候选项集合存储单元中存储的识别候选项集合中包含的识别候选项匹配的情况下,调用用于将在该用户输入的状态中调用的应用程序的程序结果恢复到原始状态的程序。
9.如权利要求1所述的对话系统,其中,该重新输入可接受状态存储单元包括用于存储多个过去状态的区域,以及该重新输入识别候选项集合存储单元包括用于存储分配给过去状态的多个识别候选项集合的区域,其中,该对话系统还包括识别结果历史存储单元,其存储响应于用户对过去状态的输入而得到的识别结果。
10.一种记录介质,其上装有使计算机执行与用户的对话处理的程序,其中,该计算机配有用于接受该用户输入的输入单元以及用于向用户呈现信息的输出单元,该程序使该计算机执行如下步骤处理执行步骤,其查询其中记述有状态转移模型的对话场景,其中该状态转移模型是根据通过该输入单元和该输出单元执行的与该用户的对话而记述的;基于该状态转移模型,根据用户通过该输入单元的输入在该状态转移模型中包含的状态中确定下一将转到的状态;以及在当前状态存储单元中存储确定的状态并执行分配给该确定状态的处理;存储步骤,其在转移到下一状态时,在重新输入可接受状态存储单元中存储转移前的状态,并在重新输入识别候选项集合存储单元中存储分配给转移前的状态的识别候选项集合;以及识别步骤,其在用户输入时,查询识别候选项集合存储单元,该识别候选项集合存储单元预先存储识别候选项集合,所述识别候选项集合包含用于用户输入的识别候选项,并且所述用于用户输入的识别候选项是相对于该状态转移模型中包含的每个状态而假定的,每个识别候选项集合与该状态转移模型中包含的每个状态相关联;以及查询与该用户输入时的状态相关联的识别候选项集合以及重新输入识别候选项集合存储单元中存储的识别候选项集合,以确定与该用户的输入对应的识别候选项,其中,在该识别步骤确定的识别候选项为该重新输入识别候选项集合存储单元中存储的识别候选项集合中记述的识别候选项的情况下,在随后的处理执行步骤中,该程序使计算机确定该重新输入可接受状态存储单元中存储的状态为将转到的状态。
11.一种利用计算机的对话处理方法,该计算机配有用于接受用户输入的输入单元以及用于向用户呈现信息的输出单元,该对话处理方法包括如下步骤处理执行步骤,其查询其中记述有状态转移模型的对话场景,其中该状态转移模型是根据通过该输入单元和该输出单元执行的与该用户的对话而记述的;基于该状态转移模型,根据用户通过该输入单元的输入在状态转移模型中包含的状态中确定下一将转到的状态;以及在当前状态存储单元中存储确定的状态并执行分配给该确定状态的处理;存储步骤,其在转移到下一状态时,在重新输入可接受状态存储单元中存储转移前的状态,并在重新输入识别候选项集合存储单元中存储分配给转移前的状态的识别候选项集合;以及识别步骤,其在用户输入时,查询识别候选项集合存储单元,该识别候选项集合存储单元预先存储识别候选项集合,所述识别候选项集合包含用于用户输入的识别候选项,并且所述用于用户输入的识别候选项是相对于该状态转移模型中包含的每个状态而假定的,每个识别候选项集合与该状态转移模型中包含的每个状态相关联;以及查询与该用户输入时的状态相关联的识别候选项集合以及重新输入识别候选项集合存储单元中存储的识别候选项集合,以确定与该用户的输入对应的识别候选项,其中,在该识别步骤确定的识别候选项为该重新输入识别候选项集合存储单元中存储的识别候选项集合中记述的识别候选项的情况下,在随后的处理执行步骤中,该重新输入可接受状态存储单元中存储的状态被确定为将转到的状态。
全文摘要
本发明提供一种对话系统,其能够适当地处理用户的重新输入,而无需记述假定用户重新输入的对话场景。该对话系统包括重新输入可接受状态存储单元,其存储转移前的状态;以及重新输入识别候选项集合存储单元,其存储分配给转移前的状态的识别候选项集合。在用户输入时,查询与该状态相关联的识别候选项集合以及重新输入识别候选项集合存储单元中存储的识别候选项集合,以确定识别候选项。在确定的该识别候选项为重新输入识别候选项集合存储单元中存储的识别候选项集合中记述的识别候选项的情况下,重新输入可接受状态存储单元中存储的状态被确定为将转到的状态。
文档编号G06F17/00GK1881206SQ200510112519
公开日2006年12月20日 申请日期2005年9月30日 优先权日2005年6月15日
发明者池田拓郎, 北川英志, 福冈俊之 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1