对话中的主题引导的制作方法

文档序号:20499562发布日期:2020-04-21 22:39阅读:278来源:国知局

背景技术
::人工智能(ai)聊天机器人正变得越来越流行,并且正在应用于越来越多的场景中。聊天机器人被设计为模拟人的对话,并且可以通过文本、语音、图像等来与用户聊天。通常,聊天机器人可以扫描用户输入的消息中的关键字或者对消息应用自然语言处理,以及向用户提供具有最匹配关键字或最相似措辞模式的响应。技术实现要素:提供本
发明内容以便对下文在具体实施方式中进一步描述的设计构思的选择进行介绍。其并不旨在标识要求保护的发明主题的关键特征或重要特征,也不旨在用于限制要求保护的发明主题的范围。本公开内容的实施例提出了用于在用户与聊天引擎之间的对话中引导主题的方法和装置。确定至少一个第一主题。基于所述至少一个第一主题来向用户提供第一消息,以便将所述对话引导至所述至少一个第一主题。从所述用户接收对所述第一消息的第一响应。确定所述第一响应是否与所述至少一个第一主题相关联。在确定所述第一响应与所述至少一个第一主题相关联的情况下,基于所述至少一个第一主题来确定至少一个第二主题。至少基于所述至少一个第二主题提供至少一个第二消息,其中,如果所述至少一个第二主题与资源或服务相关联,则所述至少一个第二消息至少包括所述资源或服务。应该注意的是:上述一个或多个方面包括在下文中充分描述并在权利要求书中具体指出的特征。下文的描述和附图详细阐述了一个或多个方面的某些说明性的特征。这些特征仅指示各个方面的原理可以在其中使用的各个方式,并且本公开内容旨在包括所有这些方面以及它们的等价物。附图说明将结合附图在下文中对所公开的方面进行描述,提供附图是为了对所公开的方面进行说明而非进行限定。图1根据实施例示出了部署聊天机器人的示例性网络架构。图2根据实施例示出了示例性聊天机器人系统。图3根据实施例示出了示例性用户界面。图4根据实施例示出了示例性一般主题图。图5a根据实施例示出了示例性主题图。图5b根据图5a的实施例示出了用于引导主题的、在用户与聊天机器人之间的示例性聊天窗口。图5c根据图5a的实施例示出了用于引导主题的、在用户与聊天机器人之间的另一个示例性聊天窗口。图6a根据实施例示出了另一个示例性主题图。图6b根据图6a的实施例示出了用于引导主题的、在用户与聊天机器人之间的示例性聊天窗口。图7根据实施例示出了用于引导主题的示例性过程。图8根据实施例示出了用于引导主题的另一个示例性过程。图9根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的示例性方法的流程图。图10根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的示例性装置。图11根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的另一种示例性方法的流程图。图12根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的另一个示例性装置。图13根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的示例性装置。具体实施方式现在将参考若干示例实现来讨论本公开内容。应当理解的是:讨论这些实现仅仅是为了使本领域技术人员能够更好地理解并因此实现本公开内容的实施例而不是暗示对本公开内容的范围的任何限制。对话ai聊天系统近年来趋向于是ai领域中最令人印象深刻的方向之一。近年来,用户和开放域聊天机器人的交互模式主要基于提供答案。然而,这种回复模式可能使聊天机器人被动并且可能带来不满意的体验。本公开内容的实施例提出了一种解决方案,该解决方案可以使聊天机器人具有将用户和聊天机器人之间的对话逐步引导到特定主题或目标主题的能力,并且可选地,向用户推荐相关资源,例如文章、音乐、图像、视频或服务,例如订票服务、软件应用等。这可以增强用户的交互体验,并且可以向对话提供或增加商业价值。对话可以指两个聊天参与者之间的时间连续的对话,其可以包括对话中的消息和响应。本文中“消息”是指由聊天参与者之一(例如,聊天机器人或用户)输入的任何信息,例如,来自一个聊天参与者的查询/问题/八卦、一个聊天参与者对来自另一个聊天参与者的问题的回答、由聊天参与者指示的文档、聊天参与者的意见等;而“响应”是指由另一个聊天参与者(例如用户或聊天机器人)提供的任何信息,例如对来自一个聊天参与者的问题的回答/回复、聊天参与者的评论等。术语“消息”和术语“查询”也可以互换使用。在本文中,“消息”和“响应”可以互换使用,例如,消息可以由用户或聊天机器人提供,并且相应的响应可以由聊天机器人或用户提供。特定主题或目标主题可以与资源或服务相关联,例如,推荐的产品、订阅服务、一个或多个合作伙伴的应用等,并且可以由聊天机器人从可能与资源或服务无关的初始主题引导。与资源或服务无关的主题在本文中也可以被称为“隐式主题”。例如,在用户和聊天机器人之间的对话的场景中,聊天机器人可以首先向用户提供初始主题,并且至少基于用户的响应将对话从初始主题引导到特定或目标主题。本文中目标主题也可以被称为与资源或服务相关联的“显式主题”。这样的主题引导可以由聊天机器人控制,并且可以在对话期间动态地切换主题直至到达目标主题。此外,聊天机器人可以通过逐步推荐来传送高质量的资源或服务,逐步推荐可以容易被用户接受并且可以满足用户的体验。图1根据实施例示出了部署聊天机器人的示例性网络架构100。在图1中,网络110被应用于终端设备120与聊天机器人服务器130之间的互连。网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。就覆盖范围来说,网络110可以是局域网(lan)、广域网(wan)等。就承载介质来说,网络110可以是有线网络、无线网络等。就数据交换技术来说,网络110可以是电路交换网络、分组交换网络等。终端设备120可以是能够连接到网络110、对网络110上的服务器或网站进行评估、对数据或信号进行处理等的任何类型的电子计算设备。例如,终端设备120可以是桌面式计算机、膝上型计算机、平板电脑、智能电话、ai终端等。尽管图1中仅示出了一个终端设备,但应当理解的是:不同数量的终端设备可以连接到网络110。在一种实现中,终端设备120可以由用户使用。终端设备120可以包括聊天机器人客户端122,其可以为用户提供自动聊天服务。在一些情况下,聊天机器人客户端122可以与聊天机器人服务器130交互。例如,聊天机器人客户端122可以向聊天机器人服务器130发送消息,并且从聊天机器人服务器130接收与消息相关联的响应。然而,应当理解的是:在其它情况下,聊天机器人客户端122也可以在本地生成对用户输入的消息的响应,而不是与聊天机器人服务器130交互。聊天机器人服务器130可以连接到或包含聊天机器人数据库140。聊天机器人数据库140可以包括可以由聊天机器人服务器130用于生成消息和/或响应的信息。应当理解的是:图1中示出的所有网络实体都是示例性的,并且取决于特定应用要求,任何其它网络实体都可以涉及应用场景100。图2根据实施例示出了示例性聊天机器人系统200。聊天机器人系统200可以包括用于呈现聊天窗口的用户界面(ui)210。聊天机器人可以使用聊天窗口来与用户进行交互。聊天机器人系统200可以包括核心处理模块220。核心处理模块220被配置用于在聊天机器人的操作期间通过与聊天机器人系统200的其它模块协作来提供处理能力。聊天机器人系统200可以在聊天窗口中获得消息,并将消息存储在消息队列230中。消息可以具有各种多媒体形式,例如文本、语音、图像、视频等。核心处理模块220可以用先进先出的方式来对消息队列230中的消息进行处理。核心处理模块220可以调用应用程序接口(api)模块240中的处理单元来处理各种形式的消息。api模块240可以包括文本处理单元241、语音处理单元242、图像处理单元243等。对于文本消息,文本处理单元241可以对文本消息执行文本理解,并且核心处理模块220可以进一步确定文本响应。对于语音消息,语音处理单元242可以对语音消息执行语音到文本转换以获得文本句子,文本处理单元241可以对获得的文本句子执行文本理解,核心处理模块220可以进一步确定文本响应。如果确定以语音提供响应,则语音处理单元242可以对文本响应执行文本到语音转换以生成相应的语音响应。对于图像消息,图像处理单元243可以对图像消息执行图像识别以生成相应的文本,并且核心处理模块220可以进一步确定文本响应。在一些情况下,图像处理单元243还可以用于基于文本响应获得图像响应。此外,尽管未在图2中示出,但是api模块240还可以包括任何其它处理单元。例如,api模块240可以包括视频处理单元,用于与核心处理模块220协作以处理视频消息并确定响应。核心处理模块220可以通过数据库250确定响应。数据库250可以包括多个索引项,核心处理模块220可以检索这些索引项以确定响应。数据库250可以包括纯聊天索引集251。纯聊天索引集251可以包括为聊天机器人和用户之间的自由聊天准备的索引项,并且可以利用来自例如社交网络的数据建立。纯聊天索引集251中的索引项可以是或者可以不是问-答(qa)对的形式,例如<问题,答案>。问-答对也可以被称为消息-响应对。数据库250可以包括主题图252。在本文中,主题图252可以指代各个域中的单个主题图或多个主题图。主题图252可以反映可以从大量聊天对话语料库中学习的对话主题分布和转移。主题图中的每个主题可以由消息中的单词或短语来指示。每个主题可以在主题图中显示为节点。可以通过利用跨越不同域的各种单词对齐模型(例如,ibm的单词对齐模型1)来构建主题图252。主题图中可以存在某些类型的主题,例如,初始主题、中间主题和目标主题,或者隐式主题、显式主题。在本文中,中间主题可以指主题图中的节点,其在初始主题和目标主题之间互连,并且可以不与资源或服务相关联。隐式主题可以指初始主题或不与资源或服务相关联的中间主题。相反,显式主题可以指可以与要传送的资源或服务相关联的目标主题。数据库250可以包括用户简档253。用户简档253可以包括用户的个性化信息。例如,用户简档253可以包括用户的性别、年龄、位置信息、感兴趣的主题、爱好、偏好等。数据库250可以包括对话日志254。对话日志254可以包括聊天机器人与用户之间的对话上下文,例如,在当前对话或先前对话期间来自用户或聊天机器人的消息、聊天机器人或用户在当前对话或先前对话期间的响应等。本文中,对话上下文可以指对话中的对话内容的记录。数据库250可以包括数据集255。数据集255可以包括来自各种伙伴实体的各种类型的资源或服务信息。本文中,“资源”可以指与要推荐给用户的产品有关的内容,例如文档、文章、音乐、图像、视频等;“服务”可以指由例如合作伙伴实体提供的任何服务,例如,各种订票服务、旅行服务、订购服务等。合作伙伴实体可以是商品的生产者、销售者或提供者或者服务的提供者,聊天机器人可以从其获得关于服务或资源的信息。聊天机器人系统200可以包括模块集260,模块集260是可以由核心处理模块220操作以生成或获得消息和/或响应的功能模块的集合。模块集260可以包括相关性模块261,其可以被配置用于确定消息和响应的相关性以确保针对消息的相关响应。消息和响应的相关性可以通过任何现有技术来确定,例如,通过问-答(qa)对。模块集260可以包括主题确定模块262。主题确定模块262可以被配置用于在对话期间确定主题,例如主题图中的隐式主题和/或显式主题。例如,可以至少基于对话日志254中的对话上下文和/或用户简档253中的用户简档来确定初始隐式主题。作为替代方式,可以从主题图中随机选择对话期间的初始隐式主题。作为另一个示例,可以至少基于对话上下文、用户简档、中间隐式主题和初始隐式主题之间的相关性中的一项或多项来确定中间隐式主题。作为另一个示例,可以至少基于对话上下文、用户简档、显式主题与初始隐式主题和/或中间隐式主题之间的相关性中的一项或多项来确定显式主题。在本文中,中间隐式主题与初始隐式主题之间的相关性,以及显性主题与初始隐式主题和/或中间隐式主题之间的相关性包括下列各项中的一项或多项:因果关系、坐标关系、替代关系、转折关系、渐进关系、上下关系、对比关系等,也可以指示两个主题之间的权重。模块集260可以包括消息提供模块263。消息提供模块263可以被配置用于在对话期间提供包括所确定的主题的消息。模块集260可包括传送模块264。传送模块264可以被配置用于基于显式主题来传送资源或服务。核心处理模块220可以将生成的响应提供给响应队列或响应高速缓存232。例如,响应高速缓存232可以确保可以在预定义的时间流中显示响应序列。假设对于消息,核心处理模块220生成的响应不少于两个,则针对响应的时间延迟设置可能是必要的。例如,如果用户输入的消息是“didyoueatyourbreakfast?(你吃早餐了吗?)”,则可能会产生两个响应,例如,第一个响应“yes,iatebread(是,我吃了面包)”,第二个响应“howaboutyou?stillfeelinghungry?(你呢?还觉得饿吗?)”。在这种情况下,通过响应高速缓存232,聊天机器人可以确保第一响应被立即提供给用户。此外,聊天机器人可以确保以诸如1或2秒的时间延迟提供第二响应,使得第二响应将在第一响应之后1或2秒被提供给用户。这样,响应高速缓存232可以管理待发送的响应以及针对每个响应的适当的定时。响应队列或响应高速缓存232中的响应可以进一步被传送到ui210,使得可以在聊天窗口中向用户显示响应。应当理解的是:图2中的聊天机器人系统200中示出的所有元素都是示例性的,并且取决于特定应用要求,可以省略任何所示出的元素,并且可以在聊天机器人系统200中涉及任何其它元素。图3根据实施例示出了示例性用户界面300。用户界面300可以包括在终端设备中,并且可以包括聊天机器人图标310、呈现区域320、控制区域330和输入区域340。聊天机器人图标310可以是代表聊天机器人的照片或图片,如聊天机器人的标志、名称和主页url。呈现区域320可以显示聊天窗口,该聊天窗口可以包含用户与聊天机器人之间的会话中的消息和响应。控制区域330可以包括多个虚拟按钮,供用户执行消息输入设置。例如,用户可以选择通过控制区域330来进行语音输入、附加图像文件、选择表情符号、制作当前屏幕的快捷方式、激活相机、与聊天机器人进行语音通话或视频对话等。输入区域340可以由用户用于输入消息。例如,用户可以通过输入区域340键入文本。用户界面300还可以包括用于确认发送所输入的消息的虚拟按钮350。如果用户触摸虚拟按钮350,则可以将在输入区域340中输入的消息发送到呈现区域320。应当理解的是:图3中所示的所有元素及其布局都是示例性的。取决于特定的应用需求,图3中的用户界面可以省略或添加任何元素,并且图3中的用户界面中的元素的布局也可以以各种方式改变。例如,尽管消息和响应在呈现区域320中以文本形式示出,但消息和响应也可以是语音形式。因此,聊天机器人和用户可以通过语音来进行聊天。图4根据实施例示出了示例性一般主题图。在本文的图4和以下附图中,主题图的方块中的斜体形式的内容表示显式主题或目标主题,并且主题图的其它方块中的内容表示隐式主题,例如,初始隐式主题或中间隐式主题。图4中共有五个显式主题,主题为“包办旅行(packagetour)”、“预算旅行(budgettour)”、“自驾旅行(self-drivingtravel)”、“自助旅行(do-it-yourselftour)”以及“旅行(travel)”,以及图4中有十个隐式主题,例如,主题“汽车(car)”、“汽车俱乐部(carclub)”、“短途旅行(shorttrip)”、“飞机(airplane)”、“火车(train)”、“乘客站(passengerstation)”、“长途旅行(longjourney)”、“全球旅行(globaltravel)”、“旅行服务(travelservice)”以及“到处旅行(travelaround)”。主题图中两个节点之间带箭头的线表示主题图中两个主题之间的相关性,其中箭头表示两个主题之间的指导或切换。以图4中的主题图400为例,其示出了从当前主题或初始隐式主题“汽车(car)”到目标主题“旅行(travel)”的主题引导。在该示例中,目标主题“旅行(travel)”有四个子目标主题“包办旅行(packagetour)”、“预算旅行(budgettour)”、“自驾旅行(self-drivingtravel)”和“自助旅行(do-it-yourselftour)”。对于每个子目标主题,存在连接到它的几个初始或中间隐式主题。例如,如图4所示,隐式主题“汽车(car)”可以连接到若干隐式主题,例如“汽车俱乐部(carclub)”、“短途旅行(shorttrip)”、“飞机(airplane)”、“火车(train)”,以及若干显式主题,例如“自助旅行(do-it-yourselftour)”、“自驾旅行(self-drivingtravel)”和“预算旅行(budgettour)”。此外,隐式主题“长途旅行(longjourney)”和“乘客站(passengerstation)”不与隐式主题“汽车(car)”相连;也就是说,在本主题图中,这些主题“长途旅行(longjourney)”和“乘客站(passengerstation)”与主题“汽车(car)”不相关联。在示例性主题图中,不同主题对之间可能存在不同的相关性权重。例如,在图4所示的示例中,主题“汽车(car)”和主题“自驾旅行(self-drivingtravel)”之间的相关性权重可以在主题“汽车(car)”与每个其它主题之间的相关性权重中最高。这意味着,在当前主题是“汽车(car)”时,要切换到的下一个可能主题可以是主题“自驾旅行(self-drivingtravel)”。作为替代方式,在主题引导或对话切换期间,当确定要从当前主题切换到的下一个主题时,可以选择具有相对于当前主题的第二最高相关性权重的主题而不是具有最高相关性权重的主题。例如,在图4所示的示例中,主题“汽车(car)”和主题“预算旅行(budgettour)”之间的相关性权重可以是第二最高的。在主题切换期间,可以选择要从当前主题“汽车(car)”切换的下一个主题为“预算旅行(budgettour)”。可以通过利用任何合适的方式来选择或确定在本文中的对话期间从当前主题切换的下一个主题。应当理解的是:图4中示出的所有主题都是示例性的,并且取决于特定应用要求,任何其它主题都可以包含在主题图400中。图5a根据实施例示出了示例性主题图500。为简单起见,示例性主题图500作为简单示例给出。在本文中,在该主题图500中仅存在一个显式主题“巧克力(chocolate)”,其与例如文档“如何在家制作巧克力(howtomakechocolateathome)”的资源相关联。在该主题图500中存在两个隐式主题“零食(snacks)”和“花(flower)”,其中主题“零食(snacks)和“花(flower)”二者都关联到显式主题“巧克力(chocolate)”,并且这两个隐式主题“零食(snacks)”和“花(flower)”彼此没有连接。应当理解的是:图5a中示出的所有主题都是示例性的,并且取决于特定的应用要求,任何其它主题可以包含在主题图500中,并且在主题图中可以存在一个以上的显式主题或者一个或多个隐式主题。图5b根据图5a的实施例示出了用于引导主题的用户与聊天机器人之间的示例性聊天窗口510。在该示例性聊天窗口510中,对话可以由聊天机器人发起,例如,通过聊天机器人说“嗨!是该吃零食的时间了(hi!it’stimeforsnacks)”发起,如聊天窗口510中511处所示。或者,对话可以由用户发起,例如,由用户说出“嗨(hi)”,在聊天窗口510中用虚线框在511'处示出。最初的主题“零食(snacks)”由聊天机器人确定,并通过第一消息“嗨!是该吃零食的时间了(hi!it’stimeforsnacks)”呈现给用户,这表明主题是“零食(snacks)”。初始主题“零食(snacks)”被称为与主题图500相关的隐式主题,因为该主题不与任何资源或服务相关联。用户提供针对由聊天机器人提供的第一消息的第一响应为512处显示的“太好了(that’sgreat)”。基于来自用户的响应,聊天机器人可以确定该第一响应与隐式主题“零食(snacks)”相关联(其指示用户对该主题感兴趣),并确定进一步的主题,例如在主题图500中示出的显式主题“巧克力(chocolate)”。该显式主题可以在第二消息“你想要一些巧克力吗?它非常美味(wouldyoulikesomechocolate?it’sverydelicious)”中指示,并且可以通过经由用户界面呈现该第二消息而提供给用户(如513处所示)。该主题“巧克力(chocolate)”与文章“如何在家制作巧克力(howtomakechocolateathome)”相关联,其也被称为目标主题。用户提供如514处所示的对第二消息的第二响应:“不了,谢谢。这不利于我的健身计划(no,thanks.it’snotgoodformyfitnessplan)”,并且该响应可能会被视为对目标/显示主题的否定响应。基于来自用户的第二响应,聊天机器人可以确定用户对显式主题“巧克力(chocolate)”不感兴趣并且可以不传送“如何在家制作巧克力(howtomakechocolateathome)”的文档。然后聊天机器人可以确定例如“坚果(nut)”的新主题,其未在主题图500中示出,并且在消息“坚果怎么样?它有利于健身(howaboutnuts?it’sgoodforfitness)”中指示新主题,如515处所示,其中,可以至少基于来自用户对先前显式主题的否定响应来生成指示新主题的这样的消息。或者,聊天机器人可以通过提供诸如“哦,你是个意志坚强的人(oh,youareastrongwilledperson)”的消息来结束对话或目标主题,如515'处所示。图5c根据图5a的实施例示出了用于引导主题的用户与聊天机器人之间的另一个示例性聊天窗口520。如图5c所示,在聊天窗口510中由虚线框521'所示的用户说“嗨(hi)”可以类似于图5b中的511'。当聊天机器人提供如521处所示的第一消息“嗨!是该吃零食的时间了(hi!it’stimeforsnacks)”时,类似于511,用户可能对该第一消息中指出的主题“零食(snacks)”不感兴趣。例如,用户可能通过“我有很多工作要做(ihavelotsofworktodo)”来响应或回复,这可能与主题“零食(snacks)”不相关联,如522处所示。当聊天机器人确定来自用户的响应与聊天机器人提供的主题不相关联时,它可以将主题从当前隐式主题切换到另一个隐式主题。例如,如图5c中结合图5a中的主题图所示,聊天机器人可以将另一个隐式主题确定为“花(flower)”,并将主题从“零食(snacks)”切换到“花(flower)”。图5a中所示的主题“花(flower)”连接到显式主题“巧克力(chocolate)”,并且不连接到当前隐式主题“零食(snacks)”。所确定的隐式主题“花(flower)”可以在第二消息中由单词“玫瑰(rose)”指示,如图5c所示。第二消息“好的。给你一些玫瑰作为礼物。它将带来好心情(ok.giveyousomerosesasgift.itwillbringagoodmood)”可以由聊天机器人提供,其中,主题“花(flower)”由第二消息中的“玫瑰(rose)”一词指示,如523处所示。用户可能对主题“花(flower)”感兴趣,并向聊天机器人提供或呈现第二响应为“哦,是的。玫瑰很美,并且带来快乐(oh,yes.roseisbeautifulandbringshappiness)”,这与主题“花(flower)”相关联,如524处所示。基于来自用户的该响应,聊天机器人可以确定来自用户的响应与主题“花(flower)”相关联,其指示用户对消息中由“玫瑰(rose)”一词指示的主题“花(flower)”感兴趣,并且可以至少基于响应以及连接主题图中的显式主题的先前主题“花(flower)”来确定显式主题“巧克力(chocolate)”。确定的显式主题在第三消息中指示并由聊天机器人提供给用户,例如“我也这么认为。巧克力怎么样?它味道很好,并且可以让你快乐(ialsothinkso.howaboutchocolate?ittastesgoodandcanmakeyoupleasure)”,如525处所示。该显式主题与例如文档“如何在家制作巧克力(howtomakechocolateathome)”的资源相关联。用户提供或呈现消息“巧克力?它非常美味(chocolate?it’sverydelicious)”,如526处所示,其与显式主题“巧克力(chocolate)”相关联,以便对聊天机器人提供的先前消息进行响应。在从用户接收到该消息时,聊天机器人可以确定用户对显式主题“巧克力(chocolate)”感兴趣并且可以通过提供如527处所示的消息“我有自己制作巧克力的方法。我将与你分享,你可以在家自己制作巧克力(i’vegotamethodformakingchocolatebyoneself.iwillshareitwithyouandyoucanmakechocolateyourselfathome)”来开始用于传送文档的过程。在这种情况下,在用于传送文档的过程期间,可能存在来自用户对由聊天机器人提供的消息的不同响应,如图5c中的虚线框所示。在一种示例性情况下,用户可以对关于巧克力的资源给出肯定响应,例如“太好了。谢谢(that’sgreat.thankyou)”,如528处所示。基于来自用户的这种积极响应,聊天机器人可以通过向用户提供或上载文档“如何在家制作巧克力(howtomakechocolateathome)”来执行任务。作为替代方式,在聊天机器人执行用于传送文档的过程之前,它可以与用户关于对话中所确定的目标主题进行几轮聊天。作为另一个示例性情况,用户可以对巧克力资源给出否定响应,例如“我喜欢巧克力,但我不喜欢自己做(ilikechocolate,butidon’tliketomakeitbymyself)”,如528'处所示。当接收到这样的否定响应时,聊天机器人可以确定用户对与目标主题相关联的资源或服务不感兴趣。基于这样的确定,聊天机器人可以通过说例如,“你真懒。好吧,我将自己在家做(youaresolazy.well,iwillmakeitathomealone)”来结束对话,如529处所示,或者可以向用户提供另一个主题,图5c中未示出。图6a根据实施例示出了另一个示例性主题图600。在本文中,在该主题图600中仅存在一个显式主题“在节食(onadiet)”,其与例如文档“如何烹饪美味蔬菜菜肴(howtocookdeliciousvegetabledish)”的资源或服务相关联。在该主题图600中有三个隐式主题“晚餐(dinner)”、“肉(meat)”以及“失去食欲(loseappetite)”。如图6a所示,当前主题或初始隐式主题“晚餐(dinner)”连接到中间隐式主题“肉(meat)”,并且中间隐式主题“肉(meat)”进而连接到另一个中间隐式主题“失去食欲(loseappetite)”。中间隐式主题“失去食欲(loseappetite)”连接到目标主题“在节食(onadiet)”,如主题图600中所示。应当理解的是:图6a中示出的所有主题都是示例性的,并且取决于特定的应用要求,主题图600中可以涉及任何其它主题,并且在主题图中可以存在一个以上的显式主题或者一个或多个隐式主题。图6b根据图6a的实施例示出了用于引导主题的用户与聊天机器人之间的示例性聊天窗口610。在该示例性聊天窗口610中,对话可以由聊天机器人发起,例如,通过聊天机器人说“现在很晚了。你吃晚餐了吗?(it’slatenow.didyouhavedinner?)”发起,如聊天窗口610中611处所示。或者,对话可以由用户发起,例如,由用户说出“我下班了(i’moffthework)”,如聊天窗口610中由虚线框在611'处示出的。最初的主题“晚餐(dinner)”由聊天机器人确定,并通过第一消息“现在很晚了。你吃晚餐了吗?(it’slatenow.didyouhavedinner?)”呈现给用户,这指示所确定的主题“晚餐(dinner)”。初始主题“晚餐(dinner)”被称为与主题图600相连接的隐式主题,因为该主题不与任何资源或服务相关联。用户在611处提供针对第一消息的第一响应“还没有,我现在饿了(notyet,i’mhungrynow)”,其与主题“晚餐(dinner)”相关联,如612处所示。基于来自用户的响应,聊天机器人可以确定来自用户的该响应与主题“晚餐(dinner)”相关联,其指示用户对该隐式主题“晚餐(dinner)”感兴趣,并确定进一步的主题,例如在主题图600中示出的隐式主题“肉(meat)”。该隐式主题可以由第二消息“吃一些肉(havingsomemeat)”来指示,并且通过经由用户界面呈现第二消息来提供给用户,如613处所示。本主题“肉(meat)”不与任何资源或服务相关联,其也被称为中间隐式主题。用户提供针对聊天机器人的第二消息的第二响应“我现在很想吃。你呢?已经吃过晚餐了吗?(i’mgreedynow.whataboutyou?havedinneralready?)”,其与主题“肉(meat)”相关联,如614处所示。在接收到该第二响应时,聊天机器人可以确定用户对中间隐式主题“肉(meat)”感兴趣。基于这样的确定,聊天机器人可以确定另一个中间隐式主题“失去食欲(loseappetite)”,其由第三消息中的短语“失去了我的食欲(lostmyappetite)”指示。聊天机器人可以生成并提供或呈现指示中间隐式主题“失去食欲(loseappetite)”的第三消息,即“刚刚吃完。但我最近失去了胃口。有没有什么推荐?(justfinished.butilostmyappetiterecently.anyrecommendations?)”,如615处所示。用户可以与聊天机器人聊天,并向聊天机器人给出第三响应如“鱼是一个很好的选择(fishisagoodchoice)”,其与主题“失去食欲(loseappetite)”相关联。基于从用户接收的第三响应,聊天机器人可以确定用户继续对进一步的隐式主题“失去食欲(loseappetite)”感兴趣。基于该确定,聊天机器人可以确定显式主题或目标主题“在节食(onadiet)”并通过在消息“我在节食......(i’monadiet...)”中指示显式主题来向用户提供显式主题,如617处所示。从用户的响应“你?(you?)”如618处所示,聊天机器人可以确定来自用户的响应与主题“在节食(onadiet)”相关联,其指示用户对显式主题“在节食(onadiet)”感兴趣,并且可以开始执行用于传送资源或服务的过程,例如,文档“如何烹饪美味的蔬菜菜肴(howtocookdeliciousvegetabledish)”。在通过一轮或多轮对话(如619、620、621所示)与用户聊天之后,聊天机器人可以向用户传送或上传文档“如何烹饪美味的蔬菜菜肴(howtocookdeliciousvegetabledish)”。可选地,在传送资源或服务之后,聊天机器人可以从用户接收对资源或服务的反馈,例如,“谢谢,这很有帮助(thankyou.it’shelpful)”的反馈,如聊天窗口610中的622所示。尽管以上示例中示出的每个消息仅包括一个主题,但是应当理解的是:聊天机器人可以每次确定若干不同的主题,并且聊天机器人提供的每个消息或响应可以包括若干不同的主题。并且还应当理解的是:本文中的任何消息或响应还可以至少基于用户简档、对话上下文来生成。图7根据实施例示出了用于引导主题的示例性过程700。在一种实现中,示例性过程700可以在聊天机器人和用户之间的对话期间由聊天机器人执行。通过过程700,可以在对话期间将当前主题切换或引导到另一个主题。在702处,聊天机器人可以至少基于来自主题图的用户简档和/或对话上下文来确定主题1。在该示例中,此主题1可以是隐式主题。可选地,可以在步骤702之前从用户接收消息。在本文中,消息可以指代来自用户的一个或多个当前或最新消息。消息可以具有文本、语音、图像等形式。由于语音或图像消息可以被转换为相应的文本消息,因此以下讨论将以文本消息为例。在704处,当确定隐式主题1时,可以生成和/或向用户提供指示该隐式主题1的消息。隐式主题1可以由消息中的单词或短语指示。在706处,可以从用户接收对消息1的响应1。基于所接收的响应1,聊天机器人可以在708处确定响应1是否与隐式主题1相关联,这可以指示用户是否对主题1感兴趣。如果在708中确定结果为“是”,则该过程可以进行到步骤710。在710处,由于响应1与指示用户对主题1感兴趣的隐式主题1相关联,所以聊天机器人可以基于隐式主题1来确定主题2,例如为图5a中所示的主题“巧克力(chocolate)”,或者图6a中所示的主题“肉(meat)”。此外,可以基于对话上下文、用户简档、主题2与主题1之间的相关性以及它们的任意组合中的至少一项来确定主题2。当确定主题2时,在712处,可以至少基于主题2来提供至少一个消息2。至少一个消息2可以通过该至少一个消息2中的单词或短语来指示主题2。在714处,聊天机器人可以确定主题2是否与资源或服务相关联,即,主题2是否是显式主题。如果确定为“否”,这意味着,主题2不是显式主题,则该过程可以进行到716。在716处,聊天机器人可以确定主题3,其可以与服务或资源相关联并且可以被视为显式主题,例如图6a中所示的“失去食欲(loseappetite)”。在718处,至少一个消息3指示所确定的主题3和/或包括可以由聊天机器人至少基于主题3生成或提供给用户的资源或服务。如果确定了显式主题3,则该过程可以进行到步骤722。或者,如果确定为“是”,即,主题2是显式主题,则该过程可以进行到720。在720处,基于显式主题2,聊天机器人可以包括至少一个消息2中的资源或服务。当用户接收到消息2或消息3时,用户可以提供或呈现对消息2的响应2或者对消息3的响应3。相应地,在722处,聊天机器人可以从用户接收响应2或响应3。在724处,聊天机器人可以至少基于响应2或响应3来确定是否传送资源或服务。例如,如果响应2或响应3是肯定响应,则其可以指示用户对资源或服务感兴趣。如果响应是否定响应,则其可以指示用户对资源或服务不感兴趣。基于确定结果,可能存在不同的操作。例如,如726处所示,如果确定结果为“否”,则聊天机器人可以不传送资源或服务。如果如728处所示,确定结果为“是”,则聊天机器人可以继续传送资源或服务。可选地,在730处,用户可以提供对资源或服务的反馈,因此聊天机器人可以从用户接收反馈以相应地改进资源或服务。将在图8中描述708中的确定结果为“否”的示例性情况。图8根据实施例示出了用于引导主题的另一个示例性过程800。步骤702-708与图7中所示的相同,为简单起见,可能未在图8中描述这些步骤。如果708中的确定结果为“否”,则该过程可以进行到步骤802。在802处,聊天机器人可以基于主题1来确定主题4。主题4可以不与主题1相关联,并且可以被示出为不连接到主题图中的主题1,如图5a中所示的隐式主题“花(flower)”。在804处,在确定主题4之后,聊天机器人可以基于主题4生成或向用户提供消息4,其中,主题4可以由消息4中的单词或短语指示。在806处,聊天机器人可以从用户接收对消息4的响应4。这种响应4可以与主题4相关联或不相关联。在808处,聊天机器人可以确定从用户接收的响应4是否与主题4相关联,其指示用户是否对主题4感兴趣。本文中,与主题4相关联的响应4意味着用户对主题4感兴趣,否则意味着用户对主题4不感兴趣。根据确定结果,可以存在不同的操作。例如,如810处所示,如果808中的确定结果是“否”,即,响应不与主题4相关联(其指示用户对主题4不感兴趣),则聊天机器人可以确定新的隐式主题6不与资源或服务相关联,并且可以继续执行与先前过程类似的步骤,用于将对话从隐式主题引导到显式主题,如图7中那样。如果808中的确定结果为“是”,则聊天机器人可以在812处至少基于主题4来确定主题5,其可以与资源或服务相关联并且可以被视为显式主题,如图6a和图6b中所示的显式主题“在节食(onadiet)”。当确定显式主题时,该过程可以继续执行与诸如图7中的用于传送资源或服务的先前过程类似的步骤。图9根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的示例性方法900的流程图。在910处,可以在对话中确定至少一个第一主题。这样的主题确定可以与主题图相结合。在920处,可以至少基于至少一个第一主题向用户提供第一消息。在一些实现中,第一消息可以用于将对话引导至该至少一个第一主题。在930处,可以从用户接收对第一消息的第一响应。在一些实现中,第一响应可以与第一主题相关联。在940处,确定第一响应是否与至少一个第一主题相关联。在950处,在确定第一响应与至少一个第一主题相关联的情况下:可以基于至少一个第一主题来确定至少一个第二主题;以及可以至少基于至少一个第二主题提供至少一个第二消息,其中,如果该至少一个第二主题与资源或服务相关联,则该至少一个第二消息至少包括该资源或服务。在一种实现中,如果至少一个第二主题不与资源或服务相关联,则该方法还可以包括:基于该至少一个第二主题来确定至少一个第三主题,该至少一个第三主题与该资源或服务相关联;以及至少基于该至少第三主题来提供至少一个第三消息,其中,该至少第三消息至少可包括该资源或服务。在一种实现中,可以基于对话上下文和用户简档中的至少一项来确定该至少一个第一主题。在一种实现中,还可以基于下列各项中的至少一项来确定该至少一个第二主题:对话上下文、用户简档、该至少一个第二主题与该至少一个第一主题之间的相关性。在一些实现中,还可以基于下列各项中的至少一项来确定该至少一个第三主题:对话上下文、用户简档、该至少一个第三主题与该至少一个第二主题之间的相关性。在一种实现中,至少一个第二主题与至少一个第一主题之间的相关性以及至少一个第三主题与至少一个第二主题之间的相关性中的每一个可以包括下列各项中的至少一项:因果关系、坐标关系、替代关系、转折关系、渐进关系、上下关系、对比关系。在一种实现中,还可以基于对话上下文和用户简档中的至少一项来提供第一消息,并且其中,至少一个第二消息还可以是基于对话上下文、用户简档以及所述第一响应中的至少一项来提供的。在一种实现中,至少一个第一主题可以是由第一消息中的单词或短语指示的,并且至少一个第二主题可以是由至少一个第二消息中的单词或短语指示的。在一种实现中,该方法还可以包括:在确定第一响应不与至少一个第一主题相关联的情况下:确定至少一个第四主题;基于该至少一个第四主题向用户提供第四消息;从用户接收对第四消息的第四响应;确定第四响应是否与第四主题相关联;以及在确定第四响应与第四主题相关联的情况下:基于该至少一个第四主题来确定至少一个第五主题,以及至少基于该至少一个第五主题来提供至少一个第五消息,其中,如果该至少一个第五主题与资源或服务相关联,则该至少一个第五消息至少包括该资源或服务。在一种实现中,第四消息还可以是基于第一响应提供的,并且第五消息还可以是基于第四响应提供的。在一种实现中,至少一个第四主题可以是由第四消息中的单词或短语指示的,并且至少一个第五主题可以是由至少一个第五消息中的单词或短语指示的。在一种实现中,可以基于对话上下文和用户简档中的至少一项来确定该至少一个第四主题。在一种实现中,可以基于下列各项中的至少一项来确定该至少一个第五主题:对话上下文、用户简档、该至少一个第五主题与该至少一个第四主题之间的相关性。在一种实现中,该方法还可以包括:从用户接收对该至少一个第二消息的至少一个第二响应;以及基于该至少一个第二响应来确定是否传送该资源或服务。在一种实现中,在确定传送资源或服务的情况下,该方法还可以包括:从用户接收对资源或服务的反馈。应该理解的是:方法900还可以包括用于如上所述根据本公开内容的实施例在用户与聊天引擎之间的对话中引导主题的任何步骤/过程。图10根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的示例性装置1000。装置1000可以包括:第一主题确定模块1010,其用于确定至少一个第一主题;第一消息提供模块1020,其用于基于该至少一个第一主题向用户提供第一消息,以便将对话引导至该至少一个第一主题;第一响应接收模块1030,其用于从用户接收对第一消息的第一响应;关联确定模块1040,其用于确定第一响应是否与该至少一个第一主题相关联;第二主题确定模块1050,其用于在确定第一响应与至少一个第一主题相关联的情况下,基于该至少一个第一主题来确定至少一个第二主题;以及第二消息提供模块1060,其用于至少基于该至少一个第二主题提供至少一个第二消息,其中,如果该至少一个第二主题与资源或服务相关联,则该至少一个第二消息至少可以包括该资源或服务。在一种实现中,如果该至少一个第二主题不与资源或服务相关联,则装置还可以包括:第三主题确定模块,其用于基于该至少一个第二主题来确定至少一个第三主题,该至少一个第三主题与该资源或服务相关联;以及第三消息提供模块,其用于至少基于该至少第三主题来提供至少一个第三消息,其中,该至少第三消息至少可以包括该资源或服务。在一种实现中,可以基于对话上下文和用户简档中的至少一项来确定该至少一个第一主题,还可以基于下列各项中的至少一项来确定该至少一个第二主题:对话上下文、用户简档、该至少一个第二主题与该至少一个第一主题之间的相关性,并且还可以基于下列各项中的至少一项来确定该至少一个第三主题:对话上下文、用户简档、该至少一个第三主题与该至少一个第二主题之间的相关性。在一种实现中,在确定第一响应不与该至少一个第一主题相关联的情况下,装置还可以包括:第四主题确定模块,其用于确定至少一个第四主题;第四消息提供模块,其用于基于该至少一个第四主题向用户提供第四消息,以便将对话从该至少一个第一主题引导至该至少一个第四主题;第四响应接收模块,其用于从用户接收对第四消息的第四响应。在一种实现中,关联确定模块1040还可以用于确定第四响应是否与第四主题相关联。在一种实现中,在确定第四响应与第四主题相关联的情况下,装置还可以包括:第五主题确定模块,其用于基于该至少一个第四主题来确定至少一个第五主题;以及第五消息提供模块,其用于至少基于该至少一个第五主题来提供至少一个第五消息,其中,如果该至少一个第五主题与资源或服务相关联,则该至少一个第五消息包括该资源或服务。在一种实现中,可以基于对话上下文和用户简档中的至少一项来确定该至少一个第四主题,并且还可以基于下列各项中的至少一项来确定该至少一个第五主题:对话上下文、用户简档、该至少一个第五主题与该至少一个第四主题之间的相关性。在一种实现中,装置1000还可以包括:第二响应接收模块,其用于从用户接收对该至少一个第二消息的至少一个第二响应;以及传送确定模块,其用于基于该至少一个第二响应来确定是否传送该资源或服务。在一种实现中,在确定传送资源或服务的情况下,该装置还可以包括:接收模块,其用于从用户接收对资源或服务的反馈。另外,装置1000还可以包括被配置用于根据如上所述的本公开内容的实施例在用户与聊天引擎之间的对话中引导主题的任何其它模块。图11根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的另一种示例性方法1100的流程图。在1110处,可以至少基于至少一个第一主题向用户提供第一消息。在一些实现中,第一消息可以用于将对话引导至该至少一个第一主题。在1120处,可以从用户接收对第一消息的第一响应。在一些实现中,第一响应可以与该至少一个第一主题相关联。在1130处,在第一响应与该至少一个第一主题相关联的情况下,可以至少基于至少一个第二主题向用户提供至少一个第二消息,其中,如果该至少一个第二主题与资源或服务相关联,则该至少一个第二消息至少可以包括该资源或服务。应该理解的是:方法1100还可以包括用于如上所述根据本公开内容的实施例在用户与聊天引擎之间的对话中引导主题的任何步骤/过程。图12根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的另一个示例性装置1200。装置1200可以包括:第一消息提供模块1210,其用于基于至少一个第一主题向用户提供第一消息;第一响应接收模块1220,其用于从用户接收对第一消息的第一响应;以及第二消息提供模块1230,其用于:在第一响应与该至少一个第一主题相关联的情况下,至少基于至少一个第二主题来提供至少一个第二消息,其中,如果该至少一个第二主题与资源或服务相关联,则该至少一个第二消息至少包括该资源或服务。另外,装置1200还可以包括被配置用于根据如上所述的本公开内容的实施例在用户与聊天引擎之间的对话中引导主题的任何其它模块。图13根据实施例示出了用于在用户与聊天引擎之间的对话中引导主题的示例性装置。装置1300可以包括一个或多个处理器1310以及存储计算机可执行指令的存储器1320。在一种实现中,当执行计算机可执行指令时,一个或多个处理器1310可以被配置为:确定至少一个第一主题;基于该至少一个第一主题向用户提供第一消息;从用户接收对第一消息的第一响应;确定第一响应是否与该至少一个第一主题相关联;并且在确定第一响应与该至少一个第一主题相关联的情况下,基于该至少一个第一主题来确定至少一个第二主题;并且如果该至少一个第二主题与资源或服务相关联,则至少基于该至少一个第二主题来提供至少一个第二消息。在另一种实现中,当执行计算机可执行指令时,一个或多个处理器1310还可以被配置为:向用户提供第一消息,该第一消息基于至少一个第一主题;从用户接收对第一消息的第一响应;在第一响应与该至少一个第一主题相关联的情况下,至少基于至少一个第二主题向用户提供至少一个第二消息,其中,如果该至少一个第二主题与资源或服务相关联,则该至少一个第二消息至少可以包括该资源或服务。本公开内容的实施例可以体现为非临时性计算机可读介质。非临时性计算机可读介质可以包括指令,当被执行时,所述指令使得一个或多个处理器根据如上所述的本公开内容的实施例执行用于在问答会话中向用户提供响应的方法的任何操作。应该理解的是:上述方法中的所有操作仅仅是示例性的,并且本公开内容不局限于这些方法中的任何操作或者这些操作的序列顺序,并且应该覆盖相同或相似概念下的所有其它等价项。还应该理解的是:上述装置中的所有模块可以以各种方式来实现。这些模块可以被实现为硬件、软件或它们的组合。此外,这些模块中的任何一个模块可以在功能上被进一步分成子模块或组合在一起。应当理解的是,使用诸如“第一”、“第二”等等之类的标示对本文中的元素的任何提及通常并不限制那些元素的数量或顺序。而是在本文中可以将这些标示用作在两个或更多元素之间或者在一个元素的一些实例之间进行区分的便利方法。因此,对于第一元素和第二元素的提及并不意味着在此处仅使用两个元素,或者第一元素必须以某种方式排在第二元素之前。已经结合各种装置和方法对处理器进行了描述。这些处理器可以使用电子硬件、计算机软件或它们的任意组合来实现。至于这些处理器是实现为硬件还是软件将取决于特定的应用和对系统所施加的整体设计约束。通过举例的方式,本公开内容中给出的处理器、处理器的任意部分或处理器的任意组合可以使用微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑、分立硬件电路、以及被配置为执行贯穿本公开内容描述的各种功能的其它合适的处理组件来实现。本公开内容中给出的处理器、处理器的任意部分或处理器的任意组合的功能可以使用由微处理器执行的软件、微控制器、dsp或其它合适的平台来实现。软件应该被广义地解释为意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、执行线程、过程、功能等。软件可以位于计算机可读介质上。举例而言,计算机可读介质可以包括存储器,诸如磁存储设备(例如,硬盘、软盘、磁带)、光碟、智能卡、闪存设备、随机存取存储器(ram)、只读存储器(rom)、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、寄存器或可移动磁盘。虽然在贯穿本公开内容给出的各个方面中存储器被示为与处理器分离,但存储器可以在处理器内部,例如,高速缓存器或寄存器。提供了前述描述以使本领域中的任何技术人员能够实施本文所描述的各个方面。对这些方面的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原则可应用于其它方面。因此,权利要求书不旨在受到本文中示出的方面的限制。对本领域普通技术人员来说已知或者将要获知的与贯穿本公开内容所描述的各种方面的元素等效的所有结构和功能在此都通过引用的方式明确并入本文,并且旨在被权利要求书所包括。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1