基于特定于对象的知识库的聊天会话的制作方法

文档序号:15932028发布日期:2018-11-14 01:47阅读:167来源:国知局

聊天机器人(chatbot)是用来模拟人类聊天或会话的计算机程序,其能够使用预先构建数据来与用户进行智能会话。聊天机器人通常被集成在会话系统中作为智能在线助手,其应用领域包括智能聊天、客户服务、信息获取等。例如,网站可以使用聊天机器人自动回复用户的一些询问。

传统上,聊天机器人被设计为基于预定的会话来回答消息。例如,用户输入消息,聊天机器人返回针对该消息的响应或用户。为此,聊天机器人需要预先存储一组预置的查询-响应对。当聊天机器人从用户接收到消息时,聊天机器人将该消息与预定的查询-响应集合中的所有查询进行匹配,并选择与最匹配查询对应的响应作为对用户消息的回答。



技术实现要素:

发明人注意到,虽然聊天机器人在很多领域已经广泛使用,但是其仅能根据预先构建的一些会话来回复用户的消息,因而智能化程度在很多情况下还无法满足用户的需求。例如,电子商务网站因而通常还是通过人工客服来回答用户的询问。不同于传统的聊天机器人,本公开使用特定于对象的知识库来回答用户关于该对象的询问,该知识库包括特定于对象的信息,因而能够准确有效回答用户关于特定对象的询问,这在工作原理和机制上都显著不同于任何已知方案。

在本公开的实施例中,提出了一种基于特定于对象的知识库来实现聊天会话的方法和设备。在接收到用户发起的会话请求之后,确定会话所涉及的对象,并且使用特定于该对象的知识库来回答用户的询问。根据本公开的实施例,使用特定于对象的信息来回答用户关于该对象的询问,能够准确有效地回答用户关于特定对象的询问。因此,本公开的实施例不仅能够提高回答用户询问的效率,而且能够提升用户体验。

提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了其中可以实施本公开的一个或多个实施例的计算设备/服务器的框图;

图2示出了其中可以实施本公开的一个或多个实施例的示例环境的示意图;

图3示出了根据本公开的实施例的基于特定于对象的知识库来实现聊天会话的方法的流程图;

图4示出了其中可以实施本公开的一个或多个实施例的计算系统的示意图;

图5a-图5c示出了根据本公开的实施例的用于在浏览器中聊天的图形用户界面(gui);

图6示出了根据本公开的实施例的示例知识库的示意图;以及

图7a-图7b示出了示出了根据本公开的实施例的用于在应用程序中聊天的图形用户界面。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

传统地,面对用户关于对象的询问,通常使用人工客服(例如电话或者消息应用)的方式来进行回答。然而,不同用户的询问可能经常重复,而通过人工方式来回答重复的询问需要大量的人力资源。另外,由于用户可能在任何时间段发出询问,而人工客服难以提供全天候的即时服务。因此,通过人工客服方式实现聊天会话成本较高并且效率较低。

针对传统的人工客服的一种改进是使用聊天机器人,其利用预先构建的人类会话来回答用户的询问。通过这种方式,能够回复用户一些简单的询问。然而,传统的聊天机器人通常使用一个大的知识库来回答所有的询问或问题,因而其并不能准确地生成恰当的回答来呈现给用户。此外,传统的聊天机器人的知识库通常是预先构建的,因而其能回答的询问数量也是有限的,所以用户还是经常需要等待人工客服来回答他们的问题,这造成了较差的用户体验。由此可见,传统的聊天机器人无法针对性地回复用户的询问。

为此,本公开的实施例提出了一种基于特定于对象的知识库的聊天会话。区别于传统方案中从多个对象共享的通用知识库中泛泛地抽取知识,本公开的实施例将识别当前会话所涉及的特定对象,并且使用特定于该对象的知识库来回答用户的询问。以此方式,能够有的放矢地、更加准确和有效地回答用户关于特定对象的询问。因此,本公开的实施例不仅能够提高回答用户询问的效率,而且能够提升用户体验。

此外,根据本公开的实施例,使用页面内的产品信息以及用户生成的内容来构建知识库,其中知识库可包括对象的属性描述、问答对以及用户评论,使得知识库内容全面并且准确性较高。本公开的实施例通过对候选回答的置信度进行判断,能够有效保证回答的适合性,同时,在没有合适的回答时,将用户的询问张贴到网页的用户提问区域中,使得询问最终能够被答复。另外,在询问还涉及另一对象的情况下,可以同时使用两个对象的知识库来生成针对询问的回答,由此有效地提升了用户体验。

以下参考图1至图7来说明本公开的基本原理和若干示例实现方式。图1示出了其中可以实施本公开的一个或多个实施例的计算设备/服务器100的框图。应当理解,图1所示出的计算设备/服务器100仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。

如图1所示,计算设备/服务器100是通用计算设备的形式。计算设备/服务器100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的持续来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备/服务器100的并行处理能力。

计算设备/服务器100通常包括多个计算机存储介质。这样的介质可以是计算设备/服务器100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如知识库170,其包括多个特定于单个对象的知识库175)并且可以在计算设备/服务器100内被访问。

计算设备/服务器100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器120可以包括聊天引擎125,其具有一个或多个程序模块集合,这些程序模块被配置为执行本文所描述的各种实施例的方法或功能。

通信单元140实现通过通信介质与其他计算设备进行通信。附加地,计算设备/服务器100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备/服务器100可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。

输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备/服务器100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备/服务器100交互的设备进行通信,或者与使得计算设备/服务器100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。

如图1所示,存储设备130中存储有知识库170,其包括特定于单个对象的知识库175。计算设备/服务器100能够通过通信单元140接收询问180,例如消息“屏幕尺寸多大?”。接下来,可以使用聊天引擎125基于特定于单个对象的知识库175来处理接收到的消息180,并且生成回答190,例如消息“屏幕尺寸是5.15英寸”。以下参考图2-7详细描述了聊天引擎125基于特定于单个的知识库175生成回答190的示例实施例。

图2示出了其中可以实施本公开的一个或多个实施例的示例环境200的示意图。如图2所示,环境200包括多个用户设备2101、2102以及210n(统称为用户设备210),其中2101例如为膝上型计算机,2102例如为台式计算机,210n例如为移动终端。实际上,用户设备210可以为具有联网能力的任何终端设备,例如移动设备(诸如智能手机、平板电脑、便携式计算机等)或固定设备(诸如台式计算机、机顶盒、投影仪等)。此外,环境200还包括服务器230和服务器240,其中服务器230例如是提供网站模块235和数据的网站服务器,而服务器240例如是提供聊天引擎125的聊天服务器,其中服务器240可以为参考图1所描述的计算设备/服务器100。

在一些实施例中,用户设备210、服务器230以及服务器240可以在网络220上互相通信。网络220可以是任何有线和/或无线网络。可选地,该网络可以包括但不限于因特网、广域网、城域网、局域网、虚拟专用网络(vpn)网络、无线通信网络等。例如,用户设备210可以在访问由服务器230提供的网页的过程中,发起与由服务器240提供的聊天机器人的聊天会话。以下参考图4描述了服务器240与用户设备210之间聊天会话的进一步实施细节。同时,在用户设备210访问由服务器230提供的网页的过程中,服务器240可以从服务器230抓取用户设备210所浏览的页面上内的信息。

如图2所示,聊天引擎125可以包括对象确定模块242、回答生成模块244以及回答呈现模块246。对象确定模块242用于自动确定聊天会话中所涉及的对象,回答生成模块244用于基于特定于对象的知识库来生成针对用户询问的回答,以及回答呈现模块246用于将回答呈现在聊天会话中。这些模块可以通过软件、硬件、固件或者其任何组合来实现。

根据本公开的实施例,特定于对象的知识库中保存的是针对聊天会话中所涉及的对象而针对性地获得的信息。这样的信息例如可以包括从服务器230上的针对对象的网页中获得的信息。例如,对象可以为电子商务平台中的一个产品,知识库可以包括于该产品有关的产品信息、相关问答以及用户评论。

图3示出了根据本公开的实施例的基于特定于对象的知识库来实现聊天会话的方法300的流程图。应当理解,方法300可以由参考图1所描述的计算设备/服务器100或参考图2所描述的服务器240执行。为了方便起见,下面将参考图5a-图5c以及图6以电子商务网站中的会话为例来描述一些示例实施例。

在302,响应于接收到发起会话的请求,确定与会话相关联的对象。在本文所描述的实施例中,对象是指任何目标项目,其可以例如为产品、商品或服务,等等。此外,在本文中,相同产品的不同参数(例如特定型号手机的2gram版本和4gram版本)被视为不同的对象。在一些实施例中,对象例如可以通过产品标识而被区分,例如,电子商务网站中的每个产品标识可以对应于一个对象。

例如,在一些实施例中,在用户设备210通过浏览器浏览产品页面或者在应用程序中查看产品描述时,可以通过触发页面或应用程序中的聊天按钮来发起会话请求,例如打开会话窗口。接下来,对象确定模块242可以确定与会话相关联的对象。在一些实施例中,会话窗口可以与该网页相关联的被呈现,例如被呈现在当前网页内或者被呈现在一个新的网页内,其中网页中描述的产品被确定为对象。也就是说,当用户正在浏览针对某一对象的网页时,如果用户在该网页中发起了会话请求,则认为该会话涉及该网页中所描述的这个对象。此外,为了向用户确认该对象,对象确定模块242还可以在会话中做自我介绍并且向用户呈现这个对象的信息。附加地或备选地,如果对象确定模块242所确定的对象有误,用户可以提供反馈意见。

例如,参考图5a-5c,其示出了根据本公开的实施例的用于在浏览器中聊天的图形用户界面(gui)。应当理解,图5a-5c仅作为本公开实施例的示例呈现,而不限制本公开的保护范围。图5a示出了根据本公开的实施例的在浏览器中浏览网页的gui500。如图5a所示,gui500呈现一个示例电子商务平台网页,其包括网址输入区域501、网页标题502、产品图片区域505、产品简介区域510、产品信息区域515、用户提问区域520以及用户评论区域525。如图5a所示,用户提问区域520和用户评论区域525中的点赞符号后面的数字表示这条回答或者评论被用户点赞的次数,其可以用作针对这条信息记录的投票数据。应当理解,出于简洁的原因,gui500中未示出该产品的所有信息。如图5a所示,gui500还包括按钮530,用户点击该按钮,可以发起与根据本公开的聊天机器人(例如聊天引擎125)的会话,并且将与会话相关联的对象确定为特定型号的手机(例如,图5a中所描述的bbb品牌9s型号手机(4gb+32gb,全网通))。

本领域技术人员应当理解,对于任何进行中的会话,其必然首先被发起。例如,假设用户直接在已经发起的会话中输入询问,该会话也是必然需要被发起。因此,虽然在一些实际场景中没有明确描述发起会话的动作,但是针对正在进行中的会话,这些场景中隐含包括发起会话的动作。

返回图3,在304,响应于在会话期间接收到询问,从特定于对象的知识库获得针对询问的回答,该知识库包括特定于对象的信息。例如,在对象确定模块242确定对象之后,针对会话期间是用户询问,回答生成模块244基于特定于对象的知识库来生成相应的回答。可选地,可以在针对对象的网页被浏览的过程中,基于网页中的内容来构建知识库。备选地,可以提前构建针对每个对象的知识库,并且周期性地或者在对象被访问时更新这些知识库。

参考图6,其示出了根据本公开的实施例的示例知识库600的示意图。如图6所示,知识库600可以包括属性描述表610、问答对表620以及用户评论表630,例如,可以通过网络爬虫从网页上获取内容来构建知识库600。应该理解,虽然知识库600中包括三种不同类型的表,但是知识库600可以包括更多或更少的表。在一个实施例中,知识库600特定于产品特定型号的手机,因而表610-630中所存储的信息均与该款手机相关联。

仍然参考图6,属性描述表610包括该手机的产品信息,这些信息属于该手机的事实性信息。属性描述表610包括属性名称和属性描述字段,例如,第一条记录表示该款手机的机身颜色为白色,第m条记录表示该款手机支持指纹识别。

问答对表620包括用户关于该手机的问题以及客服人员的回答,这些回答通常由电子网站专业的客服人员的人工回答,因而准确性较高。问答对表620中示例地示出了q条记录,其中例如第二条记录的主题(关于照相机防抖功能)在属性描述中没有涉及,也即,问答对表620可能包括属性描述表610中未涉及的一些信息。

用户评论表630包括用户关于该手机的评论,这些评论是由购买用户所发表,其一定程度上反映了用户对该手机的使用体验。然而,用户评论是用户个人的主观意见,可信的可能不如属性描述信息和问答对信息那么高。在一些实施例中,可以对用户的评论进行观点信息进行统计,以提高用户评论的准确性。例如,在提及电池的评论中80%认为电池不好而只有20%认为电池还行的情况下,可以认为80%人的意见更可靠。因此,可以降低认为电池还行的用户评论的权重,使得其较小可能被选择作为对用户询问的回答。

在一些实施例中,问答对表620和用户评论表630还可以包括投票数据(例如用户的点赞数据)字段。如果一对问答或者评论的点赞数据较高,则对该对问答或者评论设置较高的权重,使得其更可能被选择作为对用户询问的回答。

返回图3,在306,在会话中呈现针对询问的回答。例如,回答呈现模块246可以将所生成的回答呈现在会话中,用户然后可以继续输入询问,或者关闭会话窗口。可选地,回答呈现模块246可以在会话窗口中仅呈现最适合的一条回答。备选地,回答呈现模块246也可以同时呈现多条回答,以供用户参考。

例如,参考图5b,其示出了根据本公开的实施例的在浏览器的当前窗口中聊天的gui540。如图5b所示,在点击按钮530(即发起会话请求)之后,弹出聊天窗口550,聊天窗口550可以被悬浮在针对网页内,其中聊天窗口550包括用户聊天内容输入框552和发送按钮554。在发起聊天会话之后,聊天机器人可以首先呈现通知消息561,即“您好,我是聊天机器人,当前浏览的产品是bbb9s手机(4gb+32gb,全网通),有什么问题尽管问我吧。”也就是说,聊天机器人首先向用户确认当前正在讨论的对象。然后,用户发出询问562,聊天机器人从特定于该产品的知识库(例如该网页中的信息)获得相应的回答563,并且呈现在会话中。

参考图5c,其示出了根据本公开的实施例的在浏览器的新的窗口中聊天的gui570。与图5b所描述的gui540不同之处在于,在点击按钮530之后,也可以在新的网页中弹出会话窗口503。如图5c所示,gui570包括用户聊天内容输入框572和发送按钮574,聊天机器人同样首先呈现确认消息581。在会话期间,用户发出询问582,聊天机器人使用知识库中的属性描述来生成回答583。用户发出询问584,聊天机器人使用知识库中的问答对来生成回答585。用户发出询问586,聊天机器人使用知识库中的用户评论来生成回答587。在用户的所有询问全部解决之后,用户发出聊天消息588,聊天机器人使用聊天数据库中的聊天内容生成回答589。

传统上,电子商务中的聊天机器人只能通过一个整的知识库回答一些简单地用户提问或者聊天消息,而涉及到产品的询问通常依赖于客服人员人工回答。根据本文所描述的主题的方法300,使用特定于对象的信息来回答用户关于该对象的询问,能够有效回答用户关于特定对象的询问。因此,本公开的实施例不仅能够提高回答用户询问的效率,而且能够提升用户体验。

根据本公开的实施例,虽然聊天机器人能够回答大部分的用户询问,但是仍然存在一些找不到针对询问的适合回答或者无法回答的情形。因此,在一些实施例中,可以确定从知识库获得的最相关的候选回答的置信度,其中置信度表示候选回答的可靠程度。例如,可以基于询问与候选回答之间的相关性来确定置信度,相关性越高,置信度也就越高。如果置信度大于预定阈值(其可以通过统计被确定或者人工指定),则表示候选回答足够可靠,可以选择作为正式回答。

如果置信度小于预定阈值,则表示候选回答不可靠,不适合输出作为正式回答。因此,为了避免不合适的回答误导用户,可以从聊天数据库获取聊天内容来作为对询问的回答,例如,用户询问一个知识库中没有记载的参数时,可以使用“不好意思,我也不是很清楚哦”这类的聊天内容来回答询问。接下来,为了解决用户的询问,可以将该询问张贴在网页中的用户提问区域,以由网站上的客服人员来进一步人工回答该询问。可选地,可以对用户提问区域的该询问进行跟踪,当该询问被回答后,可以将回答再通过邮件或者短消息等方式发送给用户。

在一些实施例中,知识库中可以包括特定于对象的属性描述(关于对象的参数的信息)、问答对(针对对象的提问与回答)以及用户评论(用户针对对象的评论)。当在会话期间接收到询问时,可以基于知识库中的属性描述、问答对以及用户评论来生成回答,该回答可以来自于属性描述、问答对以及用户评论中的一项或多项。

在一些实施例中,可以确定询问的用户意图,然后根据该用户意图来从对应的信息类型中获得回答。例如,假设用户询问为“这款手机用户体验怎么样啊”,可以确定用户意图是了解别的购买者对这款手机的使用体验,因而适合从知识库中的用户评论中获得针对该询问的回答。因此,通过判断用户意图,可以筛选出需要查询的信息,从而提高聊天引擎的响应速度。

在一些实施例中,在知识库的构建中,可以对每条信息记录设置权重,使得较高权重的信息更可能被选作回答。例如,权重可以基于信息记录的用户投票数据(例如,用户点赞数据)。通常,一个问答对或者用户评论点赞的人数越多,该问答对或者用户评论的可靠性就越高,因而更适合输出作为回答。

在一些实施例中,在针对一个对象的聊天会话过程中,用户还可能涉及另一对象,可以实时地构建或者从数据库中获得特定于另一对象的另一知识库,其中特定于另一对象的另一知识库不同于特定于一个对象的一个知识库。接下来,可以从一个知识库和另一个知识库二者获取针对询问的回答。

图4示出了其中可以实施本公开的一个或多个实施例的计算系统400的示意图。如图4所示,计算系统400包括聊天引擎125,其中聊天引擎125包括四个子引擎,即属性查询引擎410、问答查询引起420、评论查询引擎430以及闲聊引擎440。在本文所描述的实施例中,“引擎”是指能够实现相应功能的功能部件,其可以通过软件(例如模块或程序)、硬件、固件或者其任何组合来实现。

如图4所示,计算系统400还包括用户设备450、网络爬虫460、特定于对象的知识库470以及聊天数据库480。应当理解,图4中的用户设备450可以为以上参考图2所描述的用户设备210,图4中的属性查询引擎410、问答查询引起420、评论查询引擎430、闲聊引擎440、网络爬虫460、特定于对象的知识库470以及聊天数据库480可以被包括在以上参考图2所描述的服务器240中。

例如,在用户设备发起会话请求或浏览网页时,可以自动确定452所涉及的对象,然后网络爬虫460抓取与该对象有关的信息,并且在特定于对象的知识库470中存储465对象的属性描述、问答对以及用户评论。在会话期间,当用户设备450发送454询问时,聊天引擎中并行地或者顺序地执行属性查询引擎410、问答查询引起420、评论查询引擎430,以处理该询问,并且从特定于对象的知识库470获得475特定于对象的信息。如果从特定于对象的知识库470没有获得合适的回答时,则可以使用闲聊引擎440从聊天数据块480获得聊天内容作为回答。然后,聊天引擎125向用户设备450呈现456答复。

根据本公开的实施例,由于网络爬虫460可以在发起会话请求或浏览网页的过程中自动确定所涉及的对象,并且实时抓取网页内的信息,因而不需要针对整个网站部署网络爬虫。此外,可以将所抓取的信息存储在知识库中,并且在下次访问时更新知识库中的内容。

在一些实施例中,属性查询引擎410用于回答与对象有关的事实型信息,例如手机的屏幕尺寸,参考图6所描述的属性描述表610描述了属性描述信息的示例数据结构。例如,针对用户的询问,可以将该询问与属性名称进行语义匹配,然后基于模块使用最相关的属性名称及其属性描述来回答用户询问。例如,生成属性描述回答示例模可以为:(属性名称)是(属性描述),或者(对象)的(属性名称)是(属性描述),其中括号中的内容为变量。

在一些实施例中,问答查询引擎420用于匹配已有的问题并且使用已有的问题的回答来作为针对用户询问的回答,参考图6所描述的问答对表620描述了问答信息的示例数据结构。对于用户的询问,可以将该询问与已有的问题进行语义匹配,然后使用与最相关的问题对应的回答来回答用户询问。由于是采样语义匹配,因而问题“前后摄像头分别是多少像素啊”和问题“前后像素各是多少”可以被确定为非常相关联。

在一些实施例中,评论查询引擎430用于匹配用户评论并且使用用户评论作为针对用户询问的回答,参考图6所描述的用户评论表630描述了用户评论信息的示例数据结构。用户评论从用户角度提供关于对象的各个方面的个人观点信息,其是回答面向观点的询问的重要资源。可以对所爬取的用户评论进行分析和分解,并且提取用户评论中的描述和对应的观点。在一些实施例中,可以对所有评论中的用户观点进行统计,以便生成综合性的回答。在一些实施例中,可以将用户询问和用户评论进行匹配,并且利用基于回归的框架对多个候选用户评论进行排名,当候选用户评论满足预定置信度条件时,可以输出候选用户评论作为针对询问的回答。

在一些实施例中,闲聊引擎440用于使用聊天数据库480中的聊天数据来回答用户,例如回答用户的一些打招呼消息,诸如“你好”、“谢谢”。此外,当聊天引擎125无法回复用户询问时,为了避免不合适的回答误导用户,可以从聊天数据库480获取聊天内容来作为对询问的回答。例如,聊天引擎125可以告诉用户暂时无法回答该询问,并且提示用户可以找人工客服或通过其他途径获取回答。

聊天引擎125可以并行地或者按顺序地执行其中的四个子引擎,并且合并或者挑选来自不同子引擎的回答。例如,属性查询引擎410、问答查询引起420和评论查询引擎430仅在候选回答满足预定置信度时,才向聊天引擎125提供候选回答。当属性查询引擎410、问答查询引起420和评论查询引擎430都没有获得候选回答时,可以使用闲聊引擎440来回答用户的询问或消息。

在一些实施例中,根据本公开的聊天引擎可以作为浏览器扩展插件被嵌入在浏览器中。当用户浏览网页时,浏览器扩展插件可以自动确定用户所浏览的对象,并且抓取该对象的网页内的相关内容。本领域技术人员应当理解,根据本公开的聊天引擎可以作为第一方或者第三方被部署。当作为第一方被部署时,其由提供对象内容的网站或者应用程序来提供聊天引擎,聊天引擎可以直接从网站或者应用程序的数据库获得结构化的数据,进而提高客户服务质量并且减少客户服务成本。例如,银行可以在其网站上部署根据本公开的聊天引擎,以提供与银行业务有关的客户服务。此外,当作为第三方部署时,由于利用网页内的公开信息来回复客户咨询,因而根据本公开的聊天引擎可以被部署到任何网站,由此有效地提升了用户体验。

因此,根据本公开的实施例,针对用户关于对象的询问,使用特定于对象的信息来进行回答,提高了回答的准确性和有效性。此外,通过获得特定于产品的属性描述、问答对以及用户评论,丰富了回答的信息来源,从而能够回答用户的各种询问,提升了用户的使用体验。

图7a-7b示出了示出了根据本公开的实施例的用于在应用程序中聊天的图形用户界面。应当理解,图7a-7b仅作为本公开实施例的示例呈现,而不限制本公开的保护范围。

图7a示出了根据本公开的实施例的在应用程序中浏览内容的gui700。如图7a所示,gui700呈现一个示例电子商务应用程序的页面,其包括产品菜单701、产品信息菜单702、用户提问菜单703以及用户评论菜单704。gui700当前示出产品菜单701中的内容,其包括对于产品“bbb9s手机(4gb+32gb,全网通)”的产品图片区域710和产品简介区域715。应当理解,当选择产品信息菜单702、用户提问菜单703或用户评论菜单704时,可以呈现关于该产品的产品信息、用户提问或者用户评论。

如图7a所示,gui700还包括聊天按钮720、关注按钮725以及购物按钮730,其中点击聊天按钮720可以发起与聊天机器人的聊天,点击关注按钮725可以关注该产品,点击购物按钮730可以将该产品加入购物车。在一些实施例中,当点击聊天按钮720时,可以在当前应用程序中跳转到聊天窗口,例如图7b所描述的窗口。备选地,当点击聊天按钮720时,也可以跳转到其他应用程序(例如,即时聊天应用程序),同时当前应用程序将该产品的例如产品标识发送给即时聊天应用程序,然后用户可以在即时聊天应用程序中与聊天机器人进行关于该产品的聊天会话。

图7b示出了示出了根据本公开的实施例的用于在应用程序中聊天的gui750,其包括用户聊天内容输入框752和发送按钮754。同样地,聊天机器人可以在会话窗口中呈现确认消息761,即“您好,我是聊天机器人,当前浏览的产品是bbb9s手机(4gb+32gb,全网通),有什么问题尽管问我吧。”然后,用户输入聊天消息762,聊天机器人使用聊天数据库中的聊天内容进行回答。当用户输入关于产品的询问764时,聊天机器人使用特定于产品的信息呈现回答765。在一些实施例中,用户的询问可能还涉及到另一产品,例如在询问766中,还涉及到cccq8手机,则聊天机器人还构建或者获得针对cccq8手机的知识库,然后使用分别特定于两个产品的两个知识库来联合回答用户的询问,例如生成回答767,其不仅包括对一个产品的属性描述,同时还包括对另一产品的属性描述。此外,聊天机器人还针对用户的询问,比较这两个产品的电池容量参数,得出“两者差不多”的结论,进一步提升了用户体验。

本文中所描述的方法和功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

以下列出了本公开的一些示例实现方式。

在一个方面,提供了一种电子设备。该电子设备包括:处理单元;存储器,耦合至处理单元并且存储有指令,指令在由处理单元执行时执行以下动作:响应于接收到发起会话的请求,确定与会话相关联的对象;响应于在会话期间接收到询问,从特定于对象的知识库获得针对询问的回答,知识库包括特定于对象的信息;以及在会话中呈现针对询问的回答。

在一些实施例中,动作还包括:在针对对象的页面被浏览的过程中,基于页面中的内容来构建知识库。

在一些实施例中,其中会话的窗口与页面相关联地呈现,并且确定与会话相关联的对象包括:将在页面中描述的产品确定为对象。

在一些实施例中,其中将在页面中描述的产品确定为对象包括:在会话中向输入询问的用户呈现产品的信息。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答包括:从知识库中获得与询问相关联的候选回答;基于询问与候选回答之间的相关性来确定候选回答的置信度,置信度表示候选回答的可靠程度;以及响应于置信度在预定阈值以上,将候选回答选作回答。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答还包括:响应于置信度在预定阈值以下,从聊天数据库获取聊天内容作为对询问的回答,聊天数据库包括预先收集的一组聊天会话;以及在页面中的用户提问区域张贴询问。

在一些实施例中,其中从知识库中获得与询问相关联的候选回答还包括:从知识库中获得与询问有关的、涉及对象的属性描述、问答对和用户评论;基于所获得的属性描述、问答对和用户评论中的至少一项,生成候选回答。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答包括:确定在会话中提供询问的用户的意图;从知识库中确定与意图有关的信息;以及从所确定的信息中获取针对询问的回答。

在一些实施例中,其中构建知识库包括:从页面中获取涉及对象的问答对以存储在知识库中;以及基于页面内的投票数据对知识库中的问答对设置权重。

在一些实施例中,其中对象是第一对象并且知识库是第一知识库,动作还包括:响应于询问还涉及不同于第一对象的第二对象,确定特定于第二对象的第二知识库,第二知识库不同于第一知识库;从第一知识库和第二知识库获取针对询问的回答。

在另一方面,提供了一种计算机实现的方法。该方法包括:响应于接收到发起会话的请求,确定与会话相关联的对象;响应于在会话期间接收到询问,从特定于对象的知识库获得针对询问的回答,知识库包括特定于对象的信息;以及在会话中呈现针对询问的回答。

在一些实施例中,方法还包括在针对对象的页面被浏览的过程中,基于页面中的内容来构建知识库。

在一些实施例中,其中会话的窗口与页面相关联地呈现,并且确定与会话相关联的对象包括:将在页面中描述的产品确定为对象。

在一些实施例中,其中将在页面中描述的产品确定为对象包括:在会话中向输入询问的用户呈现产品的信息。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答包括:从知识库中获得与询问相关联的候选回答;基于询问与候选回答之间的相关性来确定候选回答的置信度,置信度表示候选回答的可靠程度;以及响应于置信度在预定阈值以上,将候选回答选作回答。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答还包括:响应于置信度在预定阈值以下,从聊天数据库获取聊天内容作为对询问的回答,聊天数据库包括预先收集的一组聊天会话;以及在页面中的用户提问区域张贴询问。

在一些实施例中,其中从知识库中获得与询问相关联的候选回答还包括:从知识库中获得与询问有关的、涉及对象的属性描述、问答对和用户评论;基于所获得的属性描述、问答对和用户评论中的至少一项,生成候选回答。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答包括:确定在会话中提供询问的用户的意图;从知识库中确定与意图有关的信息;以及从所确定的信息中获取针对询问的回答。

在一些实施例中,其中构建知识库包括:从页面中获取涉及对象的问答对以存储在知识库中;以及基于页面内的投票数据对知识库中的问答对设置权重。

在一些实施例中,其中对象是第一对象并且知识库是第一知识库,方法还包括:响应于询问还涉及不同于第一对象的第二对象,确定特定于第二对象的第二知识库,第二知识库不同于第一知识库;从第一知识库和第二知识库获取针对询问的回答。

在又一方面,提供了一种计算机程序产品。该计算机程序产品被存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在设备中运行时使得设备:响应于接收到发起会话的请求,确定与会话相关联的对象;响应于在会话期间接收到询问,从特定于对象的知识库获得针对询问的回答,知识库包括特定于对象的信息;以及在会话中呈现针对询问的回答。

在一些实施例中,机器可执行指令在设备中运行时还使得设备:在针对对象的页面被浏览的过程中,基于页面中的内容来构建知识库。

在一些实施例中,其中会话的窗口与页面相关联地呈现,并且确定与会话相关联的对象包括:将在页面中描述的产品确定为对象。

在一些实施例中,其中将在页面中描述的产品确定为对象包括:在会话中向输入询问的用户呈现产品的信息。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答包括:从知识库中获得与询问相关联的候选回答;基于询问与候选回答之间的相关性来确定候选回答的置信度,置信度表示候选回答的可靠程度;以及响应于置信度在预定阈值以上,将候选回答选作回答。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答还包括:响应于置信度在预定阈值以下,从聊天数据库获取聊天内容作为对询问的回答,聊天数据库包括预先收集的一组聊天会话;以及在页面中的用户提问区域张贴询问。

在一些实施例中,其中从知识库中获得与询问相关联的候选回答还包括:从知识库中获得与询问有关的、涉及对象的属性描述、问答对和用户评论;基于所获得的属性描述、问答对和用户评论中的至少一项,生成候选回答。

在一些实施例中,其中从特定于对象的知识库获得针对询问的回答包括:确定在会话中提供询问的用户的意图;从知识库中确定与意图有关的信息;以及从所确定的信息中获取针对询问的回答。

在一些实施例中,其中构建知识库包括:从页面中获取涉及对象的问答对以存储在知识库中;以及基于页面内的投票数据对知识库中的问答对设置权重。

在一些实施例中,其中对象是第一对象并且知识库是第一知识库,动作还包括:响应于询问还涉及不同于第一对象的第二对象,确定特定于第二对象的第二知识库,第二知识库不同于第一知识库;从第一知识库和第二知识库获取针对询问的回答。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1