自动呼叫系统的制作方法

文档序号:26743903发布日期:2021-09-23 01:08阅读:130来源:国知局
自动呼叫系统的制作方法
自动呼叫系统
1.相关申请的交叉引用
2.2016年6月13日提交的第62/349,396号美国申请以及2017年6月13日提交的第15/621,869号美国申请的内容以引用方式全文并入。
技术领域
3.本说明书涉及自然语言处理。


背景技术:

4.用户可能需要收集在没有人类交互的情况下不容易获得的信息类型。例如,为了验证或收集来自企业或组织的多个地点的数据,用户可能需要呼叫每个企业或组织以搜集信息。虽然web搜索引擎可以通过提供服务机构或企业的联系信息来针对这些任务帮助用户,但用户仍然必须自己呼叫服务机构或企业来自己完成任务。
5.为了维护从企业或组织的多个地点搜集的信息数据库,人类操作员可以向大量企业发起自动呼叫以收集数据,但在人工地执行时选择被呼叫方(例如,在特定城镇中提供相同菜肴的所有餐厅)和进行呼叫可能会很耗时。此外,确定何时以及是否进行呼叫通常需要对现有数据进行人工分析,以识别对于验证、更新或补充信息的需求。
6.用户可能还希望执行诸如预约或租用服务的任务。然而,通常存在用户必须与其进行交互的个人来完成所期望的任务。例如,为了在没有网站的小餐厅进行预订,用户可能需要呼叫并与女主人交谈。在一些情况下,即使用户自己进行呼叫,他们也可能会遇到自动电话树,这些自动电话树通常仅接受有限的用户响应集合。


技术实现要素:

7.一些实施方案涉及使用机器人(bot)发起电话呼叫并且与用户进行电话交谈。在电话呼叫期间提供合成语音时,机器人可能被中断。中断可以分类成多个不同的中断类型之一,并且机器人可以基于中断类型对中断作出反应。一些实施方案涉及确定第一用户在电话交谈期间被第二用户安置成处于保持,并且响应于确定第一用户挂断电话呼叫而将电话呼叫维持在活动状态。当第二用户重新加入呼叫时可以通知第一用户,并且与第一用户相关联的机器人可以向第一用户通知第二用户已重新加入电话呼叫。
8.在一些实施方案中,提供一种由一个或多个处理器实施的方法,并且所述方法包括:使用机器人发起与用户的电话呼叫,所述机器人被配置成发起电话呼叫并且进行电话交谈;以及提供机器人的合成语音以在用户的对应计算装置处输出。所述方法进一步包括:在提供机器人的合成语音时,从用户接收中断机器人的合成语音的用户话语;响应于接收到中断合成语音的用户话语,将接收到的用户话语分类为多个不同中断类型中的给定中断类型;以及基于给定中断类型确定是否继续提供机器人的合成语音以在用户的对应计算装置处输出。
9.本文所公开的技术的这些和其它实施方案可以任选地包括以下特征中的一个或
多个。
10.在一些实施方案中,给定类型的中断是无意义的中断。将接收到的用户话语分类为无意义中断包括:处理对应于接收到的用户话语或对应于接收到的用户话语的转录的音频数据,以确定接收到的用户话语包括以下项中的一个或多个:背景噪音、肯定词或短语,或填充词或短语;以及基于确定接收到的用户话语包括中的一个或多个将接收到的用户话语分类为无意义中断:背景噪音、肯定词或短语、或填充词或短语。
11.在那些实施方案中的一些版本中,确定是否继续提供机器人的合成语音包括:基于将接收到的用户话语分类为无意义中断而确定继续提供机器人的合成语音。
12.在一些实施方案中,给定类型的中断是非关键的有意义中断。将接收到的用户话语分类为非关键的有意义中断包括:处理对应于接收到的用户话语或对应于接收到的用户话语的转录的音频数据,以确定接收到的用户话语包括对机器人已知但尚未提供的信息的请求;以及基于确定接收到的用户话语包括对机器人已知但尚未提供的信息的请求,将接收到的用户话语分类为非关键的有意义中断。
13.在那些实施方案的一些版本中,确定是否继续提供机器人的合成语音包括:基于将用户话语分类为非关键的有意义中断,确定合成语音的剩余部分中的时间点以停止提供机器人的合成语音以供输出;确定合成语音的剩余部分是否是响应于接收到的话语的;以及响应于确定剩余部分不是响应于接收到的用户话语的:提供响应于接收到的用户话语并且尚未提供的合成语音的附加部分以供输出,并且在提供合成语音的附加部分以供输出之后,继续从所述时间点提供机器人的合成语音的剩余部分以供输出。
14.在那些实施方案的一些其它版本中,所述方法进一步包括:响应于确定剩余部分是响应于接收到的用户话语的,继续从所述时间点提供机器人的合成语音的剩余部分以供输出。
15.在一些实施方案中,给定类型的中断是关键的有意义中断。将接收到的用户话语分类为关键的有意义中断包括:处理对应于接收到的用户话语或对应于接收到的用户话语的转录的音频数据,以确定接收到的用户话语包括对机器人重复合成语音的请求或将机器人安置成处于保持的请求;以及基于确定接收到的用户话语包括对机器人重复合成语音的请求或将机器人安置成处于保持的请求,将接收到的用户话语分类为非关键的有意义中断。
16.在那些实施方案的一些版本中,确定是否继续提供机器人的合成语音包括提供机器人的合成语音的当前词或词项的剩余部分以供输出,并且在提供当前词或词项的剩余部分以供输出之后,停止提供机器人的合成语音以供输出。
17.在一些实施方案中,将接收到的用户话语分类为给定类型的中断包括:使用机器学习模型处理对应于接收到的用户话语或对应于接收到的用户话语的转录的音频数据以确定给定类型的中断。
18.在那些实施方案的一些版本中,所述方法进一步包括使用多个训练实例来训练机器学习模型。训练实例中的每一个包括训练实例输入和对应的训练实例输出,每个训练实例输入包括训练音频数据,所述训练音频数据对应于中断话语或对应于中断话语的转录,并且每个对应训练实例输出包括与中断话语中包括的中断类型相对应的地面真值标签。在那些实施方案的一些其它版本中,使用机器学习模型处理对应于接收到的用户话语或对应
于接收到的用户话语的转录的音频数据进一步包括处理在接收到用户话语以及音频数据或转录时正输出的合成语音。
19.在一些实施方案中,将接收到的用户话语分类为给定类型的中断包括:使用一个或多个规则处理对应于接收到的用户话语或对应于接收到的用户话语的转录的音频数据,所述规则将接收到的用户话语的词符(token)和与多个不同中断类型中的每一个相关联的一个或多个词项匹配。
20.在一些实施方案中,使用机器人发起与用户的电话呼叫是响应于从与机器人相关联的给定用户接收用户输入以发起电话呼叫。在那些实施方案的一些版本中,用于发起电话呼叫的用户输入包括将包括在合成语音中的信息点,所述合成语音被提供以在用户的对应计算装置处输出。
21.在一些实施方案中,提供一种由一个或多个处理器实施的方法,并且所述方法包括确定第一用户和第二用户参与电话呼叫。第一用户与对应的第一计算装置相关联,并且第二用户与对应的第二计算装置相关联。所述方法进一步包括:确定第二用户已将第一用户安置成处于保持;确定第一用户已挂断对应的第一计算装置;以及响应于确定第一用户已挂断对应的第一电话并且在第一用户处于保持时:维持电话呼叫处于活动状态,并且确定第二用户是否已重新加入电话呼叫。所述方法进一步包括响应于确定第二用户已重新加入电话呼叫:使用与第一用户的对应第一计算装置相关联的机器人继续与第二用户的电话呼叫;提供针对第一用户的用于重新加入电话呼叫的通知以在对应第一计算装置处输出;确定第一用户已重新加入电话呼叫;以及响应于确定第一用户已重新加入电话呼叫,停止第二用户与机器人之间的电话交谈。
22.本文所公开的技术的这些和其它实施方案可以可选地包括以下特征中的一个或多个。
23.在一些实施方案中,使用与第一用户的对应第一计算装置相关联的机器人继续与第二用户的电话呼叫包括生成机器人的合成语音,所述合成语音指示第一用户不是电话呼叫的活动参与者;以及提供机器人的合成语音以在第二用户的对应第二计算装置处输出。
24.在一些实施方案中,所述方法进一步包括在第一用户重新加入电话呼叫之前,从第二用户接收用户话语;生成用户话语的转录;以及将用户话语的转录包括在针对第一用户的用于重新加入电话呼叫的通知中。
25.在一些实施方案中,将电话呼叫维持在活动状态包括使对应第一计算装置的一个或多个麦克风静音;以及维持对应的第一计算装置与对应的第二计算装置之间的电话连接。
26.另外,一些实施方案包括一个或多个计算装置的一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu)),其中一个或多个处理器可操作以执行存储在相关联存储器中的指令,并且其中指令被配置成使得执行上述方法中的任一个。一些实施方案还包括一个或多个非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储可由一个或多个处理器执行以执行上述方法中的任一个的计算机指令。一些实施方案还包括计算机程序产品,包括可由一个或多个处理器执行以执行上述方法的指令。
27.应理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文所公
开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文所公开的主题的一部分。
28.提供以上描述作为仅本文所公开的一些实施方案的概述。本文中更详细地描述这些实施方案和其它实施方案。
附图说明
29.图1说明用于在用户和呼叫发起系统的机器人进行电话交谈时处置从用户接收的中断的示例系统。
30.图2说明监视在其中一个用户处于保持的电话呼叫并且在另一用户已重新加入电话呼叫时通知处于保持的用户的示例系统。
31.图3a是用于在用户和呼叫发起系统的机器人进行电话交谈时处置从用户接收的中断的示例过程的流程图。
32.图3b是用于监视在其中一个用户处于保持的电话呼叫并且用于在另一用户已重新加入呼叫时通知处于保持的用户的示例过程的流程图。
33.图4是计算装置和移动计算装置的示例。
34.在各个附图中的相似参考数字和标号指示相似的元件。
具体实施方式
35.图1说明用于在代表102和呼叫发起系统104的机器人进行电话交谈时处理从人类代表102接收的中断的示例系统100。简而言之并且如下文更详细地描述,呼叫发起系统104通过进行电话呼叫(例如,代表用户发起辅助呼叫)为用户执行任务。代表102接听电话呼叫并且与代表用户的呼叫发起系统104的机器人进行电话交谈。在电话呼叫期间,代表102可以中断机器人(例如,在辅助呼叫期间)。机器人可以识别中断,将中断分类成多个不同的中断类型中的一个,并且基于中断类型代表用户继续电话交谈。
36.如图1中所示,用户可以通过请求数字助理为两人预订第二天晚上在7:00时的burger palace(汉堡宫)而与数字助理交互。burger palace可能是不具有数字助理可以请求预订的在线门户的小餐厅。替代地,潜在的顾客必须呼叫burger palace进行预订。在这种情况下,数字助理请求呼叫发起系统104发起与餐厅的电话呼叫并且代表用户进行预订。尽管图1中所示的系统100被说明为由服务器通过网络(例如,lan、wan、wifi、蓝牙和/或其它网络)实施,但是应理解,这是为了示例并且是并不意味着限制。例如,系统100可以在发起辅助呼叫的用户的计算装置处本地实施和/或由计算装置和服务器通过网络以分布式方式实施。
37.数字助理可以向呼叫发起系统104提供包括在用户所提供的请求中的数据。信息可以包括所请求的预订日期和时间(例如,明天晚上7:00)、所请求企业(例如,burger palace),以及聚会人数(例如,两个)。对于除了餐厅预订之外的请求,信息可以包括所请求服务提供商的名称(例如,航空公司、公用设备提供商,和/或任何其它服务提供商)、对服务提供商的请求的描述(例如,进行/修改/停止服务或预订),和/或在代表用户执行任务时代表102可能索求的任何其它信息。呼叫发起系统104可以将此数据存储为信息点106。信息点106包括例如在电话呼叫期间呼叫发起系统104应提供给代表102或者呼叫发起系统104应
请求代表102在电话呼叫期间提供的信息。
38.例如,假设呼叫发起系统104发起与burger palace的电话呼叫,并且假设代表102接听电话108。此外假设代表102说出“thank you for calling burger palace.how can i help you?(感谢您呼叫burger palace。我该怎么帮助您?)”的话语110。呼叫发起系统104的机器人可以检测话语110,并且将话语110的音频数据提供到语音辨识器112。语音辨识器112可以生成话语110的转录,并且将话语110的转录提供到转录生成器114。
39.转录生成器114可以生成响应于代表102的话语110的转录。此外,转录生成器114可以访问信息点106,以确定提供在信息点106中的一个中包括的信息是否为对代表102的话语110的适当响应。为了确定在信息点106中的一个中包括的信息是否为对代表102的话语110的适当响应,转录生成器114可以使用各种技术,包括基于规则的方法和/或基于机器学习的方法。在一些实施方案中,转录生成器114可以识别在代表102的话语110的转录中的关键字或短语。转录生成器114可以将代表102的话语110的转录词符化,并且识别词符化词项中的关键字。转录生成器114随后可以使用那些关键字或短语来确定代表102的话语110的主题。转录生成器114可以使用代表102的话语110的主题来生成响应的转录。
40.在一些实施方案中,转录生成器114使用利用机器学习训练的模型来确定代表102的话语110的主题和/或对代表102的话语110的适当响应。呼叫发起系统104可以访问包括先前交谈的记录的训练数据。先前交谈可能特定于某种类型的企业或组织,例如餐厅企业、航空企业、政府机构,和/或特定于其它企业或组织的交谈。对应交谈中的每一话语可以包括关键字标签。关键字标签可以包括话语中的词项、话语中的词项的语义表示,和/或用于注释话语或其转录的其它类型的标签。呼叫发起系统104可以使用训练数据来训练机器学习模型,以在跨越机器学习模型将捕获话语(和/或其转录)的音频数据应用为输入时识别话语的关键字。在一些附加和/或替代实施方案中,呼叫发起系统104可以使用训练数据来训练机器学习模型,以在跨越机器学习模型将捕获话语(和/或其转录)的音频数据应用为输入时生成适当响应的关键字。
41.转录生成器114可以使用这些机器学习模型和/或基于规则的方法的任何组合,以结合信息点106生成对话语110的适当响应。更具体来说,转录生成器114可以使用机器学习模型来生成适当响应,并且使用信息点106来填充当前交谈可能独特的任何细节。如图1中所示,转录生成器114可以分析代表102的话语110的转录以生成响应框架(shell),转录生成器114将信息点106中的一个或多个应用于所述响应框架。例如,转录生成器114可以生成例如“i’d like to<blank>(我想<空白>)”的响应框架。转录生成器114可以用信息点106填充空白,所述信息点包括所请求任务(例如,进行预订)、日期和时间(例如,明天晚上7:00)以及聚会大小(例如,两个人)。在此示例中,响应于处理代表102的话语110的转录,转录生成器114可以生成“i’d like to make a reservation for two people tomorrow at 7pm(我想针对明天晚上7点两个人进行预订)”的转录。
42.转录生成器114可以将响应于代表102的话语110的由转录生成器114生成的转录提供到语音合成器116。语音合成器116可以生成合成语音,所述合成语音包括与响应于代表102的话语110的所接收转录相对应的音频数据。在一些实施方案中,语音合成器116可以被配置成以多种不同话音输出合成语音。例如,语音合成器116可以被配置成以类似于请求预订的用户的话音、数字助理的储备话音、可以在转录生成器114无法生成适当响应的情况
下接管机器人的操作员的话音,或由请求预订的用户选择或由呼叫发起系统104选择的另一种话音来输出合成语音(或在交谈期间其一部分)。
43.呼叫发起系统104可以响应于接收到代表102的话语110而输出由语音合成器116生成的合成语音118“i’d like to make a reservation for two people tomorrow at 7pm”(我想针对明天晚上7点两个人进行预订)。此时,转录生成器114可以将提供的日期和时间122、请求的预订124以及提供的聚会大小126的信息点106标记为满足,因为机器人将该信息作为合成语音118的一部分提供给代表102。进一步假设在图1的示例中,代表102通过电话108听到合成语音118并且用话语120响应。响应于检测到话语120,呼叫发起系统104使用语音辨识器112生成代表102的话语120的转录,并且使用转录生成器114以上文相对于话语110描述的相同或相似方式生成适当响应的转录。
44.在此示例中,转录生成器114确定代表102正请求已提供的信息。转录生成器114可以确定话语120的转录包括例如“what time(什么时间)”和“how many people(多少人)”的关键字或短语。转录生成器114可以确定这两个短语对应于包括在合成语音118中的提供的日期和时间122以及提供的聚会大小126的信息点106。然而,转录生成器114可以生成另一转录以再次将这些具体信息点106提供给代表102。例如,转录生成器114可以响应于接收到话语120而生成“the reservation should be for two people at 7pm(预订应该针对在晚上7点两个人)”的转录。此外,转录生成器114可以将此转录提供到语音合成器116。
45.语音合成器116可以生成合成语音128,所述合成语音包括与响应于话语120而生成的转录相对应的音频数据。此外,呼叫发起系统104可以响应于接收到代表102的话语120而输出由语音合成器116生成的合成语音128“the reservation should be for two people at 7pm”。进一步假设在图1的示例中,代表102通过电话108听到合成语音128,并且在输出合成语音128中间,代表102中断并且说出话语130“oh i'm sorry,you already said two people at 7pm(哦,对不起,您已经说过晚上7点两个人)”。
46.中断检测器132可以连续地分析来自代表102的传入音频数据和/或其对应转录,以确定是否已发生中断。中断检测器132可以将传入音频数据的信号强度与阈值相比较。如果在呼叫发起系统104正输出合成语音时,传入音频的信号强度高于某一阈值(例如,高于环境噪音水平),则中断检测器132可以确定已发生中断。在一些实施方案中,中断检测器132可以分析由语音辨识器112生成的话语130的转录和/或话语130的能量水平。在此实例中,如果语音辨识器112能够生成话语130的转录,则呼叫发起系统104可以确定代表102或另一人正在说话且电话108正在检测所述语音,并且中断检测器132可以确定存在中断。通过使用此技术,如果仅存在背景噪音、有人在背景中说话或者代表102正在以较低音量说话(这可能指示代表102没有与机器人说话),则中断检测器132可能无法识别中断。
47.例如,假设话语130的对应音频数据的信号强度是五十五分贝,并且假设阈值是四十分贝。在此示例中,语音辨识器112可以基于满足阈值(例如,四十分贝)的信号强度(例如,五十五分贝)而生成代表102的话语130的转录。基于语音辨识器112响应于检测到满足阈值的话语130和/或话语130的对应音频数据的信号强度而生成转录,中断检测器132可以确定话语130在交谈期间是中断话语(下文称为“中断话语130”)。
48.中断分类器136可以将中断分类为来自多个不同的中断类型138的给定中断类型。中断类型138可以是相互排斥的,并且可以包括例如无意义中断、非关键的有意义中断、关
键的有意义中断,和/或其它类型的中断。无意义中断可以是不需要呼叫发起系统104改变交谈过程的中断。例如,如果确定检测到的中断包括背景噪音、耳语、背景交谈或代表102通过使用例如“right(对)”、“ok(好)”、“uh

huh(嗯)”的词语或其它类似的肯定/填充词和/或短语确认机器人正在说的话,则中断检测器132检测到的给定中断可以被分类为无意义中断。作为另一示例,如果确定代表102正在重复机器人所说的话,则中断检测器132检测到的给定中断可以被分类为无意义中断。例如,假设机器人说“i’d like to make a reservation for two people tomorrow(我想进行两个人明天的预订)”,并且进一步假设在机器人完成并说“at 7pm(晚上7点)”之前,代表102说“two people,tomorrow(明天两个人)”。在此实例中,因为代表102重复机器人所说的话,所以中断分类器136可以将中断分类为无意义中断。
49.非关键的有意义中断可以是需要呼叫发起系统104改变交谈过程,但不需要机器人立即停止说话的中断。例如,如果确定检测到的中断包括对尚未提供的信息点106的请求,则中断检测器132检测到的给定中断可以被分类为非关键中断。例如,假设机器人说“i’d like to make a reservation for two people tomorrow”,并且进一步假设在机器人完成并说“at 7pm”之前,代表102说“at what time?(什么时候?)”。在此示例中,因为代表102正请求机器人已知的信息(例如,提供的时间和日期122),所以中断分类器136可以将中断分类为非关键中断,并且输出合成语音“7pm(晚上7点)”而无需针对中断而停顿。在一些实施方案中,在检测到非关键的有意义中断之后,机器人可以在输出所有合成语音之前在合成语音中达到自然停顿,并且可以停止输出合成语音的剩余部分。例如,如果确定检测到的中断包括代表102陈述“excuse me(打扰一下)”、“please repeat(请再说一遍)”、“slow down(放慢速度)”和/或请求机器人阐明或重新陈述先前合成语音的其它词和/或短语,则中断检测器132检测到的给定中断可以被分类为无意义中断。例如,假设机器人说“i’d like to make a reservation for two people tomorrow”,并且进一步假设在机器人完成并说“at 7pm”之前,代表102说“pardon me(请再说一遍)”。在此实例中,因为代表102正请求机器人再次输出合成语音,所以中断分类器136可以将中断分类为非关键中断,并且在再次输出合成语音之前,机器人可以完成输出合成语音的剩余部分。
50.关键的有意义中断可以是需要呼叫发起系统104改变交谈过程同时需要机器人立即停止说话的中断。在一些实施方案中,在检测到关键的有意义中断之后,机器人可以完成机器人当前正在说的词,然后停止输出合成语音的剩余部分。例如,假设机器人说“i’d like to make a reservation for two people tomorrow”,并且进一步假设在机器人完成并说“at 7pm”之前,代表102说“please hold(请稍等)”、“stop talking(停止说话)”、“wait,wait,wait(等一下、等一下、等一下)”和/或指示机器人应停止输出合成语音的其它类似词和/或短语。在此实例中,因为代表102正请求机器人停止提供合成语音,所以中断分类器136可以将中断分类为关键的有意义中断。因此,在代表102已完成说出中断话语之后,机器人可以用适当动作对中断话语作出响应(例如,结束交谈、停止输出合成语音、重复最近输出的合成语音,和/或响应于检测到的中断的其它动作)。
51.中断分类器136可以使用各种分类技术对检测到的中断进行分类。在一些实施方案中,中断分类器136可以使用一个或多个机器学习模型处理代表102的中断话语,以将代表102的中断话语分类为中断类型136中的一个。呼叫发起系统104可以使用训练实例来训
练一个或多个机器学习模型。训练实例中的每一个可以包括训练实例输入以及对应的训练实例输出。训练实例输入可以包括捕获中断话语(和/或其转录)的音频数据,并且对应的训练示例输出可以包括对应于中断话语的分类(例如,无意义中断、非关键的有意义中断、关键的有意义中断,和/或其它类型的中断)的地面真值标签。例如,第一训练实例输入可以包括捕获话语“wait,i can’t hear you(等等,我听不见你)”(和/或其转录)的音频数据,并且第一训练实例输出可以包括对应于关键的有意义中断的地面真值标签。例如,第二训练实例输入可以捕获话语“tomorrow at(明天在)”(和/或其转录)的音频数据,并且第一训练实例输出可以包括对应于无意义中断的地面真值标签。在一些实施方案中,训练实例输入可以进一步包括捕获合成语音的在检测到中断话语时正输出的合成语音(和/或其转录)的音频数据。
52.在一些附加和/或替代实施方案中,中断分类器136可以使用一个或多个规则处理代表102的中断话语,以将代表102的中断话语分类为中断类型136中的一个。在那些实施方案的一些版本中,中断分类器136可以将中断话语词符化,并且将词符与各词项组相比较。如果词符包括第一组的词项,则中断分类器136可以将中断分类为关键的有意义中断。此外,如果词符包括与第一组中包括的词项不同的来自第二组的词项,则中断分类器136可以将中断分类为非关键的有意义中断。更进一步,如果词符包括与第一组和第二组两者的词项不同的来自第三组的词项,则中断分类器136可以将中断分类为无意义中断。通过使用用于对中断进行分类的此分层方法,中断分类器136可能宁可过度分类,因为通过将给定中断分类为非关键的有意义的中断而不是无意义中断而引起的交谈的附加停顿允许呼叫发起系统104和代表都处理交换的交谈主题,由此以快速且有效的方式结束交谈。在各种实施方案中,中断分类器136可以不使用第三词项组,因为如果中断的词项不包括在第一或第二词项组中,则中断分类器136可以将中断分类为无意义中断。此外,在各种实施方案中,如果中断的词项不在第一、第二或第三词项组中,则中断分类器136可以确定不存在中断。
53.在那些实施方案的一些版本中,中断分类器136将词符与其比较的每一组中的词项是固定的,而在那些实施方案的其它版本中,词符可以根据电话交谈改变。例如,第一词项组可以包括“stop talking(停止说话)”和“can’t hear(听不见)”,而第二词项组可以包括“excuse me”、“i’m sorry(对不起)”和/或与合成语音中包括的那些词项在语义上类似的词项。与合成语音中包括的那些词项在语义上类似的词项可以包括与信息点106在语义上类似的词项。例如,在图1中描绘的信息点106可以包括用户所提供的信息,例如“two people(两个人)”、“7pm”和“tomorrow(明天)”。在此示例中,第二组的语义上类似的词项可以包括“three people(三个人)”(对照“two people”)、“8pm(晚上8点)”(对照“7pm”)以及“next week”(对照“tomorrow”)。以此方式,如果中断的词项包括暗示代表102误解机器人的任何语义上类似的词项,则中断分类器136可以将中断分类为非关键的有意义中断。第三词项组可以包括例如“right”、“uh huh”的词项,和/或确认代表102理解信息点106中包括的信息(例如,“two people”、“7pm”和“tomorrow”)的其它填充/肯定词项。
54.此外,在图1中所示的示例中,在机器人说合成语音128中的“for two(为两个人)”之后,代表102可以开始说出中断话语130。中断检测器132可以基于语音辨识器112辨识中断话语130中的语音,和/或基于对应于中断话语130的音频数据的能量水平高于上述阈值而检测到中断。中断分类器136可以跨越受训练的机器学习模型和/或基于规则的模型应用
中断话语130的转录的初始部分和/或机器人的合成语音128作为输入。初始部分可以包括中断话语130中的“oh,i’m sorry(哦,对不起)”。在中断分类器136利用机器学习模型的实施方案中,中断分类器136可以基于处理对应于中断话语130(以及可选地紧接在中断话语130之前的合成语音128)的音频输入而将中断话语130中包括的中断分类为非关键的有意义中断。在中断分类器136包括一个或多个规则的实施方案中,中断分类器136可以将中断话语130的初始部分词符化,并且词符可以包括词项“oh(哦)”和“i’m sorry”。此外,当语音辨识器转录附加词时,中断分类器136可以继续将中断话语130词符化。尽管词项“oh”和“i’m sorry”可能与第一组中的任何词项不匹配,但是词项“i’m sorry”可以匹配第二组中的词项。在这种情况下,中断分类器136可以将图1中描绘的中断分类为非关键的有意义中断。
55.在对中断进行分类的情况下,停顿插入器142可以识别机器人是否应停止输出合成语音和/或机器人何时应停止输出合成语音。例如,如果中断是无意义中断,则停顿插入器142可以确定不需要将停顿插入机器人的合成语音中,并且确定机器人可以继续输出合成语音,如同中断没有发生。作为另一示例,如果中断是关键的有意义中断,则当机器人完成输出当前词和/或短语时,停顿插入器142可以确定停顿需要插入合成语音中。在此示例中,停顿插入器142可以向转录生成器114提供指示以停止将词项和/或词提供到语音合成器116以输出到代表102。此外,转录生成器114不需要将附加转录提供到语音合成器116,直到代表102完成说出中断话语130。
56.在从停顿插入器142接收到停顿指令后,转录生成器114可以更新信息点106以指示是否已将信息点提供给代表。例如,在输出包括给定信息点的合成语音后,转录生成器114可以将信息点106的给定信息点更新为满足。在图1的示例中,转录生成器114可以更新提供的时间和日期122、请求的预订124以及提供的聚会大小126的信息点以指示满足所述信息点,因为机器人已输出包括那些信息点106的合成语音。值得注意的是,尽管更新那些信息点106以指示满足所述信息点,但是如果由代表102请求和/或如果代表102有误解,则机器人仍然可以重复那些信息点106,但是机器人可能不会再次主动地提供那些信息点106。
57.如上所述,在图1的示例中,中断分类器136将中断分类为非关键的有意义中断。在此示例中,停顿识别器142可以确定合成语音128中自然停顿(即,当检测到中断话语130时输出合成语音中的停顿)的位置。自然停顿可以在句子的结尾、介词短语的结尾、介词短语之前、连词和/或说话者可以自然地停顿的任何其它类似词性之前。停顿识别器142可以识别在合成语音128中的介词短语“for two people”之后(即,在响应于话语120提供部分“at 7pm”之前)的自然停顿位置。此外,停顿插入器142可以指令转录生成器114停止将对话语120的响应的转录提供到语音合成器116。
58.此外,如图1中所示,在输出“for two people”之后机器人可以停止输出合成语音128,并且代表102可以继续说出中断话语130。语音辨识器112可以转录中断话语130的剩余部分,并且转录生成器114可以接收中断话语130“oh,i’m sorry,you already said two people at 7pm.”的转录。此外,转录生成器114可以通过生成转录“that’s correct(这是正确的)”而生成对中断话语130的响应,并且语音合成器116可以生成合成语音144“that’s correct”。呼叫发起系统104然后可以将合成语音144传输到代表的电话108。
59.在呼叫发起系统104将合成语音144传输到代表102的电话108之后,呼叫发起系统
104可以确定中断完成。此时,转录生成器114可以确定是否满足所有信息点106。如果是,则转录生成器114可以生成其它转录以完成电话呼叫。如果存在中断之后仍保持不完整的信息点106,则转录生成器114可以生成将不完整信息点的信息提供到代表102的转录,语音合成器116可以生成对应于转录的合成语音,并且合成语音可以在代表102的电话108处输出。
60.在图1的示例中,代表102通过说出话语146“great,i made the reservation.see you tomorrow.(太好了,我进行了预订。明天见)”对合成语音144作出响应。语音辨识器可以对话语146执行语音辨识,语音辨识器112可以将话语146的转录提供到转录生成器114,并且转录生成器114可以确定满足所述信息点106。响应于确定满足所有信息点106和/或响应于确定代表正结束电话呼叫(例如,基于话语146中包括的所辨识文本),转录生成器114可以生成转录以结束电话呼叫。转录生成器114可以将转录提供到语音合成器116。呼叫发起系统104将合成的话语传输到电话108并且终止电话呼叫(例如,“thank you,see you tomorrow(谢谢您,明天见)”)。
61.在一些实施方案中,在检测到中断话语130之前,转录生成器114可以将电话交谈引导回合成语音128的主题。在这种情况下,转录生成器114可以生成完成合成语音128的任何不完整信息点106(例如,“7pm”)的转录,并且基于不满足的信息点106生成进一步的合成语音。转录生成器114可以将转录提供到语音合成器116。呼叫发起系统104将合成语音传输到电话108。例如,如果中断话语130仅指示“you already said two people(您已经说过两个人)”,但没有确认包括“7pm”的先前合成语音118,则合成语音144还可以包括包含提供的时间和日期122的合成语音(例如,“that’s correct,and 7pm(这是正确的以及晚上7点)”)。
62.在呼叫发起系统104的各种实施方案中,机器人可以引起合成语音,所述合成语音请求代表102同意在代表102的电话108处输出与代表用户的机器人的交谈。在一些实施方案中,机器人可以使合成语音在代表102回答辅助呼叫时被输出。例如,响应于检测到代表102的话语110,机器人可以引起合成语音“hello,this is bot calling on behalf of john doe,do you consent to monitoring of this call(您好,这是代表john doe呼叫的机器人,您同意监视此呼叫吗)”。如果机器人从代表102接收到同意,则机器人随后可以输出合成语音118。然而,如果机器人没有从代表102接收到同意,则机器人可以终止辅助呼叫,并且可以通知用户代表102不同意辅助呼叫。
63.图2说明监视第一用户202与第二用户204之间的电话呼叫的示例系统200。例如,电话呼叫的第一用户202可以处于保持,并且系统200可以向处于保持的第一用户202通知第二用户204何时已重新加入电话呼叫。简而言之并且如下文更详细地描述,第一用户202可以呼叫第二用户204,并且第二用户204可以将第一用户202安置成处于保持。响应于被安置成处于保持,第一用户202可以挂断电话206。呼叫监视系统210可以监视电话呼叫,以检测到第一用户202在处于保持时挂断电话206。尽管第一用户202挂断电话206,但是呼叫监视系统210可以响应于第一用户206挂断电话206而将电话呼叫维持在活动状态,并且可以向第一用户202通知第二用户204何时重新加入电话呼叫。此外,尽管图2中所示的系统200被说明为由服务器通过网络(例如,lan、wan、蓝牙和/或其它网络)实施,但是应理解,这是为了示例并且是并不意味着限制。例如,系统200可以在第一用户202的计算装置处本地实施和/或由第一用户202的计算装置和服务器通过网络以分布式方式实施。
64.第一用户202可以配置电话206上的呼叫设置,以使呼叫监视系统210能够监视用户202的电话呼叫。如图2中所示,假设第一用户202使用对应计算装置(例如,电话206)向第二用户204进行呼叫,并且启用呼叫监视系统210。在此示例中,呼叫监视系统210可以监视第一用户202与第二用户204之间的电话呼叫。在电话呼叫的初始部分期间,电话206可以处于电话206连接电话208的第一状态226下。进一步假设第二用户204使用电话208回答电话呼叫,并且说出话语212“thank you for calling cable company.how may i direct your call(感谢您呼叫有线电视公司。我可以如何转接您的电话)”,假设第一用户202用话语214“i’d like to cancel my account(我想取消我的账户)”对第二用户204作出响应,并且假设第二用户204用话语216“thank you,please hold(谢谢您,请稍等)”对第一用户202作出响应。
65.在第一用户202与第二用户204之间的此交换期间,呼叫监视系统210可以监视电话呼叫,并且可以使用语音辨识器244对第一用户202和第二用户204两者的话语212、214和216执行语音辨识。呼叫监视系统210可以分析话语212、214和216的对应转录以确定电话呼叫的主题。此外,呼叫监视系统210可以将电话呼叫的主题和/或电话呼叫的其它详细信息存储在信息点248中。在此示例中,呼叫监视系统210可以存储信息点“cancel account for cable company(取消有线电视公司的账户)”,并且可以将此信息点标记为最初未满足,因为在第一用户202从第二用户204接收到取消了有线电视公司账户的确认之前该呼叫被安置成处于保持。
66.呼叫监视系统210的呼叫监视器236可以包括保持检测器238。保持检测器238可以确定第二用户204已将第一用户202安置成处于保持。保持检测器238可以基于例如检测到来自第二用户204的明确地陈述第一用户202正被安置成处于保持的话语(例如,话语216中的“please hold(请稍等)”);检测到沉默的阈值持续时间(例如,在30秒、45秒和/或其它持续时间内未检测到第一用户202或第二用户204的话语);检测到另一机器人已代表第二用户接管呼叫(例如,基于信号能量、话音识别等);检测到指示第一用户202被安置成处于保持的与呼叫相关联的元数据;和/或基于用于确定呼叫已被安置成保持的其它技术来确定第二用户204已将第一用户202安置成处于保持。此时,呼叫监视系统210可以将呼叫维持在活动状态,即使用户尝试挂断。
67.如图2中所示,在电话206处于第一状态226时,第一用户202尝试挂断电话206,因为第一用户202不想以呼叫保持方式等待。值得注意的是,即使第一用户202挂断电话206,呼叫监视系统210也可以防止呼叫完全断开连接。相反,呼叫监视系统210可以使电话206从第一状态226(例如,连接)转变到第二状态228(例如,静音)。在第二状态228下,第一用户202与第二用户204之间的呼叫仍活动,但电话206的麦克风静音。电话206可以指示在后台存在活动的电话呼叫,并且还指示麦克风静音。当呼叫监视系统210将电话呼叫维持在第二状态228时,第一用户202能够使用电话206执行其它活动。在一些实施方案中,当电话处于第一状态226或第二状态228时,第一用户202可以提供使呼叫监视系统210完全断开连接呼叫的附加输入(例如,口头、触摸和/或键入)。
68.在一些实施方案中,呼叫监视系统210可以不要求第一用户202尝试挂断电话206以使电话206从第一状态226(例如,连接)转变到第二状态228(例如,静音)。相反,保持检测器238可以确定第二用户204已使第一用户202安置成处于保持,并且作为响应,呼叫监视器
236可以自动地使电话206从第一状态226(例如,连接)转变到第二状态228(例如,静音),由此将电话呼叫维持在活动状态。活动状态可以是例如第一用户202的电话206通过网络(互联网协议语音(voip)、公共交换电话网络(pstn),和/或其它电话通信协议)维持与第二用户204的电话208的连接。
69.如图2中所示,假设第二用户204重新加入电话呼叫。此时,保持检测器238确定第一用户202不再处于保持,并且保持检测器238可以将第一用户202不再处于保持的指示提供到通知生成器242。在此示例中,通知生成器242使电话206为第一用户202输出可听通知234(除了或代替视觉通知),所述可听通知指示第一用户228不再处于保持(例如,电话206像传入呼叫一样振动/振铃,电话206像传入通知一样振动/振铃,电话206使视觉通知渲染在电话206的显示器上等)。在一些附加和/或替代实施方案中,通知生成器242可以确定第一用户202正使用电话206。在这种情况下,通知生成器242可以将视觉通知呈现在电话206的显示器上(除了或代替可听通知)。
70.当第二用户204重新加入电话呼叫时,假设第二用户204说出话语220“hello,i understand you want to cancel your account(您好,我知道您想取消您的账户)”。在一些实施方案中并且如图2中所示,第一用户202可能尚未响应于接收到通知234而重新加入呼叫。在这种情况下,当等待第一用户202重新加入电话呼叫时,呼叫监视系统210的机器人可以生成合成语音218“hello,sorry.she will be right back(您好,对不起。她马上就回来)”,以输出到第二用户204的电话208。呼叫监视系统210可以以上文关于图1更详细描述的类似方式生成合成语音。例如,语音辨识器244可以使用语音辨识器244对第二用户204的话语220执行语音辨识,转录生成器240可以生成响应于话语220的转录,语音合成器246可以生成合成语音,所述合成语音包括与响应于话语的转录相对应的音频数据,并且呼叫监视系统可以使合成语音在第二用户的电话208处输出。在那些实施方案的一些版本中,呼叫监视系统210可以使第二用户204的话语220的转录在视觉上渲染,和/或使捕获第二用户204的话语220的音频数据在听觉上渲染在第一用户的电话206处。
71.在一些实施方案中,响应于第二用户204的话语220的转录可以指示将通知234输出到第一用户202和/或指示第一用户202不久将返回到电话呼叫。如上所述,转录生成器240可以生成转录“hello,sorry.she will be right back”并且将转录提供到语音合成器246,并且语音合成器246可以生成合成语音,所述合成语音包括对应于合成语音218的音频数据224。呼叫监视系统210可以将音频数据224直接传输到电话208,或传输到电话206以传输到电话208。
72.在一些实施方案中,转录生成器240可以使用第二用户204的话语220的转录以及电话呼叫的信息点248来生成提供到语音合成器246的转录。在此示例中,转录生成器240可以访问信息点248,所述信息点包括与取消有线电视公司的账户有关的详细信息。作为另一示例,转录生成器240可以生成转录“hello,sorry,she is looking for her account information and will be right back(您好,对不起,她在查看账户信息,马上就回来)”并且将转录提供到语音合成器246,并且语音合成器246可以生成合成语音,所述合成语音包括对应于所述合成语音的音频数据。呼叫监视系统210再次可以将音频数据传输到电话208,或传输到电话206以传输到电话208。
73.在一些实施方案中,呼叫监视系统210可以代表第一用户继续与第二用户204进行
交谈,直到第一用户202重新加入呼叫为止。转录生成器240可以使用类似于图1中所描述的技术生成转录,所述转录与在电话206处检测到的第二用户204的附加信息点和/或附加话语相关。在这种情况下,转录生成器240可以生成转录,所述转录指示第一用户202没有准备好继续与第二用户204进行交谈。例如,转录生成器240可以生成转录“hello,sorry.i’m still looking for my account information(您好,对不起。我仍在查看我的账户信息)”或“hello.please give me a moment while my computer boots up(您好,请给我一点时间让我的电脑启动)”。在那些实施方案的一些版本中,机器人可以访问第一用户202的用户简档,并且提供包括在用户简档中的信息(例如,第一用户202的地址、第一用户202的名称、与有线电视公司相关联的第一用户202的账户号码等)。
74.在一些附加和/或替代实施方案中,如果第一用户未在阈值持续时间内重新加入呼叫,则机器人可以使第二用户204安置成处于保持和/或终止电话呼叫。阈值持续时间可以是固定的或动态的。在阈值持续时间是动态的实施方案中,阈值持续时间可以基于第一用户202与电话206的交互。例如,如果第一用户202在30秒内没有与通知234交互,则机器人可以使第二用户204安置成处于保持。在此示例中,如果第一用户202没有在第二用户204被安置成处于保持的60秒内重新加入呼叫,则机器人可以确定应终止呼叫。作为另一示例,如果第一用户202与通知234交互,但尚未重新加入呼叫,则机器人可以在60秒之后使第二用户204安置成处于保持。在此示例中,如果第一用户202没有在第二用户204被安置成处于保持的附加60秒内重新加入呼叫,则机器人可以确定应终止呼叫。
75.如图2中所示,假设第一用户202响应于接收到通知234而重新加入电话呼叫,并且说出话语222“hi,i’m here.(嗨,我在的)”。当第一用户202重新加入呼叫时,电话206可以从第二状态228(例如,“静音”)转变到第三状态230(例如,“连接”或“重新连接”),其中电话206保持连接到电话呼叫并且第一用户202的电话206的麦克风取消静音。呼叫监视系统210和呼叫监视器236可以返回到监视电话呼叫。
76.在一些附加和/或替代实施方案中,并且尽管在图2中未描绘,呼叫监视系统210可以响应于在检测到第二用户204的话语220之前(或期间)接收到通知234而确定第一用户202重新加入呼叫。呼叫监视系统210可以基于例如确定电话206从第二状态228转变到第三状态230,使用语音辨识确定在电话206处检测到的口头话语对应于第一用户202(以及可选地确定口头话语响应于第二用户204的话语220),和/或使用其它技术来确定第一用户202已重新加入呼叫而在检测到第二用户202的话语220之前(或期间)确定第一用户202重新加入呼叫。在那些实施方案的一些版本中,呼叫监视系统210可以确定机器人不需要生成合成语音218和/或参与和第二用户204的交谈。例如,假设第一用户202在接收到通知234后立即重新加入电话呼叫,同时第二用户204正在说出话语220。在此示例中,由于第一用户202已重新加入呼叫,因此呼叫监视系统210可以不调用机器人来参与和第二用户204的交谈。在那些实施方案的一些其它版本中,呼叫监视系统210可以仍然使第二用户204的话语220的转录在视觉上渲染在第一用户202的电话206上,以确保第一用户202知道第二用户204的全部话语220。
77.在呼叫监视系统210的各种实施方案中,机器人可以引起合成语音,所述合成语音请求第二用户204同意由机器人监视第一用户202与第二用户204之间的交谈。在一些实施方案中,机器人可以使合成语音在第二用户204回答呼叫时输出。例如,响应于检测到第二
用户的话语212,机器人可以使合成语音“hello,do you consent to the bot joining this call(您好,您同意机器人加入此呼叫吗)”被渲染。如果机器人从第二用户204接收到同意,则机器人可以加入交谈。然而,如果机器人没有从第二用户204接收到同意,则机器人可以不加入交谈。即使机器人没有从第二用户204接收到加入呼叫的同意,机器人仍然可以监视呼叫。例如,机器人仍然可以使用训练成检测话音活动的话音活动检测器(vad)、训练成检测特定词和/或短语(例如,“hello(您好)”、“i’m sorry for wait(对不起,让您久等了)”)的热词检测监视呼叫,以确定第二用户204是否和/或重新加入呼叫。然而,机器人可以不使用语音辨识器244来处理第二用户204的任何话语。
78.图3a是用于在用户和呼叫发起系统的机器人进行电话交谈时处置从用户(或代表)接收的中断的示例过程300a的流程图(例如,如上文关于图1更详细地描述)。一般来说,过程300a可以使用与计算装置的对应用户相关联的机器人发起与用户(或代表)的电话交谈。在电话交谈期间,在机器人正输出合成语音时,用户(或代表)可以中断机器人。机器人可以识别和分类中断,以确定处置中断的合适方法。在处置中断之后,机器人可以将交谈引导回在中断之前论述的主题或继续进行交谈。为简单起见,过程300a的操作将被描述为由包括一个或多个处理器的系统(例如,图1的系统100)执行。系统可以例如由服务器、与机器人相关联的对应用户的计算装置,和/或其组合实施。
79.在框310a处,系统通过呼叫发起系统发起与用户的电话呼叫,所述呼叫发起系统被配置成发起电话呼叫并且使用机器人进行电话交谈。响应于在给定用户的对应计算装置处检测到请求代表给定用户发起呼叫的用户输入(例如,口头、键入和/或触摸),系统可以发起呼叫。机器人可以代表对应计算装置的给定用户与用户进行交谈。在一些实施方案中,机器人可以在发起与用户的电话呼叫之前从给定用户索求信息。例如,如果给定用户提供用户输入“make a reservation at burger palace(在burger palace进行预订)”,则机器人可以从请求机器人进行预订的给定用户索求时间和日期信息以及聚会大小信息。用户可以是在交谈期间参与的另一机器人或与企业或机构相关联的人类代表。继续以上示例,用户可以是另一机器人或与burger palace相关联的人类雇员。本文更详细地描述发起与用户的呼叫(例如,关于图1)。
80.在框320a处,系统提供机器人的合成语音以供呼叫发起系统输出。合成语音可以包括音频数据,所述音频数据对应于例如在发起呼叫时用户同意在交谈期间与机器人接涉的所述请求;与将代表提供用户输入以发起呼叫的给定用户执行的任务相关的信息;和/或用于促进机器人与用户之间的交谈的其它合成语音。合成语音可以经由与用户相关联的计算装置的扬声器输出,使得合成语音可以由用户在听觉上感知。本文更详细地描述提供合成语音(例如,关于图1)。
81.在框330a处,在提供机器人的合成语音以供输出时,系统通过呼叫发起系统从用户接收用户话语。即使机器人正在输出合成语音,系统也可以持续地监视用户的话语。换言之,当机器人正在与用户相关联的计算装置处输出合成语音时,系统可以检测用户的话语。本文更详细地描述在机器人正输出合成语音时接收用户话语(例如,关于图1)。
82.在框340a处,在提供机器人的合成语音以供输出时并且基于用户话语以及基于机器人的合成语音的输出部分,系统确定是否继续提供机器人的合成语音以供输出或是否停止提供机器人的合成语音以供输出。系统可以将在框330a处接收到的用户话语分类为多个
不同类型的中断中的一个(例如无意义中断、非关键的有意义中断、关键的有意义中断,和/或其它类型的中断)。此外,系统可以基于用户话语的分类而确定是否继续或停止提供合成语音。系统可以使用机器学习模型和/或一个或多个规则基于处理将用户话语分类成多个不同类型的中断中的一个,用户话语在框330a处接收(以及可选地合成语音)。此外,系统可以使机器人将交谈引导回在框330a处接收到用户话语之前合成语音中包括的主题;继续交谈,如同在框330a处未接收到用户话语;和/或改变交谈的方向以引起响应于在框330a处接收到用户话语的进一步的合成语音。本文更详细地描述将用户话语分类成多个不同中断类型中的一个以及确定是否停止提供合成语音(例如,关于图1)。
83.图3b是用于监视在其中一个用户处于保持的电话呼叫并且用于在另一用户已重新加入呼叫时通知处于保持的用户的示例过程的流程图。一般来说,过程300b监视两个用户之间的电话交谈。用户中的一个使另一用户安置成处于保持。代替等待,保护呼叫的用户尝试挂断电话。过程300b将电话呼叫维持在活动状态并且向处于保持的用户通知另一用户何时已重新加入呼叫。在等待处于保持的用户返回到呼叫时,过程300b可以使用机器人与已重新加入的用户进行交谈。为简单起见,过程300b的操作将被描述为由包括一个或多个处理器的系统(例如,图2的系统200)执行。系统可以例如由服务器、与机器人相关联的对应用户的计算装置,和/或其组合实施。
84.在框310b处,系统确定第一用户和第二用户参与电话呼叫。系统可以基于与第一用户相关联的对应第一电话的状态而确定第一用户和第二用户参与电话呼叫。对应第一电话的状态可以例如指示第一用户和第二用户使用电话通信协议(例如,voip、pstn和/或其它协议)连接。本文更详细地描述确定第一用户和第二用户参与电话呼叫(例如,关于图2)。
85.在框320b处,系统确定第二用户已将第一用户安置成处于保持。系统可以基于处理交谈的用户话语而确定第二用户已将第一用户安置成处于保持。例如,系统可以处理与交谈的用户话语相对应的音频数据流。基于处理音频数据流(例如,使用语音辨识器),系统可以确定对应于音频数据流的所辨识文本指示第二用户将第一用户安置成处于保持。例如,系统可以处理交谈的用户话语以确定第二用户陈述“please hold”、“will you please hold while i transfer your call(我转接你的电话,请稍等一下好吗?)”,和/或指示第二用户已将第一用户安置成处于保持的其它短语。本文更详细地描述确定第二用户已将第一用户安置成处于保持(例如,关于图2)。
86.在框330b处,系统确定第一用户已挂断对应第一电话。系统可以基于确定第一用户在对应第一处提供用户输入以终止电话呼叫而确定第一用户已挂断对应第一电话。例如,系统可以基于指向当被选择时使电话呼叫终止的按钮(例如,在图形用户界面上的物理按钮和/或软按钮)的用户输入、基于第一用户将对应第一电话安置成锁定状态和/或基于与对应第一电话的其它交互而确定第一用户已挂断对应第一输入。本文更详细地描述确定第一用户已挂断对应第一电话(例如,关于图2)。
87.在框340b处,基于确定第一用户已挂断对应第一电话并且当第一用户处于保持时,系统将电话呼叫维持在活动状态。系统可以通过使对应第一电话从第一状态转变到第二状态而保持电话呼叫的活动状态。在第二状态下,对应第一计算装置的麦克风可以静音,并且第一用户可以与对应第一电话交互,同时系统在后台维持与第二用户的对应第二电话的电话连接。本文更详细地描述将对应第一电话维持在活动状态(例如,关于图2)。
88.在框350b处,系统确定第二用户已重新加入电话呼叫。系统可以确定第二用户已重新加入呼叫。在一些实施方案中,系统可以基于检测到第二用户的进一步用户话语而确定第二用户已重新加入呼叫。系统可以使用话音活动检测器、语音辨识器和/或其它组件来确定第二用户已重新加入呼叫。在那些实施方案的一些版本中,系统可以使用话音识别确定源自第二用户的用户话语(例如,对照与正在播放的音乐相对应的音频数据、与交互式话音响应(ivr)系统的音频数据相对应的音频数据等)。本文更详细地描述确定第二用户已重新加入电话呼叫(例如,关于图2)。值得注意的是,在框340b与框350b之间存在打断。此打断指示系统可以在框340b处维持电话呼叫的活动状态,同时在框350b处主动地监视第二用户重新加入电话呼叫。
89.在框360b处,基于确定第二用户已重新加入电话呼叫,系统在第二用户与机器人之间进行电话交谈,所述机器人被配置成与人类进行电话交谈。响应于确定第二用户已在重新加入电话呼叫时提供用户话语,系统可以使机器人输出合成语音。在一些实施方案中,响应于确定第一用户尚未重新加入电话呼叫,系统仅使机器人输出合成语音。合成语音可以指示机器人是交谈的活动参与者并且代表第一用户。在一些附加和/或替代实施方案中,机器人可以输出合成语音,所述合成语音包括将在电话呼叫期间传送到第二用户的信息点(例如,名称信息、地址信息、账户信息,和/或与第一用户相关联的其它信息)。本文更详细地描述在机器人与第二用户之间进行电话交谈(例如,关于图2)。
90.在框370b处,当在第二用户与机器人之间进行电话交谈时,系统提供第一用户重新加入电话呼叫的通知以输出到对应第一电话。第一用户的通知可以指示第二用户已重新加入呼叫,并且可以包括例如在对应第一电话处呈现的听觉和/或视觉通知。此外,在框360b处输出的合成语音可以指示已向第一用户通知第二用户已重新加入电话呼叫。在一些实施方案中,通知可以进一步包括在第二用户重新加入电话呼叫之后第二用户的用户话语和/或机器人的合成语音的转录(和/或与其对应的音频数据)。本文更详细地描述提供针对第一用户的通知以重新加入电话呼叫(例如,关于图2)。
91.在框380b处,系统确定第一用户已重新加入电话呼叫。系统可以基于对应第一电话从第二状态转变到第三状态而确定第一用户已重新加入电话呼叫,所述第三状态指示第一用户现在是交谈的活动参与者。本文更详细地描述确定第一用户已重新加入电话呼叫(例如,关于图2)。
92.在框390b处,基于确定第一用户已重新加入电话呼叫,系统停止在第二用户与机器人之间进行电话交谈。响应于确定第一用户已重新加入电话呼叫,机器人可以停止进行电话交谈。在一些实施方案中,如果当第一用户重新加入呼叫时机器人正输出合成语音,则在结束合成语音的输出时和/或在到达合成语音中的自然停顿(例如,类似于关于停顿插入器142在图1中论述)时,机器人可以停止提供合成语音。本文更详细地描述停止进行电话交谈(例如,关于图2)。
93.图4示出可以用于实施本文所描述的技术的计算装置400和移动计算机装置450的示例。计算装置400预期表示各种形式的数字计算机,例如,膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它合适的计算机。移动计算装置450预期表示各种形式的移动装置,例如,个人数字助理、蜂窝电话、智能电话,以及其它类似的计算装置。此处所示的组件、组件的连接和关系,以及组件的功能仅仅是示例性的而不是限
制性的。
94.计算装置400包括处理器402、存储器404、存储装置406、连接到存储器404以及多个高速扩展端口410的高速接口408,以及连接到低速扩展端口414和存储装置406的低速接口412。处理器402、存储器404、存储装置406、高速接口408、高速扩展端口410和低速接口412中的每一个使用各种总线互连,并且可以适当地安装在通用主板上或以其它方式安装。处理器402可以处理用于在计算装置400内执行的指令,包括存储于存储器404中或存储装置406上以将gui的图形信息显示在例如耦合到高速接口408的显示器416的外部输入/输出装置上的指令。在其它实施方案中,多个处理器和/或多个总线可以视情况与多个存储器以及多种类型的存储器一起使用。而且,可以连接多个计算装置,其中每个装置提供必要操作的部分(例如,作为服务器组、刀片服务器群组,或多处理系统)。
95.存储器404将信息存储在计算装置400内。在一些实施方案中,存储器404是一个或多个易失性存储器单元。在一些实施方案中,存储器404是一个或多个非易失性存储器单元。存储器404还可以是另一形式的计算机可读介质,例如,磁盘或光盘。
96.存储装置406能够为计算装置400提供大容量存储。在一些实施方案中,存储装置406可以是或可以包含计算机可读介质,例如,软盘装置、硬盘装置、光盘装置,或磁带装置、闪存存储器或其它类似的固态存储器装置,或装置的阵列,包括存储区域网络或其它配置中的装置。指令可以存储在信息载体中。指令在由一个或多个处理装置(例如,处理器402)执行时执行一个或多个方法,例如上文描述的那些方法。指令还可以由例如计算机或机器可读介质(例如,存储器404、存储装置406,或处理器402上的存储器)的一个或多个存储装置存储。
97.高速接口408管理计算装置400的超带宽操作,而低速接口412管理较低超带宽操作。这种功能分配仅仅是示例性的。在一些实施方案中,高速接口408耦合到存储器404、显示器416(例如,通过图形处理器或加速计),以及可以接受各种扩展卡(未示出)的高速扩展端口410。在实施方案中,低速接口412耦合到存储装置406和低速扩展端口414。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口414可以例如通过网络适配器耦合到一个或多个输入/输出装置,例如,键盘、指向装置、扫描仪,或例如交换机或路由器的联网装置。
98.如图所示,计算装置400可以通过多种不同形式实施。例如,所述计算装置可以实施为标准服务器420,或多次实施于此类服务器的群组中。另外,所述计算装置可以实施于例如膝上型计算机422的个人计算机中。所述计算装置还可以实施为机架式服务器系统424的一部分。替代地,来自计算装置400的组件可以与例如移动计算装置450的移动装置(未示出)中的其它组件组合。此类装置中的每一个可以包含计算装置400和移动计算装置450中的一个或多个,并且整个系统可以由彼此通信的多个计算装置组成。
99.移动计算装置450包括处理器452、存储器464、例如显示器454的输入/输出装置、通信接口466和收发器468,以及其它组件。移动计算装置450还可以设置有例如微驱动器或其它装置的存储装置,以提供另外的存储。处理器452、存储器464、显示器454、通信接口466和收发器468中的每一个使用各种总线互连,并且若个组件可以适当地安装在通用主板上或以其它方式安装。
100.处理器452可以执行移动计算装置450内的指令,包括存储于存储器464中的指令。
处理器452可以实施为包括分离的多个模拟和数字处理器的芯片的芯片组。处理器452可以例如提供用于移动计算装置450的其它组件的协调,例如对用户接口、由移动计算装置450运行的应用,以及由移动计算装置450进行的无线通信的控制。
101.处理器452可以通过耦合到显示器454的控制接口458和显示接口456与用户通信。显示器454可以例如是tft(薄膜晶体管液晶显示器)显示器,或oled(有机发光二极管)显示器,或其它合适的显示技术。显示接口456可以包括用于驱动显示器454以向用户呈现图形和其它信息的合适电路。控制接口458可以从用户接收命令并且转换所述命令以提交给处理器452。另外,外部接口462可以提供与处理器452的通信,以便实现移动计算装置450与其它装置进行近区通信。例如,外部接口462可以在一些实施方案中提供用于有线通信,或在其它实施方案中提供用于无线通信,并且还可以使用多个接口。
102.存储器464将信息存储在移动计算装置450内。存储器464可以实施为一个或多个计算机可读介质、一个或多个易失性存储器单元,或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器474,并且扩展存储器通过扩展接口472连接到移动计算装置450,所述扩展接口可以包括例如simm(单列直插式存储器模块)卡接口。扩展存储器474可以为移动计算装置450提供附加存储空间,或者还可以为移动计算装置450存储应用或其它信息。具体来说,扩展存储器474可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以提供为移动计算装置450的安全模块,并且可以用允许安全地使用移动计算装置450的指令来编程。另外,可以通过simm卡与附加信息一起提供安全应用,例如,以不可侵入的方式将标识信息安置成simm卡上。
103.如下所述,存储器可以例如包括闪存存储器和/或nvram存储器(非易失性随机存取存储器)。在一些实施方案中,指令存储在信息载体中。指令在由一个或多个处理装置(例如,处理器452)执行时执行一个或多个方法,例如上文描述的那些方法。指令还可以由例如一个或多个计算机或机器可读介质(例如,存储器464、扩展存储器474,或处理器452上的存储器)的一个或多个存储装置存储。在一些实施方案中,可以例如通过收发器468或外部接口462在传播信号中接收指令。
104.移动计算装置450可以通过通信接口466无线地通信,所述通信接口在必要时可以包括数字信号处理电路。通信接口466可以提供用于在各种模式或协议下通信,例如,gsm话音通话(全球移动通信系统)、sms(短消息服务)、ems(增强型消息传送服务),或mms消息(多媒体消息传送服务)、cdma(码分多址)、tdma(时分多址)、pdc(个人数字蜂窝)、wcdma(宽带码分多址)、cdma2000或gprs(通用分组无线电系统)等等。例如,这种通信可以使用射频通过收发器468进行。另外,短程通信可以例如使用蓝牙、wifi,或其它此种收发器(未示出)进行。另外,gps(全球定位系统)接收器模块470可以向移动计算装置450提供与导航和位置相关的附加无线数据,所述无线数据视情况可以由移动计算装置450上运行的应用使用。
105.移动计算装置450还可以使用音频编解码器460以听觉方式通信,所述音频编解码器可以从用户接收口头信息并且将所述口头信息转换成可用的数字信息。音频编解码器460同样可以例如通过例如在移动计算装置450的听筒中的扬声器为用户生成可听声音。这种声音可以包括来自话音电话呼叫的声音,可以包括录音(例如,话音消息、音乐文件等),并且还可以包括由在移动计算装置450上操作的应用生成的声音。
106.如图所示,移动计算装置450可以通过多种不同形式实施。例如,所述计算装置可
以实施为蜂窝电话480。所述计算装置还可以实施为智能电话482、个人数字助理,或其它类似移动装置的一部分。
107.本文描述的系统和技术的各种实施方案可以在数字电子电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件,和/或其组合中实现。这些各种实施方案可以包括在一个或多个计算机程序中的实施方案,所述计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,所述可编程处理器可以用于专用或通用目的,且耦合以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令,并将数据和指令传输到存储系统、至少一个输入装置和至少一个输出装置。
108.这些计算机程序(还称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级程序化和/或面向对象的编程语言,和/或用汇编/机器语言实施。如本文所使用,术语机器可读介质和计算机可读介质指代用于将机器指令和/或数据提供到可编程处理器的任何计算机程序产品、设备和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号指代用于将机器指令和/或数据提供到可编程处理器的任何信号。
109.为了提供与用户的交互,本文描述的系统和技术可以在计算机上实施,所述计算机具有显示装置(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)以将信息显示给用户并且具有键盘和指向装置(例如,鼠标或轨迹球),用户可以通过所述键盘和所述指向装置将输入提供到计算机。其它种类的装置也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈,或触觉反馈);以及来自用户的输入可以通过任何形式接收,包括声音、语音或触觉输入。
110.本文描述的系统和技术可以在计算系统中实施,所述计算系统包括后端组件(例如,作为数据服务器),或包括中间件组件(例如,应用服务器),或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过所述图形用户界面或web浏览器与本文描述的系统和技术的实施方案交互),或此后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信(例如,通信网络)的任何形式或介质互连。通信网络的示例包括局域网(lan)、广域网(wan)和因特网。在一些实施方案中,本文所描述的系统和技术可以在嵌入式系统上实施,其中在装置上直接执行语音辨识和其它处理。
111.计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行以及彼此具有客户端

服务器关系的计算机程序产生。
112.尽管上文已详细描述一些实施方案,但是其它修改也是可能的。例如,在客户端应用被描述为访问代理时,在其它实施方案中,代理可以由通过一个或多个处理器实施的其它应用,例如在一个或多个服务器上执行的应用使用。另外,附图中描绘的逻辑流程不一定需要按所示的特定次序或按顺序实现所需要的结果。另外,可以提供其它动作,或可以从所描述的流程中去除动作,并且其它组件可以添加到所描述系统,或从所描述系统移除。因此,其它实施方案在所附权利要求书的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1