首页 / 专利库 / 人工智能 / 对话代理 / 在会话中提供情感关怀

在会话中提供情感关怀

阅读:628发布:2020-05-13

专利汇可以提供在会话中提供情感关怀专利检索,专利查询,专利分析的服务。并且本公开提供了用于在用户与 电子 对话代理 之间的会话中提供情感关怀的方法和装置。可以在会话中接收第一组图像,第一组图像包括与用户相关联的一个或多个图像。可以获得用户的用户简档。可以至少基于用户简档中的情感信息从第一组图像生成第一组文本描述。可以至少基于第一组图像和第一组文本描述来创建第一存储记录。,下面是在会话中提供情感关怀专利的具体信息内容。

1.一种用于在用户与电子对话代理之间的会话中提供情感关怀的方法,包括:
在所述会话中接收第一组图像,所述第一组图像包括与所述用户相关联的一个或多个图像;
获得所述用户的用户简档;
至少基于所述用户简档中的情感信息从所述第一组图像生成第一组文本描述;以及至少基于所述第一组图像和所述第一组文本描述来创建第一存储记录。
2.根据权利要求1所述的方法,还包括:
基于所述第一存储记录在所述会话中提供响应。
3.根据权利要求1所述的方法,还包括:
将所述第一存储记录存储在存储记录数据库中,所述存储记录数据库包括多个存储记录。
4.根据权利要求3所述的方法,还包括:
在所述会话中接收消息;
从所述存储记录数据库检索与所述消息相关联的存储记录;以及
基于所检索的存储记录在所述会话中提供响应。
5.根据权利要求1所述的方法,其中,所述第一组文本描述包括对应于第一图像的第一文本描述和对应于第二图像的第二文本描述,以及
所述创建所述第一存储记录包括:
生成用于查询所述第一文本描述与所述第二文本描述之间的关系的问题;
在所述会话中提供所述问题;
在所述会话中接收指示所述关系的答案;以及
至少基于所述关系创建所述第一存储记录。
6.根据权利要求1所述的方法,还包括:
在所述会话中接收第二组图像;
至少基于所述用户简档中的所述情感信息从所述第二组图像生成第二组文本描述;以及
至少基于所述第二组图像和所述第二组文本描述创建第二存储记录。
7.根据权利要求6所述的方法,还包括:
生成用于查询所述第一存储记录和所述第二存储记录之间的关系的问题;
在所述会话中提供所述问题;
在所述会话中接收指示所述关系的答案;以及
至少基于所述第一存储记录、所述第二存储记录和所述关系创建联合存储记录。
8.根据权利要求1所述的方法,其中,所述第一组文本描述中的每一个是通过神经网络以逐词方式生成的。
9.根据权利要求8所述的方法,其中,在生成文本描述期间,基于以下中的至少一个来生成所述文本描述的下一词:所述用户简档中与所述文本描述的生成部分相关联的情感信息;以及通过对所述文本描述的所述生成部分执行情感分析获得的情感信息。
10.根据权利要求9所述的方法,其中,所述用户简档中的所述情感信息包括多个情感信息项,并且每个情感信息项包括以下中的至少一个:感兴趣的话题、对所述话题的意见和所述意见的情感类别。
11.根据权利要求8所述的方法,其中,在生成文本描述期间,所述文本描述的生成部分通过以下中的至少一个在语义上扩展:所述用户简档中的事实信息和知识图谱中的知识信息。
12.根据权利要求11所述的方法,其中,所述用户简档中的所述事实信息包括多个事实信息项,并且每个事实信息项包括以下中的至少一个:感兴趣的话题、动作、地点和时间。
13.根据权利要求1所述的方法,还包括:
在所述会话中执行心理测试或认知测试。
14.根据权利要求13所述的方法,其中,所述心理测试或所述认知测试中的每个问题基于以下中的至少一个来确定:用户对前一个问题的答案,以及所述用户简档中的话题的出现频率
15.根据权利要求13所述的方法,其中,所述心理测试或所述认知测试中的每个问题都基于互斥标准来确定。
16.根据权利要求13所述的方法,其中,所述心理测试或所述认知测试的测试结果基于来自用户的答案和/或来自与所述用户相关联的至少一个其他用户的答案来确定。
17.一种用于在用户和电子对话代理之间的会话中提供情感关怀的装置,包括:
图像接收模,其用于在所述会话中接收第一组图像,所述第一组图像包括与所述用户相关联的一个或多个图像;
用户简档获得模块,其用于获得所述用户的用户简档;
文本描述生成模块,其用于至少基于所述用户简档中的情感信息从所述第一组图像生成第一组文本描述;以及
存储记录创建模块,其用于至少基于所述第一组图像和所述第一组文本描述来创建第一存储记录。
18.根据权利要求17所述的装置,其中,所述第一组文本描述包括对应于第一图像的第一文本描述和对应于第二图像的第二文本描述,以及
所述存储记录创建模块还用于:
生成用于查询所述第一文本描述与所述第二文本描述之间的关系的问题;
在所述会话中提供所述问题;
在所述会话中接收指示所述关系的答案;以及
至少基于所述关系创建所述第一存储记录。
19.根据权利要求17所述的装置,其中,所述第一组文本描述中的每一个是通过神经网络以逐词方式生成的,以及
在生成文本描述期间,基于以下中的至少一个来生成所述文本描述的下一词:所述用户简档中与所述文本描述的生成部分相关联的情感信息;以及通过对所述文本描述的所述生成部分执行情感分析获得的情感信息。
20.一种用于在用户和电子对话代理之间的会话中提供情感关怀的装置,包括:
一个或多个处理器;以及
存储器,其存储计算机可执行指令,所述计算机可执行指令在被执行时使所述一个或多个处理器:
在所述会话中接收第一组图像,所述第一组图像包括与所述用户相关联的一个或多个图像;
获得所述用户的用户简档;
至少基于所述用户简档中的情感信息从所述第一组图像生成第一组文本描述;以及至少基于所述第一组图像和所述第一组文本描述来创建第一存储记录。

说明书全文

在会话中提供情感关怀

背景技术

[0001] 人工智能(AI)聊天机器人变得越来越流行,并且正在越来越多的场景中得到应用。聊天机器人被设计用于模拟人类对话,并且可以通过文本、语音、图像等与用户聊天。通常,聊天机器人可以扫描由用户输入的消息内的关键词或对消息应用自然语言处理,并向用户提供具有最匹配的关键词或最相似的措辞模式的响应。发明内容
[0002] 提供本发明内容以便介绍概念的选择,其将在以下的具体实施方式中进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。
[0003] 本公开内容的实施例提出了用于在用户和电子对话代理之间的会话中提供情感关怀的方法和装置。可以在会话中接收第一组图像,第一组图像包括与用户相关联的一个或多个图像。可以获得用户的用户简档。可以至少基于用户简档中的情感信息从第一组图像生成第一组文本描述。可以至少基于第一组图像和第一组文本描述来创建第一存储记录。
[0004] 应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书附图详细阐述了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。

附图说明

[0005] 以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。
[0006] 图1示出了根据实施例的部署聊天机器人的示例性网络架构。
[0007] 图2示出了根据实施例的示例性聊天机器人系统。
[0008] 图3示出了根据实施例的示例性用户界面
[0009] 图4示出了根据实施例的示例性情感分析模型。
[0010] 图5示出了根据实施例的用于语音编码的示例性过程。
[0011] 图6示出了根据实施例的用于图像编码的示例性残差学习
[0012] 图7示出了根据实施例的用于图像编码的示例性残差网络。
[0013] 图8示出了根据实施例的用于视频编码的示例性过程。
[0014] 图9示出了根据实施例的示例性情感曲线。
[0015] 图10示出了根据实施例的示例性用户简档。
[0016] 图11示出了根据实施例的示例性用户-话题转移模型。
[0017] 图12示出了根据实施例的用于建立纯聊天索引集的示例性过程。
[0018] 图13示出了根据实施例的示例性聊天窗口。
[0019] 图14示出了根据实施例的用于建立知识图谱和知识问题-答案(QA)对集合的示例性过程。
[0020] 图15A至图15D示出了根据实施例的示例性依存句法分析。
[0021] 图16示出了根据实施例的示例性聊天窗口。
[0022] 图17示出了根据实施例的用于从图像生成文本描述的示例性过程。
[0023] 图18示出了根据实施例的用于创建存储记录的示例性过程。
[0024] 图19示出了根据实施例的示例性聊天窗口。
[0025] 图20示出了根据实施例的示例性聊天窗口。
[0026] 图21示出了根据实施例的示例性聊天窗口。
[0027] 图22示出了根据实施例的用于执行隐式心理测试的示例性过程。
[0028] 图23示出了根据实施例的用于在用户与电子对话代理之间的会话中提供情感关怀的示例性方法的流程图
[0029] 图24示出了根据实施例的用于在用户和电子对话代理之间的会话中提供情感关怀的示例性装置。
[0030] 图25示出了根据实施例的用于在用户与电子对话代理之间的会话中提供情感关怀的示例性装置。

具体实施方式

[0031] 现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。
[0032] 随着医疗技术和更好的生活环境的发展,近几十年来人们的平均寿命显著延长。以日本为例,男性/女性的平均寿命约为83至84岁。另外,65岁以上的日本人超过25%。很多其他国家在不久的将来也会遵循同样的趋势。这些老年人面临的一个挑战是他们如何以健康的生活方式度过退休后的20年或更长的时间。
[0033] 本公开的实施例提出利用电子对话代理向用户提供及时和有效的情感关怀。用户不仅包括老年人,还包括不同年龄段的其他人。在本文中,“情感关怀”可以指以各种方式向用户提供的情感交流或帮助,诸如情感聊天、提供与疾病、食物和药物相关的知识、通过进行心理或认知测试来监视用户的心理或认知状况、为用户创建和存储存储记录等。由本公开的实施例提供的情感关怀对于用户以健康的方式生活,特别是满足用户的各种情感需求是有益的。
[0034] 电子对话代理可以在与用户的会话中提供情感关怀。电子对话代理可以是例如聊天机器人。通常,聊天机器人可以与用户进行自动会话。在本文中,“会话”可以指两个聊天参与者之间的时间连续对话,并且可以包括对话中的消息和响应,其中,“消息”是指由用户输入的任何信息,例如来自用户的查询、用户对聊天机器人的问题的答案、用户的意见等,“响应”是指由聊天机器人提供的任何信息,例如聊天机器人对用户的问题的答案、聊天机器人的评论等。术语“消息”和术语“查询”也可以互换使用。
[0035] 图1示出了根据实施例的部署聊天机器人的示例性网络架构100。
[0036] 在图1中,网络110被应用于在终端设备120和聊天机器人服务器130之间进行互连。
[0037] 网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。在覆盖范围方面,网络110可以是局域网(LAN)、广域网(WAN)等。在承载介质方面,网络110可以是有线网络、无线网络等。在数据交换技术方面,网络110可以是电路交换网络、分组交换网络等。
[0038] 终端设备120可以是能够连接到网络110、访问网络110上的服务器或网站、处理数据或信号等的任何类型的电子计算设备。例如,终端设备120可以是台式计算机、笔记本电脑平板电脑、智能电话、AI终端、可穿戴设备等。尽管在图1中仅示出了一个终端设备,但是应当理解,可以有不同数量的终端设备连接到网络110。终端设备120可以由用户使用。
[0039] 终端设备120可以包括可为用户提供自动聊天服务的聊天机器人客户端122。在一些情况下,聊天机器人客户端122可以与聊天机器人服务器130进行交互。例如,聊天机器人客户端122可以将用户输入的消息传送到聊天机器人服务器130,并且从聊天机器人服务器130接收与消息相关联的响应,并向用户提供响应。然而,应当理解,在其它情况下,聊天机器人客户端122也可以本地地生成对用户输入的消息的响应,而不是与聊天机器人服务器
130进行交互。
[0040] 聊天机器人服务器130可以连接到或包含聊天机器人数据库132。聊天机器人数据库132可以包括可由聊天机器人服务器130用于生成响应的信息。
[0041] 应当理解,图1中所示的所有网络实体都是示例性的,根据具体的应用需求,网络架构100中可以涉及任何其它网络实体。
[0042] 图2示出了根据实施例的示例性聊天机器人系统200。
[0043] 聊天机器人系统200可以包括用于呈现聊天窗口的用户界面(UI)210。聊天窗口可以由聊天机器人用于与用户进行交互。
[0044] 聊天机器人系统200可以包括核心处理模块220。核心处理模块220被配置用于通过与聊天机器人系统200的其它模块的协作,在聊天机器人的运行期间提供处理能
[0045] 核心处理模块220可以获得由用户在聊天窗口中输入的消息,并将消息存储在消息队列232中。消息可以采用各种多媒体形式,例如文本、语音、图像、视频等。
[0046] 核心处理模块220可以用先进先出的方式处理消息队列232中的消息。核心处理模块220可以调用应用程序接口(API)模块240中的处理单元来处理各种形式的消息。API模块240可以包括文本处理单元242、语音处理单元244、图像处理单元246等。
[0047] 对于文本消息,文本处理单元242可以对文本消息执行文本理解,并且核心处理模块220可以进一步确定文本响应。
[0048] 对于语音消息,语音处理单元244可以对语音消息执行语音到文本转换以获得文本语句,文本处理单元242可以对所获得的文本语句执行文本理解,并且核心处理模块220可以进一步确定文本响应。如果确定以语音提供响应,则语音处理单元244可以对文本响应执行文本到语音转换以生成相应的语音响应。
[0049] 对于图像消息,图像处理单元246可以对图像消息执行图像识别以生成相应的文本,并且核心处理模块220可以进一步确定文本响应。在一些情况下,图像处理单元246也可以用于基于文本响应来获得图像响应。
[0050] 此外,尽管在图2中未示出,API模块240还可以包括任何其它处理单元。例如,API模块240可以包括视频处理单元,该视频处理单元用于与核心处理模块220协作以处理视频消息并确定响应。
[0051] 核心处理模块220可以通过索引数据库250来确定响应。索引数据库250可以包括可由核心处理模块220提取用于确定响应的多个索引项。
[0052] 索引数据库250可以包括纯聊天索引集252。纯聊天索引集252可以包括索引项,索引项被准备用于聊天机器人和用户之间的自由聊天,并且可以用来自例如社交网络的数据来建立。纯聊天索引集252中的索引项可以采用或不采用问题-答案(QA)对的形式,例如<问题,答案>。问题-答案对也可以称为消息-响应对。在一种实施方式中,纯聊天索引集252可以基于用户感兴趣的话题来建立,并且因此可以用于在考虑用户感兴趣的话题的情况下来提供答案。
[0053] 索引数据库250可以包括知识图谱254。在本文中,知识图谱254可以指单个知识图谱或多个知识图谱的组合,其包含与感兴趣领域有关的知识信息,例如疾病、食物、药物等。知识图谱254可以基于各种公共知识源,例如网络上的公共网站、出版物等来建立。例如,知识型网站可以包含与感兴趣领域相关的各种知识记录,并且这些知识记录可以用于建立与领域相关的知识图谱。随着从网络中获得越来越多的知识,这个知识图谱可以不断扩展。
[0054] 聊天机器人系统200可以包括模块集合260,模块集合260是根据本公开的实施例可以被实现用于提供情感关怀的功能模块的集合。
[0055] 模块集合260可以包括问题回答模块262。问题回答模块262可以被配置用于至少基于纯聊天索引集252和/或知识图谱254来执行深度问题回答。在一种实施方式中,当从用户接收到问题时,问题回答模块262可以基于纯聊天索引集252来确定响应。在基于用户感兴趣的话题建立纯聊天索引集252的情况下,问题回答模块262可以在考虑用户感兴趣的话题的情况下提供响应。在一种实施方式中,当从用户接收到问题时,问题回答模块262可以基于知识图谱254来确定响应。在基于关于疾病、食物和/或药物的知识信息建立知识图谱254的情况下,问题回答模块262可以在响应中提供关于疾病、食物和/或药物的知识,并且因此可以回答用户关于疾病、食物和/或药物的问题。问题回答模块262可以采用潜在语义匹配算法,例如具有丰富潜在语义特征的学习排序(LTR)框架,用于将用户的问题与纯聊天索引集252和/或知识图谱254中的索引项进行匹配。在潜在语义空间中执行匹配。
[0056] 模块集合260可以包括情感分析分类器264。情感分析分类器264可以被配置为对文本、图像、语音、视频等执行情感分析。例如,当输入图像时,情感分析分类器264可以生成图像的情感信息,例如情感向量,并且因此导出图像的情感类别。
[0057] 模块集合260可以包括存储记录生成模块266。存储记录生成模块266可以用于基于聊天机器人和用户之间的聊天流来创建存储记录。在本文中,“存储记录”可以指涉及用户的经历记录,包括事件、人员、地点、时间等。在一种实施方式中,存储记录生成模块266可以从用户提供的一个或多个图像生成文本描述。这些图像可以是与用户的经历相关联的各种照片,诸如在用户旅行、用户与他的家人或朋友聚在一起时拍摄的照片等。存储记录可以进一步由存储记录生成模块266基于图像和相应的文本描述创建。例如,如果用户上传当他游览城市时拍摄的多张照片,则可以基于这些照片及其文本描述来创建关于用户到城市旅行的存储记录。可以将这个存储记录创建为类似于关于用户到城市旅行的“故事”。换句话说,存储记录是与同一话题、事件等有关的文本描述的集合。此外,存储记录生成模块266可将两个或多个存储记录一起链接到联合存储记录中,从而形成彼此之间有联系的“故事”列表。响应于在会话中从用户接收到一个或多个图像,可以在会话中向用户返回基于图像的存储记录生成的响应。可替换地,存储记录也可以存储在存储记录数据库270中,并且可以稍后检索并提供给用户以帮助用户回忆他过去经历到的内容。例如,在与用户聊天期间,在从用户接收到消息之后,聊天机器可以从存储记录数据库270中检索与该消息相关联的一个或多个存储记录,并基于检索到的存储记录提供响应。通过这种方式,聊天机器人可以帮助用户回忆或记住他过去的经历,从而改善自动化聊天服务的用户体验。
[0058] 模块集合260可以包括测试模块268。测试模块268可以用于通过诸如在会话中进行心理或认知测试来监视用户的心理或认知状况。心理或认知测试可以以显式的方式或以隐式的方式进行。
[0059] 模块集合260可以包括用户简档数据库280。关于用户的各种个性化信息可以作为用户简档存储在用户简档数据库280中。用户简档可以基于用户和聊天机器人之间的会话日志生成。用户简档可以包括关于用户的基本信息,例如性别、年龄、地点等。用户简档可以包括与用户相关联的情感信息,其反映用户对特定话题的情感。例如,用户简档中的情感信息可以包括用户的会话日志中涉及的话题、用户关于话题的意见以及意见的情感类别。通过对意见执行情感分析可以获得意见的情感类别。用户简档可以包括与用户相关联的事实信息,其反映用户谈话的各种事实。例如,使用简档中的事实信息可以包括话题、用户的动作、地点、时间等。
[0060] 用户简档可以被其他模块利用。在一种实施方式中,存储记录生成模块266可以至少基于用户简档中的情感信息来从图像生成文本描述。因此,可以以考虑用户的情感的方式生成文本描述。在一种实施方式中,测试模块268可以考虑用户简档中用户感兴趣或用户最常谈论的话题而确定测试中的问题。
[0061] 核心处理模块220可以将响应提供给响应队列或响应高速缓存234。例如,响应高速缓存234可以确保能够以预定义的时间流来显示响应序列。假设对于一条消息,由核心处理模块220确定了不少于两个响应,则对响应的时间延迟设置可能是必要的。例如,如果用户输入的消息是“你吃早餐了吗?”,则可能确定出两个响应,例如,第一响应是“是的,我吃了面包”,第二响应是“你呢?还觉得饿吗?”。在这种情况下,通过响应高速缓存234,聊天机器人可以确保立即向用户提供第一响应。此外,聊天机器人可以确保以例如1或2秒的时间延迟来提供第二响应,使得第二响应将在第一响应之后的1或2秒提供给用户。由此,响应高速缓存234可以管理将要发送的响应以及针对每个响应的适当定时。
[0062] 可以将响应队列或响应高速缓存234中的响应进一步传送到UI 210,以便可以在聊天窗口中将响应显示给用户。
[0063] 应当理解,图2中的聊天机器人系统200中所示的所有单元都是示例性的,并且根据具体的应用需求,在聊天机器人系统200中可以省略任何所示的单元并且可以涉及任何其它单元。
[0064] 图3示出了根据实施例的示例性用户界面300。
[0065] 用户界面300包括在终端设备中,并且可以包括聊天机器人图标310、呈现区域320、控制区域330和输入区域340。聊天机器人图标310可以是表示聊天机器人的照片或图片。呈现区域320显示聊天窗口,该聊天窗口包含用户与聊天机器人之间的会话中的消息和响应。控制区域330包括多个虚拟按钮以用于用户执行消息输入设置。例如,用户可以通过控制区域330选择进行声音输入、附加图像文件、选择表情符号、进行当前屏幕的截图、启动摄像机等。输入区域340由用户用于输入消息。例如,用户可以通过输入区域340键入文本。
用户界面300还可以包括虚拟按钮350以用于确认发送所输入的消息。如果用户触摸虚拟按钮350,则可以将在输入区域340中输入的消息发送到呈现区域320。
[0066] 应当理解,图3中所示的所有单元及其布局都是示例性的。根据具体的应用需求,图3中的用户界面可以省略或添加任何单元,并且图3中的用户界面中的单元的布局也可以以各种方式改变。例如,尽管消息和响应在呈现区域320中以文本的形式示出,但消息和响应也可以是语音的形式。因此,聊天机器人和用户可以通过语音聊天。
[0067] 如上所述,本公开的实施例可以提出情感分析分类器。情感分析分类器可以将文本、语音、图像和视频的情感分类到相应的类别中。在一种实施方式中,情感分析分类器可以具有8个维度并且可以区分8类情感,包括高兴、愤怒、恐惧、轻蔑、悲伤、吃惊、厌恶和中性。应该理解,尽管以下讨论涉及具有8种情感类型的情感分析分类器,但是本公开的实施例不限于8类情感。相反,可以在本公开的构思下获得具有任何其它数量的情感类型的情感分析分类器。
[0068] 具有情感“高兴”的示例性语句可以是“我很乐意听到这个!”。具有情感“愤怒”的示例性语句可以是“你怎么敢不理会!”。具有情感“恐惧”的示例性语句可以是“这是个可怕的事故”。具有情感“轻蔑”的示例性语句可以是“无非是一台电脑,有什么可吹嘘的”。具有情感“悲伤”的示例性语句可以是“我不喜欢它,想哭”。具有情感“吃惊”的示例性语句可以是“什么?真的吗?”。具有情感“厌恶”的示例性语句可以是“他比我预计的更愚蠢”。具有情感“中性”的示例性语句可以是“确定了明天的时间表”。
[0069] 图4示出了根据实施例的示例性情感分析模型400。情感分析模型400可以将用户输入投影到密集向量中,并将用户输入进一步分类到向量空间中的对应情感类别中。情感分析模型400可以通过根据本公开的实施例的情感分析分类器来实现。
[0070] 用户输入410可以通过聊天机器人的UI 420来接收。用户输入可以是文本输入432、语音输入434、图像输入436和视频输入438中的至少一个。可以在UI 420的输入区域中捕获文本输入432和图像输入436,并且可以由终端设备中的麦克或相机捕获语音输入
434和视频输入438。
[0071] 在一种实施方式中,可以对文本输入432执行递归神经网络(RNN)-控递归单元(GRU:Gated-recurrent Unit)编码442。RNN-GRU编码442可以用于生成文本输入432的密集向量表示。例如,RNN-GRU编码442可以包括独热词嵌入层和一个或多个RNN-GRU层。可以采用Word2vec技术以用于独热词嵌入层中的词语嵌入。RNN-GRU层中的GRU可以是单向的,例如从左到右或从右到左,或者可以是双向的,例如从左到右和从右到左。
[0072] GRU的内部机制可以由以下方程定义:
[0073] zt=σ(W(z)xt+U(z)ht-1+b(z))   方程(1)
[0074] rt=σ(W(r)xt+U(r)ht-1+b(r))   方程(2)
[0075]
[0076]
[0077] 其中,是元素积,W(z)、W(r)、W、U(z)、U(r)、U是权重矩阵,W(z),W(r), 且U(z),U(r), 此处,nH表示隐藏层的维度,nI表示输入层的维度。上述方程也可以简写为ht=GRU(xt,ht-1)   方程(5)
[0078] 通过如上所述的RNN-GRU编码442,可以获得对于文本输入432的密集向量表示。
[0079] 在一种实施方式中,可以对语音输入434执行RNN-GRU编码444。RNN-GRU编码444可以用于生成对于语音输入434的密集向量表示。图5示出了根据实施例的用于语音编码的示例性过程500。过程500是RNN-GRU编码444的示例。过程500可以将输入语音段x投影为密集向量表示。
[0080] 可以将语音段x(i)输入到输入层中。语音段x(i)可以是长度为T(i)的时间序列,每个片段是音频特征的向量,表示为xt(i),其中t=1,2,…,T(i)。可以将声谱图用作输入特征。
[0081] 如图5所示,存在5层隐藏单元,表示为层1至层5。对于输入序列x,层l中的隐藏单(l) (0)元被表示为h ,一种特殊情况为h 可以代表输入序列。
[0082] 层1、层2和层3不是递归层。对于层1,在每个时间t处,输出取决于声谱图xt以及每一侧的S帧上下文。根据经验,S的值可以从使得评估集合的错误率最小的{3,5,7,9}中选择。层2和层3在每个时间步长中对独立数据进行操作。因此,对于每个时间t,前3层可以计算为:
[0083]
[0084] 在方程(6)中,使用截取的修正线性激活函数g(z),并且W(l)和b(l)分别是层l的权重矩阵和偏置参数。函数g(z)可以被表示为g(z)=min{max{α,z},β},其中α和β是超参数,并且可以根据经验调整。
[0085] 层4是双向递归层。该层包括两组隐藏单元,一组用于正向从左向右递归h(f),另一组用于反向从右向左递归h(b)。GRU的内部机制可以根据以上方程(1)至(5)。因此,h(f)和h(b)可以被表示为:
[0086]
[0087]
[0088] 层5是非递归层,其将层4中的正向单元和反向单元的级联作为输入,并且可以计算为:
[0089]
[0090] 其中,ht(4)是ht(f)和ht(b)的级联。
[0091] 最后,可以从层5的输出生成密集向量表示。
[0092] 通过如上所述的RNN-GRU编码444,可以获得对于语音输入434的密集向量表示。
[0093] 在一种实施方式中,可以对图像输入436执行2D卷积神经网络(CNN)编码446。2D CNN编码446可以用于生成对于图像输入436的密集向量表示。
[0094] 可以在2D CNN编码446中采用各种技术。例如,可以在2D CNN编码446中采用残差网络(ResNet)。ResNet可以包括多个残差学习块。图6示出根据实施例的用于图像编码的示例性残差学习块600。形式上,对于输入x,期望的底层映射可以表示为H(x),并且堆叠的非线性层可以拟合另一映射F(x):=H(x)-x。原始映射可以重写为F(x)+x。假设优化残差映射比优化原始未引用映射更容易。极端情况下,如果恒等映射是最优的,那么将残差推到零比通过非线性层堆叠拟合恒等映射更容易。非线性活化函数是修正线性单元(relu),其可以被定义为:Relu(x)=max(0,x)。
[0095] 基于图6所示的残差学习块,可以建立残差网络。图7示出了根据实施例的用于图像编码的示例性残差网络700。残差网络700有34层,可以提供相对良好的精度和快速的训练/测试。
[0096] 在图7中,例如,“3*3conv,64”表示存在64个过滤器,并且每个过滤器具有卷积核或函数,并且具有3*3像素的规模。“/2”表示双步幅。“池化”表示池化操作,“avg池”表示平均池化操作。
[0097] 图7中的输出层可以基于诸如平均池化操作的结果输出对于图像输入的密集向量表示。
[0098] 应该理解,ResNet是可以在2D CNN编码446中采用的示例性技术,并且可以在2D CNN编码446中采用任何其他技术,诸如AlexNet、GoogLeNet、VGG-Net等。
[0099] 通过如上所述的2D CNN编码446,可以获得对于图像输入436的密集向量表示。
[0100] 在一种实施方式中,可以对视频输入438执行2D和3D CNN编码448。可以使用2D和3D CNN编码448来生对于视频输入438的密集向量表示。
[0101] 图8示出了根据实施例的用于视频编码的示例性过程800。过程800可以基于2D CNN编码和3D CNN编码两者。
[0102] 如图8所示,可以根据帧和剪辑来处理视频输入802。对于视频输入802的帧804,可以执行2D CNN编码808。2D CNN编码808可以采用各种技术,例如ResNet、AlexNet、GoogLeNet、VGG-Net等。对于视频输入802的剪辑806,可以执行3D CNN编码810。3D CNN编码810可以采用各种技术,例如,通过卷积3D过滤器进行编码等。可以对2D CNN编码808的输出和3D CNN编码810的输出的组合执行平均池化操作812,以获得对于视频输入802的密集向量表示814。
[0103] 应该理解,图8中的过程800是2D和3D CNN编码448的示例性实施方式,并且2D和3D CNN编码448不限于过程800中的任何细节。
[0104] 通过如上所述的2D和3D CNN编码448,可以获得对于视频输入438的密集向量表示。
[0105] 根据图4中的情感分析模型400,可以对RNN-GRU编码442、RNN-GRU编码444、2D CNN编码446以及2D和3D CNN编码448的输出执行级联操作450。通过级联操作450,可以获得级联向量。
[0106] 在全连接层460处,可以对级联向量执行全连接操作,例如,将级联向量与全连接矩阵相乘,使得可以获得具有目标维度的全连接向量。
[0107] Softmax层470可以将全连接向量映射到情感向量480。情感向量480可以具有8个维度,并且情感向量480中的每个元素是对应情感类别的概率。可以选择8类情感中具有最高概率的情感作为用户输入410的情感或主要情感。
[0108] 图4中的情感分析模型400是联合学习模型,其可以将文本、语音、图像或视频输入投影为密集向量,并将输入进一步分类到向量空间中的相应情感类别中。
[0109] 应该理解,虽然将情感分析模型400示出为能够处理包括文本、语音、图像和视频输入的四种类型的输入,但是情感分析模型400也可以被配置用于仅处理一种,两种或三种类型的输入。例如,如果在训练和测试期间只有文本信息可用,则情感分析模型400可以简化为简单的“文本情感分析模型”。
[0110] 通过上面讨论的情感分析模型,可以检测用户的时间敏感情感,并且可以为用户生成情感曲线,其中,情感曲线可以由用户在一段时间内的情感状态形成。在本文中,“情感状态”也可以对应于心理状态。
[0111] 图9示出了根据实施例的示例性情感曲线900。情感曲线900可以指示用户在时间段T内的情感状态。时间段T可以是例如一周、两周、一个月等。尽管情感状态以曲线的形式示出,应该理解,情感曲线900实际上由大量的离散点形成,每个点对应于在一个时刻确定的情感。
[0112] 图9中的X轴是时间轴。X轴中的最小时间单位可以是定制的,例如,用户输入的每个消息、包括多个消息的每个会话、一定数量的会话等。
[0113] 图9中的Y轴是情感状态轴。在一种实施方式中,可以通过诸如主成分分析(PCA)技术来确定Y轴中每个刻度处的情感和Y轴中刻度的分布。
[0114] 以情感曲线900中的点S1为例,点S1可以指示用户的情感在时间t1处是“悲伤”。例如,可以基于用户在时间t1输入的消息、会话在时间t1结束、一组会话在时间t1结束等来确定点S1的情感。情感分析模型可以用于基于由用户输入的消息、会话、会话组等来确定点S1的情感“悲伤”。
[0115] 图9中的虚线是凭经验绘制的,其可用于区分负面情感。例如,情感曲线900在虚线下方的部分可被视为对应于负面情感。负面情感可以包括诸如愤怒、厌恶、悲伤、轻蔑、恐惧或甚至吃惊。
[0116] 图10示出了根据实施例的示例性用户简档1000。用户简档1000可以包括基本信息1010、情感信息1020和事实信息1030中的至少一个。
[0117] 基本信息1010可以包括用户的档案,例如性别、年龄、地点等。可以使用各种模型来根据用户的会话日志,尤其是根据用户的历史查询来预测基本信息1010中的性别、年龄、地点信息。
[0118] 对于性别分类模型,输入是<用户id,查询>并且输出是“男性”或“女性”的标签。可以利用查询中的多个线索,例如,“我的妻子不做任何家务活”可能是已婚男子说的,“我丈夫最近很忙”更通常是已婚女子说的等。
[0119] 对于年龄预测模型,输入是<用户id,查询>并且输出是例如“10+”、“20+”、“30+”、“40+”、“50+”或“60+”的标签,其中,“10+”表示年龄在10至20之间,“20+”表示年龄在20至30之间,“30+”表示年龄在30至40之间,等等。年龄预测模型可以基于查询确定年龄信息。例如,如果用户在会话中说“我是高中学生”,则可以确定用户的年龄是“10+”。如果用户在会话中说“我已经退休了”,则可以确定用户很可能是“60+”。
[0120] 对于地点检测模型,输入是<用户id,查询>并且输出可以是地点的至少一个标签。地点检测模型可以基于查询来确定地点信息。例如,如果用户在会话中说“您有什么关于上野周围工作午餐的餐馆的建议吗?”,则可以确定用户在东京的上野周围工作。
[0121] 可以基于<用户id,查询,目标标签>的训练数据来训练上述三个分类或检测模型。训练数据可以手动创建。训练的特征可以包括:
[0122] ·查询的目标产品类别或公司:例如,女性对化妆品及其相关公司的领域可能有更强烈的倾向。
[0123] ·用户历史查询中包括的疾病关键词:例如,男性和女性可以有共同的疾病和性别敏感疾病,如女性的乳房相关疾病和男性的前列腺相关疾病。
[0124] ·用户提到最多的地点相关词语列表:现有地点词典可用于检测用户查询中与地点有关的词语。
[0125] ·词ngram(n元):查询中词语的一元和二元。
[0126] ·字符ngram:对于查询中的每个词语,提取字符ngram。例如,在这个模型中使用4元和5元。
[0127] ·词skip-gram(跳元):对于查询中的所有三元和4元,其中一个词语由例如“*”的符号替换,以指示存在非连续词。
[0128] ·Brown聚类ngram:Brown聚类用于表示查询中的词语,然后将作为特征提取一元和二元。
[0129] ·词性(POS)标签:POS标签的存在与否被用作二元特征。
[0130] ·社交网络相关词语:查询中的话题标签(hashtag)、表情符号、加长词语和标点符号的数量被用作特征。
[0131] ·Word2vec聚类ngram:word2vec工具(Mikolov等人,2013)可用于从社交网络数据集中学习100维词语嵌入。然后,可以采用K均值算法和词向量的L2距离将百万级词汇聚类为200个类别。这些类别用于表示查询中的广义词。
[0132] 可以使用上述示例性特征来训练多类支持向量机(SVM)模型。这三个模型可以共享相似的特征模板。
[0133] 应该理解,基本信息1010不限于包括性别、年龄和地点,而是可以包括关于用户的任何其他信息,例如专业、宗教信仰、偏好等。
[0134] 情感信息1020可以反映用户对某些话题的情感。情感信息1020可以包括多个情感信息项。每个情感信息项可以包括以下中的至少一个:用户的会话日志中涉及的感兴趣的话题、用户对该话题的意见、意见的情感类别等。情感信息项可以是<话题,意见,情感类别>。例如,对于来自用户的消息“多么美好的一天!我很高兴组织家庭聚会!”,可以从消息中提取话题“家庭聚会”和意见“乐意组织”,并且通过对消息进行情感分析,可以导出情感类别“高兴”。因此,可以从消息中获得情感信息项<家庭聚会,乐意组织,快乐>。应该理解,情感信息1020不限于<话题,意见,情感类别>的形式,并且还可以是任何其他形式,例如<话题,情感类别>等。
[0135] 事实信息1030可以反映用户谈论的各种事实。事实信息1030可以包括多个事实信息项。每个事实信息项可以包括以下中的至少一个:话题、用户的动作、地点、时间等。事实信息项可以是<话题、动作、地点、时间>的形式。例如,对于在用户和聊天机器人之间的会话日志“用户:你喜欢吉娃娃吗?聊天机器人:是的,你呢?网友:我也是!我家有一只。两年前我把它带回家。”,可以从会话日志中提取话题“吉娃娃”、动作“带回”、地点“家”和时间“2015年”,其中,时间“2015年”是基于表达“两年前”和本年“2017年”推导出来的。因此,可以从会话日志中获得事实信息项<吉娃娃,带回,家,2015年>。应该理解,事实信息1030不限于<话题,动作,地点,时间>的形式,还可以是任何其他形式,例如<话题,动作,地点>、<话题,动作,时间>、<话题,地点,时间>等。在一种实施方式中,事实信息可以直接从用户的消息中挖掘。在一种实施方式中,聊天机器人还可以主动询问用户对话题的意见,以便完成事实信息项,例如聊天机器人提供上述会话日志中的问题“你呢?”以获得用户对“吉娃娃”的意见。
[0136] 可以看出,用户简档1000可以包括用户感兴趣或谈论的话题。也可以扩展用户简档1000中的话题。图11示出了根据实施例的示例性用户-话题转移模型1100。用户-话题转移模型1100可以用于用户话题检测和话题-话题连接,并且相应地扩展用户简档中的话题。
[0137] 在用户-话题检测的情况下,模型1100可以在两个场景中应用,一个用于个人用户,另一个用于群组用户。
[0138] 对于个人用户的场景:在这种场景下,在当前用户的“话题A”(例如一个“事件”)被收集并添加到用户简档中时,存在从当前用户的“节点”开始通过“话题A”到其他用户的“转移”动作。可以存在从“话题A”发送给其他用户(例如用户1-3和群组4-5)的活动信号。这个“转移”动作的目标是在其他用户在相对较长时间内对于“话题A”不“活跃”的情况下再次激活这些用户。可以执行随之而来的动作。一个随之而来的动作可以包括:主动选择一部分用户,例如用户1-3和群组4-5,并询问关于他们是否仍对“话题A”有意见的问题。另一个随之而来的动作可以包括:执行从选择的用户到他们除了“话题A”之外的话题(诸如“话题B”)的深度传播。当“话题A”和“话题B”被越来越多的用户链接时,可以将“话题A”和“话题B”之间的相似度分数更新为更高。例如,假设“话题A”是“吉娃娃”,“话题B”是“波美拉尼亚狗”,如果越来越多的用户分享这两个话题,那么它们的“相似度”可以与用户数量线性关联地增加。
[0139] 对于群组用户的场景:模型1100可以检测由一个用户引入或涉及的话题并保持跟踪其他用户对这些话题的意见/评论。而且,还可以基于上下文信息来检测时间点/时段和地点信息。
[0140] 基于以上讨论,模型1100的一类输出可以是<用户,话题>的元组。
[0141] 在话题-话题连接的情况下,模型1100可以对每两个话题(诸如“话题A”和“话题B”)之间的关系进行评分。因此,模型1100的另一类输出可以是<话题1,话题2>或<话题1,话题2,关系分数>的元组。由于每个话题都与许多用户相关联,所以通过链接两个话题,可以进一步隐含地连接两组用户。
[0142] 通过模型1100,可以连续地扩展和更新用户简档中的话题。
[0143] 图12示出了根据实施例的用于建立纯聊天索引集的示例性过程1200。可以实施过程1200以用于至少基于用户感兴趣的话题来建立面向目标用户的纯聊天索引集,并且因此所建立的纯聊天索引集可以用于在考虑到用户感兴趣的话题的情况下在会话中提供响应。
[0144] 根据过程1200,搜索引擎1202可以用于访问网络上的网站1204,并且利用种子话题词典1206来爬取网页1208,其中,种子话题词典1206包括预定种子话题的列表并且网页1208包含至少一个种子话题。取决于各种类型的网站1204,网页1208可以是纯文本形式或QA对形式。
[0145] 在一种实施方式中,在执行后续操作之前,可以在网页1208上可替换地执行预处理,以便解决由网页1208中的代词和缩写造成的歧义。可以在预处理中采用各种现有技术,例如命名实体识别(NER)、代词和普通名词的指称相同解决、缩写的统一、时间表达的统一和自动计算等。以指称相同解决为例,可以使用机器学习模型来计算与网页中的给定代词或普通名词相对应的候选命名实体的概率,并且相应地由给定代词或普通名词引起的歧义可以通过将给定代词或普通名词替换为排序最高的候选名称实体来去除。
[0146] 在1210处,可以将网页1208或经处理的网页1208输入到话题收集算法。话题收集算法可以用于从网页1208收集一般话题1212。在一种实施方式中,可以提取网页1208中的命名实体、地点相关短语、时间相关短语等作为一般话题1212。
[0147] 在1214处,可以对一般话题1212应用话题加权算法,以便基于用户的用户简档1216来加权一般话题1212并且获得经加权的话题1218。用户简档1216可以包括用户感兴趣或谈论的多个话题,并且通过对用户最常谈论的那些话题给予更高的权重,话题加权算法可以有助于从一般话题1212中找到用户的“个性化”话题。个性化可以随着用户和聊天机器人之间的会话日志增加而增长,因为用户简档可以更好地捕捉用户对越来越多话题的兴趣和情感意见。
[0148] 在1220处,可以基于经加权的话题1218来执行聊天索引构建,以便形成纯聊天索引集1222。在一种实施方式中,聊天索引构建可以从与经加权的话题1218相关联的网页生成QA对。在网页为纯文本形式的情况下,可以在聊天索引构建中采用各种现有技术。例如,可以采用基于依存树的QA对构建技术,其中对于网页中的纯文本中的语句来说,谓词和/或变元可以形成答案,并且语句的其余部分可以形成问题。此外,例如,对于纯文本中的语句列表,一个或多个以前的语句可以形成问题,并且随之而来的语句可以形成答案。在网页为QA对的形式的情况下,网页中的QA对可以由聊天索引构建直接提取。应该理解,上述聊天索引构建可以基于所有经加权话题的1218或经加权的话题1218的一部分(例如,一个或多个排序最高的经加权的话题)来执行。
[0149] 由聊天索引构建生成或提取的QA对可被添加到纯聊天索引集1222中。由于纯聊天索引集1222至少基于用户简档1216建立,因此其可以用于在考虑用户感兴趣的话题情况下提供响应。
[0150] 图13示出了根据实施例的示例性聊天窗口1300。聊天窗口1300示出聊天流,其中聊天机器人可以基于通过过程1200建立的纯聊天索引集来提供响应。
[0151] 用户可以询问聊天机器人“你昨天看了NBA比赛吗?”。聊天机器人可以以“不幸的是,我错过了它。比赛结果是什么?”来响应。在从用户接收到消息“金州勇士赢了比赛!”时,聊天机器人可以将消息中的“金州勇士”与纯聊天索引中的索引项进行匹配。假设聊天机器人已经预先检测到金州勇士是用户感兴趣的话题,例如,用户是金州勇士的球迷,并且一个或多个相应的索引项目已经被包括在纯聊天索引中,则聊天机器人可以返回响应“恭喜!我知道你是勇士的球迷”,它是至少基于与用户感兴趣的此话题相关联的索引项生成的。
[0152] 图14示出了根据实施例的用于建立知识图谱和知识QA对集合的示例性过程1400。
[0153] 疾病词典1402、食物词典1404和药物词典1406中的至少一个可以用于为搜索引擎1408提供搜索关键词。疾病词典1402包括各种疾病的名称。食物词典1404包括各种食物或菜肴的名称。药物词典1406包括各种药物的名称。应该理解,可以使用任何其他类型的词典来提供搜索关键词。
[0154] 可以将疾病词典1402、食物词典1404和药物词典1406中的每个条目提供给搜索引擎1408。搜索引擎1408可以通过使用条目作为搜索关键词来从网络1410抓取相关网页1412。另外或可替换地,网页1412也可以由合作伙伴实体1414提供。合伙伙伴实体1414可以是例如可以提供网页1412或相关数据的生产者、销售者等。网页1412可以包含至少一类疾病、至少一类食物、至少一类药物等,并且因此网页1412可以被解释为包括关于疾病、食物和/或药物的知识。
[0155] 在1416处,可以确定网页是否处于QA对样式。如果是,则可以将网页中的QA对添加到知识QA对集合1418中。如果不是,即网页是纯文本形式,则可以在1420处对纯文本执行依存句法分析。纯文本中语句的句法结构可以通过在1420处的依存句法分析来识别,并且然后可以在1422处从语句的依存树中提取知识元组。知识元组可进一步形成知识图谱1424。
[0156] 图15A和图15B示出了根据实施例的示例性依存句法分析1510和1520。通过对两个语句执行依存句法分析1510和1520来获得依存树。应该理解,此处可以使用各种依存句法分析技术来执行依存句法分析。
[0157] 可以从语句的依存树中提取知识元组。提取过程可以遵循链接谓词与变元并链接实体与句法关系的依存弧。
[0158] 假设食物词典1404包含实体“非淀粉类蔬菜”、“绿叶蔬菜”、“西兰花”、“花椰菜”、“芦笋”和“胡萝卜”,并且疾病词典1402包含实体“糖尿病”。然后,可以通过图15A和图15B所示的以下依存弧来链接食物“非淀粉类蔬菜”和疾病“糖尿病”:<非淀粉类蔬菜,好的意见,nsubj>其中“nsubj”表示依存弧的名词性主语;以及<好的意见,糖尿病,nmod:对于>其中“nmod:对于”表示由“好的意见”和“糖尿病”之间的关键词“对于”引导的名词性修饰关系。然后,可以通过将这两个依存弧组合在一起来获得以下元组:<非淀粉类蔬菜,糖尿病,好的意见>。
[0159] 以上是以<实体,实体,关系>形式的示例性元组,例如<食物,疾病,关系>。通过这种方式,可以收集纯文本中出现的食物和疾病的各种可用关系。
[0160] 此外,也可以提取是两种食物或两种疾病的实体的关系。以食物实体为例,在图15A中示出了以下依存弧:<非淀粉类蔬菜,绿叶蔬菜,nmod:诸如>其中“nmod”表示由关键短语“诸如”引导的名词性修饰关系;和<多叶青菜,西兰花,conj:和>其中“conj”用于连接并且由关键词“和”引导。如果“nmod:诸如”依存类型被映射为更一般化的“是_一种”关系,那么可以获得以下“是_一种”关系的元组:<绿叶蔬菜,非淀粉类蔬菜,是一种>,这意味着“绿叶蔬菜是一种非淀粉类蔬菜”;和<西兰花,非淀粉类蔬菜,是一种>,这意味着“西兰花是一种非淀粉类蔬菜”。通过这种方式,可以收集纯文本中出现的食物的可用关系。同样,也可以收集纯文本中出现的疾病的可用关系。
[0161] 应该理解,尽管上面关于图15A和图15B的讨论仅涉及“疾病”领域和“食物”领域,但类似的过程也可以扩展到“药物”领域,并且因此提取的元组也可以是<疾病,食物,药物,关系>、<疾病,药物,关系>、<食物,药物,关系>等形式。
[0162] 提取的元组可以用于形成或更新知识图谱1424。知识图谱1424可以是包括与各种疾病有关的知识信息的疾病领域知识图谱、包括与各种食物有关的知识信息的食物领域知识图谱、包括与各种药物有关的知识信息的药物领域知识图谱或与疾病、食物和药物的任何组合相关的知识图谱。
[0163] 在一种实施方式中,可以通过链接疾病领域知识图谱、食物领域知识图谱和药物领域知识图谱来获得与疾病、食物和药物相关的知识图谱。链接可以基于以下启发式规则中的至少一个:
[0164] ·通过使用所有三个词典挖掘的知识元组进行链接。
[0165] ·通过一个语句、一个段落、甚至一个文档出现的一种疾病、一种食物和一种药物的同现频率进行链接。基于这些同现可以分配不同的相似度分数,从而利用这些相似度分数可以链接疾病、食物和药物。
[0166] ·通过潜在语义相似度分数进行链接。联合word2vec模型可以使用疾病领域、食物领域和药物领域网页来训练,然后可以将其用于通过它们的向量表示的点积来计算一对<疾病,食物>、<疾病,药物>和<食物,药物>的“潜在语义分数”。
[0167] 在图14中,可以在1426处将知识图谱1424中的元组变换为QA对。以元组<糖尿病,南瓜,适合的食物>为例,这个元组描述了作为疾病名称的实体“糖尿病”与作为食物名称的实体“南瓜”之间的关系“适合的食物”。这个元组可以变换为以下问题-答案对:
[0168] 问题=什么是适合糖尿病的食物?答案=南瓜。
[0169] 问题=南瓜是适合糖尿病的食物吗?答案=是的,它是。
[0170] 问题=南瓜是何种疾病的适合的食物?答案=糖尿病。
[0171] 以这种方式,可以将一个元组自动变换为自然语言的多个QA对。这些自然语言风格的QA对可以用于向用户提供自然语言风格的响应。可以将从知识元组变换的QA对添加到知识QA对集合1418中。
[0172] 通过给出用户的查询,可以使用学习排序(LTR)模型来将知识QA对集合1418中的候选答案排序。在一些实施方式中,可以采用潜在语义特征来将在密集向量空间中对查询与候选<问题,答案>对进行比较。
[0173] 在一种实施方式中,可以在LTR模型中采用“依存弧匹配”分数。可以对查询和每个候选<问题,答案>对中的问题或答案两者执行依存句法分析,然后可以比较查询和问题或答案的依存弧以获得相似度分数。
[0174] 给定查询“对于糖尿病有什么推荐的食物?”,图15C示出了根据实施例的对该查询的示例性依存句法分析1530。此外,给定候选<问题,答案>对中的候选问题“吃什么对于糖尿病是好的意见?”,图15D示出了根据实施例的对该候选问题的示例性依存句法分析1540。
[0175] 查询和候选问题共享相同的依存弧,诸如“糖尿病-化合物-糖尿病”,“对于-病例-糖尿病”等,它们是显式的词和弧匹配。此外,在查询和候选问题之间也共享类似的依存弧,其隐式的密集向量空间匹配,例如查询中的“食物-nmod:对于-糖尿病”类似于候选问题中的“意见-nmod:对于-糖尿病”,查询中的“推荐-amod-食物”类似于候选问题中的“好的-amod-意见”等。依存弧的比较可以在潜在向量空间中执行,通过将依存弧投影为密集空间向量,然后通过诸如余弦函数来计算两个向量的相似度分数。
[0176] 在一种实施方式中,LTR模型可以采用梯度提升决策树(GBDT)算法来排序对于查询的候选QA对,并且可以在GBDT算法中利用以下特征。
[0177] ·查询和候选问题的依存树之间的隐式/显式依存弧相似度分数。显式依存弧相似度分数是基于依存弧的文本字符串级比较获得的。隐式依存弧相似度分数是基于依存弧的密集空间向量级比较获得的。
[0178] ·查询和候选答案的依存树之间的隐式/显式依存弧相似度分数。
[0179] ·用户和其他用户对候选答案的正面反馈的频率。
[0180] ·关于查询q和候选问题Q的信息检索的语言模型:给定查询q和候选问题Q,该特征通过以下方程测量q和Q之间的相关性:
[0181] P(q|Q)=∏w∈q[(1-λ)Pml(w|Q)+λPml(w|C)]   方程(10)
[0182] 其中,Pml(w|Q)是从Q估计出词语w的最大似然性,Pml(w|C)是平滑项,该平滑项被计算为大规模语料库C中的最大似然估计。此处,语料库C可以是知识QA对集合。平滑项避免了零概率,该零概率源于在候选问题Q中出现但没有在查询q中出现的那些词语。λ是作为似然性和平滑项之间的权衡的参数,其中,λ∈(0,1)。当查询和候选问题之间有多个词语重叠时,该特征的效果较好。
[0183] ·关于查询q和候选答案A的信息检索的语言模型。在这个语言模型中,通过在方程(10)中用候选答案A代替Q,查询和候选答案之间的相似度分数也使用方程(10)来计算。
[0184] ·关于查询q和候选问题Q的基于翻译的语言模型。该特征可以从例如问题-答案对中学习词语到词语和/或短语到短语的翻译概率,并且可以将所学习的信息并入最大似然性中。
[0185] 给定查询q和候选问题Q,基于翻译的语言模型可以被定义为:
[0186] Ptrb(q|Q)=∏w∈q[(1-λ)Pmx(w|Q)+λPml(w|C)]   方程(11)
[0187] Pmx(w|Q)=αPml(w|Q)+βPtr(w|Q)   方程(12)
[0188] Ptr(w|Q)=∑v∈QPtp(w|v)Pml(v|Q)   方程(13)
[0189] 此处,λ、α和β是满足λ∈(0,1)且α+β=1的参数。Ptp(w|v)是从Q中的词语v到q中的词语w的翻译概率。
[0190] ·关于查询q和候选答案A的基于翻译的语言模型。在这个语言模型中,通过在方程(11)-(13)中用候选答案A代替Q,查询和候选答案之间的相似性分数也使用方程(11)-(13)来计算。
[0191] ·词语或字符级别的查询与候选问题之间的编辑距离。
[0192] ·查询与候选问题之间的最大子序列比。
[0193] ·通过使用门控递归单元(GRU:Gated-recurrent Unit)作为编码的递归神经网络(RNN)。编码将词语序列、短语序列或依存弧序列投影到密集向量空间中,这是该序列的潜在语义表示。可以将查询和候选问题或答案分别提供给RNN-GRU层以获得相应的密集向量,然后可以计算两个密集向量之间的相似度分数。
[0194] 应该理解,GBDT算法中的所有上述特征都是示例性的,并且在各种实施方式中可以在GBDT算法中采用更多或更少的特征。
[0195] 知识图谱1424以及知识QA对集合1418可以用于响应于来自用户的消息而提供关于疾病、食物和/或药物的知识。图16示出了根据实施例的示例性聊天窗口1600。聊天窗口1600示出了聊天流,其中聊天机器人可以基于通过过程1400建立的知识图谱和/或知识QA对集合来提供响应。
[0196] 当在会话中接收到消息“你知道糖尿病患者应该怎么吃?”时,聊天机器人可以确定用户需要关于疾病“糖尿病”的饮食知识。聊天机器人可以从知识图谱和/或知识QA对集合中提取与“糖尿病”有关的疾病知识和食物知识,并因此提供响应,例如“少油少盐”、“确定进食的时间和数量”、“控制吃无糖蛋糕”等。
[0197] 当用户进一步输入消息“有什么推荐的食物?”时,聊天机器人可以进一步从知识图谱和/或知识QA对集合中提取与“糖尿病”相关的详细食物知识,例如适合糖尿病患者的食物名称。例如,聊天机器人可以提供包括“南瓜(14)”、“苦瓜(13)”、“粗粮(10)”、“黄瓜(9)”等的响应,其中,食物名称后面的数字表示相应食物由所有使用者给出正面反馈的频率。响应也可以包括产品销售信息的链接。例如,如果用户点击或将光标移动到“粗粮(10)”上,则可显示相应的销售信息,诸如“商店A”、“每千克5美元”、“地址:xxxx”等。
[0198] 当用户进一步输入消息“有什么推荐的药物?”时,聊天机器人可以从知识图谱和/或知识QA对集合中提取与“糖尿病”有关的药物知识。例如,聊天机器人可以提供包括适用于糖尿病患者的药物名称“胰岛素”的响应。
[0199] 根据本发明的实施例,聊天机器人可以基于聊天机器人和用户之间的会话日志创建存储记录。存储记录可以至少基于一组图像和一组对应的文本描述来创建。
[0200] 图17示出了根据实施例的用于从图像生成文本描述的示例性过程1700。例如,文本描述可以通过神经网络以逐词方式生成。
[0201] 过程1700基于CNN-RNN框架,其中,图17的右部中的深度CNN可以用于获得输入图像的事实向量,并且图17的左部中的RNN可以是用于生成文本语句,例如输入图像的文本描述。图17中的深度CNN可以基于图7中的ResNet。过程1700的基本思想是在潜在语义空间中匹配图像和文本语句,其中,将图像通过深度CNN投影到密集向量空间中,并且将语句通过RNN投影到另一个密集向量空间中。
[0202] 过程1700的训练数据可以是<图像,文本>的形式。例如,可以将母亲和女儿之间的面对面交流的图像和描述图像的“这张照片是我和我五岁的女儿之间的。当我们以面对面的方式交流时,我看到了她的红色且健康的脸,我的眼泪就流了出来”的文本语句用作训练数据的实例,其中,将图像表示提供给深度CNN并将文本语句提供给RNN。在一些情况下,可以将训练数据中的语句分解成词语,并且可以提取所有词语以形成词汇集。然后,基于来自输入图像的线索,将来自不同语句的词语重新组合以形成新语句,基于生成概率优化该新语句以适配输入图像。
[0203] 图17中的语句生成过程可以如下工作。将输入图像的事实向量I提供给RNN的多模态层。softmax层可以计算目标词汇集中词语的概率,并选择具有最大概率的至少一个词语。在一种实施方式中,波束搜索可以用于保持前B个候选词的记录,其中B是波束大小。例如,当B是3时,这意味着保持具有最高概率的前3个词语在softmax层中的记录。
[0204] 可以通过RNN的输入层输入作为文本语句的生成部分的一个或多个先前生成的词{w1,w2,…,wi-1}。可以通过RNN的嵌入层1和2获得向量w(t)。可以通过RNN的递归层获得向量r(t)。可以将向量w(t)和r(t)与输入图像的事实向量I一起作为三个输入向量提供给多模态层。这三个输入向量可以通过以下方式在多模态层加在一起:
[0205] m(t)=g(Vw*w(t)+Vr*r(t)+VI*I)   方程(14)
[0206] 其中,“+”表示按元素加法,m表示多模式层特征向量,g(x)是按元素缩放双曲正切函数,并且g(x)=1.7159*tanh(2x/3)。函数g(x)强迫梯度进入最非线性值范围,并且导致比基本双曲正切函数更快的训练过程。
[0207] 基于来自多模态层的输出,softmax层将从词汇集中选择下一个词语或可能的前B个接下来的词语。
[0208] 可以迭代地执行上述生成过程,并且可以直到表示文本语句结束的符号停止。
[0209] 应该理解,上述过程1700是示例性的,并且可以在过程1700中进行各种变型或改进。
[0210] 在一种实施方式中,语义扩展操作可以应用于文本描述的生成部分,例如先前生成的词。语义扩展操作可用于扩展生成部分以丰富文本描述的多样性。语义扩展操作可以基于用户简档中的事实信息和知识图谱中的知识信息中的至少一个。例如,用户简档中的事实信息可以包括关于话题、动作、地点、时间等的信息。当确定先前生成的词之一与用户简档中的事件信息中的至少一个事实信息项中的话题相关联时,可以基于这个事实信息项在语义上扩展这个先前生成的词。此外,例如,知识图谱可以包括某些领域(例如疾病、食物、药物或任何一般领域)中的知识信息,并且知识信息可以由诸如<话题1,话题2,关系>来表示。当确定先前生成的词之一与知识图谱中的一条知识信息相关联时,可以基于这条知识信息在语义上扩展这个先前生成的词。
[0211] 在一种实施方式中,在应用语义扩展操作之后,可以为先前生成的词或其扩展词语中的每一个获得情感信息,例如情感向量。在下文中,“先前生成的词”可以指先前生成的词本身以及针对该先前生成的词获得的任何扩展词。在一种方法中,先前生成的词的情感向量可以通过对该先前生成的词语执行情感分析来获得。在另一种方法中,先前生成的词的情感向量可以通过用户简档的情感信息来获得。例如,用户简档中的情感信息项可以包括话题、意见和情感类别。当确定先前生成的词与用户简档中的情感信息项中的话题相关联时,可以将该情感信息项中的情感类别视为该先前生成的词的情感类别。然后,可以基于情感类别来形成该先前生成的词的情感向量。
[0212] 应该理解,可以通过上述基于情感分析的方法和上述基于用户简档的方法中的任一个或两者来获得用于先前生成的词的情感向量。在通过基于情感分析的方法和基于用户简档的方法两者获得先前生成的词的情感向量的情况下,这个情感向量可以是分别通过这两种方法获得的情感向量的级联。而且,应该理解,尽管上述讨论涉及语义扩展操作,但该操作也可以从过程1700中省略。
[0213] 如上所述获得的先前生成的词的情感向量可以与先前生成的词的事实向量一起提供给输入层,其中事实向量可以通过对先前生成的词应用word2vec技术来获得。因此,对于每个先前生成的词,其密集向量表示可以通过事实向量和情感向量的级联形成。通过这种方式,可以基于以下至少一个在图17中生成文本描述的下一个词:与用户简档中与文本描述的生成部分相关联的情感信息;以及通过对文本描述的生成部分执行情感分析获得的情感信息。最终的文本描述应该是遵循用户的情感的情感描述。例如,对于显示多个辛辣菜肴的输入图像,如果用户简档指示用户对辛辣食物具有正面的情感,则过程1700将以正面的方式生成对输入图像的文本描述,诸如,“你吃过这么多美味的辣菜”。然而,如果用户简档指示用户对辛辣食物具有负面情感,则过程1700将以负面方式生成对输入图像的文本描述,诸如“过多的辛辣食物对健康不利”。
[0214] 通过图17中的过程1700获得的图像的文本描述可以进一步用于创建存储记录。
[0215] 图18示出了根据实施例的用于创建存储记录的示例性过程1800。
[0216] 可以在聊天机器人和用户之间的会话中接收第一组图像,例如图像1812、图像1814和图像1816。例如,用户可以在会话中与聊天机器人分享第一组图像。然后,可以根据图17中的过程1700从第一组图像生成第一组文本描述,其可以包括对应于图像1812的文本描述1822,对应于图像1814的文本描述1824,以及对应于图像1816的文本描述1826。
[0217] 在第一组图像与同一话题相关联的情况下,可以至少基于第一组图像和第一组文本描述来创建存储记录1830。存储记录1830可以将第一组文本描述链接在一起,并且因此存储记录1830可以像是描述第一组图像中所示的用户经历的“故事”。在一种实施方式中,如果两个文本描述之间的关系不明确,那么聊天机器人可以试图通过查询方式来确定关系。以文本描述1824和文本描述1826为例,如果文本描述1824关于“骑自行车爬山”,而文本描述1826关于“欣赏湖景”,为了查明分别在文本描述1824和文本描述1826中描述的这两个场景之间的关系,聊天机器人可以生成用于查询文本描述1824和文本描述1826之间的关系的问题,例如,“你在爬山后骑自行车去湖边了吗?”,并将问题提供给用户。该问题可以基于文本描述1824和文本描述1826通过序列到序列的深度学习模型生成。然后,聊天机器人可以从用户接收表示该关系的答案,例如“是的,我从山上骑我的自行车到湖边”。因此,基于以上确定的关系,聊天机器人可以从文本描述1824和文本描述1826创建存储记录,诸如“你骑自行车爬山,然后骑车到湖边去欣赏湖景”。
[0218] 如图18所示,聊天机器人也可以接收包括图像1842和图像1844的第二组图像。第一组图像和第二组图像可以按时间和/或地点排序。可以从第二组图像生成包括文本描述1852和文本描述1854的第二组文本描述。然后,可以至少基于第二组图像和第二组文本描述来创建存储记录1860。
[0219] 在一种实施方式中,聊天机器人可以尝试将存储记录1830和存储记录1860链接在一起以创建联合存储记录1870,其中联合存储记录1870可以像是描述第一组图像和第二组图像中所示的用户经历的“故事”列表。
[0220] 在存储记录1830与存储记录1860之间的关系不明确的情况下,聊天机器人可以尝试通过查询方式来确定关系。假设存储记录1830与用户到新加坡的旅行有关并且存储记录1860与用户到来西亚的旅行有关,那么聊天机器人可以生成用于查询存储记录1830与存储记录1860之间的关系的问题,例如,“你从新加坡到马来西亚旅行吗?”,并将问题提供给用户。该问题可以基于存储记录1830和存储记录1860通过序列到序列深度学习模型来生成。如果聊天机器人从用户接收到确认聊天机器人的关系假设的回答“是”,则聊天机器人可以进一步创建描述用户在新加坡和马来西亚两者旅行中的经历的联合存储记录1870。
[0221] 应该理解,过程1800中的所有操作都是示例性的,并且本发明的实施例不限于过程1800中的任何详细操作。例如,在第一或第二组图像中可以包括更多或更少的图像,存储记录1830和存储记录1860可以独立地存储在存储记录数据库中,而不是进一步创建联合存储记录1870等。
[0222] 图19示出了根据实施例的示例性聊天窗口1900。聊天窗口1900示出了根据图17中的过程1700和图18中的过程1800的聊天机器人可以创建和检索存储记录的聊天流。
[0223] 在用户在会话中输入消息“多么美好的一天!让我与你分享一些旅行照片!”后,用户可以进一步上传两张照片。根据图17中的过程1700,聊天机器人可以分别从第一张照片生成第一文本描述“你骑自行车到达山顶”,并从第二张照片生成第二文本描述“你欣赏湖景”。聊天机器人可以基于第一文本描述和第二文本描述提供响应,诸如“太棒了!看起来你骑自行车到达山顶,而且你在今天的旅行中还欣赏了湖景。”由于这两张照片都与用户今天的旅行相关联,所以聊天机器人可以尝试根据第一文本描述和第二文本描述进一步创建存储记录。聊天机器人可以生成问题:“你是从山顶上骑自行车去湖边吗?”以查询第一文本描述和第二文本描述之间的关系。在从用户接收到回答“是的,并不远”后,聊天机器人可以确定第一文本描述和第二文本描述之间的关系是首先骑自行车到山顶,然后骑自行车到湖边去享受湖景,因此聊天机器人可以创建关于用户骑自行车到山顶和湖边的旅行的存储记录。存储记录可以存储在存储记录数据库中。
[0224] 一个月之后,当用户发送消息“我真的想念上个月的旅行”时,聊天机器人可以尝试帮助用户回忆旅行中的经历。例如,聊天机器人可以从存储记录数据库检索与旅行相关联的存储记录,并且相应地提供响应“你骑自行车去了山顶和湖边”。
[0225] 根据本发明的实施例,聊天机器人可以通过在会话中进行心理或认知测试来监视用户的心理或认知状况。心理或认知测试可以以显式的方式或以隐式的方式进行。
[0226] 图20示出了根据实施例的聊天机器人和用户之间的示例性聊天窗口2000。聊天窗口2000示出了执行显式心理测试的过程。显式心理测试也可以被称为格式化心理测试,并且可以包括人为或自动预先确定的多个心理问题和参考答案。可以存在属于各种心理领域的各种类型的显式心理测试,例如“家庭”、“生活”等。
[0227] 如果用户通过输入消息(例如“我想要进行心理测试”)而明确要求心理测试,则可以确定要执行显式心理测试。此外,如果用户输入包括对来自聊天机器人的例如“你想要进行心理测试吗?”的问题的肯定响应(例如“是”)的消息,则也可以确定要执行显式心理测试。在聊天窗口2000中示出了后者的一个示例。然而,应该理解,聊天窗口2000中的聊天流是示例性的,并且本发明的实施例不限于聊天窗口2000中的任何详细表达或过程。
[0228] 如聊天窗口2000中所示,当聊天机器人询问“你想要进行心理测试吗?”时,用户输入消息“好!”作为回复。聊天机器人可以基于用户输入的消息确定用户接受进行心理测试,从而可以进行显式心理测试。
[0229] 聊天机器人可以向用户提供属于不同心理领域的两个选项,例如“家庭”和“生活”。当用户选择“家庭”时,聊天机器人可以开始在“家庭”领域中进行显式心理测试。在测试过程中,聊天机器人可以向用户发送心理问题,并接收用户的答案。一个示例性的心理问题可以是“你这些天和你的家人谈话了吗?”,可以从用户接收到示例性的答案“是的,我经常与家人谈话”。
[0230] 聊天机器人可以基于由心理学家或心理领域专家预定义的评分算法来对用户的答案进行评分,并且可以提供心理学家测试的测试结果。如图20所示,测试结果可以包括概述部分2010。概述部分2010可以包括指示测试结果的类型的一个或多个心理维度,例如家庭亲密度和家庭压力,以及通过用户在心理维度中获得的分数和级别。测试结果可以进一步包括心理维度的详细信息,例如家庭亲密度部分2020和家庭压力部分2030。以家庭亲密度部分2020为例,其包括:基本信息项,包括总分、级别、问题数量和最高分数;关键词项,包括从测试中的问题中提取的一个或多个排序最高的关键词;评论项,包括用户在家庭亲密度方面的表现的详细分析;和亲密度项,包括对用户在家庭亲密度方面的表现的简要结论。关于评论项,可以基于用户对测试中问题的答案以及通过序列到序列深度学习模型的问题中的关键词列表来生成评论项。关于亲密度项,可以使用分类器来将用户的答案分类到多个预定义级别中的一个,并且可以检索对应于匹配级别的预定义简要结论并将其显示在亲密度项中。
[0231] 应该理解,图20中的测试结果中的所有部分和项是示例性的,并且根据实际应用和要求,在测试结果中可以包括更多或更少的部分和项。此外,测试结果的形式不限于表格,而可以是任何其他形式,例如图表、纯文本等。
[0232] 应当理解的是,在一种实施方式中,测试结果可以是不仅基于用户的答案生成,而且基于与用户相关联的至少一个其他用户的答案生成。例如,当用户正在进行“家庭”心理测试时,如果用户的家庭成员之前也已经进行了该测试或相关测试,则测试结果可以基于来自用户和他的家庭成员的答案而生成。例如,可以基于用户对测试中的问题的答案、测试中的问题中的关键词的列表、用户的家庭成员进行的测试中的问题中的关键词的另一列表以及用户的家庭成员的答案来生成评论项。因此,由于考虑到用户的表现和他的家庭成员的表现,可以实现对用户的更精确和彻底的评估。
[0233] 图21示出了根据实施例的聊天机器人和用户之间的示例性聊天窗口2100。聊天窗口2100示出了执行隐式心理测试的过程。隐式心理测试可以指以隐含的方式执行心理测试,诸如以用户不能识别的方式在聊天流的会话中发送心理问题并且接收用户的答案。在某些情况下,执行隐式心理测试是重要的,目的是不花费用户太多时间,或者避免用户在被告知进行心理测试时以虚构或虚假的方式进行回答。
[0234] 在一种实施方式中,隐式心理测试中的心理问题可以基于如图20中所提及的格式化心理测试中的心理问题的变换来生成,其中,格式化心理测试中心理问题的变换可以旨在以隐含的方式表达心理问题。
[0235] 在一种实施方式中,隐式心理测试中的心理问题可以基于以下中的至少一个来生成:用户简档中话题的出现频率;以及用户对上一个问题的回答。在一个方面,隐式心理测试中的候选问题可以基于用户简档中的话题的出现频率来排序,并且可以选择与出现频率高的话题相对应的那些候选问题来提供给用户,因此与用户最相关的或者可能用户感兴趣的问题可以被包括在测试中并且可以鼓励用户回答问题而不是回避问题。在另一方面,隐式心理测试中的下一个问题可以基于用户对前一个问题的答案而动态确定。在这种情况下,可以在选择下一个问题时应用互斥标准,以避免选择互斥问题。在本文中,互斥问题可以指如果给出对前一个问题的答案,则将确定其答案的问题。例如,如果对于前一个问题“你喜欢看电影吗?”给出答案“不”,那么问题“你喜欢好莱坞电影吗?”将是一个互斥问题,因为在用户不喜欢看电影的条件下,用户肯定不会喜欢好莱坞电影。此外,例如,如果对于前一个问题“你踢足球吗?”给出答案“是的,我每周都踢足球”,那么问题“你经常锻炼吗?”将是一个互斥问题,因为在用户每周都踢足球的条件下,用户肯定必然经常锻炼。多层感知器(MLP)可以用于分类互斥问题。MLP中的特征可以包括词频向量和工程特征向量中的至少一个。词频向量可以基于词袋模型,并且工程特征向量可以基于例如BM2.5、word2vec距离、编辑距离等。
[0236] 如聊天窗口2100中所示,当用户输入消息“这些天感觉非常糟糕”时,聊天机器人可以确定用户处于负面情感。因此,聊天机器人可以进一步尝试执行隐式心理测试。例如,聊天机器人可以询问“发生了什么事情”,以便开始隐式心理测试。
[0237] 当从用户接收到答案“家庭”时,聊天机器人可以进一步询问在心理“家庭”领域中生成的问题“你的妻子或孩子?”,以确定用户的负面情感的原因。
[0238] 用户可以通过“与我的妻子无关,只是被我的孩子评判太多”来回答。因此,聊天机器人可以确认由于人际关系而使用户具有负面情感,例如被孩子评判得太多。
[0239] 聊天机器人可以进一步发送响应“哦,这很容易让人觉得累”,以便确认用户的身体反应。然后,用户可以输入消息“是的,太累了”,这确认用户在身体反应方面感到疲劳。
[0240] 当用户询问“我该怎么办?”时,聊天机器人可以给出建议“跑30分钟来振作一下精神怎么样?”。
[0241] 如上所述,聊天机器人可以从在聊天流的会话中接收到的用户的答案中学习用户的心理状况。
[0242] 应该理解,聊天窗口2100中的隐式心理测试是示例性的,并且本发明的实施例不限于聊天窗口2100中的任何详细表达或过程。
[0243] 此外,尽管未在图21中示出,但应该理解,隐式心理测试的结果可以由聊天机器人生成,其可以采用图20中所示的形式或任何其他形式。可替换地,隐式心理测试的结果也可以呈现给用户。
[0244] 图22示出了根据实施例的用于执行隐式心理测试的示例性过程2200。
[0245] 在一些情况下,过程2200可以由用户的情感曲线2202触发。如果将用户的当前情感状态判断为低于情感曲线上的预定阈值,则在2206处确定可以执行隐式心理测试。
[0246] 在其他情况下,过程2200可以由用户的当前会话2204触发。例如,如果通过情感分析将当前会话中的用户输入的消息判断具有负面情感,则在2206处确定可以执行隐式心理测试。
[0247] 如果在2206处确定不需要执行心理测试,则过程2200可以返回,以进一步判断情感曲线2202和当前会话2204。
[0248] 当确定执行隐式心理测试时,可以在2208处使用会话-问题匹配模型以至少基于当前会话2204和心理知识图谱2210来确定隐式心理测试中的心理问题。
[0249] 以图21中的聊天流为例,当用户输入“这些天感觉非常悲伤”时,当前会话可以表示为:会话1=“用户:这些天感觉非常悲伤”。问题“发生了什么事情?”可以由会话-问题匹配模型确定为心理测试中的心理问题。当用户输入“家庭”时,当前会话可以更新为:会话2=“用户:这些天感觉非常悲伤;聊天机器人:发生了什么事情?用户:家庭”。另一个问题是“你的妻子或孩子?”可以由会话-问题匹配模型确定为心理测试中的另一个心理问题。
[0250] 如上所述,会话-问题匹配模型可以决定要向用户显示哪个问题,以便进一步捕获用户对心理状况检测的意见或答案。
[0251] 可以在会话-问题匹配模型中采用梯度提升决策树(GBDT)来计算当前会话2204和心理知识图谱2210中的心理数据对中的问题之间的相似度分数,其中,这些心理数据对可以是QA式心理数据对,心理数据对中的问题也可以称为候选问题。GBDT中的特征可以基于用于信息检索的语言模型、基于翻译的语言模型、候选问题与当前会话之间的词语或字符级别的编辑距离、候选问题与当前会话之间的最大子序列比、候选问题与当前会话之间的余弦相似度分数中的至少一个。此外,如上所述,隐式心理测试中的问题可以基于以下中的至少一个来进一步生成:用户简档中的话题的出现频率;以及用户对前一个问题的答案。
[0252] 通过会话-问题匹配模型,可以为心理测试确定一个或多个心理问题。在2212处,可以向用户提供心理问题。
[0253] 在2214处,可以分析来自用户的答案。例如,根据本公开实施例的情感分析过程可以应用于来自用户的答案,以便检测用户当前的心理状况或情感状态。
[0254] 在2216处,可以确定心理测试中的所有心理问题是否都已发送给用户。如果不是,则过程2200可以返回到2208处。如果是,则可以在2218处生成心理测试结果。心理测试结果可以是各种形式,例如图20所示的测试结果等。
[0255] 应当理解,尽管在图22中未示出,但是可以存在包括在过程2200中的测试控制策略。例如,如果有很多心理问题需要发送给用户,以便获得最终结果,则过程2200可以记录用户已经回答的问题、剩余的待发送给用户的问题以及已经进行心理测试的持续时间。因此,整个心理测试可以在两个或更多个会话中的几个部分进行,而不是一次进行。
[0256] 应该理解,虽然以上结合图20至图22讨论了显式和隐式心理测试,但是也可以以类似方式进行显式和隐式认知测试。区别在于,在心理测试中,更多是关于对心理问题的情感响应,情感分析可以对情感答案进行评分,而在认知测试中,更多是关于推理或计算能力,其中答案是确定的,并且可以在用户的答案和标准答案之间进行直接比较以评估用户的认知能力,而不需要利用情感分析。例如,对于标准答案应该是“23”的认知问题“(5×3+2×4)的结果是什么”,如果用户的答案是“23”,那么用户可以获得这个问题的分数,否则用户不会获得这个问题的分数。
[0257] 图23示出了根据实施例的用于在用户与电子对话代理之间的会话中提供情感关怀的示例性方法2300的流程图。
[0258] 在2310处,可以在会话中接收第一组图像,第一组图像包括与用户相关联的一个或多个图像。
[0259] 在2320处,可以获得用户的用户简档。
[0260] 在2330处,可以至少基于用户简档中的情感信息从第一组图像生成第一组文本描述。
[0261] 在2340处,可以至少基于第一组图像和第一组文本描述来创建第一存储记录。
[0262] 在一种实施方式中,方法2300还可以包括:基于第一存储记录在会话中提供响应。
[0263] 在一种实施方式中,方法2300还可以包括:将第一存储记录存储在存储记录数据库中,存储记录数据库包括多个存储记录。在一种实施方式中,方法2300还可以包括:在会话中接收消息;从存储记录数据库检索与该消息相关联的存储记录;并基于检索到的存储记录在会话中提供响应。
[0264] 在一种实施方式中,第一组文本描述可以包括对应于第一图像的第一文本描述和对应于第二图像的第二文本描述。创建第一存储记录可以包括:生成用于查询第一文本描述与第二文本描述之间的关系的问题;在会话中提供问题;在会话中接收指示关系的答案;及至少基于关系创建第一存储记录。
[0265] 在一种实施方式中,方法2300还可以包括:在会话中接收第二组图像;至少基于用户简档中的情感信息从第二组图像生成第二组文本描述;以及至少基于第二组图像和第二组文本描述创建第二存储记录。在一种实施方式中,方法2300还可以包括:生成用于查询第一存储记录和第二存储记录之间的关系的问题;在会话中提供问题;在会话中接收指示关系的答案;以及至少基于第一存储记录、第二存储记录和关系创建联合存储记录。
[0266] 在一种实施方式中,第一组文本描述中的每一个可以通过神经网络以逐词方式生成。
[0267] 在一种实施方式中,在生成文本描述期间,可以基于以下中的至少一个来生成文本描述的下一词:用户简档中与文本描述的生成部分相关联的情感信息;以及通过对文本描述的生成部分执行情感分析获得的情感信息。用户简档中的情感信息可以包括多个情感信息项,并且每个情感信息项可以包括以下中的至少一个:感兴趣的话题、对话题的意见和意见的情感类别。
[0268] 在一种实施方式中,在生成文本描述期间,文本描述的生成部分可以通过以下中的至少一个在语义上扩展:用户简档中的事实信息和知识图谱中的知识信息。用户简档中的事实信息可以包括多个事实信息项,并且每个事实信息项可以包括以下中的至少一个:感兴趣的话题、动作、地点和时间。
[0269] 在一种实施方式中,方法2300还可以包括:在会话中执行心理测试或认知测试。心理测试或认知测试中的每个问题可以基于以下中的至少一个来确定:用户对前一个问题的答案,以及用户简档中的话题的出现频率。心理测试或认知测试中的每个问题都可以基于互斥标准来确定。心理测试或认知测试的测试结果可以基于来自用户的答案和/或来自与该用户相关联的至少一个其他用户的答案来确定。
[0270] 应当理解,方法2300还可以包括根据上述本公开实施例的用于在会话中提供情感关怀的任何步骤/过程。
[0271] 图24示出了根据实施例的用于在用户和电子对话代理之间的会话中提供情感关怀的示例性装置2400。
[0272] 装置2400可以包括:图像接收模块2410,用于在会话中接收第一组图像,第一组图像包括与用户相关联的一个或多个图像;用户简档获得模块2420,用于获得用户的用户简档;文本描述生成模块2430,用于至少基于用户简档中的情感信息从第一组图像生成第一组文本描述;及存储记录创建模块2440,用于至少基于第一组图像和第一组文本描述来创建第一存储记录。
[0273] 在一种实施方式中,第一组文本描述可以包括对应于第一图像的第一文本描述和对应于第二图像的第二文本描述。存储记录创建模块2440还可以用于:生成用于查询第一文本描述与第二文本描述之间的关系的问题;在会话中提供问题;在会话中接收指示关系的答案;及至少基于关系创建第一存储记录。
[0274] 在一种实施方式中,第一组文本描述中的每一个可以通过神经网络以逐词方式生成。在生成文本描述期间,可以基于以下中的至少一个来生成文本描述的下一词:用户简档中与文本描述的生成部分相关联的情感信息;以及通过对文本描述的生成部分执行情感分析获得的情感信息。
[0275] 此外,装置2400还可以包括根据上述本公开实施例的被配置用于在会话中提供情感关怀的任何其它模块。
[0276] 图25示出了根据实施例的用于在用户与电子对话代理之间的会话中提供情感关怀的示例性装置2500。
[0277] 装置2500可以包括一个或多个处理器2510和存储计算机可执行指令的存储器2520。当执行所述计算机可执行指令时,一个或多个处理器2510可以:在会话中接收第一组图像,第一组图像包括与用户相关联的一个或多个图像;获得用户的用户简档;至少基于用户简档中的情感信息从第一组图像生成第一组文本描述;及至少基于第一组图像和第一组文本描述来创建第一存储记录。一个或多个处理器2510可以被进一步配置用于执行根据上述本公开实施例的用于在会话中提供情感关怀的方法的任何操作。
[0278] 本公开的实施例可以实施在非暂时性计算机可读介质中。该非暂时性计算机可读介质可以包括指令,当所述指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于在会话中提供情感关怀的的方法的任何操作。
[0279] 应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。
[0280] 还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。
[0281] 已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、DSP或其它适合的平台所执行的软件。
[0282] 软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部(如,缓存或寄存器)。
[0283] 以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换,都将通过引用而明确地包含到本文中,并且旨在由权利要求所覆盖。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈