附图说明
图1是表示本发明的对话支援系统的一个实施方式的结构框图。
图2是表示参与对话的人1及参与对话的人2的发言和发言编号的对应关系的例子的图。
图3(a)、(b)、(c)、(d)、(e)是表示存储在对话履历数据库中的对话履历的例子的图。
图4是表示利用本发明的对话支援装置的场景的例子的图。
图5是表示发言预测部的动作流程的流程图。
图6是表示本发明的对话支援装置的显示例的图。
图7是表示本发明的对话支援装置的显示例的图。
图8是表示对话履历选择部的动作流程的流程图。
图9(a)、(b)是表示定义对话履历类似度的数学式及计算的例子的图。
图10是表示调整对话履历的发言数的动态程序设计的算法图。
图11是表示对话履历d4适用了动态程序设计后的例子的图。
图12是表示决定发言块的算法的图。
图13是表示对话履历计算了比分的结果的图。
图14是表示本发明的对话支援装置的显示例的图。
图15是表示本发明的对话支援装置的其他的显示例的图。
图16是表示本发明的对话支援装置的其他的显示例的图。
图17是表示本发明的对话支援装置的其他的显示例的图。
图18是表示本发明的对话支援装置的其他的显示例的图。
图19是表示本发明的对话支援装置的其他的显示例的图。
图20是表示本发明的对话支援装置的其他的显示例的图。
图21是表示本发明的对话支援装置的其他的显示例的图。
图22是表示本发明的对话支援装置的其他的显示例的图。
图23是表示本发明的对话支援装置的其他的显示例的图。
图24是表示新生成的对话和对话履历的类似度进行比较的例子的图。
图25是表示参与对话的人1及参与对话的人2的发言和发言编号的对应关系的例子的图。
图26(a)、(b)、(c)、(d)、(e)是表示存储在对话履历数据库中的对话履历的例子的图。
图27是表示本发明的对话支援装置的显示例的图。
图28是表示本发明的对话支援装置的其他的显示例的图。
图29是表示本发明的对话支援装置的其他的显示例的图。
图30是表示本发明的对话支援装置的其他的显示例的图。
图31是表示本发明的对话支援装置的其他的显示例的图。
图32是表示本发明的对话支援装置的其他的显示例的图。
图33是表示本发明的对话支援装置的其他的显示例的图。
图34是表示本发明的对话支援装置的其他的显示例的图。
图35是表示本发明的对话支援装置的其他的显示例的图。
图36是表示本发明的对话支援系统的其他的实施方式的结构框图。
图37是表示本发明的对话支援装置的显示例的图。
图38是表示本发明的对话支援装置的显示例的图。
图39是表示本发明的对话支援系统的其他的实施方式的结构框图。
图40(a)、(b)是表示每个参与对话的人具备本发明的对话支援装置的显示例的图。
图41(a)、(b)是表示每个参与对话的人具备本发明的对话支援装置的其他的显示例的图。
图42(a)、(b)是表示每个参与对话的人具备本发明的对话支援装置的其他的显示例的图。
图43(a)、(b)是表示每个参与对话的人具备本发明的对话支援装置的其他的显示例的图。
编号说明
101发言接受部
102发言输出部
103发言接受部
104发言输出部
105发言处理部
106发言预测部
107对话履历选择部
108通信部
200服务器装置
201对话履历数据库
202通信部
601对谈开始键
801与对话履历db相对的对话履历da的类似度进行定义的数学式
802类似度计算的例子
1031参与对话的人1的发言输入输出领域
1302参与对话的人2的发言输入输出领域
1303结束对谈键
1304参与对话的人1的发言输入领域
1305参与对话的人2的发言输入领域
1306给参与对话的人1的发言输出领域
1307给参与对话的人2的发言输出领域
1308给参与对话的人1的预测表示领域
1309给参与对话的人2的预测表示领域
2301参与对话的人1的PDA
2302参与对话的人2的PDA
2303参与对话的人1的对话预测展开键
2304参与对话的人2的对话预测展开键
2401给参与对话的人1的预测展开表示领域
2402给参与对话的人2的预测展开表示领域
具体实施方式
本发明的实施方式中的对话支援装置是对参与对话的人所进行的对话进行支援的对话支援装置,其特征在于具有:对话履历选择机构,从存储上述参与对话的人及上述参与对话的人以外的人的对话履历的对话履历数据库中,按照指定上述参与对话的人的信息及对话状况选择对话履历;以及发言预测机构,根据上述对话履历选择机构中选择的上述对话履历,预测在上述对话中上述参与对话的人的下一个发言。
因此,利用自己的对话履历和对方的对话履历,检索与有可能出现的对话最接近的履历,参与对话的人以外的人的履历也包含在内进行检索,根据检索出来的履历能够预测下一个发言,这样,对话的对方不论是怎样的人,都可以支援对话迅速结束。
在此,最好是上述对话履历选择机构从上述参与对话的人的各自的对话履历中,能够将与上述对话状况最接近的对话履历作为各自的基准对话履历抽出,并选择与各自的上述基准对话履历类似度高的对话履历。
因此,根据与基准对话履历类似度高的对话履历,可以预测参与对话的人的下一个发言。
并且,上述对话支援装置也可以进一步具有,发言接受机构,受理上述参与对话的人的发言;发言处理机构,把由上述发言接受机构受理的上述发言转换为其他的发言形态;以及发言输出机构,输出由上述发言处理机构所转换的上述其他的发言形态的上述发言。
因此,可以支援例如日、英语之间的对话等的不同语言的对话。
而且,本发明不仅实现了这样的对话支援装置,而且还实现了将这种对话支援装置所具有的特征结构步骤化的对话支援方法,这里所具有的步调性是通过计算机所实行的程序来实现的。并且,像这样的程序当然还可以通过CD-ROM等记录介质或因特网等传送介质进行发送。
以下,参照附图,说明本发明的实施方式。
图1是表示本发明的对话支援系统的一个实施方式的结构框图。
对话支援系统是支援人与人的对话的系统,如图1所示具有,对话支援装置100,以及通过网络300和该对话装置100连接的服务器装置200。
服务器装置200具有对话履历数据库201及通信部202。对话履历数据库201存储了各种对话履历。通信部202,通过网络300与对话支援装置100进行通信。
另一方面,如图1所示,对话支援装置100具有:发言接受部101、发言输出部102、发言接受部103、发言输出部104、发言处理部105、发言预测部106、对话履历选择部107以及通信部108。
在此,发言接受部101和发言接受部103相当于发言接受机构;发言输出部102和发言输出部104相当于发言输出机构;发言处理部105相当于发言处理机构;发言预测部106相当于发言预测机构;对话履历选择部107相当于对话履历选择机构。
发言接受部101接受参与对话的人1的发言,并且输出为了指定发言的发言信息。发言输出部102对参与对话的人1输出作为发言的来自其他的参与对话的人的发言信息。同样,发言接受部103接受参与对话的人2的发言,并且输出发言信息。发言输出部104对参与对话的人2输出作为发言的来自其他参与对话的人的发言信息。发言处理部105根据从发言接受部101被输出的发言信息和从发言接受部103被输出的发言信息,把特定的发言分别转换为其他的发言形态。
发言预测部106在对话开始之前,从参与对话的人1和参与对话的人2中分别取得参与对话的人的认证信息和对话状况。并且,发言预测部106在对话开始后,在发言接受部101受理来自参与对话的人1的发言之前,或在发言接受部103受理来自参与对话的人2的发言之前,预测对话中的发言,并表示在显示屏等上。
对话履历选择部107根据发言预测部106取得的认证信息,检索服务器装置200中的对话履历数据库201,并选择对话履历数据库201中最适合的对话履历。通信部108,通过网络300与服务器装置200进行通信。
以下说明,在上述被构成的对话支援系统中,支援不同语言的对话时的动作。在此,假定参与对话的人1使用日语会话;参与对话的人2使用英语会话。图2是表示参与对话的人1及参与对话的人2的发言和发言编号的对应关系的例子的图。
发言接受部101将受理的参与对话的人1的发言转换为与此相当的发言信息。例如,发言信息则是图2中的发言编号。发言处理部105将参与对话的人1的发言(日语)转换为给参与对话的人2的发言(英语),并输出字符串。例如,当输入发言编号1时,向发言输出部104输出作为发言信息的字符串“May I help you(欢迎光临)?”。
相反,发言接受部103则将受理的参与对话的人2的发言转换为与此相当的发言信息。发言信息,例如是图2的发言编号,发言处理部105将参与对话的人2的发言(英语)转换给参与对话的人1的发言(日语),并输出字符串。例如,当发言编号1被输入的时候,则对发言输出部102输出作为发言信息字符串的“いらつしやいませ(欢迎光临)”。以后,为了能够进行简单地说明,在考虑到语言方向的基础之上,略记为:用J1表示来自参与对话的人1的发言编号1;用E1表示来自参与对话的人2的发言编号1。
发言接受部101让参与对话的人1直接选择图2中日语的名单的部分,作为发言信息输出与之相对应的发言编号。同时,发言接受部103,让参与对话的人2直接选择图2中英语的名单的部分,作为发言信息输出与之相对应的发言编号。再者,关于发言接受部101和发言接受部103的构成,也可以是利用语音识别处理,将参与对话的人的语音经过射影处理,可以使其与发言编号中的某一个相对应。此外,还可以从键盘输入发言的记载和发音相当的字符串,可以使之射影到与发言编号中相对应的某一个。
图3是表示存储在对话履历数据库201中的对话履历的例子的图。所谓对话履历是指,根据参与对话的人过去所进行的发言的履历,是按照各参与对话的人的发言时刻的顺序排列的。发言是与图2所定义的发言的某一个相对应的。再者,即使是同样的发言编号,根据参与对话的人的不同也必须要区别开,将代表日语的J和代表英语的E添加在各自发言编号的前面,作为在对话履历中的发言标识。以后,为了进行简单说明,将1个对话履历在具有其标识的行列中进行记述。例如,对话履历d1记述为d1:E1,J2,E3,J4,E5,J6,E7,E8。在对话履历中记录了参加该对话的参与对话的人的认证信息和对谈的话题(对话状况)。例如对话履历d1中,记下的信息为,J的发言为太郎,E的发言为Tom,话题场景为宾馆。
以下说明,如图4所示,参与对话的人1为日本人游客,参与对话的人2为说英语的宾馆的服务台的职员,以在办理宾馆的入住登记时的对话为例。
图5是表示发言预测部106的动作流程的流程图。首先,发言预测部106为了进行发言预测,进行对所需的参与对话的人的指定和对谈话题的指定(步骤S401)。在例如作为PDA而实现的如图6所示的对话支援装置100中,由参与对话的人通过触摸屏,直接输入参与对话的人1和参与对话的人2的名字,以及对谈的话题,从而取得有关参与对话的人的信息。再者,参与对话的人的认证信息的取得除像上述的手动方法以外,还可以以利用指纹认证和信用卡的个人信息,实现了自动获得的方法。再者,关于对谈的话题的取得,除了用这种手动的方法以外,还可以从自动获得的PDA的存在环境的信息(例如,餐厅、医院、宾馆等的场所信息)中,实现了自动联想的方法。
发言预测部106如图7所示,如果点触对话开始键601的话,对话履历选择部107就会作成预测堆栈(步骤S402)。
图8是表示对话履历选择部107的动作的流程图。对话履历选择部107,是按照从发言预测部106中所通知的参与对话的人的认证信息和对谈话题的相关信息,决定对话履历数据库201中包含的参与对话的人1的对话履历dr1和参与对话的人2的对话履历dr2(步骤S701)。即,通过检索与参与对话的人1的认证信息和对谈话题相对应的对话履历来决定对话履历dr1;通过检索与参与对话的人2的认证信息和对谈话题相对应的对话履历来决定对话履历dr2。例如,如果对话履历数据库201中图3所表示的对话履历存在的情况下,决定对话履历dr1=对话履历d1,对话履历dr2=对话履历d3。理由为,对话履历d1的J的发言是太郎,对话履历d3的E的发言是Hanako,各自的对谈话题的场景是在宾馆。对话履历d5的J的发言虽然是太郎,但是,因为对谈的话题为出赁汽车,所以不被选择。再者,当在符合对话履历数据库201中不存在相应的对话履历的情况下,可以通过忽视对谈的话题,检索对话履历,选择最接近的履历,使处理能够继续进行。
然后,对话履历选择部107,是关于对话履历数据库201中,除对话履历dr1和对话履历dr2以外的全部的对话履历d计算比分scoe(d)=r(d|dr1)+r(d|dr2)(步骤S702)。r(da|db)是对话履历da对于对话履历db的类似度,根据图9(a)表示的数学式801进行定义。在此,发言块定义为连续的发言的集合。size(d)是对话履历中包含的发言块的数,size(b)是发言块b中包含的发言的数。例如,在图9类似度计算的例802中,因为对话履历da由4个发言块构成,所以,size(da)=4。再者,各发言块中含有的发言的数,分别为:size(b1)=5,size(b2)=2,size(b3)=4,size(b4)=1,由此可以计算出r(da|db)约等于0.424。根据上式,类似度r的值越大,2个对话履历的类似度就越高。并且,类似度和发言的集合的数成反比例关系,共通的发言块的数越少类似度就越高。并且,类似度与各集合中包含的发言数的平均成正比例,1个发言块中包含的发言数越多类似度就越高。
图10是表示调整对话履历的发言数的动态程序设计法的算法的图。利用这个动态程序设计法调整2个对话履历的发言数,使之成为相同的数之后,进行上述的类似度的计算。为了计算对话履历d4对对话履历d1的类似度r(d4|d1),将图10的动态程序设计法中适用于对话履历d4的例子表示在图11中。在被调整的对话履历d4’中,标识φ的发言是为了与d1的发言数相同而被追加的空的发言。类似度r(d4|d1)的值以类似度r(d4’|d1)的值来计算。
图12是表示发言块的决定算法的图。基本上,2个对话履历中包含的发言块的数以最小的发言块的数来决定。
首先,把发言串A和发言串B的长度,利用动态程序设计法,使之成为同样的长度(步骤S1201)。把发言串A(发言串B)中包含的发言数作为m(步骤S1202)。然后,再将1赋值给i(步骤S1203)。判断发言串B中是否存在A[i](步骤S1204)。并且,A[i]是表示在发言串A中第i个发言。并且,关于φ,当A[i]=φ,B[j]=φ的时候,不认为A[i]和B[j]相同。如果这个判断的结果,发言串B中存在A[i](步骤S1204的是)的情况下,则上述发言为B[j](步骤S1205)。并且,求出从A[i]到A[i+n]及从发言串B[j]到B[j+n]中求出相同的最大的n值,并各自作为1个块(步骤S1206)。然后,将i+n+1赋值给i(步骤S1207)。
若判断发言串B中是否存在A[i]的结果为,发言串B中不存在A[i](步骤S1204的否)的情况下,则把A[i]作为一个块(步骤S1208)。然后,将i+1赋值给i(步骤S1209)。
然后,判定是否为i>m(步骤S1210)。不是i>m(步骤S1210的否)的情况下,再重新判断A[i]是否存在于发言串B中,判断处理之后,重复该步骤(步骤S1204~S1207)。另一方面,是i>m(步骤S1210的是)的情况下,结束处理。
例如,在图9(b)中,对于对话履历db:u6,u7,u1,u2,u3,u4,u5,u8,u9,u10,u11,u13,对话履历da:u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,将成为da:(u1,u2,u3,u4,u5),(u6,u7),(u8,u9,u10,u11),u12。被括号括起来的发言的标识,相当于1个发言块。但是,当只是由1个发言构成发言块的时候,为了表示的简单省略了括号。
图13表示的是对话履历数据库201中存储了图3中所示的对话履历,对话履历dr1=对话履历d1,对话履历dr2=对话履历d3时,针对对话履历dr1和对话履历dr2以外的所有的对话履历d计算出比分score(d)=r(d|dr1)+r(d|dr2)后的结果的图。
然后,对话履历选择部107选择比分score(d)的最大的对话履历d=对话履历dmax(步骤S703)。图13表示的例子为选择了对话履历d2。
对话履历选择部107对于对话履历dmax,与对话履历dr1和对话履历dr2同样适用于图12中发言块的决定算法,把发言块进行分割作为预测堆栈(步骤S704)。并且,在鉴别连续的发言的处理(步骤S1206)中,添加以下限制:超过已决定的发言块的境且不连续。例如,以对话履历dr1=对话履历d1和对话履历dr2=对话履历d3分割对话履历dmax=对话履历d2时,首先,根据对话履历d1将对话履历d2:E1,E8,J2,E3,J4,E5,J6,E7分割为3个发言块,即:对话履历d2:E1,E8,(J2,E3,J4,E5,J6,E7),再根据对话履历d3,进一步将对话履历d2:E1,E8,J2,(E3,J4),(E5,J6,E7)分割为5个发言块。对话履历选择部107,将对话履历d2作为预测堆栈,通知给发言预测部106。
并且,对话履历选择部107在进行图12所示的发言块决定算法中,进行发言是否在2个对话履历中共同包含的判断处理(步骤S1204,S1206),不过,除发言信息的一致,即发言编号的一致以外,也可以利用自然语言处理,通过发言的表层表现(文字表现)的一致性,或实义词的一致性等来判断。例如,一方的对话履历中有发言“ありがとう(谢谢)。”而另一方的对话履历中有发言“ありがとうございます(‘谢谢’的尊敬语表现)。”的情况下等,即使这样的发言为不同的发言编号,但因其表层表现比较接近,则会判断为这2个对话履历含有共同的发言。一方的对话履历中有发言“Thank you(谢谢).”,另一方的对话履历中有发言“Thank you very much(‘谢谢’的正式表现).”的情况也相同。再者,一方的对话履历中有发言“これを3セツト
答用に包んで下さい(请把这个包装成送礼用的3份)。”另一方的对话履历的发言为“
答用に3セシト(送礼用3份)、これを包んで下さい(请把这个包装起来)。”的情况下等,其中内容语被定义为(これ(这个)、包む(包装)、3セツト(3份)、
答用(送礼用))的话,所包含的共同的实义词比较多,就会判断为2个对话履历含有共同的发言。而且,还可以组合使用这些判断方法。由于有了这样灵活的判断,即使在仅使用发言编号的一致无法检索到适当的对话履历时,也可以检索适当的对话履历。
在此,回到图5所表示的流程图的说明。
发言预测部106在接受了来自对话履历选择部107的发言预测堆栈之后,判断预测堆栈是否处于空的状态(步骤S403)。由于对话履历选择部107不能在对话履历数据库201中检索到适当的对话履历等理由,预测堆栈为空(步骤S403的是)的情况下,发言预测部106则不进行发言预测动作而结束。
另一方面,预测堆栈不是空(步骤S403的否)的情况下,发言预测部106把预测堆栈的先头的发言作为下一个发言候补来表示(步骤S404)。图14是表示对话开始时的对话支援装置100的表示状态的图。表示领域的上半部分是参与对话的人1的发言输入输出领域1301,下半部分是参与对话的人2的发言输入输出领域1302。结束键1303是结束对谈时候的按键。参与对话的人1利用发言接受部1304,参与对话的人2利用发言接受部1305,可以从图2中所定义的全部的发言中,选择任意的发言给其他的参与对话的人。在发言处理部105中被转换的发言,分别输出到给参与对话的人1的发言输出部1306和给参与对话的人2的发言输出部1307,例如利用PDA中内置的语音合成处理,在表示的同时读出。在预测表示领域1308表示出,根据发言预测部106被预测的参与对话的人1的发言,在预测表示领域1309表示出,根据发言预测部106被预测的参与对话的人2的发言。参与对话的人1或参与对话的人2,分别选择预测表示领域1308或预测表示领域1309中所表示的发言,这样可以省略从实例的名单1304或1305中检索并选择发言的操作。即,可以迅速输入发言。
像上述例子所示,在作成预测堆栈时,发言预测部106在预测表示领域1309中表示预测堆栈E1,E8,J2,(E3,J4),(E5,J6,E7)的开头的发言E1:“May I help you(欢迎光临)?”。参与对话的人2虽然可以从实例的名单1305选择发言,但是因为在预测表示领域1309中已经表示出自己想发言的内容,所以如图15所示的那样,则选择该发言。发言E1在发言处理部102中被转换为日语,对参与对话的人1发言“いらつしやいませ(欢迎光临)。”。
在此,发言预测部106判断参与对话的人的发言是否被输入(步骤S405)。如果参与对话的人的发言被输入(步骤S405的是)时,发言预测部106在预测堆栈中从开头检索一致的发言(步骤S406),并判断是否有一致的发言(步骤S407)。当有一致的发言的情况下(步骤S407的是),判断该一致的发言是否在预测堆栈的开头(步骤S408)。如果在开头的时候(步骤S408的是),消除预测堆栈开头的发言,并将预测堆栈进行更新(步骤S409)。另一方面,如果不在开头的时候(步骤S408的否),此时将含有一致的发言的块移动到预测堆栈的开头后,消除从开头到该发言为止的发言,将预测堆栈进行更新(步骤S410)。并且,返回到判断预测堆栈是否为空的处理(步骤S403)。
上述的例子表示,由于从参与对话的人的发言为E1,所以将预测堆栈更新为E8,J2,(E3,J4),(E5,J6,E7)。并且,返回到判断预测堆栈是否为空的处理(步骤S403),因预测堆栈还没有处于空的状态,所以如图16所示的那样,在预测表示领域1309中表示,开头的发言E8:“Please fill in this form(请写在这张单子上).”,等候来自用户的发言。
参与对话的人2虽然可以从实例的名单1305中选择发言,但是因为在预测表示领域1309中已经表示出自己想发言的内容,所以如图17所示,如果选择预测表示领域1309的话,E8在发言处理部102被转换为日语,对参与对话的人1发言“このカ一ドに記人して下さい(请写在这张单子上)”。同样,发言预测部106将预测堆栈更新为J2,(E3,J4),(E5,J6,E7),如图18所示,在1308中表示J2:“チエックインをお願いします(可以办理入住吗)。”
参与对话的人1虽然可以从实例的名单1304中选择发言,但是因为预测表示领域1308已经表示出自己想发言的内容,所以如图19所示,若选择预测表示领域1308的话,J2将在发言处理部102被转换为英语,对参与对话的人2发言“Check-in,please(可以办理入住吗).”。同样,发言预测部106将预测堆栈更新为(E3,J4),(E5,J6,E7),如图20所示,在预测表示领域1309中表示E3:“Have you made reservation(您预定过了吗)?”。这样参与对话的人1或参与对话的人2,不需要从实例的名单1304或1305中检索希望的发言,就可以很快地向对方传达自己的意图,消减了对话的所要时间。
以下说明下述情况,例如参与对话的人2,不从预测表示领域1309中选择图20中发言预测部106所预测的发言E3:“Haveyou made reservation(您预定过了吗)?”,而选择如图21所示,从实例的名单1305中检索并选择了E5:“Do you prefer smokingroom(您吸烟吗)?”
发言预测部106从预测堆栈中检索E5,但是,E5不是预测堆栈的开头。在此,发言预测部106将含有E5的发言块移动到预测堆栈的开头,使之成为(E5,J6,E7),(E3,J4)。然后,通过消除E5,将预测堆栈更新为(J6,E7),(E3,J4)。因此,下面的发言候补的表示处理(步骤S404)中,如图22所示那样,作为预测候补,在预测表示领域1308中表示,J6:“禁煙でお願いします(我想要禁烟的房间)。”并且,如图23所示那样,参与对话的人1从预测表示领域1308中选择“禁煙でお願いします(我想要禁烟的房间)。”很快地对话会继续进行。这样在本实施方式中,即使参与对话的人不选择根据发言预测部106预测的发言,也能够从此时点开始预测今后的对话,并且灵活地对对话进行支援。
在此,对本发明的效果做了定量性地验证。一般来说,对话顺畅地进行的程度,是与参与对话的人的对话履历的类似度成正比例的。在此,采用图9的定义,对类似度做具体地量化。参与对话的人1和参与对话的人2,只选择发言预测部106的预测表示领域1308和1309中所表示的发言完成对话的情况下,形成如图24所示的对话履历2403。对话履历2403,与对话履历选择部107所决定的dmax(图3的对话履历d2)等价。参与对话的人1的对话履历2401(对话履历选择部107决定的dr1,即图3的d1)和参与对话的人2的对话履历2402(对话履历选择部107决定的dr2,即图3的d3)的类似度为0.12;对此,对话履历2403和对话履历2401的类似度为0.41;对话履历2403和对话履历2402的类似度为0.16;由此可知,按照利用dmax按照预测所进行的对话,比按照dr1或dr2的任一个所进行的对话要顺畅得多。再者,在图20中参与对话的人2,不选择发言预测部106预测的发言,而将对话继续且完了的情况下,形成对话履历2404。对话履历2404和对话履历2401的类似度为0.16;对话履历2404和对话履历2402的类似度为0.16,由此可知即使使用这样的方法,利用dmax按照预测所进行的对话,比按照dr1或dr2任一个所进行的对话要顺畅得多。
到此为止,对在对话支援系统中参与对话的人1说日语,参与对话的人2说英语,进行了假定的说明,以下,将对参与对话的人1说中文,参与对话的人2说英语,进行假定说明。图25是表示参与对话的人1及参与对话的人2的发言,以及与发言编号的对应关系的示例图。
发言接受部101,将所接受的参与对话的人1的发言转换为相应的发言信息。发言信息例如是在图2中的发言编号。发言处理部105将参与对话的人1的发言(中文)转换给参与对话的人2的发言(英语),并输出字符串。例如,在输入发言编号1时,对于发言输出部104所输出的作为发言信息的字符串为“May I help you(欢迎光临)?”
相反,发言接受部103,将所接受的参与对话的人2的发言转换为相应的发言信息。发言信息例如是图25的发言编号,发言处理部105将参与对话的人2的发言(英语)转换成给参与对话的人1发言(中文),并输出字符串。例如,当输入发言编号1的时候,对发言输出部102输出作为发言信息的字符串“欢迎光临”。以后,由于考虑到语言方向的问题,为了简单说明,C1略记为来自参与对话的人1的发言编号1,E1略记为来自参与对话的人2的发言编号1。
发言接受部101让参与对话的人1直接选择图25的中文名单的部分,作为发言信息输出该发言编号。同时,发言接受部103,让参与对话的人2直接选择图25的英语名单的部分,作为发言信息输出该发言编号。再者,关于发言接受部101以及发言接受部103的构成,也可以是利用语音识别处理,通过将参与对话的人的语音经过射影处理,使其与发言编号中的某一个相对应。同时,利用键盘输入与发言的记载和发音相当的字符串,可以利用射影,使其与发言编号中的某一个相对应。
图26是表示对话履历数据库201中所存储的对话履历的示例图。所谓对话履历是指,根据参与对话的人过去进行的发言的履历,是按照各参与对话的人的发言时刻的顺序排列的。发言则相当于图25中所定义的发言的某一个。再者,即使是同样的发言编号,因参与对话的人的不同也要进行区分,所以,在各发言编号前附加上表示中文的C和表示英语的E,定义为作为在对话履历中发言的标识。以后,为了简单说明,用该标识的串记述1个对话履历。例如,对话履历d6记述为d6:E1,C2,E3,C4,E5,C6,E7,E8。对话履历中记录了进行该对话的参与对话的人的认证信息和对谈的话题(对话状况)。例如对话履历d6所记载的信息为,C的发言为太郎,E的发言为Tom,话题为宾馆。
以下作为例子说明,如图4所示,参与对话的人1为说中文的游客,参与对话的人2为说英语的饭店服务台的职员,为了办理饭店入住手续而进行对话的情况。再者,因发言预测部106和对话履历选择部107的动作流程与上述相同,采用图5和图8所示的流程图进行说明,有关与上述相同的部分省略说明。
发言预测部106首先为了进行发言预测,就要对参与对话的人及对谈话题进行指定(步骤S401)。例如作为PDA所实现的如图27所示的对话支援装置100中,让参与对话的人直接通过触摸屏输入参与对话的人1和参与对话的人2的名字,以及对谈的话题,从而取得有关参与对话的人的信息。
发言预测部106如图28所示,若触击对谈开始键601(开始对谈),使对话履历选择部107作成预测堆栈(步骤S402)。
对话履历选择部107根据从发言预测部106得到的参与对话的人的认证信息和对谈的话题相关的信息,决定对话履历数据库201中所含的参与对话的人1的对话履历dr1和对话履历参加者2的对话履历dr2(步骤S701)。例如,对话履历数据库201中,如图26所示存在对话履历的情况下,决定对话履历dr1=对话履历d6,对话履历dr2=对话履历d8。其理由在于,对话履历d6中C的发言为太郎,对话履历d8中E的发言为Hanako,各自的对谈的话题均为饭店。对话履历d5中C的发言虽然为太郎,但是对谈的话题为出赁汽车,所以不选择。
然后,对话履历选择部107,是关于对话履历数据库201中包含的对话履历dr1和对话履历dr2以外的全部的对话履历d,与上述同样计算比分score(d)=r(d|dr1)+r(d|dr2)(步骤S702)。然后,对话履历选择部107,选择比分score(d)中最大的对话履历d=对话履历dmax(步骤S703)。在此,对话履历d7被选择。
对话履历选择部107,对对话履历dmax,与对话履历dr1和对话履历dr2同样,适用于图12的发言块决定算法,分割发言块作为预测堆栈(步骤S704)。例如,在使用对话履历dr1=对话履历d6和对话履历dr2=对话履历d8分割对话履历dmax=对话履历d7时,首先根据对话履历d6,将对话履历d7:E1,E8,C2,E3,C4,E5,C6,E7,分割为对话履历d7:E1,E8,(C2,E3,C4,E5,C6,E7)的3个发言块,再根据对话履历d8,进一步分割为对话履历d7:E1,E8,C2,(E3,C4),(E5,C6,E7)的5个发言块。对话履历选择部107将该对话履历d7作为预测堆栈通知给发言预测部106。
这样,从对话履历选择部107接受了被作为发言预测堆栈的发言预测部106判断预测堆栈是否为空(步骤S403)。由于对话履历选择部107不能从对话履历数据库201中检索出适当的对话履历等理由,预测堆栈为空(步骤S403的是)的情况下,发言预测部106不进行发言预测动作直接进入结束。
另一方面,预测堆栈不是空(步骤S403的否)的情况下,发言预测部106将把预测堆栈的开头的发言作为下一个发言候补表示出来(步骤S404)。图29是表示对话开始时的对话支援装置100的表示状态的示例图。表示领域的上半部分是参与对话的人1的发言输入输出领域1301,下半部分是参与对话的人2的发言输入输出领域1302。结束键1303(结束)为结束对谈时的按键。参与对话的人1利用发言接受部1304,参与对话的人2利用发言接受部1305,可以从图25中被定义的全部的发言中选择任意的发言传递给其他的参与对话的人。在发言处理部105中被转换的发言,分别输出到给参与对话的人1的发言输出部1306和给参与对话的人2的发言输出部1307,例如利用PDA中内置的语音合成处理,在表示的同时读出。在预测表示领域1308表示出由发言预测部106预测的参与对话的人1的发言,在预测表示领域1309表示出由发言预测部106预测的参与对话的人2的发言。参与对话的人1或参与对话的人2,分别选择预测表示领域1308或预测表示领域1309中所表示的发言,这样实现了省略从实例的名单1304或1305中检索并选择发言的操作。即,实现了迅速输入发言。
在上述的例子中预测堆栈被作成的情况下,发言预测部106在予测表示领域1309中表示预测堆栈E1,E8,C2,(E3,C4),(E5,C6,E7)的开头发言E1:“May I help you(欢迎光临)?”参与对话的人2虽然可以从实例的名单1305选择发言,但是因为在预测表示领域1309中已经表示出自己想发言的内容,所以如图30所示,则选择该发言。发言E1在发言处理部102被转换为中文,对参与对话的人1发言“欢迎光临”。
在此,发言预测部106判断从参与对话的人是否输入了发言(步骤S405)。当从参与对话的人输入了发言时(步骤S405的是),发言预测部106将从开头检索预测堆栈中一致的发言(步骤S406),并判断是否有一致的发言(步骤S407)。若有一致的发言(步骤S407的是),再判断一致的发言是否在预测堆栈的开头(步骤S408)。若在预测堆栈的开头(步骤S408的是),消除预测堆栈的开头的发言,将预测堆栈进行更新(步骤S409)。另一方面,若不是预测堆栈的开头(步骤S408的否),将含有一致的发言的块移动到预测堆栈的开头后,消除从开头到该发言的发言,更新预测堆栈(步骤S410)。然后,返回到判断预测堆栈是否为空的判断处理(步骤S403)。
在上述的例子中,由于从参与对话的人的发言为E1,所以将预测堆栈更新为E8,C2,(E3,C4),(E5,C6,E7)。并且,返回到判断预测堆栈是否为空的判断处理(步骤S403),因预测堆栈还不是空,如图31所示,表示预测表示领域1309中开头的发言E8:“Please fill in this form(请写在这张单子上).”,等候来自用户的发言。
参与对话的人2虽然可以从实例的名单1305选择发言,但是因为预测表示领域1309已经表示了自己想发言的内容,所以,选择图32所示的预测表示领域1309的话,E8将在发言处理部102被转换为中文,对参与对话的人1发言“请写在这张单子上。”,同样,发言预测部106将预测堆栈更新为C2,(E3,C4),(E5,C6,E7),像图33所示的那样,1308的C2的表示为“可以办理入住吗?”。
参与对话的人1虽然可以从实例的名单1304中选择发言,但是因为预测表示领域1308已经表示了自己想发言的内容,所以如图34所示那样,选择预测表示领域1308的话,C2将在发言处理部102被转换为英语,向参与对话的人2发言“Check-in,please(可以办理入住吗).”同样,发言预测部106将预测堆栈更新为(E3,C4),(E5,C6,E7),如图35所示预测表示领域1309的E3的表示为“Have you made reservation(您预约过了吗)?”,这样参与对话的人1或参与对话的人2,不需要从实例的名单1304或1305中检索希望的发言,就可以很快地将意图传达给对方,从而减少对话的所要时间。
再者,如图36所示那样,除在图1所示的构成之外,还具有履历登录部401,可以记录所有的在发言处理部105中参与对话的人之间所进行的发言信息,结束对谈时,履历登录部401还可以把上述的记录存储到对话履历数据库201中。由此,可以增加今后的发言预测中有效的对话履历。例如,图37或图38所示的那样,参与对话的人指示结束对谈时,这个动作将会被执行。特别是在不按照发言预测部106的预测进行对话时,大多情况下是对话履历数据库201中不存在的对话,通过将其进行存储,从而能够提高下一次的发言预测精度。
再者,还可以将图1所示构成的发言接受部101和发言接受部103替换为图39所示的语音识别部501和语音识别部502。这时,语音识别部501和语音识别部502的识别对象语汇中,将与发言预测部106所预测的发言相关的语汇优先选择,从而能够提高语音识别的精度。作为相关的语汇,可以是发言预测部106输出的预测发言,或者是与预测发言接近的句子,还可以是预测发言中所含有的单词,也可以是从预测发言联想出来的单词。
并且,如图40或图41所示,还可以对每个参与对话的人的PDA分别安装对话支援装置,这样,可以更进一步提高用户使用方便性。对话支援装置分别装载在:参与对话的人1所利用的PDA2301及参与对话的人2所利用的PDA2301。按键2303和2304是为了查看参与对话的人1和参与对话的人2的各自的对话预测展开的按键。具体来说在按这些按键的时候,发言预测部106将表示到目前为止的所有的发言及当前时点的预测堆栈的内容。图42是表示对话预测展开(日语和英语的情况下)的示例图。到目前为止所进行的发言假定为E1,E8,J2,当前时点的预测堆栈假定为(E3,J4),(E5,J6,E7)。到目前为止所进行的发言和预测堆栈的内容被分别转换为各自参与对话的人的语言并表示出来。具体为:在预测展开表示领域2401中为J1,J8,J2,(J3,J4),(J5,J6,J7),在预测展开表示领域2402中为E1,E8,E2和(E3,E4),(E5,E6,E7)。
再者,图43是表示对话预测展开(中文和英语的情况下)的示例图。到目前为止所进行的发言假定为E1,E8,C2,当前时点的预测堆栈假定为(E3,C4),(E5,C6,E7)。到目前为止所进行的发言和预测堆栈的内容被分别转换为各自参与对话的人的语言并表示出来。具体为:在预测展开表示领域2401中为C1,C8,C2和(C3,C4),(C5,C6,C7),在预测展开表示领域2402中为E1,E8,E2和(E3,E4),(E5,E6,E7)。由于将这样的对话的预测展开表示给参与对话的人,所以可以预先知道对方的发言,从而可以在进行对话的时候整理好头绪,由此实现更加可靠的操作。
同时,本实施方式,只是把日语和英语的情况以及中文和英语的情况作为一个例子来说明,关于法语等其他的语种也同样可以实行,本发明不依存于语种。