首页 / 专利库 / 人工智能 / 对话代理 / 健身辅助聊天机器人

健身辅助聊天机器人

阅读:46发布:2020-05-16

专利汇可以提供健身辅助聊天机器人专利检索,专利查询,专利分析的服务。并且本公开提供了用于在对话会话中向用户进行健身辅助的方法,包括:在对话会话中接收至少一个消息,该对话会话在该用户和 电子 对话代理 之间进行(1210);基于该对话会话和与该至少一个消息相关联的一个或多个因素更新与该用户相关联的健身意图(1220);基于与该至少一个消息相关联的一个或多个因素提取与该用户相关联的健身信息(1230);通过对该健身信息和该健身意图应用一组规则获得至少一个响应(1240);根据该至少一个响应生成包括给该用户的健身建议的响应消息(1250);向该用户提供包括该健身建议的该响应消息(1260)。,下面是健身辅助聊天机器人专利的具体信息内容。

1.一种用于在对话会话中向用户进行健身辅助的方法,包括:
在所述对话会话中接收至少一个消息,其中,所述对话会话在所述用户与电子对话代理之间进行;
基于所述对话会话和与所述至少一个消息相关联的一个或多个因素,更新与所述用户相关联的健身意图;
基于与所述至少一个消息相关联的一个或多个因素,提取与所述用户相关联的健身信息;
通过对所述健身信息和所述健身意图应用一组规则,获得至少一个响应;
根据所述至少一个响应,生成包括给所述用户的健身建议的响应消息;以及向所述用户提供包括所述健身建议的所述响应消息。
2.根据权利要求1所述的方法,其中,所述一个或多个因素包括能量信息、锻炼信息和产品信息中的至少一个。
3.根据权利要求1所述的方法,进一步包括:
至少基于所述健身意图和所述健身信息,在周期性的时间或者在预定义的时间呈现用于跟踪所述健身意图的实现的另一个消息。
4.根据权利要求1所述的方法,其中,所述健身意图指示健身计划、产品兴趣、服务需求和无意图中的至少一个。
5.根据权利要求1所述的方法,其中,所述健身信息包括能量摄入信息、能量消耗信息、锻炼类型、健康状况和运动装备中的至少一个。
6.根据权利要求1所述的方法,其中,所述健身建议包括增加能量摄入、减少能量摄入、增加锻炼、减少锻炼、放松、与健身相关的产品以及与健身相关的服务中的至少一个。
7.根据权利要求6所述的方法,其中,所述健身建议是通过基于以下中的至少一个对多个候选推荐进行排序获得的:用户简档、关于所述至少一个消息的所述多个候选推荐的点击率、能量摄入记录、锻炼记录、所述多个候选推荐的关键词竞价信息、与健身相关的知识图谱、与健身相关的问答对集合、和产品数据集。
8.根据权利要求1所述的方法,其中,所述至少一个消息包括文本消息、语音消息和图像消息中的至少一个。
9.根据权利要求1所述的方法,其中,所述至少一个消息包括图像消息,并且所述提取所述健身信息进一步包括:
识别所述图像消息中的一个或多个感兴趣区域(ROI);
估计每个ROI的能量数量;以及
通过累加每个ROI的所估计的能量数量获得所述健身信息。
10.根据权利要求1所述的方法,其中,所述获得所述至少一个响应进一步至少基于所述至少一个消息和问答对集合中的候选响应之间的依赖关系弧相似性。
11.根据权利要求10所述的方法,其中,通过以下步骤生成所述问答对集合:
对网页中的至少一个句子执行依赖关系解析;
基于所述依赖关系解析提取至少一个元组;
将所述至少一个元组转换为至少一个问答对;以及
将所述至少一个问答对包含在所述问答对集合中。
12.根据权利要求10所述的方法,其中,通过以下步骤生成所述问答对集合:
从网页中的文档中提取标题和至少一个关键句子;
从所述文档中的与每个关键句子相关的一部分提取对应于该关键句子的至少一个描述性句子;
基于所述标题和所述至少一个关键句子,和/或基于每个关键句子和至少一个相应的描述性句子,生成问答对;以及
将所述问答对包含在所述问答对集合中。
13.一种用于在对话会话中向用户进行健身辅助的装置,包括:
消息接收模,用于在所述对话会话中接收至少一个消息,其中,所述对话会话在所述用户与电子对话代理之间进行;
健身意图更新模块,用于基于所述对话会话和与所述至少一个消息相关联的一个或多个因素,更新与所述用户相关联的健身意图;
健身信息提取模块,用于基于与所述至少一个消息相关联的一个或多个因素,提取与所述用户相关联的健身信息;
响应获取模块,用于通过对所述健身信息和所述健身意图应用一组规则,获得至少一个响应;
消息生成模块,用于根据所述至少一个响应,生成包括给所述用户的健身建议的响应消息;以及
响应消息提供模块,用于向所述用户提供包括所述健身建议的所述响应消息。
14.根据权利要求13所述的装置,其中,所述一个或多个因素包括能量信息、锻炼信息和产品信息中的至少一个。
15.根据权利要求13所述的装置,进一步包括:
另一个消息呈现模块,用于至少基于所述健身意图和所述健身信息,在周期性的时间或者在预定义的时间呈现用于跟踪所述健身意图的实现的另一个消息。
16.根据权利要求13所述的装置,其中,所述健身意图指示健身计划、产品兴趣、服务需求和无意图中的至少一个。
17.根据权利要求13所述的装置,其中,所述健身信息包括能量摄入信息、能量消耗信息、锻炼类型、健康状况和运动装备中的至少一个。
18.根据权利要求13所述的装置,其中,所述健身建议包括增加能量摄入、减少能量摄入、增加锻炼、减少锻炼、放松、与健身相关的产品以及与健身相关的服务中的至少一个。
19.根据权利要求13所述的装置,其中,所述至少一个消息包括图像消息,并且所述健身信息提取模块进一步用于:
识别所述图像消息中的一个或多个感兴趣区域(ROI);
估计每个ROI的能量数量;以及
通过累加每个ROI的所估计的能量数量获得所述健身信息。
20.一种用于在对话会话中向用户进行健身辅助的计算机系统,包括:
一个或多个处理器;以及
存储器,其存储计算机可执行指令,所述计算机可执行指令被执行时,使得所述一个或多个处理器:
在所述对话会话中接收至少一个消息,其中,所述对话会话在所述用户与电子对话代理之间进行;
基于所述对话会话和与所述至少一个消息相关联的一个或多个因素,更新与所述用户相关联的健身意图;
基于与所述至少一个消息相关联的一个或多个因素,提取与所述用户相关联的健身信息;
通过对所述健身信息和所述健身意图应用一组规则,获得至少一个响应;
根据所述至少一个响应,生成包括给所述用户的健身建议的响应消息;以及向所述用户提供包括所述健身建议的所述响应消息。

说明书全文

健身辅助聊天机器人

背景技术

[0001] 人工智能(AI)对话聊天程序越来越受欢迎。通过这些对话聊天程序,也被称作聊天机器人(chatbots),用户可以与虚拟实体进行对话。聊天机器人被设计为模拟人们的对话,并且可以通过文字、语音、图像等与用户聊天。发明内容
[0002] 以下提供本发明内容以介绍将在下文具体实施方式中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在用于限制所要求保护的主题的范围。
[0003] 本公开的实施例提供了一种用于在对话会话中向用户进行健身辅助的方法。在对话会话中接收至少一个消息,其中,该对话会话在该用户和电子对话代理之间进行。基于该对话会话和与该至少一个消息相关联的一个或多个因素,更新与该用户相关联的健身意图。基于与该至少一个消息相关联的一个或多个因素,提取与该用户相关联的健身信息。通过对该健身信息和该健身意图应用一组规则来获得至少一个响应。根据该至少一个响应,生成包括给该用户的健身建议的响应消息。向该用户提供包括该健身建议的该响应消息。
[0004] 应该理解,上述一个或多个方面包括在下文充分描述且在权利要求书中特别指出的特征。以下描述和附图详细陈述了所述一个或多个方面的某些说明性的特征。这些特征仅表示利用各方面原理的各种方式,而本公开旨在涵盖所有此类方面以及其等效物。

附图说明

[0005] 以下将结合附图来描述所公开的各个方面,这些附图是用来说明而不是限制所公开的各个方面。
[0006] 图1示出了根据一个实施例的能够实现所描述的技术的示例性环境。
[0007] 图2示出了根据一个实施例的应用聊天机器人的示例性系统。
[0008] 图3示出了根据一个实施例的示例性用户界面(UI)。
[0009] 图4A-4F各示出了根据一个实施例的示例性对话流。
[0010] 图5示出了根据一个实施例的用于收集知识数据的示例性过程。
[0011] 图6A-6C示出了根据一个实施例的示例性的句子的依赖关系树。
[0012] 图7示出了根据一个实施例的用于提取问答对的示例性过程。
[0013] 图8示出了根据一个实施例的示例性的潜在语义相似性模型。
[0014] 图9示出了根据一个实施例的用于健身相关推荐的示例性过程。
[0015] 图10示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性过程。
[0016] 图11示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性过程。
[0017] 图12示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性过程。
[0018] 图13示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性过程。
[0019] 图14示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性过程。
[0020] 图15示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性装置。
[0021] 图16示出了根据一个实施例的示例性计算系统。

具体实施方式

[0022] 以下将结合若干示例性实施方式来阐述本公开。应该理解,阐述这些实施方式仅仅是为了使本领域技术人员能够更好地理解并且从而实施本公开的实施例,而不代表对本公开的范围的任何限制。
[0023] 图1示出了根据一个实施例的能够实现所描述的技术的示例性环境100。
[0024] 在图1中,网络110被应用于将终端设备120和聊天机器人服务器130互连在一起。网络110可以是能够将网络实体互连在一起的任何类型的网络。网络110可以是单个的网络或者是各种网络的组合。从覆盖范围方面来说,网络110可以是局域网(LAN)、广域网(WAN)等。从承载媒介方面来说,网络110可以是有线网络、无线网络等。从数据交换技术方面来说,网络110可以是电路交换网络、分组交换网络等。
[0025] 终端设备120可以是能够进行连接到网络110、访问网络110上的服务器或网站、处理数据或信号等操作的任何类型的电子计算设备。例如,终端设备120可以是台式计算机、膝上型计算机、平板电脑、智能电话、智能音箱、诸如运动手环和运动手表的智能运动辅助设备等。尽管在图1中仅示出了一个终端设备120,但是应该理解,不同数量的终端设备可以连接到网络110。
[0026] 终端设备120可以包括可为用户提供自动聊天服务的聊天机器人客户端122。在一些实现中,聊天机器人客户端122可以与聊天机器人服务器130交互。例如,聊天机器人客户端122可以将该用户输入的消息发送到聊天机器人服务器130,并且从聊天机器人服务器130接收与该消息相关联的响应消息。然而,应该理解,在其他实现中,在不与聊天机器人服务器130进行交互的情况下,聊天机器人客户端122也可以本地生成针对该用户输入的消息的响应。
[0027] 聊天机器人服务器130可以连接到或包含聊天机器人数据库140。聊天机器人数据库140可以包括可由聊天机器人服务器130使用以生成响应消息的信息。
[0028] 应该理解,图1中所示的所有网络实体均是示例性的,并且根据具体的应用需求,应用场景100中还可能涉及任何其他网络实体。
[0029] 图2示出了根据一个实施例的示例性聊天机器人系统200。
[0030] 聊天机器人系统200包括用于呈现聊天窗口的用户界面(UI)210。该聊天机器人可以使用该聊天窗口与用户交互。
[0031] 聊天机器人系统200可以包括核心处理模220。核心处理模块220被配置为用于在该聊天机器人的操作期间通过与聊天机器人系统200的其他模块的合作来提供处理能
[0032] 核心处理模块220可以获取用户在该聊天窗口中输入的消息,并将该消息存储在消息队列232中。该消息可以是各种多媒体形式,诸如文本、语音、图像、视频等。
[0033] 核心处理模块220可以以先进先出的方式处理消息队列232中的消息。核心处理模块220可以调用应用程序接口(API)模块240中的处理单元来处理各种形式的消息。API模块240可以包括文本处理单元242、语音处理单元244、图像处理单元246等。
[0034] 对于文本消息,文本处理单元242可以对该文本消息执行文本解析,并且核心处理模块220可以进一步确定文本响应。
[0035] 对于语音消息,语音处理单元244可以对该语音消息执行语音到文本转换以获得文本消息,文本处理单元242可以对所获得的文本消息执行文本解析,并且核心处理模块220可以进一步确定文本响应。如果确定要以语音的形式提供响应消息,则语音处理单元
244可以对该文本响应执行文本到语音转换以生成相应的语音响应消息。
[0036] 对于图像消息,图像处理单元246可以对该图像消息执行图像识别以生成相应的文本,并且核心处理模块220可以进一步确定文本响应。在某些情况下,图像处理单元246也可以用于基于该文本响应获得图像响应。
[0037] 此外,尽管未在图2中示出,API模块240可以包括任何其他处理单元。例如,API模块240可以包括视频处理单元,用于与核心处理模块220合作以处理视频消息并确定响应。
[0038] 核心处理模块220可以通过数据库250确定响应。数据库250可以包括纯聊天索引252、问答(QA)索引253、知识图谱254、产品和/或服务数据集255、用户简档数据集256、能量摄入记录257、锻炼记录258、用户日志259。应该理解,数据集252到259是说明性的,在不同的实现中可以存在更多或更少的数据集。
[0039] 纯聊天索引集252可以包括为用户与该聊天机器人之间的自由聊天准备的索引项目,并且可以利用来自社交网络的数据来建立。纯聊天索引集252中的索引项目可以是也可以不是问答对的形式。该问答对也可以被称为消息-响应对或查询-响应对。
[0040] 问答对索引集253可以包括与在该聊天机器人中实现的应用相关联的问答对。在一个实现中,问答对索引集253可以包括与健身相关的问答对。一方面,与健身相关的问答对可以被用作索引以提供与用户查询相关联的响应消息。另一方面,与健身相关的问答对可以被用作与健身相关的知识。
[0041] 知识图谱254(其也可以被称为知识数据集)可以包括话题知识数据,其通常是元组的形式。在一个实现中,知识图谱254包括与健身相关的知识数据。该健身知识涉及各种健身相关的方面,例如能量摄入信息、能量消耗信息、锻炼类型、运动、饮食、健康状况、诸如运动装备等相关产品、健康饮食、诸如锻炼训练和康复治疗等相关服务,等等。
[0042] 产品数据集255可以包括由产品提供商(例如运动装备制造商、健康饮食餐馆、健身房等等)提供的产品和/或服务的信息。由于服务也是一种产品,该术语产品在这里用来表示产品和服务。产品数据集可以由产品的提供商提供,并且可以是各种形式,诸如以问答对、元组或纯文本的形式。
[0043] 尽管问答索引253、知识图谱254和产品数据集255被图示出为分离的数据集,但是应该理解,所有这些数据集都可以提供与健身相关的知识,并且可以被称作与健身相关的知识数据。
[0044] 用户简档数据集256可以包括用户简档。该用户简档可以包括诸如性别、年龄、位置、健身偏好、身高、体重、健康状况等信息。
[0045] 能量摄入记录257可以包括各个用户的能量摄入的记录。该能量是以卡路里为单位计算的。锻炼记录258可以包括各个用户的锻炼信息的记录。并且用户日志259可以包括在该聊天机器人和各个用户之间传递的消息的日志数据。
[0046] 在接收到来自用户的查询之后,核心处理模块220可以通过使用意图分类模块260、推荐模块262、基于知识的问题回答模块264、能量计算模块266、饮食和/或锻炼计划模块268中的一个或多个,基于数据库250,生成响应。应该理解,尽管示出了模块260到268,但是在不同的实现中可以有更多或更少的模块。
[0047] 在一个实现中,意图分类模块260可以将该查询分类为具有特定意图。例如,意图分类模块260可以从该查询中识别用户意图为健身意图,例如肌肉构建、减重或运动装备需求等,并且可以将该查询分类为无意图。
[0048] 在一个实现中,当该查询被分类为无特定意图时,问题回答模块264可以基于问答索引253生成针对该查询的响应消息。当该查询被分类为具有特定意图时,推荐模块262可以基于问答索引253、知识图谱254和产品数据集255响应于该查询生成推荐。
[0049] 在一个实现中,能量计算模块266可以基于来自该用户的消息计算能量,该消息的示例可以是文本、声音或图像。饮食和/或锻炼计划模块268可以为用户生成饮食和/或锻炼计划,例如,在这个月保持轻卡路里饮食、在三个月内减掉五公斤、在一周内慢跑十公里,等等。
[0050] 可以将由核心处理模块220确定的响应提供给响应队列或响应高速缓存234,作为响应消息。例如,响应高速缓存234可以确保可以在预定义的时间流中显示响应消息的序列。
[0051] 可以进一步将响应队列或响应高速缓存234中的响应消息传送到用户界面210,使得可以在该聊天窗口中向该用户显示该响应消息。
[0052] 用户界面210可以在聊天机器人系统200中实现,并且也可以在另一个平台上实现。例如,可以在第三方聊天应用上实现用户界面210。
[0053] 应该理解,图2中的聊天机器人系统200中示出的所有元素都是示例性的,并且根据特定的应用需求,在聊天机器人系统200中可以省略一些示出的元素并且可以涉及一些其他元素。
[0054] 图3示出了根据一个实施例的示例性聊天窗口300。聊天窗口300可以包括呈现区域310、控制区域320和输入区域330。呈现区域310显示聊天流中的消息和响应消息。控制区域320包括用于用户执行消息输入设置的多个虚拟按钮。例如,通过控制区域320,该用户可以选择进行语音输入、附加图像文件、选择绘文字符号(emoji symbols)以及创建当前屏幕的快捷方式等。输入区域330用于用户输入消息。例如,该用户可以通过输入区域330键入文本。聊天窗口300可以进一步包括用于确认发送所输入的消息的虚拟按钮340。如果该用户触摸虚拟按钮340,则在输入区域330中输入的消息可被发送到呈现区域310。
[0055] 应该注意,图3中所示的所有元素及其布局都是示例性的。根据特定的应用需求,可以省略图3中的聊天窗口中的一些元素或者添加一些元素,也可以以各种方式改变图3中的聊天窗口中的元素的布局。例如,尽管该消息在呈现区域310中被示为文本,但是该消息也可以采用具有相同内容的声音的形式。因此,在诸如智能音箱、紧凑型健身助理装备等的一些实现中,提供呈现区域310的显示屏幕可能不是必需的。
[0056] 图4A示出了根据一个实施例的示例性聊天流400A。在图4A中仅示出了UI的呈现区域310。在示例性聊天流400A中,该聊天机器人通过基于与健身相关的知识(诸如健身意图和健身信息)回答来自该用户的问题提供健身建议。例如,该聊天机器人可以提供关于怎样跑得更快或者怎样热身的建议,并且还可以响应于来自该用户的查询提供与健身相关的产品的推荐。
[0057] 在该用户在410A输入消息“我怎样能跑得更快?”之后,该聊天机器人可以基于与健身相关的知识生成如412A所示的响应消息。在一个实现中,问题回答模块264可以负责通过将该用户的消息与问答索引253和知识图谱254中的知识匹配来生成该响应消息。
[0058] 在该用户在414A输入消息“如何热身?”之后,该聊天机器人可以基于与健身相关的知识生成如416A所示的响应消息。在一个实现中,问题回答模块264可以负责通过将该用户的消息与问答索引253和知识图谱254中的知识匹配来生成该响应消息。
[0059] 在用户在418A输入消息“适合长跑的好?”之后,该聊天机器人可以将该消息分类为具有诸如运动鞋需求的特定用户意图,并且该聊天机器人可以借此机会基于与健身相关的知识和与健身相关的产品数据集提供如420A所示的推荐。在一个实现中,推荐模块262可以负责通过将该用户的消息与问答索引253、知识图谱254和产品数据集255中的知识匹配来生成该推荐。推荐消息420A可以提供关于所推荐产品的简要信息,并且可以在推荐消息420A中提供更多或更少的信息,例如,可以在该消息中呈现鞋的图片。并且消息420A的下划线名称可以提供网站的链接,该网站可以提供所推荐产品的购买信息。
[0060] 图4B示出了根据一个实施例的示例性聊天流400B。在图4B中仅示出了该UI的呈现区域310。在示例性聊天流400B中,该聊天机器人响应于来自该用户的查询提供与健身相关的产品的推荐。
[0061] 在用户在410B输入消息“今天有健康食物吗?”之后,该聊天机器人可以将该消息分类为具有诸如寻找健康食物的特定用户意图,并且该聊天机器人可以借此机会基于与健身相关的知识和与健身相关的产品数据集提供如412B所示的推荐。在一个实现中,推荐模块262可以负责鉴于诸如该用户的健康状况的其他因素通过将该用户的消息与问答索引253、知识图谱254和产品数据集255中的知识匹配来生成推荐。推荐消息412B到416B可以提供关于所推荐产品的简要信息,诸如所推荐产品的图片和定购链接。
[0062] 在用户在418B输入消息“我想煮这个”之后,该聊天机器人可以基于与健身相关的知识(诸如食物食谱)生成如420B所示的响应消息。在一个实现中,问题回答模块264可以负责通过将该用户的消息与问答索引253和知识图谱254中的知识匹配来生成该响应消息。
[0063] 图4C示出了根据一个实施例的示例性聊天流400C。
[0064] 该聊天机器人在410C主动地输出消息“你晚饭吃了什么?”。
[0065] 当该用户在412输入消息“我吃了大概200克米饭、500克肉和50克西兰花”时,该聊天机器人可以基于该消息计算该用户的能量摄入量,并且将该能量摄入量记录在该用户的能量摄入记录257中。在一个实现中,能量计算模块266可以负责计算该能量摄入量和能量消耗量。
[0066] 然后,该聊天机器人在416C主动地输出消息“你今天锻炼了吗?”。在该用户在418输入消息“还没有”之后,该聊天机器人可以基于该能量摄入记录和该锻炼记录提供健身建议,例如,“看起来你今天已经摄入了过多的能量。慢跑40分钟对你有好处。出去跑步吧”,如420C所示。在一个实现中,该饮食和/或锻炼计划模块268可以负责提供该健身建议。
[0067] 在一个实现中,可以基于该能量摄入记录和该锻炼记录提供该健身建议。例如,该饮食和/或锻炼计划模块268可以基于该能量摄入记录和该锻炼记录确定该能量摄入量和该能量消耗量之间的差异,并且可以基于该差异提供建议。例如,如果该差异显示该用户已经摄入了过多的能量,则可以提供有锻炼的建议以便消耗该过多的能量摄入。并且也可以根据该数量差异来确定该有氧运动的长度。
[0068] 在一个实现中,可以基于该能量摄入记录提供该健身建议。例如,饮食和/或锻炼计划模块268可以确定该能量摄入量对于该用户而言过多或过少,并且可以基于该能量摄入量提供建议。例如,当该能量摄入量过多时,可以提供进食低卡路里食物的饮食建议和/或进行有氧锻炼的锻炼建议。例如,当该能量摄入量过少时,可以提供均衡饮食的饮食建议。
[0069] 在一个实现中,可以基于该锻炼记录提供健身建议。例如,饮食和/或锻炼计划模块268可以确定该用户在诸如一周的周期内没有进行肌肉锻炼,并且可以基于该锻炼记录提供进行肌肉锻炼的建议。
[0070] 应该理解,可以有各种方式用来基于该能量摄入记录和/或锻炼记录提供该饮食和/或锻炼计划,并且本公开不限于制定该饮食和/或锻炼计划的特定方式。
[0071] 在示例性聊天流400C中,该聊天机器人主动地询问该用户的健身信息以便在该对话会话中跟踪该健身意图的实现。可以周期地(例如在临近早饭、午饭和晚饭的时间)或者在预定义的时间(例如,当该聊天机器人被激活时或在该用户定义的任何特定时间)安排该主动询问。通过这种方式,该聊天机器人可以有效地跟踪该用户的健身意图的完成状态。
[0072] 图4D示出了根据一个实施例的示例性聊天流400D。
[0073] 在410D,该聊天机器人从该用户接收图像消息。该聊天机器人可以识别该图像中是否有食物,并且可以通过在412D输出问题“那是你的午饭吗?”,确认该用户是否食用了该图像中的食物。
[0074] 在该用户在414D输入消息“是的”之后,该聊天机器人可以确定该用户食用了该图像中的该食物。然后,该聊天机器人可以根据该图像计算该用户的能量摄入量,并将该能量摄入量记录在该用户的能量摄入记录257中。参考图4C,也可以在412C输出图像消息来代替文本或语音消息412C。该聊天机器人可以基于对话400C的上下文确定该用户食用了图像消息412C中所示的食物,因此可以不输出诸如“那是你的晚饭吗?”的问题。
[0075] 该聊天机器人可以借此机会在418D主动地输出消息“你今天锻炼了吗?”。在该用户在420D输入消息“还没有”之后,该聊天机器人可以基于该能量摄入记录和该锻炼记录在422D提供饮食建议并且在424D、426D提供锻炼建议。
[0076] 图4E示出了根据一个实施例的示例性聊天流400E。
[0077] 该聊天机器人在410E主动地输出消息“你晚饭吃了什么?”。
[0078] 在该用户在412E输入消息“还没吃晚饭”之后,该聊天机器人可以借此机会为该用户提供推荐。在一个实现中,该聊天机器人可以识别寻找食物的用户意图,并根据该用户意图提供推荐。该聊天机器人呈现该推荐,诸如414E和416E处的健康饮食餐馆。
[0079] 然后,该聊天机器人可以在420E主动地输出消息“你今天锻炼了吗?”。在该用户在422E输入消息“我在半小时内游了1000米”之后,该聊天机器人可以计算该用户消耗的能量,并将该锻炼和该能量消耗量记录在锻炼记录258中。然后,该聊天机器人可以根据该能量摄入记录和该锻炼记录在426E提供锻炼建议和饮食建议。
[0080] 图4F示出了根据一个实施例的示例性聊天流400F。
[0081] 在410F,该聊天机器人从该用户接收图像消息。该聊天机器人可以识别该图像中是否有食物,并且可以通过在412F输出问题“那是你的午饭吗?”确认该用户是否食用了该图像中的食物。
[0082] 在该用户在414F输入消息“是的”之后,该聊天机器人可以确定该用户食用了该图像中所示的食物。然后,该聊天机器人可以根据该图像计算该用户的该能量摄入量,并且将该能量摄入量记录在该用户的能量摄入记录257中。
[0083] 该聊天机器人可以借此机会在418F主动地输出消息“你今天锻炼了吗?”。在该用户在420F输入消息“我慢跑了半个小时”之后,该聊天机器人可以计算该用户消耗的能量,并且在422F将该锻炼和该能量消耗量记录在锻炼记录258中。然后,该聊天机器人可以根据该能量摄入记录和该锻炼记录在424E提供饮食建议。
[0084] 应该理解,聊天流400A到400F可以有各种变化,并且本公开不限于该特定的聊天流。
[0085] 图5示出了根据一个实施例的用于构建知识数据集的示例性过程500。
[0086] 与健身相关的词库502到508可用于为搜索引擎510提供搜索关键词。应该理解,可以使用各种类型的词库提供与健身相关的信息,并且本公开不限于该运动词库502、食物词库504、疾病词库506和运动产品词库508。运动词库与健身有关。疾病词库,特别是与运动相关的疾病,可以提供用于健身的知识,尤其是疾病或损伤恢复。食物词库可以提供用于与健身相关的食物推荐的知识。运动产品词库可以提供用于相关产品的回答和产品推荐的知识。
[0087] 可以从这些词库502到508中挑选每个条目并将其发送到搜索引擎510。搜索引擎510可以通过将该条目用作搜索关键词从网络512检索相关的网页514。
[0088] 另外或可选地,该网页可以直接来自公司馈送516。例如,诸如制造商、商店、餐馆等的合作伙伴公司可以提供相关数据,为了简单起见也将其显示为网页514。所获得的网页514可以包含相关的健身信息,诸如至少一种类型的运动、一种类型的疾病(例如与运动相关的)、一种类型的食物名称或食物菜单(例如与运动相关的)、或者一种类型的运动产品。
这样,从网络上收集用于与健身相关的知识的原材料。
[0089] 可以将该网页分类为两种类型。一类是问答式,诸如用于<运动,食物菜单推荐>、<运动,疾病解决方案推荐>、<运动,运动产品推荐>的一些问答式网站。另一类是纯文本式。
[0090] 对于纯文本,可以在518执行依赖关系解析以获得纯文本的句子的句法结构。然后,可以在520从该句子的依赖关系树提取知识元组。并且可以获得包括该知识元组的知识图谱522。
[0091] 图6A和图6B示出了根据一个实施例的两个句子的依赖关系树。该依赖关系树是通过对该句子执行依赖关系解析而获得的。可以使用任何依赖关系解析技术来执行该依赖关系解析。在该依赖关系树中显示了许多缩略词,为了简单起见,省略了与以下描述无关的一些缩略词的解释。
[0092] 提取过程520遵循将谓词与论元链接并且将实体与句法关系链接的依赖关系弧。
[0093] 食物词库504包含以下实体:nut(坚果)、almond(杏仁)、vitamin E(维生素E)、antioxidant(抗氧化剂),并且运动词库502包含以下实体:runner(跑步者)。
[0094] 然后,通过使用依赖关系树600A中所示的以下弧,可以将与运动相关的实体“runners”(跑步者)和与食物相关的实体“almonds”(杏仁)链接:,其中,nsubj代表该弧的名词式主语;,其中,dobj代表直接的宾语论元。
[0095] 然后,通过将这两个依赖关系弧组合在一起,可以获得以下元组:
[0096] 这是<实体,实体,关系>形式的元组示例,具体地,<运动,食物,关系>。通过这种方式,可以收集在给定纯文本中出现的用于食物和运动的可用关系。
[0097] 此外,可以提取两者都是食物或者两者都是运动的实体的关系。例如,可以通过利用依赖关系树600B中的以下依赖关系弧将食物“nuts”(坚果)和食物“vitamin E”(维生素E)链接:,其中,nmod代表由“of”(的)关键短语引导的名词式修饰。
[0098] 然后,通过将这两个依赖关系弧组合在一起,可以获得以下元组:
[0099] 这是一种<食物,食物,关系>元组,其暗示“nuts is a source of vitamin E”(坚果是维生素E的来源)。通过这种方式,可以收集在给定纯文本中出现的用于食物和食物的可用关系。
[0100] 所提取的元组可用于形成或更新知识图谱522,该知识图谱522是知识图谱254的一个示例。
[0101] 在524,可以将知识图谱522中的元组转换为问答对。以元组为例,其描述了两个实体“running(跑步)”(一种运动的名称)和“lean beef(瘦牛肉)”(一种食物)之间的关系“suitable food(合适的食物)”,可以将这个元组转化为以下问答对:
[0102] 问题=What is the suitable food for running?(什么是有益于跑步的食物?)答案=lean beef(瘦牛肉)。
[0103] 问题=Is lean beef suitable food for running?(瘦牛肉是有益于跑步的食物吗?)答案=Yes,it is(是的)。
[0104] 问题=What kind of sports is lean beef the suitable food?(对于什么样的运动,瘦牛肉是有益的食物?)答案=running(跑步)。
[0105] 通过这种方式,可以自动地将一个元组变成多个自然语言格的问答对。并且该自然语言风格的问答对可以帮助响应于用户的自然语言风格的问题来提供自然语言风格的答案。
[0106] 该问答对可用于创建或更新问答对集合528,问答对集合528是问答索引253的一个示例。
[0107] 在526,对于诸如用于<运动,食物菜单推荐>,<运动,疾病解决方案推荐>,<运动,运动产品推荐>的文档的问答式网站,可以从该文档中提取问答对。
[0108] 图7示出了根据一个实施例的用于提取问答对的示例性过程700。可以在图5的526处应用过程700。
[0109] 对于网页的文档中与健身相关的问答对,答案可以是解决方案的列表并且用段落的列表来描述。可以使用文档摘要算法从带有问题风格的标题的文档中挑选要点。以下表中所示的文档作为示例。
[0110]
[0111] 表格1:文档710
[0112] 在图7中,在710,给出了带有“怎样跑得更快”的标题的示例文档。在其内容中,有两个段落,并且每个段落以该段落的“关键”句子开头。对于第一段,其关键句子是“弄清楚你的当前速度”,随后是描述这一点的若干句子。对于第二段,其关键句子是“找到一个好的场地”,随后是描述这一点的若干句子。
[0113] 在712从该文档中提取标题,并且在714提取该段落中的关键句子。所提取的关键句子是该标题的问题的答案,从而在718形成问答对<标题,关键句子>,在这个例子中可以是<问题=怎样跑得更快,答案=弄清楚你的当前速度,找到一个好的场地...>。
[0114] 在716,可以从对应段落中为每个关键句子提取“描述性”句子。所提取的描述性句子是该关键句子的问题的答案,从而在720形成问答对<关键句子,描述性句子>。在这个示例中,<关键句子,描述性句子>对可以是<问题=弄清楚你的当前速度,答案=使用秒表来测量你需要多长时间能跑一英里。一旦有了一个确切的时间(不管是8分钟还是16分钟)你就可以努力做到更好>,<问题=找到一个好的场地,答案=找一个大约四分之一英里(400米)的本地的赛道或平坦的地面跑步>。
[0115] 在一些实现中,通过直接在该纯文本风格的问题的开头处附加“如何”(how)或者“怎样”(how to),可以将该问题的纯文本,诸如“问题=弄清楚你的当前速度”和“问题=找到一个好的场地”,转换为真正的问题“问题=怎样弄清楚你的当前速度”和“问题=怎样找到一个好的场地”。当该纯文本的开头是动词时,可以附加“怎样”(how to)。否则,在该纯文本的开头处附加“如何”(how)。
[0116] 在一个实现中,可以使用文档摘要模型,在714从文档中为标题提取关键句子,以及在716从段落中为关键句子提取描述性句子。
[0117] 为了构建用于该文档摘要模型的训练数据,在文档的每个段落中手动地注释该关键句子。即所选择的句子被分配标签“1”,其余的句子被分配标签“0”。然后,训练梯度提升决策树(GBDT)模型以对给定文档的句子进行评分,然后选择具有最高分数的前N个关键句子作为该文档的最终答案。类似地,对于每个段落,可以训练该GBDT模型为该段落的每个关键句子选择前X个描述性句子。
[0118] 对于文档中的句子,可以在该GBDT模型中使用以下特征:
[0119] ·当前句子的情绪分析(SA)标签是否与该文档的(平均)SA标签相似?
[0120] ·当前句子与该文档的标题共享的词语的数量,以及该共享的词语的累计TF-IDF(词频-逆文档频率)分数。词语的TF指示在该文档中该词语的词频,词语的IDF指示在该文档中有多少句子包含该词语。
[0121] ·当前句子和已经在摘要中的句子共享的词语的数量,以及该共享的词语的累积TF-IDF分数。
[0122] ·当前句子的长度(例如词语的数量)。
[0123] ·当前句子与该文档中的句子的平均长度之间的长度差异。
[0124] ·当前句子与当前摘要(例如,具有一个或两个句子)中的句子的平均长度之间的长度差异。
[0125] ·当前句子中的词语与该文档的标题中的词语之间的(最大和平均)词到向量(word2vec)相似性。
[0126] ·当前句子中的词语与当前摘要中的词语之间的(最大和平均)词到向量(word2vec)相似性。
[0127] 在该GBDT的训练期间通过使用该训练数据确定该GBDT中的特征的权重。一旦训练完成,可以使用该GBDT从整个文件中为标题提取关键句子,并且从段落中为关键句子提取描述性句子。当从段落中为关键句子提取描述性句子时,该段落被视为“文档”,而该关键句子被视为特征中的“标题”。
[0128] 在一个实现中,当从文档中为标题提取关键句子时,可以预先定义从一个段落中提取不超过一个关键句子,并且可能从一个特定段落中不提取关键句子。在另一个实现中,可以从一个段落中提取一个以上的关键句子,并且可能从一个特定段落中不提取关键句子。因此,一个关键句子不一定对应于一个段落,其可以对应于部分段落或多于一个段落。在这种情况下,从对应于该关键句子的文档部分为该关键句子提取描述性句子。
[0129] 问题回答模块264可以基于问答对集合528生成针对用户的查询的响应消息。在一个实现中,问题回答模块264可以采用学习排序(LTR)算法根据用户的特定查询对答案候选进行排序。
[0130] 在该LTR中可以使用在密集向量空间中比较查询和候选问答对的潜在语义特征。
[0131] 在一个实现中,“依赖关系弧匹配”分数可以被用作该LTR算法中的特征。以用户查询“What should runners eat?”(跑步者应该吃什么?)为例,这个句子的依赖关系树600c如图6C所示。以“Runner should eat a small handful of almonds at least three to five times per week”(跑步者应该每周至少吃三到五次少量杏仁)为例,其依赖关系树600A如图6A所示。可以通过比较它们的依赖关系树600A和600C的弧来计算该两个句子的相似性。
[0132] 可以基于文本串执行弧的比较。例如,依赖关系弧“runners(跑步者)–nsubj(名词主语)–eat(吃)”在两个依赖关系树中是相同的,依赖关系弧“should(应该)–aux(助动词)–eat(吃)”也是一样。
[0133] 通过将该弧投射到密集空间矢量、然后使用函数(诸如来自两个依赖关系弧的两个矢量的余弦分数)计算它们的相似性,可以通过潜在矢量空间来执行弧的比较。
[0134] 图8示出了根据一个实施例的潜在语义相似性模型800。
[0135] 潜在语义相似性模型800由具有控循环单元(GRU)的递归神经网络(RNN)来实现。RNN-GRU将不同的基本单位作为输入,例如词语、n元(n-gram)短语、块(chunks)和依赖关系弧。应该理解,该RNN-GRU也可以将词语、n元短语、块和依赖关系弧中的一个或多个作为输入单元。并且,该RNN-GRU编码通过表投射层(table projection layer)、嵌入1层(embedding 1layer)、嵌入2层(embedding 2layer)和递归层(recurrent layer)将基本输入单元的序列投射到密集向量空间。所得到的密集向量是该序列的潜在语义代表。
[0136] 在获得该查询的密集向量和候选句子之后,可以通过相似性函数来计算两者之间的相似性分数,该相似性函数的示例可以是该两个向量的余弦分数。
[0137] 应该理解,在潜在语义相似性模型800中可以采用任何RNN-GRU编码方法,并且采用句子的依赖关系弧作为输入单元可以提供附加维度以提高该相似性匹配的性能。
[0138] 在一个实现中,问题回答模块264被实现为LTR模型,其被用于对关于来自用户的给定查询的<问题,答案>对进行排序,选择可用的响应,例如直接选择该候选<问题,答案>对中的答案,并将其发送给最终用户。
[0139] 在一个实现中,该LTR模型采用GBDT算法,并且可以在该GBDT中使用以下特征对候选问答对进行排序。
[0140] ·该查询和该候选问题的依赖关系树之间的隐式/显式依赖关系弧相似性分数。基于如上所述的该弧的文本串级别比较来获得显式依赖关系弧相似性分数。基于如上所述的该弧的密集空间向量级别比较来获得隐式依赖关系弧相似性分数。
[0141] ·该查询和该候选答案的依赖关系树之间的隐式/显式依赖关系弧相似性分数。
[0142] ·对于该候选答案的该用户的和其他用户的肯定反馈的频率。
[0143] ·用于关于查询q和候选问题Q的信息检索的语言模型。
[0144] 给定查询q和候选问题Q,该特征通过以下等式测量q和Q之间的相关性:
[0145] P(q|Q)=∏w∈q[(1-λ)Pml(w|Q)+λPml(w|C)]  等式(1)
[0146] 其中Pml(w|Q)是从Q估计的词语w的最大似然估计,Pml(w|C)是平滑项,其被计算为在大规模语料库C中的最大似然估计。这里,语料库C可以是问答对集合。该平滑项避免出现零概率,零概率来源于出现在候选Q中而不出现在消息q中的那些词语。λ是一个在似然估计和平滑项之间起折衷作用的参数,其中λ∈(0,1)。当该查询和该候选问题之间有多个词语重叠时,这个特征效果良好。
[0147] ·用于关于查询q和候选答案A的信息检索的语言模型。也可以通过将答案A作为等式(1)中的Q使用等式(1)来计算该查询和候选答案之间的这个语言模型相似性分数。
[0148] ·关于查询q和候选问题Q的基于翻译的语言模型。
[0149] 这个特征从诸如问答对学习词语到词语和/或短语到短语的翻译概率,并且将所学习的信息合并到最大似然估计中。
[0150] 给定查询q和候选问题Q,基于翻译的语言模型被定义为:
[0151] Ptrb(q|Q)=∏w∈q[(1-λ)Pmx(w|Q)+λPml(w|C)]  等式(2)
[0152] Pmx(w|Q)=αPml(w|Q)+βPtr(w|Q)  等式(3)
[0153] Ptr(w|Q)=∑v∈QPtp(w|v)Pml(v|Q)  等式(4)
[0154] 这里λ,α和β是满足λ∈(0,1)和α+β=1的参数。
[0155] Ptp(w|v)是从Q中的词语v到q中的词语w的翻译概率。
[0156] ·关于查询q和候选答案A的基于翻译的语言模型。也可以通过将答案A作为等式(2)到(4)中的Q使用等式(2)到(4)来计算该查询和该候选答案之间的这个语言模型相似性分数。
[0157] ·词语或字符级别的该查询和该候选问题之间的编辑距离。
[0158] ·该查询与该候选问题之间的最大子序列比率。
[0159] ·RNN-GRU
[0160] 图8中示出了RNN-GRU的一个示例。RNN-GRU可以将词语、短语、n元和依赖关系弧中的至少一个作为输入单元,以便计算该查询与该候选问题之间的相似性分数,并计算该查询与该候选响应之间的相似性分数。这两个相似性分数都可以被用作该GBDT的特征。
[0161] 应该理解,在不同的实现中可以在GBDT中使用更多或更少的特征。
[0162] 图9示出了根据一个实施例的用于健身产品推荐的示例性框架900。
[0163] 在910输入用户查询。该用户输入可以是文本、声音或图像格式。如上所述,该声音或图像消息可以被API模块244和246转换为文本消息。因此,以下描述以文本消息为例。
[0164] 查询意图分类模型912将文本查询作为输入并且预测用户的消费意图。例如,可以预定义多个意图,该意图的示例可以包括健身服装需求、健身装备需求、健身食物需求、疾病恢复需求、健康饮食需求等等。当意图分类模型912将该查询分类为该预定义意图之一时,推荐模型928可以操作以提供候选推荐。
[0165] 用户点击模型914针对特定查询预测诸如候选产品的候选推荐的点击率(CTR)。用于这个用户点击模型的输入可以是<用户ID,用户历史点击记录,用户简档,历史查询,当前查询>,并且目标是为了针对该查询预测候选推荐的点击率。
[0166] 产品提供商926可以供应产品数据集922并且可以通过竞价界面924竞价匹配关键词。
[0167] 可以将从912输出的用户意图、从914输出的候选推荐的点击率、产品数据集922、竞价信息以及用户简档916、问答对集合918和知识图谱920作为推荐模型928的输入,以排序得出候选推荐列表930。其中,用户简档916、问答对集合918、知识图谱920和推荐模型928可以是用户简档256、问答索引253、知识图谱255和推荐模块262的示例。用户简档916可以包括该用户的性别、年龄、活动空间、关注的健身信息,并且可以从用户日志数据中提取这样的信息。
[0168] 可以首先向该用户输出具有最高排序分数的候选推荐。如果从该用户接收到肯定的反馈,如932的“是的”分支所示,则在936该推荐过程完成。如果从该用户接收到否定的反馈,如932的“不是”分支所示,则在934检查该列表中是否存在其他候选推荐。如果在934为“是的”,则向该用户输出具有次最高排序分数的下一候选推荐,而如果在934为“不是”,则在936该推荐过程完成。作为替代方式,如果在934为“不是”,则可以通知该用户不存在针对该查询的合适的候选推荐并且可以存储这样的结果。也可以基于这样的结果生成反馈并提供给该产品提供商,使得该产品提供商可以知道可能需要改进其产品列表或开发新产品。然后,该用户的针对相应候选推荐的点击动作被转送到用户点击模型914,并且相应地,用户点击模型914可以使用该用户的点击动作更新历史用户点击记录。一个产品的用户点击记录的示例可以是针对该产品的该用户的肯定反馈的数量和否定反馈的数量。
[0169] 用户意图分类模型912可以将该用户的当前查询作为输入,并参考历史用户日志以及诸如用户年龄、性别、位置、健身偏好的用户简档信息作为用于特征构建的参考。可以使用支持向量机(SVM)模型来实现用户意图分类模型912。该SVM模型的输出包括一组用户的意图,诸如“肌肉构建”、“减重”、“术后恢复”、“健康食物寻求”、“运动服装需求”、“运动装备需求”、“运动服务需求”、“运动场地需求”等等。应该理解,被标记的意图不限于所示出的意图,并且在不同的实现中可以在该SVM的训练中标记更多或更少的意图。
[0170] 在一个实现中,可以在该SVM模型中使用以下特征以训练<查询,用户日志,用户简档>和一组用户意图之间的非线性关系。
[0171] ·用户简档,如性别、年龄、关注的健身信息和活动场所。
[0172] ·用户点击模型的输出,即推荐候选的CTR预测。
[0173] ·n词元(word ngrams),诸如该查询中的词语的一元(unigrams)和二元(bigrams)。这是一个基于字符串的特征。以n词元为单位执行该查询与该候选推荐之间的匹配。
[0174] ·n字符元(character ngrams)。这也是一个基于字符串的特征。对于该查询中的每个词语,提取n字符元以执行该查询和该候选推荐之间的基于字符串的匹配。例如,使用四元和五元作为基于字符串的匹配单位。该n字符元对于诸如中文和日文的亚洲语言是尤其有优势的。
[0175] ·词元略过(word skip-grams)。对于在该查询中所有的三元和四元,使用符号替换该词中的一个词以指示非连续词的存在。
[0176] ·布朗聚类n元(Brown cluster n-grams)。使用布朗聚类代表查询中的词,然后提取一元和二元作为特征。
[0177] ·词性(POS)标签。词性标签的存在或不存在被用作二元特征。
[0178] ·社交网络相关词语。例如,该查询中的话题标签、表情符号、加长词语和标点符号的数量被作为特征。
[0179] ·词到向量(Word2vec)聚类n元。可以使用词到向量工具(米克罗夫(Mikolov)等人,2013)从社交网络数据集学习100维的词嵌入(word embedding)。然后,可以使用K-平均算法和词向量的L2距离来将百万级词汇聚类为200类。使用这些类表示在该查询中的广义的词语。
[0180] ·该查询中的也包括在疾病词典中的词语的数量。
[0181] ·该查询中的也包括在运动训练词典中的词语的数量。
[0182] ·该查询中的也包括在食品相关词典中的词语的数量。
[0183] ·基于用户日志情绪分析的用户对特定话题的情感/意见。
[0184] 应该理解,以上所讨论的用于该SVM模型的特征是说明性的而不是限制性的,可以有更多或更少的特征用于该SVM模型。
[0185] 该用户点击模型可以预测针对特定查询的候选产品的CTR。用于这个用户点击模型的输入可以是<用户ID,用户历史点击记录,用户简档,当前查询>,并且该输出是预测针对特定查询的候选产品的CTR。
[0186] 如图9中从“完成”块936到用户点击模型914的箭头所示,在线更新对于产品的用户点击行为。用户点击模型914存储该历史用户点击记录并且在给定的时间间隔期间进行自身的再训练,诸如每天一次、每周一次再训练等等。
[0187] 在一个实现中,可以使用以下特征训练逻辑回归模型以实现用户点击模型914。该逻辑回归模型是有优势的,因为它容易被训练/再训练并且具有快速解码速度。
[0188] ·用户简档,如性别、年龄、有关的健身信息和活动场所。
[0189] ·用户的历史点击记录,该记录的示例性格式为<用户ID,产品,点击次数>或<用户ID,推荐,点击次数>。
[0190] ·n词元(word ngrams),诸如该查询中的词语的一元(unigrams)和二元(bigrams)。
[0191] ·n字符元(character ngrams)。对于该查询中的每个词语,提取n字符元。
[0192] ·词元略过(word skip-grams)。对于在该查询中所有的三元和四元,使用符号替换该词语中的一个词语以指示非连续词语的存在。
[0193] ·布朗聚类n元(Brown cluster n-grams)。使用布朗聚类代表查询中的词语,然后提取一元和二元作为特征。
[0194] ·词性(POS)标签。词性标签的存在或不存在被用作二元特征。
[0195] ·社交网络相关词语。例如,该查询中的话题标签、表情符号、加长词和标点符号的数量被作为特征。
[0196] ·词到向量(Word2vec)聚类n元。可以使用词到向量工具(米克罗夫(Mikolov)等人,2013)从社交网络数据集学习100维的词嵌入(word embedding)。然后,可以使用K-平均算法和词向量的L2距离来将百万级词汇聚类为200类。使用这些类来表示在该查询中的广义的词语。
[0197] 应当理解,以上所讨论的用于该逻辑回归模型的特征是说明性的而不是限制性的,可以有更多或更少的特征用于该逻辑回归模型。
[0198] 可以通过使用学习排序(LTR)架构来构建推荐模型928,具体地,基于相关性的推荐模型。推荐模型928用于对特定用户在特定查询下的可用推荐(例如产品与其提供者)进行排序。训练梯度提升决策树(GBDT)用于该排序。在一个实现中,以下特征可以用于该GBDT。
[0199] ·查询意图分类模型的输出,即查询意图及其概率。
[0200] ·用户简档,如性别、年龄、有关的健身信息和活动场所。
[0201] ·用户点击模型的输出,即推荐候选的CTR预测。
[0202] ·关键词竞价数据,诸如与推荐候选相关的关键词的竞价价格。
[0203] ·n词元(word ngrams),诸如该查询中的词语的一元(unigrams)和二元(bigrams)。
[0204] ·n字符元(character ngrams)。对于该查询中的每个词语,提取n字符元,以执行该查询和该候选推荐之间的基于字符串的匹配。
[0205] ·词元略过(word skip-grams)。对于在该查询中所有的三元和四元,使用符号替换该词语中的一个词语以指示非连续词语的存在。
[0206] ·布朗聚类n元(Brown cluster n-grams)。使用布朗聚类代表查询中的词语,然后提取一元和二元作为特征。
[0207] ·词性(POS)标签。词性标签的存在或不存在被用作二元特征。
[0208] ·社交网络相关词语。例如,该查询中的话题标签、表情符号、加长词和标点符号的数量被作为特征。
[0209] ·词到向量(Word2vec)聚类n元。
[0210] 应该理解,以上所讨论的用于该GBDT模型的特征是说明性的而不是限制性的,可以有更多或更少的特征用于该GBDT模型。
[0211] 图10示出了根据一个实施例的通过自动聊天进行健身辅助的示例性过程1000。
[0212] 在1010,该聊天机器人可以主动地要求该用户提供能量摄入信息。例如,如图4C和图4E所示,可以向该用户呈现消息“你晚饭吃了什么?”。
[0213] 如果在1012该聊天机器人从该用户接收到否定反馈,例如,该否定反馈可以是如图4E中所示的“还没有吃晚饭”,则该聊天机器人可以借此机会为该用户提供食物推荐。推荐模块262或928可用于提供该食物推荐。应该理解,该推荐不一定是诸如餐馆或者食物等产品,也可以是来自网络或其他用户的食物菜单或食谱。
[0214] 如果在1012该聊天机器人从该用户接收到肯定反馈,例如,该肯定反馈可以是“我吃了大概200克米饭、500克牛肉和50克西兰花”,如图4C的412C所示,则该聊天机器人可以在1016基于该用户输入消息的信息计算该用户的能量摄入量,并且在1018将该能量摄入量记录在该用户的能量摄入记录中。在一个实现中,该食物的类型和该能量摄入量一起被保存在该能量摄入记录中。可以使用任何方法来基于该文本消息计算食物的能量数量。例如,可以预先定义食物-能量关系词库,基于该词库计算食物的能量数量。
[0215] 该肯定反馈的另一个示例可以是图像消息,诸如图4D中的410D所示的图像。可以使用任何方法来基于该图像消息计算食物的能量数量。例如,可以使用诸如AlexNet深度CNN网络的2D卷积神经网络(CNN)来基于该图像消息计算食物的能量数量。
[0216] 在一个实现中,可以通过使用AlexNet深度CNN网络实现感兴趣区域(ROI)分类模型。可以通过使用<图像,标记了ROI的图像>对训练该ROI分类模型,其中,使用该图像作为该ROI分类模型的输入,使用该标记了ROI的图像作为该ROI分类模型的输出。用食物图像训练的该ROI分类模型可以提取对应于该图像中所示出的食物的不同食物类型的ROI。
[0217] 可以通过使用另一个AlexNet深度CNN网络实现能量预测模型。可以通过使用<食物相关图像,能量值>对训练该能量预测模型,其中,使用优选地显示一种食物的图像作为该能量预测模型的输入,使用能量值作为该能量预测模型的输出。用<食物相关图像,能量值>对训练的该能量预测模型可以预测对应于一种类型食物的ROI的能量值。
[0218] 对于诸如图4D中的410D处的食物相关图像,该ROI分类模型可以将该食物相关图像作为输入,并提取与不同食物对应的ROI,然后该能量预测模型可以将该ROI中的每一个作为输入并且预测对应于该ROI的食物的能量数量。然后,可以累积对应于该ROI的能量以获得该图像中所示的食物的能量数量。
[0219] 在一个实现中,如果在1016该聊天机器人未能基于该食物相关图像计算能量数量,则该聊天机器人可以输出消息,要求该用户在文本消息或语音消息中提供食物信息。
[0220] 然后,在1120,该聊天机器人可以主动地输出消息以询问该用户的锻炼信息。例如,可以向该用户呈现如图4C中的416C的消息“你今天锻炼了吗?”。
[0221] 如果在1022该聊天机器人从该用户接收到否定反馈,例如,该否定反馈可以是如图4C中的418C所示的“还没有”,则在1028,该聊天机器人可以基于该能量摄入记录和/或锻炼记录提供关于锻炼和/或能量摄入的建议。例如,“看起来你今天已经摄入了过多的能量。慢跑40分钟对你有好处。出去跑步吧”,如420C所示,其中,提供了能量摄入建议和锻炼建议。应该理解,该聊天机器人对于该用户已摄入的能量和进行的锻炼的评论也是能量摄入建议和锻炼建议。
[0222] 在其他实现中,可能基于该锻炼记录仅提供锻炼建议。例如,该聊天机器人可以基于指示该用户若干次未做肌肉锻炼的记录而建议做肌肉锻炼。
[0223] 有可能基于该能量摄入记录仅提供锻炼建议。例如,该聊天机器人可以基于指示该用户当前摄入过多的能量的能量摄入记录而建议做有氧运动。
[0224] 有可能基于该能量摄入记录仅提供能量摄入建议。例如,该聊天机器人可以基于指示该用户摄入过多的能量的能量摄入记录而建议低卡路里食物食谱。
[0225] 有可能基于该锻炼记录仅提供能量摄入建议。例如,该聊天机器人可以基于指示该用户刚刚完成有氧运动的锻炼记录而建议诸如少量杏仁等食物,其中,对于有氧运动少量杏仁是良好的营养补充。
[0226] 如果在1022该聊天机器人从该用户接收到肯定反馈,例如,该肯定反馈可以是如图4E中的422E所示的“我半小时内游了1000米”,则该聊天机器人可以在1024基于从该用户接收的消息计算用户所消耗的能量,并且在1026将该能量消耗量记录在该锻炼记录中。在一个实现中,该锻炼和该能量消耗量被一起保存在该锻炼记录中。可以使用任何方法来基于该文本消息计算锻炼的能量消耗量。例如,可以预先定义运动-能量关系词库,基于该词库计算锻炼的能量消耗量。
[0227] 图11示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性过程1100。
[0228] 在1110,该聊天机器人可以从该用户接收食物相关图像。例如,可以由该用户发送图4D中的410D处的食物相关图像。
[0229] 在这种情况下,该聊天机器人很难确定该用户输入的图像是否示出了该用户所食用的食物。在1112,该聊天机器人呈现消息以询问该用户是否使用了该食物。例如,如图4D中的412D所示,可以在1112向该用户呈现消息“那是你的午饭吗?”。
[0230] 如果在1114该聊天机器人从该用户接收到否定反馈,则在1116该聊天机器人可以基于该反馈进行操作。
[0231] 如果在1114该聊天机器人从该用户接收到肯定反馈,则该过程进行到1118。1118到1130的操作类似于图10中的1016到1028的操作,因此不再详细描述。
[0232] 图12示出了根据一个实施例的用于在对话会话中向用户进行健身辅助的示例性方法1200。
[0233] 在1210,在对话会话中从用户接收至少一个消息,其中该对话会话在该用户和电子对话代理之间进行。在1220,基于该对话会话和与该至少一个消息相关联的一个或多个因素,更新与该用户相关联的健身意图。在1230,基于与该至少一个消息相关联的一个或多个因素,提取与该用户相关联的健身信息。在1240,通过对该健身信息和该健身意图应用一组规则获得至少一个响应。在1250,根据该至少一个响应,生成包括给该用户的健身建议的响应消息。在1260,向该用户提供包括该健身建议的该响应消息。
[0234] 这里给出一些规则作为示例。
[0235] 对于减重的示例性意图:如果该聊天机器人接收到消息为“午饭我吃了三个大汉堡”和/或“我今天没有做任何锻炼”,并且在该对话会话期间判断该用户的健身意图是“减重”,则该聊天机器人可以将该健身信息提取为“午饭吃了三个大汉堡”和/或“没有锻炼”,并确定该用户的该健身信息不符合或不利于该用户的健身意图的实现,因此,该聊天机器人可以给出健身建议:“看来你今天摄入了过多的热量。晚饭不要吃太多,应该慢跑40分钟”。或者,如果该聊天机器人收到消息为“午饭我吃了200克米饭、500克牛肉和50克西兰花”和/或“我在半小时内游了1000米”,并且在该对话会话期间判断该用户的健身意图是“减重”,则该聊天机器人可以将该健身信息提取为“午饭吃了200克大米、500克牛肉和50克西兰花”和/或“游泳1000米”,并确定该用户的该健身信息符合或有助于实现该用户的健身意图,因此,该聊天机器人可以给出健身建议:“你今天的饮食很健康”和/或“你今天已经做了足够的锻炼,晚饭不要吃太多”,或者“不错,保持相似的饮食和/或锻炼”。作为另一种方式,如果该聊天机器人收到消息为“午饭我吃了200克米饭、500克牛肉和50克西兰花”和/或“我今天没有做任何锻炼”,并且在该对话会话期间判断该用户的健身意图是“减重”,则该聊天机器人可以将该健身信息提取为“午饭吃了200克米饭、500克牛肉和50克西兰花”,其被确定为符合或有助于实现该用户的健身意图,和/或“没有锻炼”,其被确定为不符合或不利于该用户的健身意图的实现,因此,该聊天机器人可以给出健身建议:“你今天的饮食很健康”和/或“下午你可以吃少量坚果”和/或“你可以慢跑40分钟”。
[0236] 对于肌肉构建的示例性意图:如果该聊天机器人接收到消息为“今天我什么都没有吃(或者只吃了是一些蔬菜和/或果)”和/或“我今天没有做任何锻炼”并且在该对话会话期间判断该用户的健身意图是“肌肉构建”,则该聊天机器人可以将该健身信息提取为“没吃东西或吃的少”和/或“没有锻炼”,并且确定该用户的健身信息不符合或不利于该用户的健身意图的实现,因此,该聊天机器人可以给出健身建议:“看起来你今天摄入了过少的能量,你应该吃一些牛肉、鸡蛋或鸡胸肉并做一些肌肉锻炼,例如每组20个俯卧撑,3组和每组30个仰卧起坐,3组”。或者,如果该聊天机器人接收到消息为“午饭我吃了200克蛋、500克牛肉和200克面包”和/或“我做了2小时肌肉锻炼”,并在该对话会话期间判断该用户的健身意图是“肌肉构建”,则该聊天机器人可以将健身信息提取为“午饭吃了200克蛋、500克牛肉和200克面包”和/或“2小时肌肉锻炼”,并确定该用户的健身信息符合或有助于该用户的健身意图的实现,因此,该聊天机器人可以给出健身建议为“今天你已经摄入了足够的蛋白质”和/或“今天你已经做了足够的锻炼,晚饭不要吃太多的脂肪”,或者“不错,保持相似的饮食和/或锻炼”。作为另一种方式,如果该聊天机器人接收到消息为“午饭我吃了200克蛋、500克牛肉和200克面包”和/或“我今天没有做任何锻炼”,并且在该对话会话期间判断该用户的健身意图是“肌肉构建”,则该聊天机器人可以提取该健身信息为“午饭吃了200克蛋、
500克牛肉和200克面包”,其被确定为符合或有助于实现该用户的健身意图,和/或“没有锻炼”,其被确定为不符合或者不利于该用户的健身意图的实现,因此该聊天机器人可以给出“你今天的饮食很健康”和/或“下午你可以吃少量坚果”和/或“你今天应该做两个小时的肌肉锻炼计划”的健身建议。
[0237] 对于示例性的产品兴趣意图:如果该聊天机器人接收到消息为“怎样可以跑得更快”并且在该对话会话期间判断该用户的健身意图是“产品兴趣”,则该聊天机器人可以提取该健身信息为“跑得更快”,并且使用这样的健身信息、健身意图、用户简档和一些其他特征作为推荐模型的输入以获得关于最合适的产品的信息,因此,该聊天机器人可以给出健身建议“新百伦新鲜泡沫Zante v3跑鞋和耐克跑步服装有利于跑得更快”。或者,如果该聊天机器人发现没有用于跑得更快的合适的产品,即该推荐模型输出“无”,然后该聊天机器人可以给出响应消息“没有用于跑得更快的合适的产品给你”和/或“你是否对有利于游的更快的泳衣感兴趣”和/或“你是否对有利于跑得更快的跑步技术感兴趣?”,并且可以向产品提供商提供反馈,让产品提供商了解可能需要改进其产品列表或开发新产品。
[0238] 用于示例性的服务需求意图的规则可以与用于产品兴趣意图的规则类似。因此,为了简单起见,这里省略了用于该服务需求的特别示例。
[0239] 对于无意图,例如,只是问答形式:如果该聊天机器人接收到消息为“附近有餐馆吗?”,并且在该对话会话期间判断该用户没有意图,则该聊天机器人可以提取关键词“餐馆”,“附近”,将这样的关键词与问答索引和/或知识图谱中的候选答案匹配,选择具有最高匹配分数的候选答案,并给出答案为“在你面前100米处有一家麦当劳”,而不管这个餐馆是否有利于健身。
[0240] 应该理解,以上所讨论的用于该规则的示例是说明性的而不是限制性的,并且可以有任何其他类型的规则应用于在对话会话中向用户进行健身辅助的方法。
[0241] 在一个实现中,该一个或多个因素包括能量信息、锻炼信息和产品信息中的至少一个。
[0242] 在一个实现中,该方法进一步包括:至少基于该健身意图和该健身信息,在周期性时间或在预定义时间呈现用于跟踪该健身意图的实现的另一个消息。
[0243] 在一个实现中,该健身意图指示健身计划、产品兴趣、服务需求和无意图中的至少一个。
[0244] 在一个实现中,该健身信息包括能量摄入信息、能量消耗信息、锻炼类型、健康状况和运动装备中的至少一个。
[0245] 在一个实现中,该健身建议包括增加能量摄入、减少能量摄入、增加锻炼、减少锻炼、放松、与健身相关的产品以及与健身相关的服务中的至少一个。
[0246] 在一个实现中,通过基于以下中的至少一个对多个候选推荐进行排序来获得该健身建议:用户简档、关于该至少一个消息的该多个候选推荐的点击率、能量摄入记录、锻炼记录、该多个候选推荐的关键词竞价信息、与健身相关的知识图谱、与健身相关的问答对集合,和产品数据集。
[0247] 在一个实现中,该至少一个消息包括文本消息、语音消息和图像消息中的至少一个。
[0248] 在一个实现中,该至少一个消息包括图像消息。提取该健身信息的操作进一步包括:识别该图像消息中的一个或多个感兴趣区域(ROI);为每个ROI估计能量数量;通过累积每个ROI的估计能量数量来获得该健身信息。
[0249] 在一个实现中,获得该至少一个响应的操作进一步至少基于该至少一个消息和问答对集合中的候选响应之间的依赖关系弧相似性。
[0250] 在一个实现中,通过以下操作生成该问答对集合:对网页中的至少一个句子执行依赖关系解析,基于该依赖关系解析提取至少一个元组,将该至少一个元组转换为至少一个问答对,并将该至少一个问答对包括在该问答对集合中。
[0251] 在一个实现中,通过以下操作生成该问答对集合:从网页中的文档中提取标题和至少一个关键句子,从与每一个关键句子相关的该文档的部分提取对应于该每一个关键句子的至少一个描述性句子,基于该标题和该至少一个关键句子和/或基于每个关键句子和至少一个对应的描述性句子生成问答对,并且将该问答对包括在该问答对集合中。
[0252] 图13示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性方法1300。
[0253] 在1310,在该对话中接收消息。在1320,对来自问答对集合的候选问答对和该消息之间的匹配率进行评分。在1330,基于该匹配率从该候选问答对中选择至少一个候选答案。在1340,在该对话中呈现该至少一个候选答案。
[0254] 在一个实现中,基于以下中的至少一个来对该匹配率进行评分:该消息的依赖关系树和候选问题的依赖关系树之间的依赖关系弧相似性分数;该消息的依赖关系树与该候选问题对应的候选答案的依赖关系树之间的依赖关系弧相似性分数;以及该用户和/或其他用户对该候选答案的情感反馈。
[0255] 在一个实现中,通过以下步骤生成该问答对集合:对网页上的句子执行依赖关系解析,从解析的句子中提取元组,并将该元组转换为问答对;和/或从网页中提取问答对。
[0256] 在一个实现中,通过以下步骤从网页中提取该问答对:从网页的文档中提取标题和至少一个关键句子;从与每个关键句子相关的文档的每个部分中提取至少一个描述性句子;以及通过将该标题和该至少一个关键句子分别作为问题和答案并将每个关键句子和对应的至少一个描述性句子分别作为问题和答案,形成问答对。
[0257] 图14示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性方法。
[0258] 在1410,在该对话中接收消息。在1420,基于该消息识别与健身相关的用户意图。在1430,基于该用户意图对候选推荐的匹配率进行评分。在1440处,基于该匹配率在该对话中呈现该候选推荐中的至少一个。
[0259] 在一个实现中,进一步基于以下中的至少一部分,对候选推荐的匹配率进行评分:该用户的用户简档、关于该消息的候选推荐的点击率、该用户的能量摄入记录、该用户的锻炼记录、候选推荐的关键词竞价信息、与健身相关的知识图谱、与健身相关的问答对集合以及产品数据集。
[0260] 图15示出了根据一个实施例的用于通过自动聊天进行健身辅助的示例性装置。
[0261] 装置1500包括消息接收模块1510、健身意图更新模块1520、健身信息提取模块1530、响应获取模块1540、响应消息生成模块1550和响应消息提供模块1560。消息接收模块
1510在该对话会话中接收至少一个消息。该对话会话在该用户与电子对话代理之间进行。
健身意图更新模块1520基于该对话会话和与该至少一个消息相关联的一个或多个因素更新与该用户相关联的健身意图。健身信息提取模块1530基于与该至少一个消息相关联的一个或多个因素提取与该用户相关联的健身信息。响应获取模块1540通过对该健身信息和该健身意图应用一组规则,获得至少一个响应。响应消息生成模块1550根据该至少一个响应,生成包括给用户的健身建议的响应消息。响应消息提供模块1560向该用户提供包括该健身建议的该响应消息。
[0262] 在一个实现中,该至少一个消息包括图像消息。能量信息获取模块1520基于该图像消息估计食物的能量信息。能量记录模块1530基于该对话的上下文识别该用户是否食用了该图像消息中所示的食物,并且如果该用户食用了该图像消息中所示的食物,将该能量信息记录为该用户的能量摄入信息。
[0263] 在一个实现中,基于呈现要求该用户提供食物摄入信息的消息以及接收图像消息作为响应的上下文,能量记录模块1530识别该用户是否食用了该图像消息中示出的食物。
[0264] 在一个实现中,基于来自该用户的响应于问题的答案,能量记录模块1530识别该用户是否食用了该图像消息中示出的食物,其中,该问题是关于该用户是否食用了该图像消息中示出的食物。
[0265] 在一个实现中,装置1500包括用于基于该至少一个消息识别用户意图的用户意图模块以及用于基于该用户意图在该对话中为该用户提供推荐的推荐模块。
[0266] 在一个实现中,消息接收模块1510在该对话中接收第二消息。该装置包括问题回答模块,用于对来自问答对集合的候选问答对和该第二消息之间的匹配率进行评分,并且基于该匹配率从该候选问答对中选择至少一个候选答案。消息呈现模块1540在该对话中呈现该至少一个候选答案。
[0267] 在一个实现中,消息接收模块1510在该对话中接收第三消息。该装置包括用于基于该第三消息识别与健身相关的用户意图的用户意图模块,以及用于基于该用户意图对候选推荐的匹配率进行评分的推荐模块。消息呈现模块1540基于该匹配率在该对话中呈现该候选推荐中的至少一个。
[0268] 在一个实现中,基于以下中的至少一部分,该推荐模块对候选推荐的匹配率进行评分:该用户的用户简档、关于该第三消息的候选推荐的点击率、该用户的能量摄入记录、该用户的锻炼记录、候选推荐的关键词竞价信息、与健身相关的知识图谱、与健身相关的问答对集合以及产品数据集。
[0269] 应该理解,装置1500还可以包括被配置为用于执行根据以上结合图1-14所述的各实施例来执行任何操作的任何其他模块。
[0270] 图16示出了根据一个实施例的示例性计算系统1600。
[0271] 系统1600可以包括一个或多个处理器1610。系统1600可以进一步包括与该一个或多个处理器1610连接的存储器1620。
[0272] 存储器1620可以存储计算机可执行指令,该计算机可执行指令在被执行时,使得该一个或多个处理器1610:在该对话会话中接收至少一个消息,其中该对话会话在该用户与电子对话代理之间进行;基于该对话会话和与该至少一个消息相关联的一个或多个因素,更新与该用户相关联的健身意图;基于与该至少一个消息相关联的一个或多个因素,提取与该用户相关联的健身信息;通过对该健身信息和该健身意图应用一组规则,获得至少一个响应;根据该至少一个响应,生成包括给该用户的健身建议的响应消息;以及向该用户提供包括该健身建议的该响应消息。
[0273] 应该理解,该计算机可执行指令在被执行时,使得该一个或多个处理器1610执行根据以上结合图1-15所述的实施例的过程的任何操作。
[0274] 本公开的实施例可以在非易失性计算机可读介质中实现。该非易失性计算机可读介质可以包括指令,该指令被执行时使得一个或多个处理器执行根据上述实施例的过程的任何操作。
[0275] 应该理解,以上所描述的过程中的所有操作都仅仅是示例性的,本公开不仅限于该过程中的任何操作或者这些操作的执行顺序,并且应当涵盖与之具有相同或相似概念的所有其他等同物。
[0276] 还应该理解,以上所描述的装置中的所有模块可以以各种方式来实现。这些模块可被实现为硬件软件、或两者的组合。此外,任何这些模块都可以在功能上进一步被划分为子模块或被组合在一起。
[0277] 结合各种装置和方法已经对处理器进行了描述。这些处理器可以使用电子硬件、计算机软件或其两者任意组合来实现。至于这样的处理器是实现为硬件还是软件,取决于特定的应用以及施加在系统上的整体设计约束。举例来说,本公开提供的处理器、处理器的任何部分、或处理器的任何组合可以利用微处理器、微控制器数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑、离散硬件电路、以及被配置成执行本公开所描述的各种功能的其他合适的处理组件来实现。本公开提供的处理器的功能、处理器的任何部分、或处理器的任何组合可以利用由微处理器、微控制器、DSP或其他合适的平台执行的软件来实现。
[0278] 软件应当被宽泛地解释成意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、执行线程、流程、功能等。该软件可驻留在计算机可读介质上。计算机可读介质可以包括,例如,诸如磁存储设备(如硬盘软盘,磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器、或可移动磁盘的存储器。尽管从本公开中的各个方面来说存储器被示为与处理器是分开的,但对于处理器来说,存储器可以在其内部(例如,高速缓存或寄存器)。
[0279] 提供以上描述是为了使任何本领域技术人员均能实践其中所描述的各个方面。对于这些方面的各种修改对于本领域技术人员是显而易见的,此处定义的一般原理可以适用于其他方面。因此,权利要求并非旨在被限定于以上所描述的各个方面。本公开描述的各个方面中包含的各要素的为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案以引用的方式被明确添加在此,并且旨在被权利要求所涵盖。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈