会话处理设备、方法及其记录介质.pdf

上传人:bo****18 文档编号:6243769 上传时间:2019-05-25 格式:PDF 页数:59 大小:1.74MB
返回 下载 相关 举报
摘要
申请专利号:

CN00137648.9

申请日:

2000.12.28

公开号:

CN1306271A

公开日:

2001.08.01

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G10L 15/22申请日:20001228授权公告日:20050427终止日期:20100128|||发明专利公报更正卷=21号=17页码=更正项目=发明人误=第5发明人 西条弘理正=第5发明人 西条弘树|||发明专利说明书更正卷=21号=17页码=扉页更正项目=发明人误=第5发明人 西条弘理正=第5发明人 西条弘树|||授权|||公开|||实质审查的生效申请日:2000.12.28

IPC分类号:

G10L11/00; G10L13/04; G10L15/02

主分类号:

G10L11/00; G10L13/04; G10L15/02

申请人:

索尼公司;

发明人:

下村秀树; 丰田崇; 南野活树; 花形理; 西条弘理; 小仓稔也

地址:

日本东京都

优先权:

1999.12.28 JP 375767/1999

专利代理机构:

柳沈知识产权律师事务所

代理人:

吕晓章

PDF下载: PDF下载
内容摘要

一种会话处理设备和方法判定是否改变话题。如果判定是肯定的,参照关联度表计算正在讨论的当前话题和存储在存储器中的候选话题之间的关联度。基于计算结果,选择具有最高关联度的话题作为随后的话题。话题从当前话题改变为随后的话题。更新用于选择随后的话题的关联度表。

权利要求书

1: 一种用于保持与用户的会话的会话处理设备,包括: 用于存储多条与多个话题相关的第一信息的第一存储装置; 用于存储与正在讨论的当前话题相关的第二信息的第二存储装置; 用于判定是否改变话题的判定装置; 当所述判定装置判定改变话题时,用于从存储在所述第一存储装置中的 话题中选择一个要改变到的新话题的选择装置;以及 用于读取与由所述选择装置从所述第一存储装置选择的话题相关的第一 信息以及用于通过将所读取的信息存储在所述第二存储装置中来改变话题的 改变装置。
2: 依据权利要求1所述的会话处理设备,进一步包括: 用于存储历史上已经与用户讨论过的一个话题的第三存储装置; 其中,所述选择装置选择除存储在所述第三存储装置中的历史中的那些 话题外的一个话题作为新的话题。
3: 依据权利要求1所述的会话处理设备,其中,当所述判定装置判定 改变话题以响应由用户引入的话题的改变时,所述选择装置从存储在所述第 一存储装置中的话题中选择与由用户引入的话题最密切相关的一个话题。
4: 依据权利要求1所述的会话处理设备,其中: 第一信息和第二信息包括分别地与此相关的属性; 所述选择装置通过基于每一条第一信息的属性和第二信息的属性之间的 关联计算一个值以及选择具有最大值的第一信息作为新话题来选择新话题, 或通过读取一条第一信息、基于第一信息的属性和第二信息的属性之间的关 联计算该值、以及如果第一信息具有大于一个阈值的值则选择第一信息作为 新话题,来选择新话题。
5: 依据权利要求4所述的会话处理设备,其中,所述属性包括关键字、 类别、位置和时间中的至少一个。
6: 依据权利要求4所述的会话处理设备,其中,基于第一信息的属性 和第二信息的属性之间的关联的值以表的形式存储,所述表被更新。
7: 依据权利要求6所述的会话处理设备,其中,当使用表选择新的话 题时,所述选择装置为与第二信息具有相同属性的第一信息加权表中的值以 及使用加权的表,由此选择新话题。
8: 依据权利要求1所述的会话处理设备,其中,会话以口头方式以及 以书面的形式保持。
9: 依据权利要求1所述的会话处理设备,其中,所述会话处理设备包 括在机器人中。
10: 一种用在用于保持与用户的会话的会话处理设备中的会话处理方 法,包括: 控制关于多个话题的信息的存储的存储控制步骤; 判定是否改变话题的判定步骤; 当在所述判定步骤中判定改变话题时,从在所述存储控制步骤存储的话 题中选择一个被判定适合作为新话题的话题的选择步骤;以及 使用与在所述选择步骤中选择的话题相关的信息作为与新话题相关的信 息、从而改变话题的改变步骤。
11: 一种记录介质,在其上记录有一个计算机可读的用于保持与用户的 会话的会话处理程序,所述程序包括: 控制关于多个话题的信息的存储的存储控制步骤; 判定是否改变话题的判定步骤; 当在所述的判定步骤中判定改变话题时,从在所述存储控制步骤存储的 话题中选择一个被判定适合作为新话题的话题的选择步骤;以及 使用与在所述选择步骤中选择的话题相关的信息作为与新话题相关的信 息、从而改变话题的改变步骤。

说明书


会话处理设备、方法及其记录介质

    本发明涉及会话处理设备、方法及其记录介质,特别涉及适合于用于实现与用户会话的机器人等的会话处理设备、方法及记录介质。

    近来,将许多用于当按其接触式传感器时输出合成声音的机器人(包括玩具熊和洋娃娃)做成玩具等。

    固定的(面向任务的)会话系统与计算机一同使用以便进行机票预定、提供旅游向导服务等等。这些系统将保持预定的会话,但不能保持与人类的自然会话,例如聊天。已经做出努力来实现计算机与人之间的自然会话,包括聊天。一个努力是称为伊莱扎(Eliza)(James Allen:“自然语言理解”,第6页到9页)的实验尝试。

    上述的伊莱扎几乎不可能理解与人(用户)会话的内容。换句话说,Eliza仅仅机械模仿(parrot)用户所说的话。因此,用户很快变得没有兴趣。

    为了生成不会使用户没有兴趣的自然会话,不要长时间地持续讨论一个话题,并且不要非常频繁地改变话题。特别地,话题的自然改变是保持自然会话的要素。当改变会话的话题时,为了保持一个更自然的会话,更可取的是改变为一个相关的话题而不是一个完全不同的话题。

    因此,本发明的目的是当改变话题时从所存储地话题中选择密切相关的话题以及通过改变为所选择话题进行与用户的自然会话。

    根据本发明的一个方面,提供了一种用于保持与用户会话的会话处理设备,包括用于存储关于多个话题的多件第一信息的第一存储单元。第二存储单元存储同正在讨论的当前话题有关的第二信息。判定单元判定是否改变话题。当判定单元判定改变话题时,选择单元从存储在第一存储单元中的话题中选择一个新话题来改变。改变单元读取与通过选择单元从第一存储单元中选择的话题相关的第一信息,并且通过将所读取的信息存储在第二存储单元中来改变话题。

    会话处理设备可以进一步包括用于存储在历史中已经与用户讨论过的一个话题的第三存储单元。选择单元可以选择一个不是历史中存储在第三存储单元中的话题中的一个话题作为新的话题。

    当判定单元判定改变话题以响应由用户引入的话题的改变时,选择单元可以从存储在第一存储单元中的话题中选择一个最接近由用户引入的话题的话题。

    第一信息和第二信息可以包括分别地与此相关的属性。选择单元可以通过计算基于每一条第一信息的属性和第二信息的属性之间的关联的值并且选择具有最大值的第一信息来选择所述新话题作为新话题,或通过读取一条第一信息,计算基于第一信息的属性和第二信息的属性之间的关联的值,以及如果第一信息具有比阈值更大的值时选择第一信息作为新的话题。

    所述的属性可以包括关键字、类别、位置和时间中的至少一个。

    可以以表格的形式存储基于第一信息的属性和第二信息的属性之间的联系的值,以及可以更新所述表格。

    当使用表格选择新的话题时,选择单元可以对于具有与第二信息相同属性的第一信息对表格中的值加权,以及可以使用所加权的表格,从而选择新的话题。

    可以以口头方式和以书面方式保持会话。

    会话处理设备可以包括在一个机器人中。

    根据本发明的另一个方面,提供用于保持与用户的会话的会话处理设备的会话处理方法,该处理方法包括一个控制与多个话题相关的信息的存储的存储控制步骤。在判定步骤中,判定是否改变话题。在选择步骤中,当在判定步骤中判定改变话题时,从在存储控制步骤中存储的话题中,选择判定为合适的话题作为新的话题。在改变步骤中,将与在选择步骤中选择的话题相关的信息用作与新话题相关的信息,因此改变话题。

    根据本发明的另一个方面,提供了一种在其上记录有用于保持与用户的会话的计算机可读会话处理程序的记录介质。该程序包括一个控制与多个话题相关的信息的存储的存储控制步骤。在判定步骤中,判定是否改变话题。在选择步骤中,当在判定步骤中判定改变话题时,从在存储控制步骤中存储的话题中,选择判定为合适的话题作为新的话题。在改变步骤中,将与在选择步骤中选择的话题相关的信息用作与新话题相关的信息,因此改变话题。

    依据本发明,可以保持与用户的一个自然并且有趣的会话。

    图1是依据本发明的一个实施例的机器人1的外部的透视图;

    图2是在图1中所示的机器人1的内部结构的方框图;

    图3是在图2中所示的控制器10的功能结构的方框图;

    图4是语音识别单元31A的内部结构的方框图;

    图5是会话处理器38的内部结构的方框图;

    图6是语音合成器36的内部结构的方框图;

    图7A和7B是当下载信息n时系统配置的方框图;

    图8是详细地显示在图7A和7B中所示的系统的结构的方框图;

    图9是在图7A和7B中所示的系统的另一个详细的结构的方框图;

    图10示出了用于改变话题的时间的分配;

    图11示出了用于改变话题的时间的分配;

    图12示出了用于改变话题的时间的分配;

    图13示出了用于改变话题的时间的分配;

    图14是显示用于改变话题的时间的分配的流程图;

    图15是显示用于判定用于改变话题的时间的分配的平均值和概率之间的关系的示意图;

    图16A和16B显示语音模式;

    图17是显示在会话中暂停时间和用于判定用于改变话题的时间的分配的概率之间的关系的示意图;

    图18示出了存储在话题存储器76中的信息;

    图19示出了作为本实施例中的关键字的属性;

    图20是显示用于改变话题的过程的流程图;

    图21是显示关联度的一个表格;

    图22是显示在图20中所示的流程图的步骤S15的细节的流程图;

    图23是显示用于改变话题的过程的另一个流程图;

    图24是显示机器人1和用户之间的会话的一个例子;

    图25是显示由机器人1执行的响应用户所改变的话题的过程的流程图;

    图26是显示用于更新关联度表的过程的流程图;

    图27是显示由会话处理器38执行的过程的流程图;

    图28示出了属性;

    图29示出了机器人1与用户之间的会话的一个例子;以及

    图30示出了数据存储介质。

    图1示出了依据本发明的一个实施例的机器人1的一个外部视图。图2示出了机器人1的电子配置。

    在本实施例中,机器人1具有狗的形状。机器人1的身体单元2包括连接到其上以形成前肢和后肢的腿单元3A、3B、3C和3D。身体单元2还包括分别地在前端和在后端连接的头单元4和尾单元5。

    尾单元5从在身体单元2的顶部提供的基本单元5B伸出来,并且尾单元5伸出来使得以两个自由度弯曲和摆动。身体单元2其中包括一个用于控制整个机器人1的控制器10、作为机器人1的电源的电池11和包括电池传感器12和热传感器13的内部传感器单元14。

    为头单元4分别在预定的位置提供相当于“耳朵”的麦克风15,相当于“眼睛”的电荷耦合器件(CCD)照相机16、相当于触觉感受器的触觉传感器17和相当于“嘴”的扬声器18。

    如图2中所示,腿单元3A到3D的连接、每一个腿单元3A到3D和身体单元2之间的连接、头单元4和身体单元2之间的连接以及尾单元5和身体单元2之间的连接分别用传动装置3AA1到3AAK、3BA1到3BAK、3CA1到3CAK、3DA1到3DAK、4A1到4AL、5A1和5A2提供。因此,连接是以预定的自由度活动的。

    头单元4的麦克风15收集包括用户语音的环境语音(声音)并且将得到的语音信号发送到控制器10。CCD照相机16捕获周围环境的图象并且将得到的图象信号发送到控制器10。

    例如,在头单元4的顶端提供触觉传感器17。触觉传感器17检测由物理接触施加的压力,例如用户的“轻拍”或“打击”,并将作为压力检测信号的检测结果发送到控制器10。

    身体单元2的电池传感器12检测电池11中剩余的功率,并且作为电池剩余功率检测信号将检测结果发送到控制器10。热传感器13检测机器人1中的热并且作为热检测信号将检测结果发送到控制器10。

    控制器10其中包括中央处理单元(CPU)10A、存储器10B等。CPU10A执行存储在存储器10B中的控制程序以执行各种处理。特别地,控制器10基于分别由麦克风15、CCD照相机16、触觉传感器17、电池传感器12、和热传感器13提供的语音信号、图象信号、压力检测信号、电池剩余功率检测信号、和热检测信号判定环境的特征、用户是否已经给出一个命令或者用户已经靠近。

    基于判定结果,控制器10判定随后采取的行动。基于用于判定随后采取的行动的判定结果,控制器10启动传动装置3AA1到3AAK、3BA1到3BAK、3CA1到3CAK、3DA1到3DAK、4A1到4AL、5A1和5A2之中需要的单元。这使得头单元4垂直地和水平地摇动,使尾单元5移动,以及启动腿单元3A到3D以使机器人1行走。

    如情况需要,控制器10生成合成的声音并将生成的声音提供给扬声器18来输出声音。此外,控制器10使在机器人1的“眼睛”的位置提供的发光二极管(LED)(未显示)打开、关闭、或断续地闪烁。

    因此,机器人1被构造为基于周围的状况自主地运转。

    图3示出了图2中所示的控制器10的功能结构。图3中显示的功能结构由执行存储在存储器10B中的控制程序的CPU10A实现。

    控制器10包括用于识别特定外部条件的的传感器输入处理器31;用于通过累加由传感器输入处理器31等得到的识别结果表达情绪的和本能的状态的情绪/本能模型单元32;用于判定基于由传感器输入处理器31等得到的识别结果的随后的行动的行动判定单元33;用于使机器人1基于由行动判定单元33得到判定结果实际地执行一个行动的姿势移位单元34;用于驱动和控制传动装置3AA1到5A1和5A2的控制单元35;用于生成合成声音的语音合成器36;以及用于控制由语音合成器36输出的声音的声处理器37。

    传感器输入处理器31根据从麦克风15、CCD照相机16、触觉传感器17等提供的语音信号、图象信号、压力检测信号等识别特定的外部条件、由用户采取的特定途径和由用户给出的命令,以及将指示识别结果的状态识别信息通知情绪/本能模型单元32和行动判定单元33。

    特别地,传感器输入处理器31包括一个语音识别单元31A。在行动判定单元33的控制下,语音识别单元31A通过使用从麦克风15给出的语音信号执行语音识别。语音识别单元31A将语音识别结果作为状态识别信息通知情绪/本能模型单元32和行动判定单元33,语音识别结果是一个命令,例如“行走”、“躺下”或“追赶球”等。

    语音识别单元31A将通过执行语音识别得到的识别结果输出到会话处理器38,使机器人1能保持与用户的会话。这将在下文中描述。

    传感器输入处理器31包括一个图象识别单元31B。图象识别单元31B通过使用从CCD照相机16给出的图象信号执行图象识别处理。例如当图象识别单元31B作为结果检测到“红的、圆的物体”或“预定的高度或更大的与地面垂直的平面”,图象识别单元31B将图象识别结果、例如“这里有一个球”或“这里有一面墙”作为状态识别信息通知情绪/本能模型单元32和行动判定单元33。

    进一步,传感器输入处理器31包括一个压力处理器31C。压力处理器31C处理从触觉传感器17给出的压力检测信号。当压力处理器31C作为结果检测到超过预定阈值的压力以及在短时间中施加的压力时,压力处理器31C识别出机器人1已经被“打击(惩罚)”。当压力处理器31C检测到低于预定阈值的压力以及长时间施加的压力时,压力处理器31C识别出机器人1已经被“轻拍(奖赏)”。压力处理器31C将识别结果作为状态识别信息通知情绪/本能模型单元32和行动判定单元33。

    情绪/本能模型单元32管理用于表达机器人1的情绪状态的情绪模型和用于表达机器人1的本能状态的本能模型。行动判定单元33基于从传感器输入处理器31给出的状态识别信息、从情绪/本能模型单元32给出的情绪/本能状态信息、所经过的时间等信息判定随后的行动,以及作为行动命令信息将所确定行动的内容发送到姿势位移单元34。

    基于从行动判定单元33给出的行动命令信息,姿势位移单元34生成用于使机器人1从当前姿势位移到随后的姿势的姿势位移信息并将姿势位移信息输出到控制单元35。控制单元35依据从姿势位移单元34给出的姿势位移信息生成用于驱动传动装置3AA1到5A1和5A2的控制信号并将控制信号发送到传动装置3AA1到5A1到5A2。因此,依据控制信号驱动传动装置3AA1到5A1和5A2,因此机器人1自主地执行行动。

    用上述结构,操纵机器人1以及使机器人1保持与用户的会话。用于执行会话的语音会话系统包括语音识别系统31A、会话处理器38、语音合成器36和声处理器37。

    图4示出了语音识别单元31A的详细结构;将用户的语音输入到麦克风15,以及麦克风15将语音转换成作为电信号的语音信号。将语音信号提供给语音识别单元31A的模数(A/D)转换器51。A/D转换器51采样从麦克风15给出的作为模拟信号的语音信号,以及量化所采样的语音信号,由此将信号转换成是数字信号的语音数据。将语音数据提供给特征提取单元52。

    基于从A/D转换器51给出的语音数据,特征提取单元52提取每一个适当帧的特征参数,例如频谱、线性预测系数、倒谱系数、线性频谱对等。特征提取单元52将所提取的特征参数提供给特征缓冲器53和匹配单元54。特征缓冲器53临时地存储从特征提取单元52给出的特征参数。

    基于从特征提取单元52给出的特征参数或存储在特征缓冲器53中的特征参数,匹配单元54根据情况需要参照声音模型数据库55、词典数据库56和语法数据库57识别通过麦克风15输入的语音(输入语音)。

    特别地,声音模型数据库55存储表示将要识别的语音语言中的每一个音素或音节的声音特征的声音模型。例如,隐含马尔可夫模型(HMM)可以用作声音模型。词典数据库56存储包含将要识别的每一个词的相关发音的信息的词典。语法数据库57存储描述如何链接和链接在词典数据库56的词典中注册的词的语法规则。例如,基于统计的字链接概率(N-gram)的上下文无关文法(CFG)或规则可以用作语法规则。

    匹配单元54参照词典数据库56的词典来连接存储在声音模型数据库55中的声音模型,这样为一个词形成声音模型(词模型)。匹配单元54也参照存储在语法数据库57中的语法规则来连接词模型以及基于特征参数使用所连接的词模型例如通过使用HMM方法等识别通过麦克风15输入的语音。通过匹配单元54得到的语音识别结果例如以文本的形式输出。

    匹配单元54可以接收通过会话处理器38从会话处理器38得到的信息。基于会话管理信息,匹配单元54可以实现高度准确的语音识别。当需要再一次处理输入语音时,匹配单元54使用存储在特征缓冲器53中的特征参数并且处理所输入的语音。因此,不需要再次请求用户输入语音。

    图5示出了会话处理器38的详细的结构。将从语音识别单元31A输出的识别结果(文本数据)输入到会话处理器38的语言处理器71。基于存储在词典数据库72和分析语法数据库73中的数据,语言处理器71通过执行形态学分析和剖析句法分析来分析所输入的语音识别结果以及提取语言信息例如单词信息和语法信息。基于词典的内容,语言处理器71也提取所输入语言的意思和意图。

    特别地,词典数据库72存储应用词符号和分析语法所需的信息,例如部分语音上的信息、每一个词的语义信息等。分析语法数据库73存储描述与基于关于存储在词典数据库72中的每一个词的信息的字链接相关限制的数据。使用这些数据,语言处理器71分析所述的作为输入语音的语音识别结果的文本数据。

    需要存储在分析语法数据库73中的数据来使用正规语法、上下文无关语法、N-gram以及当进一步执行语义分析,包括语义的语言理论例如中心词驱动短语结构语法(HPSG)来执行文本分析。

    基于由语言处理器71提取的信息,话题管理器74管理以及修改在当前话题存储器77中的当前话题。为将在下文中详细描述的话题的随后的改变做准备,话题管理器74在会话历史存储器75的管理下适当地更新信息。当改变话题时,话题管理器74参照存储在话题存储器76中的信息以及判定随后的话题。

    会话历史存储器75累积会话的内容或从会话中提取的信息。会话历史存储器75也存储用于检验在存储在当前话题存储器77中的当前话题之前提出的话题的数据,以及用于控制话题改变的数据。

    话题存储器76存储用于保持机器人1和用户之间的会话的内容的连贯性的多条信息。话题存储器76累积当话题管理器74在改变话题时或在响应由用户引入的话题的改变而改变话题时搜索随后话题时所参考的信息。由下面描述的过程添加和更新存储在话题存储器76中的信息。

    当前话题存储器77存储与正在讨论的当前话题相关的信息。特别地,当前话题存储器77存储有关在话题存储器76中存储的话题的若干片信息中的由话题管理器74选择的一条信息。基于在当前话题存储器77中存储的信息,话题管理器74推进与用户的会话。基于在会话中交流的信息,话题管理器74追踪已经讨论了哪个内容,以及适当地更新在当前话题存储器77中的信息。

    基于与在当前话题存储器77的管理下的当前话题相关的信息、通过语言处理器71从用户的先前话题提取出的信息等,会话生成器78通过参照存储在词典数据库79和会话生成规则数据库80中的数据来生成适当的响应叙述(文本数据)。

    词典数据库79存储建立一个响应叙述所需的字信息。词典数据库72和词典数据库79可以存储同样的信息。因此,词典数据库72和79可以合并为一个公共数据库。

    基于当前话题存储器77的内容,会话生成规则数据库80存储与如何生成每一个响应叙述相关的规则。除了进行关于该话题的会话的方式、例如谈论还未讨论过的内容或在开头进行响应之外,当以语义框架结构管理一个特定话题时,产生基于框架结构的自然语言叙述的规则也被存储。可以通过语言处理器71以相反顺序执行的处理执行基于语义结构生成一个自然语言叙述的方法。

    因此,将作为由会话生成器78生成的文本数据的响应叙述输出到语音合成器36。

    图6示出了语音合成器36的结构的例子。将从会话处理器38输出的文本输入到将被用于执行语音合成的文本分析器91。文本分析器91参照词典数据库92和分析语法数据库93来分析文本。

    特别地,词典数据库92存储包括每一个字上的部分语音信息、发音信息和重音信息的词典。分析语法数据库93存储关于包括在词典数据库92的词典中的每一个字的分析语法规则,例如在字链接上的限制。基于词典和分析语法规则,文本分析器91执行输入文本的形态学分析和剖析句法分析。文本分析器91提取由规定语音合成器94在后续阶段执行的基于规则的语音合成所需的信息。基于规则的语音合成所需的信息包括例如用于控制应该出现暂停、重音以及语调、其他作诗法(prosodic)信息以及音素信息之处的信息,例如每一个字的发音。

    将由文本分析器91得到的信息提供给规定语音合成器94。规定语音合成器94使用音素数据库95来生成对应于输入到文本分析器91的文本的所合成声音的语音数据(数字数据)。

    特别地,音素数据库95以CV(辅音、元音)、VCV、CVC等形式来存储音素数据。基于来自文本分析器91的信息,规定语音合成器94连接需要的音素数据以及适当地添加暂停、重音和声调,由此生成对应于输入到文本分析器91的文本的所合成声音的语音数据。

    将语音数据提供给数模(D/A)转换器96以转换为模拟语音信号。将语音信号提供给扬声器(未显示),以及因此输出对应于输入到文本分析器91的文本的所合成声音。

    语音会话系统具有上述配置。装备有语音会话系统,机器人1可以保持与用户的会话。当一个人正在与另一个人会话时,对他们而言通常不持续讨论仅仅一个话题。一般,人们在合适的时候改变话题。当改变话题时,存在将所述话题改变为与当前话题无关的话题的情况。更通常的是人们将所述话题改变为与当前话题相关的话题。将这种情况应用到人(用户)与机器人1之间的会话中。

    机器人1具有当与用户会话时在合适的情况下改变话题的功能。为此目的,需要存储用作话题的信息。用作话题的信息不仅包括用户知道的信息以便与用户有合适的会话,而且包括用户不知道的信息以便将新话题介绍给用户。因此不仅需要存储旧的信息而且需要存储新的信息。

    机器人1带有通信功能(图2中所示的通信单元19)以得到新的信息(下文中称为“信息n”)。下面描述了从用于提供信息n的服务器下载信息n的例子。图7A示出了机器人1的通信单元19直接与服务器101通信的一个例子。图7B示出了通信单元19直接与服务器101通过例如作为通信网络的因特网102彼此通信的例子。

    用图7A中所示的配置,机器人1的通信单元19可以通过使用用在个人手提电话系统(PHS)中的技术来实施。例如,当机器人1充电时,通信单元19拨叫(dial)服务器101来建立与服务器101的链接并且下载信息n。

    用图7B中所示的配置,通信设备103和机器人1有线或无线地彼此通信。例如,由个人计算机构成通信设备103。用户通过因特网102建立了个人计算机和服务器101之间的链接。从服务器101下载信息n,以及所下载的信息n被临时地存储在个人计算机的存储设备中。将所存储的信息n通过红外线无线地或有线例如通过通用串行总线(USB)传输到机器人1的通信单元19。因此,机器人1得到了信息n。

    另一方面,通信设备103自动地与服务器101建立链接,下载信息n,并在预定的时间周期内将信息n传输到机器人1。

    下面将描述要下载的信息n。尽管相同的信息n可以提供给所有的用户,但是信息n并非对所有的用户有用。换句话说,偏爱根据用户而变化。为了实现与用户的会话,下载以及存储符合用户偏爱的信息n。或者,下载所有的信息n,只选择和存储符合用户偏爱的信息n。

    图8示出了用于通过服务器101选择提供给机器人1的信息n的系统配置。服务器101包括话题数据库101、简档(profile)存储器111和滤波器112A。话题数据库110存储信息n。依据类别例如娱乐信息、经济信息等存储信息n。机器人1使用信息n来将用户引入新话题,从而提供产生广告效果的用户未知的信息。包括公司在内的想进行广告的供应商提供信息n,信息n将存储在话题数据库110中。

    简档存储器111存储例如用户偏爱之类的信息。从机器人1提供一个简档并且适当地更新。或者,当计算机1与用户有很多个会话时,可以通过存储重复出现的话题(关键字)生成简档。并且,用户可以将简档输入机器人1,机器人1存储简档。或者,机器人1可以在会话过程中问用户问题,并且基于对于所述问题的用户回答生成简档。

    基于存储在简档存储器111中的简档,滤波器112A从存储在话题数据库110中的信息n中选择并输出符合简档也就是用户偏爱的信息n。

    由机器人1的通信单元19使用参照图7A和7B描述的方法接收从滤波器112A输出的信息n。由通信单元19接收的信息n存储在存储器10B中的话题存储器76中。当改变话题时,使用存储在话题存储器76中的信息n。

    由会话处理器38处理和输出的信息适当地输出到简档生成器123。如上所述,当生成简档同时机器人1与用户会话时,简档生成器123生成简档,并且在简档存储器121中存储所生成的简档。存储在简档存储器121中的简档合适地通过通信单元19传输到服务器101的简档存储器111。因此,更新对应于机器人1的用户的简档存储器111中的简档。

    用图8中所示的配置,存储在简档存储器111中的简档(用户信息)可能泄露到外界。考虑到隐私权保护,问题可能出现了。为了保护用户的隐私权,服务器101可以被配置为使得不能管理简档。图9示出了当服务器101不管理简档时的系统配置。

    在图9中所示的配置中,服务器101仅仅包括话题数据库110。机器人1的控制器10包括滤波器112B。用该配置,服务器101为机器人1提供存储在话题数据库110中的全体信息n。由机器人1的通信单元19接收的信息n用滤波器112B滤波,并且仅仅将合成的信息n存储在话题存储器76中。

    当将机器人1配置为选择信息n时,用户的简档不传输到外部,因此它没有被外部地管理。因此保护了用户的隐私权。

    下面描述用作简档的信息。例如简档信息包括年龄、性别、出生地、喜爱的演员、喜欢的地点、喜欢的食物、爱好以及最近的公共交通站。另外,在简档信息中包括指示对经济信息、娱乐信息以及运动信息的兴趣程度的数字信息。

    基于上面描述的简档,选择符合用户偏爱的信息n并将其存储在话题存储器76中。基于存储在话题存储器76中的信息n,机器人1改变话题使得与用户的会话自然地和流畅地继续下去。为此目的,话题改变的时机也很重要。下面将描述用于判定改变话题的的时机的方法。

    为了改变话题,当机器人1开始与用户会话时,它为自己生成一帧(此后称为“机器人帧”)以及为用户生成另一帧(此后称为“用户帧”)。参照图10,描述所述的帧。“昨天在成田机场(Narita)发生了一起事故”,机器人1在时刻t1向用户引入一个新话题。在此时刻,在话题管理器74中生成了一个机器人帧141和用户帧142。

    为机器人帧141和用户帧142提供相同的条目,即五个条目,包括“何时”、“何地”、“谁”、“何事”以及“为什么”。当机器人1引入话题“昨天在成田机场发生了一起事故”时,将机器人帧141中的每一个条目设置为0.5。可以为每一个条目设置的值范围从0.0到1.0。当特定条目设置为0.0时,表明用户不了解关于该条目的任何情况(先前用户从未讨论过该条目)。当特定条目设置为1.0时,表明用户熟悉全部信息(用户已经充分讨论过该条目)。

    当机器人1引入一个话题时,表明机器人1有关于该话题的信息。换句话说,所引入的话题存储在话题存储器76中。特别地,所引入的话题已经存储在话题存储器76中。因为所引入的话题成为当前话题,将所引入的话题从话题存储器76传送到当前存储器77中,因此现在将所引入的话题存储在当前存储器77中。

    用户可能具有或可能不具有与所存储的信息相关的更多的信息。当机器人1引入一个话题时,将机器人帧141中与所引入的话题相关的每一个条目的初始值设置为0.5。假设用户不了解关于所引入话题的情况,将用户帧142中的每一个条目设置为0.0。

    尽管在当前实施例中初始值设置为0.5,也可能将另一个值设置为初始值。更具体地,条目“何时”一般包括五片信息,即“年”、“月”、“日”、“小时”和“分钟”。(如果在条目“何时”中包括“秒”信息,那么共包括6片信息。因为一般地会话不会达到“秒”的级别,所以“秒”信息不包括在条目“何时”中。)如果包括五片信息,可以判定提供了全部信息。因此,将1.0除以5为0.2,0.2可以被分配给每一条信息。例如,可以推断“昨天”这个词包括三片信息,即“年”、“月”和“日”。因此,将条目“何时”设置为0.6。

    在上述描述中,将每一个条目的初始值设置为0.5。例如当对应于条目“何时”的关键字没有包括在当前话题中时,可以将0.0设置为话题存储器76中的条目“何时”的初始值。

    当以此方式开始会话时,设置机器人帧141、用户帧142以及机器人帧141和用户帧142上的每一个条目的值。作为对机器人1所做的口头叙述“昨天在成田机场发生了一起事故”的响应,用户在时刻t2说“啊?”,以便要求机器人1来重复它所说的。在时刻t3,机器人1重复相同的口头叙述。

    因为重复了口头叙述,所以用户明白了机器人1的口头叙述,在时刻t4用户说“啊哈”,表达用户已经明白机器人1所做的口头叙述。再写用户帧142来作为响应。在用户一边,可以判定基于表示“昨天”、“在成田机场”和“发生了一起事故”的信息分别使“何时”、“何地”、和“何事”成为已知。这些条目被设置为0.2。

    尽管在当前实施例中这些条目被设置为0.2,他们也可以设置为另一个值。例如,关于当前话题上的条目“何时”,当机器人1已经传送了它具有的所有信息时,用户帧142中的条目“何时”可以被设置为与机器人帧141中的值相同的值。特别地,当机器人1仅仅具有条目“何时”的关键字“昨天”时,机器人1已经将信息赋予用户。用户帧142中的条目“何时”的值被设置为与机器人帧141中的条目“何时”的值相同的值0.5。

    参照图11,在时刻t4用户问机器人1“什么时候”,而不是说“啊哈”。在这种情况下,将为用户帧142设置不同的值。特别地,因为用户问机器人1与条目“何时”有关的问题,所以机器人1判定用户对条目“何时”上的信息感兴趣。然后机器人1将用户帧142中的条目“何时”设置为0.4,大于为其他条目设置的0.2。因此,依据会话内容改变为机器人帧141和用户帧142中的条目设置的值。

    在上述描述中,机器人1已经将话题介绍给用户。参照图12,描述用户将话题介绍给机器人1的情况。用户在时刻t1对机器人1说“在成田机场发生了一起事故”。作为响应,机器人1生成机器人帧141和用户帧142。

    分别地基于表示“在成田机场”和“发生了一起事故”的信息设置用户帧142中的条目“何地”和“何事”的值。类似地,机器人帧141中的每一个条目被设置为与用户帧142中的条目相同的值。

    在时刻t2,机器人1对用户的口头叙述做出响应。机器人1生成响应叙述,使得会话以一种使得具有值0.0的条目最终从机器人帧141和用户帧142最终消失的方式继续。在该情况下,将每一个机器人帧141和用户帧142中的条目“何时”设置为0.0。“什么时候?”在时刻t2机器人1问用户。

    响应所述问题,用户在时刻t3回答“昨天”。响应该叙述,将机器人帧141和用户帧142中每一个条目的值重新设置。特别地,因为得到了与条目“何时”相关的表示“昨天”的信息,所以将每一个机器人帧141和用户帧142中的条目“何时”从0.0重新设置为0.2。

    参照图13,机器人1在时刻t4问用户“在什么时候?”。用户在时刻t5回答该问题,“晚上8点以后”。每一个机器人帧141和用户帧142中的条目“何时”重新设置为比0.2大的0.6。以这种方式,机器人1问用户问题,因此实现会话使得设置为0.0的条目将最终消失。因此,机器人1和用户可以进行自然的会话。

    或者,用户在时刻t5说“我不知道”。在该情况下,如上所述,每一个机器人帧141和用户帧142中的条目“何时”设置为0.6。希望以此来阻止机器人1再一次问关于机器人1和用户都不了解的条目的问题。即当所述值保持在一个很小的值时,机器人1可以偶尔再次问用户该问题。为了进一步防止这样的情况发生,将所述值设置为一个更大的值。当机器人1接收到用户不了解特定条目的响应时,不可能继续关于该条目的会话。因此,这样的条目被设置为1.0。

    通过继续这样的会话,机器人帧141和用户帧142中的每一个条目的值接近1.0。当特定话题的所有条目都设置为1.0时,意味着有关该话题的所有情况都已经讨论过了。在这样的情况下,改变话题是很自然的。在已经完全讨论过该话题之前改变话题也是很自然的。即,如果设置机器人1使得会话的话题在已经完全讨论过该话题之前不能改变为随后的话题,那么假设会话趋向于包含太多的问题而不能使用户高兴。因此,设置机器人1使得话题在被充分讨论之前(即在所有的条目达到1.0之前)可以偶然改变。

    图14示出了用于控制使用上述帧改变话题的定时的过程。在步骤S1中,开始关于新话题的会话。在步骤S2中,在话题管理器74中生成机器人帧141和用户帧142,以及设置每一个条目的值。在步骤S3中,计算平均值。在这种情况下,计算机器人帧141和用户帧142中的全部十个条目的平均值。

    在计算平均值后,在步骤S4中过程判定是否改变话题。可以制定一个规则,使得如果平均值超过阈值T1则改变话题,以及过程可以判定是否根据该规则改变话题。如果将阈值T1设置为小的值,会频繁地中途改变话题。与此相反,如果将阈值T1设置为大的值,会话趋向于包含太多的问题。假设这样的设置将得到不合要求的效果。

    在当前实施例中,图15中所示的函数用来根据平均值改变话题被改变的概率。特别地,当平均值在0.0到0.2的范围内时,话题被改变的概率为0。因此,话题没有改变。当平均值在0.2到0.5的范围内时,话题被改变的概率为0.1。当平均值在0.5到0.8的范围内时,使用等式概率=3×平均值-1.4来计算概率。根据所计算的概率来改变话题。当平均值在0.8到1.0的范围内时,以概率1.0来改变话题,即话题经常改变。

    通过使用平均值和概率,可以改变改换话题的时机。因此可能使机器人1保持与用户的更自然的会话。通过例子中的方法来使用图15所示的函数,以及可以根据另一个函数来改变时机。也可以制定这样一个规则,使得当平均值为0.2或更大时,尽管概率不是0.0时,当帧中的十个条目以外的四个条目被设置为0.0时,将话题被改变的概率设置为0.0。

    也可以根据会话在一天中的时间使用不同的函数。例如,在早晨和晚上使用不同的函数。在早晨用户可以广泛地简短谈到多个主题的会话,而晚上会话可以更深入一些。

    返回来参照图14,如果过程在步骤S4中判定改变话题,那么改变话题(后面将描述用于提取随后的话题的过程),并且过程重复地执行基于随后话题的从步骤S1向前的处理。与此相反,当过程在步骤S4中判定不改变话题时,过程根据一个新的叙述重新设置帧中的条目的值。过程使用重新设置的值重复从步骤S3向前的处理。

    尽管使用帧执行了判定改变话题的时机的过程,但是可以使用不同的过程判定时机。当机器人1在与用户的会话中进行交流时,可以对多个机器人1和用户之间的多次交流进行计数。一般地,当已经存在很多次交流时,可以推断话题已经充分地讨论了。这样,有可能基于会话中的多次交流来判定是否改变话题。

    如果N是表示会话中交流的次数的计数值,并且如果计数值N仅仅超过一个预定的阈值,那么改变话题。或者,通过计算等式P=1-1/N得到的值P可以用来代替图15中所示的平均值。

    可以用测定会话的持续时间来代替计算会话中交流的次数,并且基于持续时间来判定改变话题的时机。累计和相加机器人1所作口头叙述的持续时间和用户所作口头叙述的持续时间,所得的总和T用来代替计数值N。当总和T超过一个预定的阈值时,可以改变话题。或者,Tr表示参考会话时间,通过计算等式P=T/Tr得到的值P可以用来代替图15中所示的平均值。

    当数量N或总和T用来判定改变话题的时机时,将被执行的处理基本上与参考图14所描述的处理相同。唯一的不同是在步骤S2中生成帧的处理改变为将计数值N(或总数T)初始化为0,省略了在步骤S3中的处理,以及改变在步骤S5中的处理来更新计数值N(或总数T)。

    人给予会话伙伴的答复在判定人是否对讨论的内容感兴趣上是一个重要的因素。如果判定用户对于会话不感兴趣,最好是改变话题。判定改变话题的时机的另一个过程使用用户语音的随时间变化的声压。参照图16A,执行已经输入的用户语音(输入模式)的间隔归一化来分析输入模式。

    图16B示出了可以假设为用户语音(响应)的间隔归一化的归一化分析结果的四种模式。更具体地,有肯定模式、冷淡模式、标准模式(仅仅是没有意图的响应)以及问题模式。与已经输入的输入模式的间隔归一化的结果相同的模式例如由一个采用内积作为向量计算距离的过程来确定,内积是采用几个参考函数获得的。

    如果判定已经输入的输入模式是显示冷淡的模式,则立即改变话题。或者,可以累计判定输入模式显示冷淡的数量,并且如果累计值Q超过一个预定值,那么改变话题。而且,可以计数话题中的交流的次数。用计数值N来除累计值Q得到频率R。如果频率R超过一个预定值,则改变话题。可以用频率R来代替图15中所示的平均值,从而改变话题。

    当与另一个人会话的人重复或模仿另一个人所说的话时,通常意味着此人对会话的话题不感兴趣。考虑到这样的事实,测量机器人1的语音和用户的语音之间的符合程度,来得到一个分数。基于该分数,改变话题。例如可以通过简单地将机器人1说的词的排列和用户说的词的排列比较来计算得分,这样从共同出现的词的数量得到所述分数。

    与在前述方法中一样,如果这样得到的分数超过预定的阈值时,改变话题。或者,可以用分数来代替图15中所示的平均值,这样改变话题。

    尽管显示冷淡(基于声压和时间之间的关系得到)的模式用在前述的方法中,表示冷淡的词可以用于触发话题的改变。表示冷淡的词包括“嗯嗯”、“是”、“噢,是?”和“是是”。这些词登记为一组表示冷淡的词。如果判定用户说包括在所登记的组中的词中的一个词,那么改变话题。

    当用户已经讨论了一个特定的话题并且在会话中暂停时,即当用户缓慢地回答时,可以推断用户对该话题不是十分感兴趣以及可以推断用户不想回答。机器人1可以测量暂停的持续时间直到用户回答并且可以基于所测量的持续时间判定是否改变话题。

    参照图17,如果直到用户回答时的暂停的持续时间在0.0到1.0秒的范围内,那么不改变话题。如果持续时间在1.0到12.0秒的范围内,那么根据由预定函数计算的概率改变话题。如果时间是12秒或更长,那么总是改变话题。通过例子来描述在图17中显示的设置,并且可以使用任何函数和任何设置。

    使用至少一个前述的方法,来判定改变话题的时机。

    当用户做了表示用户改变话题的期望的口头叙述时,例如“这个话题已经够了”、“停止”或“让我们改变话题”,不考虑由上述方法判定的改变话题的时机就改变话题。

    当机器人1的会话处理器38判定改变话题时,提取出随后的话题。下面描述提取随后的话题的过程。当从当前话题A改变到不同的话题B时,允许从话题A改变到与话题A根本无关的话题B。更希望的是从话题A改变到或多或少与话题A有关的话题B。在这种情况下,不妨碍会话的流畅,经常会话倾向于流畅地继续。在当前实施例中,话题A改变为与话题A有关的话题B。

    用于改变话题的信息存储在话题存储器76中。如果会话处理器38使用上述方法来判定改变话题时,基于存储在话题存储器76中的信息来提取出随后的话题。下面描述了存储在话题存储器76中的信息。

    如上面所述,存储在话题存储器76中的信息通过通信网络例如因特网来下载并将其存储在话题存储器76中。图18示出了存储在话题存储器76中的信息。在该例子中,4片信息存储在话题存储器76中。每一条信息由例如“主题”、“何时”、“何地”、“谁”、“何事”以及“为什么”的条目组成。“主题”以外的其他条目包括在机器人帧141和用户帧142中。

    条目“主题”表示信息的标题,提供它以便识别信息的内容。每一条信息都具有代表其内容的属性。参照图19,关键字可以用作属性。选择包括在每一条信息中的自主词(例如具有它们自己的含义的名词、动词等)并且设置为关键字。信息可以以文本方式保存来描述内容。在图18所示的例子中,提取出内容并保存在由多对条目和值(属性或关键字)组成的帧结构中。

    参照图20,描述由机器人1使用会话处理器38改变话题的过程。在步骤S11中,会话处理器38的话题管理器74判定是否使用前述的方法来改变话题。如果在步骤S11中判定改变话题,那么在步骤S12中过程计算关于当前话题的信息和存储在话题存储器76中的每一个其他话题的信息之间的关联度。下面描述计算关联度的过程。

    例如,可以使用采用由关键字的矢量得到的夹角的过程来计算关联度,即信息的属性、特定类别中的一致性(当相同类别或相似类别中的多条信息被判定彼此相似时,一致性出现)等。关键字中的关联度可以在表中限定(此后称作“关联度表”)。基于关联度表,可以计算有关当前话题的信息的关键字和有关存储在话题存储器76中的话题的信息的关键字之间的关联度。使用该方法,可以计算包括不同关键字之间的关联的关联度。因此,可以更自然地改变话题。

    下面将描述基于关联度表计算关联度的过程。图21示出了关联度表的一个例子。图21中所示的关联度表示出了与“公共汽车事故”有关的信息和与“飞机事故”有关的信息之间的关系。被选择来编制关联度表的两片信息是关于当前话题的信息和关于很可能选作随后话题的话题的信息。换句话说,使用存储在当前话题存储器77(图5)中的信息和存储在话题存储器76中的信息。

    与“公共汽车事故”有关的信息包括9个关键字,即“公共汽车”、“事故”、“二月”、“十日”、“扎幌”、“乘客”、“10人”、“受伤”以及“侧滑事故”。与“飞机事故”有关的信息包括8个关键字,即“飞机”、“事故”、“二月”、“十日”、“印度”、“乘客”、“100人”以及“受伤”。

    关键字中存在总共72(=9×8)个组合。为每一对关键字提供表示关联度的一个分数。分数的总和表示两片信息之间的关联度。可以由用于提供信息的服务器101(图7)生成图21中所示的表,所生成的表和信息可以提供给机器人1。或者,机器人1可以在下载和存储来自服务器101的信息时生成和存储表。

    当事先生成表时,假设存储在当前话题存储器77中的信息和存储在话题存储器76中的信息都从服务器101下载。换句话说,当话题存储器76存储关于估计可能由用户讨论的话题的信息时,可能使用事先生成的表,而不管是由机器人1改变话题还是由用户改变话题。但是,当用户改变话题时,以及当判定随后的话题没有存储在话题存储器76中时,不存在与用户引入的话题相关的事先生成的表。这样需要生成一个新的表。下面描述生成一个新表的过程。

    通过参考一个词库(一个分类词汇表,其中按照意思对词进行分类和排列)得到词中的关联度生成表,关联度在统计上将基于大量的语言资料库频繁地出现在同一上下文中。

    回来参照图21 ,使用特定的例子描述计算关联度的过程。如上所述,关于“公共汽车事故”的信息和“飞机事故”的信息的关键字中存在72个组合。例如组合包括“公共汽车”和“飞机”、“公共汽车”和“事故”等。在图21中所示的例子中,“公共汽车”和“飞机”之间的关联度是0.5,以及“公共汽车”和“事故”之间的关联度是0.3。

    以此方式,基于存储在当前话题存储器77中的信息和存储在话题存储器76中的信息生成表,并计算分数的总和。当以前述方法计算总分时,当所选择的话题(信息)具有很多关键字时总分趋向于大。当所选择的话题仅仅具有很少的关键字时,总分趋向于小。为了避免这些问题,当计算总分时,可以通过以用于计算关联度的关键字组合的数目(在图21所示的例子中为72个组合)相除来执行归一化。

    当从话题A改变到话题B时,假设关联度ab表示关键字之间的关联度。当从话题B改变到话题A时,假设关联度ba表示关键字之间的关联度。当关联度ab具有与关联度ba相同的分数时,使用表的左下部分(或右上部分),如图21中所示。如果考虑话题改变的方向,需要使用整个表。可以使用同样的算法,而不管使用部分表还是使用整个表。

    当生成如图21中所示的表并计算总分时,替代简单地计算总分,通过考虑本话题的流动来计算总分以便可以为关键字加权。例如,假设当前话题是“发生一起公共汽车事故”。该话题的关键字包括“公共汽车”和“事故”。可以为这些关键字加权,因此包括这些关键字的表的总分增加了。例如,假设通过对分数加倍来加权这些关键字。在图21中所示的表中,“公共汽车”和“飞机”之间的关联度是0.5。当这些关键字加权后,分数加倍得到1.0。

    当关键字被如上加权时,先前话题和随后话题的内容变得更紧密相关了。因此,包括话题改变的会话变得更自然了。可以使用所加权的关键字的表(表可以被重写)。或者,在关键字加权的同时当计算关联度的总分时保持所述的表。

    回来参照图20,在步骤S12中,该过程计算当前话题和每一个其他话题之间的关联度。在步骤S13中,选择具有最高关联度的话题,即具有最大总分的表的信息,以及将所选择的信息设置为随后的话题。在步骤S14中,将当前话题改变为随后的话题,以及开始关于新话题的会话。

    在步骤S15中,估算先前的话题改变,以及根据该估算更新关联度表。因为不同的用户对于相同的话题有不同的概念,所以执行此处理步骤。这样需要生成一个与每个用户都意见一致的表使得保持一个自然的会话。例如,关键字“事故”使不同用户有不同概念。用户A想起“火车事故”,用户B想起“飞机事故”,以及用户C想起“交通事故”。当用户A打算到札幌旅行并且实际上开始了旅行时,同一用户A将从关键字“扎幌”得到不同的印象,因此用户A将不同地推进该话题。

    对于一个话题所有用户的感觉不一样。对于一个话题由于时间和环境不同,同一个用户也可能感觉不同。因此,更可取的是动态地改变表中所示的关联度使得保持与用户的一个更自然和愉快的会话。为此目的,执行步骤S15中的处理。图22详细示出了步骤S15中执行的处理。

    在步骤S21中,该过程判定话题的改变是否合适。假设将步骤S14中随后的话题(表示为话题T)作为参考,基于先前话题T-1和先前话题T-1之前的话题T-2执行判定。特别地,机器人1判定在话题T-2改变到话题T-1时从机器人1传送到用户的关于话题T-2的信息量。例如,当话题T-2有10个关键字时,机器人1判定在话题T-2改变到话题T-1时传送的关键字的数量。

    当判定传送更大数量的关键字时,可以断定会话已经保持了很长的时间了。话题的改变是否合适可以通过判定是否在话题T-2已经讨论了很长时间后才将话题T-2改变到话题T-1来判定。这将判定是否用户倾向于话题T-2。

    在步骤S21中如果过程基于上述的判定过程判定话题的改变是合适的,在步骤S22中该过程生成话题T-1和话题T-2之间的所有对关键字。在步骤S23中,该过程更新关联度表使得所述各对关键字的分数增加。通过以这种方式更新关联度表,话题改变趋向于从下一个时刻开始更频繁地出现在话题的相同组合中。

    步骤S21中如果过程判定话题的改变是不合适的,那么不更新关联度表使得不使用与所判定不合适的话题的改变相关的信息。

    通过计算存储在当前话题存储器77中的信息和存储在题存储器76中所有话题上的每一条信息之间的关联度以及比较各自的总分来判定随后的话题的计算总开销是很高的。为了最小化所述总开销,从存储在话题存储器76中的话题中选择随后的话题来代替计算每一条存储在话题存储器76中的信息的总分,从而改变话题。下面将参照图23描述使用会话处理器38的上述过程。

    在步骤S31中,话题管理器74基于上述的方法判定是否改变话题。如果在步骤S32中判定是肯定的,那么从存储在话题存储器76中的所有信息中选择一条信息。在步骤S33中,计算所选择的信息和存储在当前话题存储器77中的信息之间的关联度。以类似于参照图20描述的方式执行步骤S33中的处理。

    在步骤S34中,该过程判定在步骤S33中计算的总分是否超过一个阈值。如果在步骤S34中判定为负,该过程返回步骤S32,从话题存储器76中的新话题上读取信息,并且基于所选择的信息从步骤S32向前重复所述处理。

    如果在步骤S34中该过程判定总分超过一个阈值,在步骤S35中该过程判定是否最近提出过该话题。例如,假设在步骤S32中从话题存储器76读取的话题上的信息已经在当前话题之前讨论过。再次讨论该话题是不自然的,这样做可能使会话不愉快。为了避免这样的问题,执行步骤S35中的判定。

    在步骤S35中,通过检验会话历史存储器75(图5)中的信息来执行判定。如果通过检验会话历史存储器75中的信息判定最近没有提出该话题,过程返回步骤S36。如果判定最近提出过该话题,该过程返回步骤S32,重复从步骤S32向前的处理。在步骤S36中,将话题改变为所选择的话题。

    图24示出了机器人1和用户之间的会话。在时刻t1,机器人1选择覆盖主题“公共汽车事故”(见图19)的信息并且开始会话。机器人1说“在扎幌发生了一起公共汽车事故”。用户在时刻t2问机器人1“何时?”作为响应。机器人1在时刻t3回答“12月10日”。用户在时刻t4问机器人1一个新的问题“有人受伤吗?”作为响应。

    机器人1在时刻t5回答“10人受伤”。在时刻t6用户响应“嗯嗯”。在会话中重复地执行上述过程。在时刻t7,机器人1判定改变话题并且选择覆盖主题“飞机事故”的话题作为随后的话题。选择关于“飞机事故”的话题是因为当前话题和随后的话题有相同的关键字,例如“事故”、“2月”、“10日”以及“受伤”,判定有关“飞机事故”的话题接近当前话题。

    在时刻t7,机器人1改变话题并且说“同一天,还有一起飞机事故”。作为响应,用户在时刻t8有兴趣地问“印度的那一起?”,希望知道关于该话题的详情。作为响应,机器人1在时刻t9对用户说“是的,事故原因还不知道”,使得话题继续下去。这样通知用户事故原因还不知道这一事实。在时刻t10用户问机器人1“有多少人受伤?”。在时刻t11机器人1回答“一百人”。

    因此,通过使用前述的方法来改变话题使得变得自然。

    反之,在图24中所示的例子中,用户可能在时刻t8说“稍等,公共汽车事故的原因是什么?”,表达拒绝话题的改变并要求机器人1回到先前的话题。或者,在关于随后话题的会话中可能有一个停顿。在这些情况中,可以判定用户不接受随后的话题。话题回到先前的话题,继续会话。

    在上述的描述中,描述了生成与所有话题相关的表的情况,从表中选择具有最高分的一个表作为随后话题。在该情况中,话题存储器76始终存储关于适合作为随后话题的话题的信息。换句话说,如果所选择的话题与其它话题相比具有更高的关联度,那么可以选择与当前话题并不紧密相关的话题作为随后的话题。看情况,会话的流动可能不自然(即,可能将话题改变为完全不同的一个话题)。

    为了避免这些问题,在下面的情况中,例如在仅有一个关联度(总分)低于预定值的话题可供选择为随后话题的情况下,以及在仅仅检测到每一个的总分低于阈值的话题的情况下,由于可选择的随后话题必须具有大于阈值的关联度总分,因此不可能选择一个用作为随后话题的话题,可以将机器人1构造为说出一个短语,例如“顺便说一句”或“我想起来”,以便通知用户将会改变到一个完全不同的话题。

    尽管在上例中机器人1改变话题,用户改变话题的情况是可能的。图25示出了响应用户的话题的改变由会话处理器38执行的过程。在步骤S41中,机器人1的话题管理器74判定由用户引入的话题是否与存储在当前话题存储器77中的当前话题有关。当由机器人1改变话题时,使用类似于计算话题(关键字)之间的关联度的方法来执行判定。

    特别地,计算从用户所做的一个单个口头叙述中提取的一组关键字和当前话题的关键字之间的关联度。如果满足与预定的阈值相关的条件,过程判定由用户引入的话题与当前话题有关。例如,用户说,“我想起来,将在扎幌举行雪节”。从叙述中提取的关键字包括“扎幌”、“雪节”等。使用这些关键字和当前话题的关键字计算话题之间的关联度。过程基于计算结果判定由用户引入的话题是否与当前话题有关。

    如果在步骤S41中可以判定由用户引入的话题与当前话题有关,那么由于不需要跟踪由用户进行的话题的改变则中断该过程。相反,如果在步骤S41中判定由用户引入的话题与当前话题无关,那么在步骤S42中过程判定是否允许话题的改变。

    该过程判定依据规则是否允许话题的改变,以使得如果机器人1具有覆盖当前话题的任何未讨论的信息,那么不必改变话题。或者,可以以类似于当由机器人1改变话题时执行处理的方式执行判定。特别地,当机器人1判定所述时刻不适合于改变话题时,不允许话题的改变。但是,这样的设置仅仅允许机器人1改变话题。当由用户改变话题时,需要执行处理例如设置一个概率使得允许用户改变话题。

    如果在步骤S42中该过程判定不允许话题的改变,由于没有改变话题则中断该该过程。相反,如果在步骤S42中该过程判定允许话题的改变,该过程在步骤S43中搜索话题存储器76来搜索用户引入的话题以便检测用户引入的话题。

    可以使用类似于在步骤S41中使用的方法搜索话题存储器76来搜索用户引入的话题。该过程判定从用户所做的口头叙述提取的关键字和存储在话题存储器76中话题(信息)的每一个关键字组之间的关联度(或其总分)。选择具有最大计算结果的信息作为用户引入的话题的候选话题。如果候选话题的计算结果等于预定值或更大,那么该过程判定信息与由用户引入的话题相符。尽管该过程在检索与用户的话题相符的话题中具有一个高的成功概率并且这样是可靠的,但是该过程的计算开销是高的。

    为了最小化开销,从话题存储器76中选择一条信息,并且计算用户的话题和所选择的话题之间的关联度。如果计算结果超出预定的值,那么该过程判定所选定的话题符合用户引入的话题。重复该该过程直到检测到具有超出预定值的关联度的信息。这样可以检索要作为用户引入的话题开始的话题。

    在步骤S44中,该过程判定是否检索到要作为用户引入的话题开始的话题。如果在步骤S44中判定检索到话题,在步骤S45中该过程将所检索的话题(信息)传送到当前话题存储器77,由此改变话题。

    反之,如果在步骤S44中判定未检索到话题,即没有总分超过预定值的关联度的信息,过程进入步骤S46。这表示用户正在讨论除机器人1知道的信息之外的信息。因此,将话题改变为一个“未知”话题,清除存储在当前话题存储器77中的信息。

    当将话题改变为一个“未知”话题时,机器人1通过问用户问题来继续会话。在会话期间,机器人1存储与存储在当前话题存储器77中的话题有关的信息。以这种方式,机器人1更新关联度表来响应新话题的引入。图26示出了用于根据一个新话题更新表的过程。在步骤S51中,输入一个新话题。当用户引入一个话题或展示机器人1不知道的信息时或当通过网络下载信息n时,可输入一个新话题。

    当输入一个新话题时,该过程在步骤S52中从输入话题中提取关键字。在步骤S53中,该过程产生所有对提取的关键字。在步骤S54中,该过程基于所产生的各对关键字来更新关联度表。因为在步骤S54中执行的处理类似于在图21中显示的过程的步骤S23中执行的处理,因此省略了公共部分的重复描述。

    在实际的会话中,有一些由机器人1改变话题的情况和其他一些由用户改变话题的情况。图27概述了一个由会话处理器38执行的过程以响应话题的改变。特别地,在步骤S61中,该过程跟踪由用户引入的话题的改变。在步骤S61中执行的处理对应于在图25中显示的过程。

    作为步骤S61中的处理的结果,在步骤S62中该过程判定是否由用户改变话题。特别地,如果在图25中的步骤S41中判定由用户引入的话题与当前话题相关,在步骤S62中过程判定未改变话题。相反,如果在步骤S41中判定由用户引入的话题与当前话题不相关,执行从步骤S41向前的处理,以及在步骤S62中该过程判定改变话题。

    如果在步骤S62中该过程判定未改变话题,机器人1在步骤S63中自愿地改变话题。在步骤S63执行的处理对应于图20和图23中所示的过程。

    以此方式,由用户进行的话题改变优先于由机器人1进行的话题改变,因此在会话中给予用户主动性。反之,当由步骤S63代替步骤S61时,在会话中允许机器人1主动。用这样的事实,当用户已经给机器人1赋予特权时,可以将机器人1配置为在会话中采取主动。当很好地训练机器人1时,可以配置使得在会话中用户采取主动。

    在上述的例子中,将包括在信息中的关键字用作属性。或者,如图28中所示,可以使用属性类型例如类别、位置和时间。在图28中所示的例子中,每一条信息的每一个属性类型一般地仅仅包括一个或两个值。可以以类似于使用关键字的情况的方式处理这样的一个情况。例如,尽管“类别”基本上仅仅包括一个值,但是可以将“类别”看作一个具有多个值的类别类型的例外的例子,例如“关键字”。因此,图28中所示的例子可以以类似于使用“关键字”的情况的方式对待(即可以生成表)。

    可以使用多个类别类型,例如“关键字”和“类别”。当使用多个类别类型时,在每一个类别类型中计算关联度,并计算加权的线性组合,作为要使用的最终计算结果。

    已经描述了话题存储器76存储与用户的偏爱(简档)一致的话题(信息)以使得机器人1保持自然的会话以及自然地改变话题。也已经描述了在与用户的会话期间可以由机器人1得到简档或通过将机器人1连接到一个计算机并且使用计算机将简档输入到机器人1。下面用机器人1基于与用户的会话来生成用户的简档的例子来描述一种情况。

    参照图29,机器人1在时刻t1问用户“怎么了?”。用户在时刻t2回答该问题“我看了一场名字叫“题目A”的电影”。基于该回答,将“题目A”加入用户的简档。机器人1在时刻t3问用户“好看吗?”。用户在时刻t4回答“是的。扮演角色B的演员C尤其好。”。基于该回答,将“演员C”加入用户的简档。

    以这种方式,机器人1从会话中得到了用户的偏好。当用户在时刻t4回答“不好看”时,因为将机器人1构造为得到用户的偏好,所以“题目A”不加入用户的简档。

    几天后,机器人1从服务器101下载表示“名字叫‘题目B’的由演员C主演的新电影”、“新电影明天将上映”以及“新电影将在Shinjuku的_电影院上映”的信息。基于这些信息,机器人1在时刻t1’告诉用户“由演员C主演的新电影将推出”。几天前用户称赞演员C他的演技,以及用户对该话题感兴趣。用户在时刻t2问机器人1“何时?”。机器人1已经得到与新电影的上映日期相关的信息。基于关于用户的最近的公共交通站的信息(简档),机器人1可得到与最近的电影院相关的信息。在该例子中,机器人1已经得到该信息。

    机器人1基于所得到的信息在时刻t3回答用户的问题,“从明天开始,在Shinjuku,将在_电影院上映该影片”。用户得到该信息并且在时刻t4说“我愿意去看”。

    以这种方式,在会话的过程中将基于用户的简档的信息传送给用户。因此,可能以一个自然的方式进行广告。特别地,在上述的例子中为称为“题目B”的电影做广告。

    广告商可以使用存储在服务器101中的简档或由用户提供的简档以及可以通过邮件将广告发送给用户以便为产品做广告。

    尽管已经在当前实施例中描述了会话是口头的,本发明可以应用到以书面形式保持的会话。

    前面的一系列过程可以由硬件或由软件来执行。当由软件来执行所述的一系列过程时,从专用硬件或能够通过安装各种程序来执行各种功能的通用个人计算机中包含的计算机中的记录介质安装构造该软件的程序。

    参照图30,记录介质包括与计算机分离地提供给用户的封装式媒体。封装式媒体包括磁盘211(包括软盘)、光盘212(包括只读光盘(CD-ROM)或数字通用盘(DVD))、磁光盘213(包括迷你盘(MD))、半导体存储器214等。并且,记录介质包括预先安装在计算机中并因而提供给用户的硬盘,包括用于存储程序的只读存储器(ROM)202和存储单元208。

    在本说明书中,用于写由记录介质提供的程序的步骤不仅包括根据所描述的顺序执行的时间序列处理,而且包括不需要以时间序列执行的并行或单个处理。

    在本说明书中,系统代表由多个单元形成的整个设备。

会话处理设备、方法及其记录介质.pdf_第1页
第1页 / 共59页
会话处理设备、方法及其记录介质.pdf_第2页
第2页 / 共59页
会话处理设备、方法及其记录介质.pdf_第3页
第3页 / 共59页
点击查看更多>>
资源描述

《会话处理设备、方法及其记录介质.pdf》由会员分享,可在线阅读,更多相关《会话处理设备、方法及其记录介质.pdf(59页珍藏版)》请在专利查询网上搜索。

一种会话处理设备和方法判定是否改变话题。如果判定是肯定的,参照关联度表计算正在讨论的当前话题和存储在存储器中的候选话题之间的关联度。基于计算结果,选择具有最高关联度的话题作为随后的话题。话题从当前话题改变为随后的话题。更新用于选择随后的话题的关联度表。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 乐器;声学


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1