CN110741389B - 用于打通知识图谱的系统、方法和计算机可读介质 - Google Patents

用于打通知识图谱的系统、方法和计算机可读介质 Download PDF

Info

Publication number
CN110741389B
CN110741389B CN201780091970.9A CN201780091970A CN110741389B CN 110741389 B CN110741389 B CN 110741389B CN 201780091970 A CN201780091970 A CN 201780091970A CN 110741389 B CN110741389 B CN 110741389B
Authority
CN
China
Prior art keywords
entity
entities
party
graph
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780091970.9A
Other languages
English (en)
Other versions
CN110741389A (zh
Inventor
I.康斯坦汀斯库
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority claimed from PCT/US2017/062859 external-priority patent/WO2019103727A1/en
Publication of CN110741389A publication Critical patent/CN110741389A/zh
Application granted granted Critical
Publication of CN110741389B publication Critical patent/CN110741389B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本文描述了用于来改进第三方实体数据与现有知识图谱的打通的技术。在各种实施方式中,与现有知识图谱关联的计算系统可以接收来自第三方的将多个实体与现有知识图谱打通的请求。每个实体可以具有(一个或多个)关联的标识符和与多个实体中的其他实体的(一个或多个)关系。可以从第三方接收描述多个实体以及关联的标识符/关系的第一第三方实体数据。可以分析第一第三方实体数据以识别与实体的相应子集匹配的(一个或多个)语义指纹。可以确定与分析有关的结果。结果可以包括表示将(一个或多个)规则应用到与给定语义指纹匹配的实体的相应子集的成功或失败的统计。可以基于失败统计来触发(一个或多个)补救动作。

Description

用于打通知识图谱的系统、方法和计算机可读介质
背景技术
知识图谱是设计为存储关于实体以及实体之间的关系的信息的数据结构。在一些情况下,知识图谱可以包括表示已知实体的节点(在一些情况下还包括实体属性),以及连接节点并表示实体之间关系的边。例如,“香蕉”节点可以(例如,作为“是”的关系)连接到“水果”节点,“水果”节点又可以(例如,作为类型层次结构中的子)连接到“产品”和/或“食物”节点。作为另一示例,一家名为“猜想咖啡馆(Hypothetical Café)”的餐厅可以由节点表示,该节点还包括诸如其地址、所供应食物的类型、营业时间、联系信息等属性。“猜想咖啡馆”节点在一些实施方式中可以通过边连接到一个或多个其他节点,诸如“餐厅”节点或“商业”节点(例如,表示“是”的关系),或表示餐厅所在城市和/或州(例如,描述实体之间的关系)的节点等。
知识图谱可以由各种组件在各种情境中访问,诸如在搜索引擎进行搜索引擎搜索期间。例如,假设用户提供了寻找关于例如“汤姆的母校是什么?”的特定实体的信息的搜索查询,则可以(例如,由用户采用的搜索引擎)查阅知识图谱来识别表示实体汤姆的节点,以及表示实体“乔治敦大学”、“牛津”和“耶鲁法学院”的相关节点(例如,通过一个或多个边连接到汤姆节点)。
知识图谱也可以出于获得纯信息以外的目的(诸如媒体访问)而被访问。例如,知识图谱可以包括关于音乐实体和相关歌曲实体的信息,并且该音乐信息可以用于定位和播放音乐。这样的功能在“自动助理”的情境中特别有用,“自动助理”是交互式软件应用,在本文中有时也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“交谈代理”等。人们(当他们与自动助理交互时其可以被称为是“用户”)常常可以利用自动助理参与人机对话,以执行诸如播放音乐或视频的动作。
通用知识图谱通常被搜索引擎和自动助理(例如,通过与搜索引擎交互的方式)查阅以获得一般信息,但是它们不一定直接访问媒体文件。而是,单个用户通常单独订阅一个或多个第三方媒体服务,以获取对包含媒体文件的一个或多个媒体库的访问。例如,用户可以订阅一个或多个第三方音乐流传输服务,该第三方音乐流传输服务向用户提供对来自多个艺术家的音乐媒体库的访问。作为另一示例,用户可以订阅一个或多个第三方视频流传输服务,该第三方视频流传输服务向用户提供对由多个实体(例如,工作室、导演、媒体网络等)制作的视频媒体(例如电影、电视节目等)库的访问。
第三方媒体服务可能希望使搜索引擎和/或自动助理可以访问其媒体目录,例如,以便订户可以经由搜索引擎和/或自动助理而不是仅通过第三方专有接口(例如,专有音乐流传输应用)来访问其媒体文件。知识图谱中表示的实体(例如,艺术家、歌曲等)和与第三方媒体服务提供的媒体库关联的实体之间经常存在重叠,例如,因为艺术家及其歌曲通常是有名的或众所周知的。因此,将跟第三方媒体库关联的实体与由知识图谱表示的实体关联会是有益的,并且事实上,许多第三方媒体服务与提供/维护知识图谱的组织合作。这可以包括:将跟第三方媒体服务关联的实体与通用知识图谱所表示的实体进行同步;在专门为第三方媒体服务创建的单独的第三方知识图谱和通用知识图谱之间创建映射;添加新实体或关系到知识图谱等。这些技术中的任何一种在本文中都可以称为“数据打通(dataonboarding)”或仅称为“打通”。
然而,不同的第三方媒体服务和希望将其实体数据与通用知识图谱的实体数据打通的其他组织可能使用不同的格式来存储其实体数据。而且,一些组织可能具有不一定已经在知识图谱中表示的实体数据,例如,因为实体数据是特定于域的(例如并不表示诸如名人的广为人知的信息)。因此,可能需要大量资源(计算资源和人力资源)来将第三方实体数据与现有知识图谱打通。用于将第三方实体数据与通用知识图谱打通的常规技术可能会展现大量的尝试和错误,并且可能需要许多次迭代来完成。
发明内容
本文描述了用于来改进第三方实体数据与现有知识图谱的打通的技术。具体地,这些技术可以提高可以将第三方实体数据与现有知识图谱打通的处理的效率。在各种实施方式中,第三方实体数据可以指示多个实体,并且可以包括诸如多个实体之间的关系和/或与多个实体关联的“标识符”的信息以及其他信息,可以被提供给提供知识图谱的组织。
如本文所使用的,术语“标识符”是指除关系以外的实体的任何属性,诸如与例如在www.schema.org处描述的类型层次结构中的类型关联的“类型”和“属性”。因此,类型可以包括实体的类别或类,例如“事物”、“人”、“地点”、“书籍”、“电影”、“音乐录制(MusicRecording)”、“食谱”、“电视剧”、“事件”、“组织”、“餐厅”、“产品”、“要约”、“评论”等。schema.org层次结构规定每种类型都可以具有属性,包括但不限于“名称”、“描述”、“URL”和/或“图像”以及其他。本文描述的实施方式不限于这样的层次结构。可以使用本文描述的技术来操作任何实体数据组织架构。
第三方实体数据可以在逻辑上看作是每个实体的元组的集合,并且每个元组可以包括主语(识别当前实体)、宾语以及该主语和宾语之间的谓语,尽管这不是必需的。谓语可以表达当前实体的简单属性(例如名称、类型、电话号码),或者当前实体与另一个实体之间的关系(例如“由艺术家(byArtist)”谓语可以表达歌曲实体与艺术家之间的关系)。第三方实体数据可以以各种格式提供,包括诸如可扩展标记语言(“XML”)、JavaScript对象表示法(“JSON”)等人类可读格式。
可以分析第三方实体数据以识别其中包含的实体中的至少一些(且最好是全部),以及那些实体之间的关系和与实体关联的标识符。在一些实施方式中,算法可以用于例如从与第三方数据中的每个实体关联的标识符和/或关系中导出“语义指纹”,该“语义指纹”识别具有公共标识符/关系的实体,因此对应于多个实体的子集。例如,在其中实体由节点表示并且实体之间的关系由边表示的图谱情境中,针对给定实体计算的语义指纹可以包括与该实体关联的一个或多个标识符,并且在一些情况下包括当前实体的关系。如上所述,标识符可以是像给定位置处的商业类型的类型,或者是像名称或电话号码的实体的属性。关系可以使实体与例如距离该实体节点某个预定数量的“跳跃”(诸如,距离一跳)的其他实体相关。
假设第三方是对加油站进行分类的组织,例如以供导航应用使用。这样的组织可以提供与加油站有关的实体数据。每个加油站可以包括一个或多个标识符(例如,加油站(GasStation)、便利店(ConvenienceStore)、快餐机构(FastFoodEstablishment)类型)和一个或多个关系,例如与地址实体或父链组织的关系。语义指纹可以捕获:具有加油站标识符、电话标识符和地址关系的实体。在各种实施方式中,语义指纹可以用于聚集与具有公共规范模式的多个实体的子集(例如,具有加油站标识符、电话标识符和地址标识符,还可以包括父链组织的实体的10%)对应的特征。如本文所使用的术语“类型集”(或“标识符集”)描述了指定与指纹匹配的实体中包括的标识符的集合的语义指纹的强制性组件。最简单的语义指纹是仅包括一个标识符的指纹。该语义指纹本质上将与它的类型集相同,该类型集也将仅包括一个标识符。
因为第三方经常使用其自己的专有机制来外部化其数据,所以与由第三方实体数据表示的实体关联的标识符和/或关系可能包含各种不一致(例如,标识符丢失或格式错误的标识符)。因此,在各种实施方式中,可以对照一个或多个规则来分析与多个实体中的给定实体关联的记录(例如,元组),以识别给定实体违反的至少一个规则。这些规则可以例如基于与现有知识图谱关联的架构而自动生成和/或选择或者由人工手动创建。例如,如果分析与加油站有关的第三方实体数据,则一个规则可以是如果给定加油站实体在第三方实体数据中缺少电话号码则违反的“丢失电话号码(MISSING_PHONE_NUMBER)”。另一个规则可以是如果给定加油站实体在第三方实体数据中缺少名称则会违反的“丢失名称(MISSING_NAME)”。
在各种实施方式中,可以例如使用各种算法确定与给定实体匹配的语义指纹。例如,一种类型的语义指纹可以仅包括与给定实体关联的最突出的标识符。另一类型的语义指纹可以既包括与给定实体关联的一个或多个标识符,也包括给定实体与第三方实体数据中描述的其他实体之间的一个或多个关系。又一语义指纹可以包括与给定实体关联的一个或多个标识符、给定实体与第三方实体数据中描述的其他实体之间的一个或多个关系以及甚至(例如,距离一跳或多跳)的相关实体的一个或多个标识符。
在各种实施方式中,语义指纹可以与第三方实体数据中描述的多个实体的实体的子集匹配。直观地,这可以有效地将彼此相似的实体的子集(诸如加油站、歌曲、艺术家等)关联到组中。在各种实施方式中,可以对照前述规则中的一个或多个来评估与语义指纹匹配的实体的子集关联的记录。基于该评估,可以确定统计(有时称为“失败统计”),该统计表示匹配语义指纹的实体的子集满足规则中的一个或多个的失败。可选地,基于所有遇到的语义指纹的统计,可以计算建议动作的集合。
在一些实施例中,例如作为失败报告的一部分,可以在与第三方关联的一个或多个计算设备的一个或多个输出组件处输送失败统计数据和/或建议动作,以便第三方可以做出对其第三方数据必要的任何改变,以确保在做出打通第三方实体数据的另一尝试时违反较少规则,和/或确保将来的第三方实体数据更顺利地打通。附加地或可替代地,在一些实施方式中,可以进行这样的尝试:识别(例如,选择、生成等)可以替换丢失的标识符使用的所谓的“合成数据”。例如,如果一个或多个实体缺少日期,则可以选择默认日期(例如01/01/1900),或者可以进行以下尝试:从其他来源“猜测”(例如推断)日期,其他来源诸如搜索日志、与实体关联的数据源(例如,实体网站或社交网络馈送等)等。
将第三方实体数据打通到现有知识图谱可以提供若干优点。这样的优点之一是可以通过其将第三方实体数据与现有知识图谱打通的处理的效率的改进。具体地,所公开的技术可以减少当执行打通时发生的错误的数量以及所需的迭代的数量。另外,通过识别一个或多个语义指纹,每个语义指纹与包括在实体数据中的多个实体的相应子集匹配,然后确定表示将一个或多个规则应用于与给定的语义指纹匹配的实体的相应子集(而不是将一个或多个规则应用于整个第三方实体数据)的成功或失败的统计,识别可能会妨碍打通处理的第三方实体数据的问题所需的数据处理量可以保持相对小。
作为一个非限制性示例,假设第三方流传输音乐服务想经由现有知识图谱使其歌曲目录可用。其目录中的每首歌曲可以存储在用网络标识符(诸如统一资源定位符(“URL”)或类似的东西)识别的网络位置处。在一些这样的实现中,提供知识图谱的组织的目标可以是将来自第三方提供商目录的每个URL与通用知识图谱中的对应歌曲节点关联。这样,希望听到特定艺术家的音乐的用户可以例如向自动助理提供回放该艺术家的歌曲的请求。自动助理可以遍历知识图谱以识别与艺术家关联的节点,然后遍历来自艺术家节点的边以通过艺术家识别歌曲节点。在一些情况下,每个歌曲节点可以包括一个或多个网络标识符,这些标识符识别可以访问歌曲的网络位置,例如,用于流传输。例如,可能有指向歌曲的多个URL,其中每个URL由不同的第三方流传输服务提供。自动助理可以选择与用户订阅的流传输服务对应的URL。
为了促进上述情形,第三方音乐流传输服务首先必须使其歌曲URL合并到现有知识图谱中。那就是本文描述的技术起作用的地方。第三方流音乐服务可以将其第三方实体数据(包括艺术家、与艺术家相关的歌曲、歌曲的名称、歌曲的流派、歌曲的专辑等)提供给提供知识图谱的组织,例如,作为流、数据转储等。提供知识图谱的组织可以如上所述分析第三方实体数据,以生成针对为第三方实体数据确定的一个或多个语义指纹的失败统计。附加地或可替代地,在一些实施例中,语义指纹的统计可以允许生成建议动作的集合。这些失败统计可以指示例如一些百分比的已识别歌曲缺少唱片艺术家,或者一些百分比的已识别专辑缺少发行日期。建议动作可以包括例如添加像名称的标识符或去除另一标识符(例如某种类型)的建议。通过被提供输送这些失败统计和/或建议动作的失败报告,第三方音乐流传输服务对于与知识图谱初次打通以及对于任何未来的第三方实体数据(例如,当艺术家发行新的歌曲/专辑,或当出现新的艺术家)两者都可能够迅速而相对轻松地修改其第三方方实体数据,以便可以将第三方实体数据与通用知识图谱无缝打通。附加地或可替代地,在一些实施方式中,可以使用(例如,抓取)现有知识图谱或其他数据源来识别与歌曲和/或艺术家关联的丢失的标识符。
这确保了用户将能够经由知识图谱获得对第三方音乐流服务的目录的全面访问。换句话说,用户将能够简单地要求其助理或搜索引擎播放来自目录的音乐,并且知识图谱将促进实现此类请求,这允许用户为实现其目标而进行的减少的输入的数量。减少输入对于具有与计算设备进行交互的有限能力的用户(诸如正在驾驶的用户或身体和/或精神残疾的用户)特别有利。
本文所述的示例主要涉及歌曲、艺术家和加油站形式的实体。然而,这并不意味着是限制性的。本文描述的技术可以应用于将来自任何领域的第三方数据打通到知识图谱。除了此处描述的示例外,可包括可被打通到知识图谱的实体数据的其他领域包括但不限于电视节目、电视剧、电影、视觉艺术、餐厅、兴趣点、历史人物、体育、名人、商业、教育、政府、生物学、生物体(例如,分类法)、技术、视频游戏、软件应用等。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:在与现有知识图谱关联的计算系统处,接收来自第三方的将多个实体与现有知识图谱打通的请求,每个实体具有一个或多个关联的标识符和与多个实体中的一个或多个其他实体的关系,其中,现有知识图谱可被一个或多个用户经由一个或多个自动助理访问;在计算系统处从第三方接收描述多个实体以及关联的标识符和关系的第一第三方实体数据;分析第一第三实体方数据以识别一个或多个语义指纹,其中,一个或多个语义指纹中的每个语义指纹与多个实体的相应子集匹配;对于语义指纹中的给定语义指纹,确定与分析有关的结果,其中,该结果包括表示将一个或多个规则应用于与给定语义指纹匹配的实体的相应子集的成功或失败的统计;使统计在与第三方关联的一个或多个计算设备的一个或多个输出组件处被输送;在计算系统处从第三方接收再次描述多个实体以及关联的标识符和关系的第二第三方实体数据,其中第二第三方实体数据基于统计被修改;将多个实体与现有知识图谱打通;从自动助理中的一个或多个接收执行与多个实体中的给定实体有关的任务的请求;在知识图谱中识别表示给定实体的节点;以及使与给定实体有关的任务得以执行。
本文公开的技术的这些和其他实施方式可以可选地包括以下特征中的一个或多个。
在各种实施方式中,可以以JavaScript对象表示法(“JSON”)格式接收第一和第二第三方实体数据。在各种实施方式中,第一和第二第三方实体数据可以描述艺术家、歌曲以及艺术家和歌曲之间的关系。在各种实施方式中,第一和第二第三方实体数据可以描述领域中的商业机构和商业机构的位置。
在各种实施方式中,一个或多个规则可以包括对特定标识符或关系的满足。在各种实施方式中,失败报告可以包括违反规则中的一个或多个的实体的子集的百分比的指示。在各种实施方式中,失败统计可以被呈现为失败报告的一部分,所述失败报告还包括与一个或多个语义指纹中的其他语义指纹匹配并且违反规则中的一个或多个的实体的其他子集的百分比。在各种实施方式中,分析可以包括将与所述第三方实体数据关联的第三方实体架构与跟所述现有知识图谱关联的知识图谱架构进行比较。在各种实施方式中,该方法还可以包括基于统计确定一个或多个建议动作。
在另一方面中,一种由一个或多个处理器实现的方法可以包括:在与现有知识图谱关联的计算系统处接收来自第三方的将多个实体与现有知识图谱打通的请求,每个实体具有一个或多个关联的标识符以及与多个实体中的一个或多个其他实体的关系;在计算系统处从第三方接收描述多个实体的第一第三方实体数据,其包括关联的标识符和关系;分析第一第三实体方数据以识别一个或多个语义指纹,其中一个或多个语义指纹中的每个语义指纹与多个实体的相应子集匹配;对于语义指纹中的给定语义指纹,确定与分析有关的结果,其中,该结果包括表示将一个或多个规则应用于与给定语义指纹匹配的实体的相应子集的成功或失败的统计;以及基于失败统计使得采取一个或多个补救动作。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中一个或多个处理器可操作来运行存储在关联的存储器中的指令,并且其中所述指令被配置为引起任何前述方法的执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器运行以执行任何前述方法的计算机指令。
应当理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开的结尾处的要求保护的主题的所有组合被认为是本文公开的主题的一部分。
附图说明
图1是其中可实现本文公开的实施方式的示例环境的框图。
图2描绘了根据各种实施方式的可以如何在各种组件之间采用本文描述的技术的一个示例。
图3示范了根据各种实施方式的可以使用本文描述的技术生成的失败报告的一个示例。
图4描绘了示例实体数据,其可以使用本文描述的技术被打通,并且伴随有说明书中的描述,该描述描述了可以如何应用不同类型的语义指纹算法来确定不同类型的语义指纹。
图5描绘了示出根据本文公开的实施方式的示例方法的流程图。
图6A和图6B描绘了示出根据各种实施方式的用于执行补救动作的示例方法的流程图。
图7描绘了示出根据本文公开的实施方式的示例方法的流程图。
图8示出了计算设备的示例体系。
具体实施方式
现在转到图1,示出了其中可以利用知识图谱的示例环境。该示例环境包括一个或多个客户端计算设备1061-N。一个或多个客户端设备106可以运行自动助理客户端118的相应实例。可以在一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动助理组件119,诸如语义处理器122,该一个或多个计算系统经由通常以110指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦接到客户端设备1061-N。尽管本文描述的示例涉及用户与自动助理互动以搜索知识图谱,这并不意味着是限制性的。本文所述的打通技术在可以将第三方数据与现有知识图谱结合使用的任何情境中都是有用的。
在各种实施方式中,自动助理客户端118的实例通过其与一个或多个基于云的自动助理组件119的交互,可以形成从用户的角度看似乎是自动助理120的逻辑实例。用户可以在(一个或多个)人机对话中与自动助理120的该逻辑实例进行互动。在图1中描绘了这种自动助理120的两个实例。由划点划线包围的第一自动助理120A服务于操作第一客户端设备1061的第一用户(未描绘),并且包括自动助理客户端1181以及一个或多个基于云的自动助理组件119。双划点线包围的第二自动助理120B服务于操作另一个客户端设备106N的第二用户(未描绘),并包括自动助理客户端118N和一个或多个基于云的自动助理组件119。因此,应该理解,在一些实施方式中,与在客户端设备106上运行的自动助理客户端118进行互动的每个用户实际上可以与他或她自己的自动助理120的逻辑实例进行互动。为了简洁和简单起见,如在本文中使用的术语“服务于”特定用户的“自动助理”将指在由用户操作的客户端设备106上运行的自动助理客户端118和一个或多个基于云的自动助理组件119(其可以在多个自动助理客户端118之间共享)的组合。还应该理解,在一些实施方式中,自动助理120可以响应于来自任何用户的请求,而不管自动助理120的该特定实例是否实际上“服务于”该用户。
客户端设备1061-N可以包括例如以下中的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、智能家电(诸如智能电视)和/或用户的可穿戴装置,所述可穿戴装置包括计算设备(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或可替代的客户端计算设备。
在各种实施方式中,每个客户端计算设备1061-N可以操作各种不同的第三方应用,所述第三方应用利用提供第三方应用的相同第三方供应的并且使用本文描述的技术与知识图谱134打通的数据。例如,第三方音乐流传输服务可以提供音乐流传输应用,并且还将包含其歌曲目录的其第三方实体数据打通到知识图谱134。在一些实施方式中,对于打通的第三方数据中的每首歌曲,可以将特定于第三方音乐流传输应用的URL作为与歌曲相对应的实体的属性(例如,标识符)存储在知识图谱134中。然后,自动助理120可以通过使用语义处理器122和知识图谱接口128来识别允许第三方音乐流传输应用播放正确媒体的URL,从而满足最终用户播放给定歌曲的请求。
在各种实施方式中,每个客户端计算设备1061-N可以操作各种不同的应用,诸如多个消息交换客户端1071-N中的对应一个。消息交换客户端1071-N可以以各种形式出现,并且形式可以在客户端计算设备1061-N之间变化和/或多种形式可以在客户端计算设备1061-N中的单个客户端计算设备上操作。在一些实施方式中,消息交换客户端1071-N中的一个或多个可以以短消息传递服务(“SMS”)和/或多媒体消息传递服务(“MMS”)客户端、在线聊天客户端(例如,即时消息器、因特网中继聊天或“IRC”等)、与社交网络关联的消息传递应用、专用于与自动助理120的交谈的个人助理消息传递服务等的形式出现。在一些实施方式中,消息交换客户端1071-N中的一个或多个可以经由网页或由web浏览器(未描绘)所渲染的其他资源或客户端计算设备106的其他应用来实现。
如本文中更详细描述的,自动助理120经由一个或多个客户端设备1061-N的用户接口输入和输出设备参与与一个或多个用户的人机对话会话。在一些实施方式中,自动助理120可以响应于用户经由客户端设备1061-N之一的一个或多个用户接口输入设备提供的用户接口输入参与与用户的人机对话对话。在那些实施方式中的一些中,用户接口输入被显式地定向到自动助理120。例如,消息交换客户端1071-N之一可以是专用于与自动助理120的交谈的个人助理消息传递服务并且经由该个人助理消息传递服务提供的用户接口输入可以被自动提供给自动助理120。此外,例如,可以基于指示将调用自动助理120的特定用户接口输入,在消息交换客户端1071-N中的一个或多个中将用户接口输入显式地定向到自动助理120。例如,特定的用户接口输入可以是一个或多个键入的字符(例如,@AutomatedAssistant(自动助理))、与硬件按钮和/或虚拟按钮的用户交互(例如,点击、长按)、口头命令(例如,“嘿,自动助理”)和/或其他特定的用户接口输入。
在一些实施方式中,即使当用户接口输入未显式定向到自动助理120时,自动助理120仍可以响应于用户接口输入而参与对话会话。例如,自动助理120可以检查用户接口输入的内容并响应于用户接口输入中存在的某些术语和/或基于其他提示,参与对话会话。在一些实施方式中,自动助理120可以参与交互式语音响应(“IVR”),使得用户可以说出命令、搜索等,并且自动助理可以利用自然语言处理和/或一种或多种语法来将话语转换为文本,并相应地响应于该文本。在一些实施方式中,自动助理120可以附加地或可替代地对话语做出响应而无需将话语转换为文本。例如,自动助理120可以将语音输入转换为嵌入、(一个或多个)实体表示(指示语音输入中存在的一个/多个实体)和/或其他“非文本”表示,并对这种非文本表示进行操作。因此,本文描述为基于从语音输入转换的文本进行操作的实施方式可以附加地和/或可替代地直接对语音输入和/或语音输入的其他非文本表示进行操作。自动助理120可以将输入转换为的实体表示可能对应于使用本文描述的处理打通到知识图谱的实体。
客户端计算设备1061-N和操作基于云的自动助理组件119的(一个或多个)计算设备中的每一个可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并运行应用的一个或多个处理器以及促进通过网络进行通信的其他组件。由客户端计算设备1061-N中的一个或多个和/或由自动助理120执行的操作可以分布在多个计算机系统上。自动助理120可以被实现为例如在通过网络彼此耦接的一个或多个位置中的一个或多个计算机上运行的计算机程序。
如上所述,在各种实施方式中,每个客户端计算设备1061-N可以操作自动助理客户端118。在各个实施方式中,每个自动助理客户端118可以包括对应的语音捕获/文本到语音(“TTS”)/语音到文本(“STT”)模块114。在其他实施方式中,语音捕获/TTS/STT模块114的一个或多个方面可以与自动助理客户端118分开实现。
每个语音捕获/TTS/STT模块114可以被配置为执行一个或多个功能:例如,经由麦克风(在一些情况下其可以包括存在传感器105)捕获用户的语音;将捕获的音频转换为文本(和/或其他表示或嵌入);和/或将文本转换为语音。例如,在一些实施方式中,由于客户端设备106可能在计算资源(例如,处理器周期、存储器、电池等)方面相对受限,因此对于每个客户端设备106而言在本地的语音捕获/TTS/STT模块114可以被配置为将有限数量的不同的口头短语——特别是调用自动助理120的短语——转换为文本(或其他形式,诸如较低维度嵌入)。其他语音输入可以被发送到基于云的自动助理组件119,其可以包括基于云的TTS模块116和/或基于云的STT模块117。
基于云的STT模块117可以被配置为利用云的实际上无限的资源来将由语音捕获/TTS/STT模块114捕获的音频数据转换成文本(然后可以将其提供给语义处理器122)。基于云的TTS模块116可以被配置为利用云的实际上无限的资源来将文本数据(例如,由自动助理120制定的自然语言响应)转换成计算机生成的语音输出。在一些实施方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器来直接输出。在其他实施方式中,由自动助理120生成的文本数据(例如,自然语言响应)可以被提供给语音捕获/TTS/STT模块114,语音捕获/TTS/STT模块114然后可以将文本数据转换为本地输出的计算机生成的语音。
除其它以外,自动助理120(尤其是基于云的自动助理组件119)可以包括语义处理器122、前述的TTS模块116、前述的STT模块117以及与本公开特别相关的知识图谱接口128(例如,应用编程接口或“API”)。在一些实施方式中,可以省略、组合和/或在与自动助理120分离的组件中实现自动助理120的引擎和/或模块中的一个或多个。
在一些实施方式中,自动助理120响应于在与自动助理120的人机对话会话期间由客户端设备1061-N之一的用户生成的各种输入来生成响应内容。自动助理120可以提供响应内容,(例如,当与用户的客户端设备分开时,通过一个或多个网络),以作为对话会话的一部分呈现给用户。例如,自动助理120可以响应于经由客户端设备1061-N之一提供的自由形式的自然语言输入来生成响应内容。如本文所使用的,自由形式的输入是由用户制定的并且不限于呈现用于由用户选择的一组选项的输入。
自动助理120的语义处理器122处理用户经由客户端设备106I-N生成的自由形式的自然语言输入,并且在一些实施方式中,可以生成供自动助理120的一个或多个其他组件使用的注释输出。例如,语义处理器122可以处理用户经由客户端设备1061的一个或多个用户接口输入设备生成的自然语言自由形式输入。所生成的注释输出可以包括自然语言输入的一个或多个注释以及可选地包括自然语言输入的术语中的一个或多个(例如,全部)。语义处理器122产生的注释输出可能包括来自知识图谱134的实体数据,该实体数据可能已经使用本文所述的技术进行了打通。
在一些实施方式中,语义处理器122被配置为识别和注释自然语言输入中的各种类型的语法信息。例如,语义处理器122可以包括语音标记器(未描绘)的一部分,该语音标记器被配置为用术语的语法作用来注释术语。例如,语音标记器的该一部分可以用诸如“名词”、“动词”、“形容词”、“代词”等的其语音的部分标记每个术语。此外,例如,在一些实施方式中,语义处理器122可以附加地和/或可替代地包括依赖性解析器(未描绘),该依赖性解析器被配置为确定自然语言输入中的术语之间的句法关系。例如,依赖性解析器可以确定哪些术语修饰句子的其他术语、主语和动词等等(例如,解析树),并且可以对这种依赖性进行注释。
在一些实施方式中,语义处理器122可以附加地和/或可替代地包括实体标记器(未描绘),该实体标记器被配置为在一个或多个段中注释实体引用,诸如对人(包括例如文学人物、名人、公众人等物)、组织、位置(真实的和虚构的)等等的引用。在一些实施方式中,关于实体的数据可以存储在一个或多个数据库中,诸如存储在知识图谱134中。在一些实施方式中,知识图谱134可以包括表示已知实体(在一些情况下,实体属性)的节点,以及连接节点并表示实体之间关系的边。例如,“香蕉”节点可以(例如,作为“是”的关系)连接到“水果”节点,而“水果”节点又可以(例如,作为类型层次结构中的子)连接到“产品”和/或“食物”节点。作为另一示例,被称为“猜想咖啡馆”的餐厅可以由还包括诸如其地址、所供应食物的类型、营业时间、联系信息等属性的节点表示。在一些实施方式中,可以通过边将“猜想咖啡馆”节点连接到一个或多个其他节点,诸如“餐厅”节点或“商业”节点(例如,表示“是”的关系),或表示餐厅所在城市和/或州的节点(例如,描述实体之间的关系)等等。实体标记器的注释中所引用的实体可以已使用本文所述的技术与知识图谱134打通。
在一些实施方式中,知识图谱134可以将实体组织成n元组。以下元组仅示范如下一个示例,如何将描述艺术家Jack的歌曲的实体组织为三元组,其中每个三元组都包括主语、谓词和宾语,其中主语经由谓语与宾语相关,(并且因此,当表示实体之间的关系时,可以用边在图谱中表示谓词),而可以用节点在图谱中表示主语和宾语(如果不是简单的标识符):
三元组{
主:“/jack-艺术家”
谓:“姓名”
宾:“Jack”
}
三元组{
主:“/jack-艺术家”
谓:“项目类型(itemtype)”
宾:“音乐组(MusicGroup)”
}
三元组{
主:“/titanium-歌曲”
谓:“由艺术家”
宾:“/jack-艺术家”
}
三元组{
主:“/titanium-歌曲”
谓:“名称”
宾:“Titanium”
}
三元组{
主:“/titanium-歌曲”
谓:“项目类型”
宾:“音乐录制”
}
在此示例中,实体jack-艺术家与姓名“Jack”和“音乐组”的类型标识符(项目类型)关联,由于它们是/jack-艺术家实体的标识符,因此不一定被表示为图谱中的节点。实体/jack-艺术家还与另一个实体/titanium-歌曲有关,其具有“Titanium”的名称。因此,当谓词涉及两个实体,该谓词可对应于这两个实体之间的关系,其可以在图谱中表示为边。
语义处理器122的实体标记器可以以高的粒度级别(例如,以使得能够识别对诸如人的实体类的所有引用)和/或较低的粒度级别(例如,以使得能够识别对诸如特定人的特定实体的所有引用)来注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来分析(resolve)特定实体和/或可以可选地与知识图谱134或其他实体数据库通信以分析特定实体。提到的实体的数据可能已经使用本文描述的技术与知识图谱134打通。
在一些实施方式中,语义处理器122可附加地和/或可替代地包括一个共指分析器(coreference resolver)(未描绘),其被配置成基于一个或多个情境线索将对相同实体的引用分组或“聚类”。例如,可以利用共指分析器将自然语言输入“我喜欢我们上次在那里用餐的猜想咖啡厅”中的术语“在那里”分析为“猜想咖啡厅”。
在一些实施方式中,语义处理器122的一个或多个组件可以依赖于来自语义处理器122的一个或多个其他组件的注释。例如,在一些实施方式中,命名的实体标记器可以在注释对特定实体的所有提及时依赖于来自共指分析器和/或依赖性解析器的注释。另外,例如,在一些实施方式中,共指分析器可以在将对相同实体的引用聚类时依赖于来自依赖性解析器的注释。在一些实施方式中,在处理特定自然语言输入时,语义处理器122的一个或多个组件可以使用特定自然语言输入之外的相关先验输入和/或其他相关数据来确定一个或多个注释。
知识图谱接口128可以提供例如在自动助理120和知识图谱(图1中的“KG”)引擎130之间的接口。知识图谱引擎130可以在一个或多个计算系统上(例如,作为与基于云的自动助理组件119相同的“云”或不同的云的一部分)以硬件和软件的任意组合来实现。知识图谱引擎130可以被配置为维持前述知识图谱134,并且在一些情况下可以执行本公开的选择的方面。如将在下面更详细地讨论的,知识图谱引擎130可以被配置为从一个或多个第三方提供商132接收例如源自一个或多个第三方库136的第三方实体数据。具体地,知识图谱引擎130可以被配置为“打通”第三方实体数据,例如,使得诸如依赖于知识图谱的对实体分析的搜索的任务可以被执行。这些任务可以由例如语义处理器122或由其它组件(例如,通用搜索引擎)启动。如本文所用的“打通”可以指将一些或全部第三方实体数据直接合并到知识图谱134中,创建链接到知识图谱134的单独的第三方知识图谱,用附加的第三方实体数据来扩充知识图谱134,以其他方式将第三方实体数据映射到知识图谱134中的实体等。一旦第三方实体数据与知识图谱134打通,例如经由知识图谱接口128查阅知识图谱134的搜索或其他操作实际上可以访问第三方实体数据。
图2描绘了第三方提供商132如何通过试图将数据一致性失败率降低到可接受水平的迭代处理将第三方实体数据打通到知识图谱134的一个示例。在该示例中,知识图谱引擎130包括打通模块240、分析模块242和报告模块244。模块240-244中的一个或全部可以使用硬件和软件的任意组合来实现,并且在各种实施方式中,模块240-244中的一个或多个可以被组合、省略,并且/或者可以提供附加模块。
打通模块240可以被配置为从第三方提供商132接收第三方实体数据。可以以各种方式在打通模块240处接收第三方实体数据。在一些实施方式中,第三方提供商132可以提供连续的和/或周期性的数据流,该数据流由知识图谱引擎130基于持续的“按接收”的基础进行处理。在其他实施方式中,第三方提供商132可以将第三方实体数据作为数据转储提供给例如共享网络驱动器,打通模块240可以检索该数据转储以供下游组件处理。附加地或可替代地,第三方提供商132可以提供第三方实体数据作为各自与包含一个或多个实体记录的文档关联的网络标识符的序列,例如,URL。第三方实体数据可能将随时间改变,尤其是随着新实体(例如,新艺术家、新歌曲、新运动员、新团队、新电影、新感兴趣的位置等)被添加而改变。
分析模块242可以被配置为例如对照各种规则、启发法等来评估由打通模块240接收的第三方实体数据。例如,分析模块242可以对照规则/启发法中的一个或多个来评估在第三方实体数据中识别的各个实体。这些规则和/或启发法可以例如由人工或自动地基于由第三方实体数据表示的实体的类型来生成和/或选择。例如,可以对照(一个或多个)规则来评估识别歌曲和艺术家的第三方实体数据,所述规则检查以确保每首歌曲都有一位艺术家,每位艺术家都有至少一首歌曲等。在一些实施方式中,对照第三方实体数据中识别的实体评估的规则可以基于与知识图谱134关联的架构来选择和/或生成。例如,假设当前包含在知识图谱中的所有歌曲(在第三方提供商132打通之前)至少包括相关艺术家和名称。可以选择/生成以下规则:该规则检查由第三方提供商132打通的歌曲是否也至少包括名称和艺术家。
基于该分析,分析模块242可以识别可以与第三方实体数据中识别的实体的(一个或多个)子集匹配的一个或多个语义指纹。在其中识别的实体被组织为图谱中的节点(其中边缘表示实体之间的关系)的一些实施方式中,如果给定实体包括与语义指纹关联的期望的标识符的集合(类型集),则该语义指纹可以与该给定实体匹配。例如,语义指纹可以包括由表示实体的节点指定的标识符,以及与其他节点的(一个或多个)关系,该其他节点在图谱表示中距该实体节点预定数量的“跳跃”内,诸如不超过一跳。因此,例如,歌曲节点可以直接连接到歌曲作者节点、专辑节点、唱片标签节点、唱片艺术家节点等。
在一些实施方式中,可以对照一个或多个前述规则来评估第三方实体数据中包含的与特定指纹匹配的实体的子集。可以确定实体的子集中违反规则中的一个或多个的实体的数量,例如,作为与提及的指纹对应的失败统计。在一些实施方式中,报告模块244可以基于分析模块242的分析来生成失败报告。该失败报告可以包括与一个或多个语义指纹关联的一个或多个失败统计。失败报告可以可选地包括基于识别的指纹的统计确定的建议动作的集合。
报告模块244可以将失败报告提供给第三方提供商132,以使第三方提供商132能够对其第三方实体数据快速进行任何必要的改变,从而减少和/或消除数据打通失败。失败报告可能以多种形式出现。在一些实施方式中,可以使用诸如HTML或XML的标记语言来生成失败报告,并且第三方提供商132可以使用诸如web浏览器的应用来查看失败报告。附加地或可替代地,可以以专有格式和/或纯文本生成失败报告。在一些实施方式中,失败报告(和/或最初由第三方提供商132提供的第三方实体数据)可以在传输期间被加密以保护数据。图3中描绘失败报告的非限制性示例。图2中描绘的循环/迭代可以继续,直到失败率降低到由提供知识图谱的组织传达给第三方提供商132并且可能会启动打通过程的后续步骤的阈值为止。
附加地或可替代地,在一些实施方式中,知识图谱引擎130的组件(诸如分析模块242)可以主动识别“合成数据”,该“合成数据”可以用于替换丢失的实体数据,例如,以促进否则可能由于丢失的实体数据不能够被打通的第三方实体数据的打通。例如,在一些实施方式中,分析模块242可以替代可以与第三方实体数据中缺少标识符的实体关联的默认数据,诸如默认日期或其他默认标识符。在一些实施方式中,可以从诸如实体的网页、搜索日志等的各种在线源中识别合成数据,以便生成潜在地更准确的合成数据。在一些实施方式中,如果合成数据不能满足某个置信度阈值,则可以将其呈现给第三方提供商以供批准132。在默认标识符替换丢失的属性的情况下,在一些实施方式中,第三方提供商可以在这种替换将被允许之前被通知和/或要求许可。这样,第三方可以决定使用默认标识符(例如,01/01-1900作为默认日期)是否可接受,或者第三方是否宁愿修改其第三方实体数据以确保准确的打通。
图3描绘了基于第三方实体数据生成的失败报告可能看起来像什么样的一个非限制性示例。在图3中,“处理计数器(PROCESSING COUNTERS)”表示一般统计,该统计指示检测到多少个“元组”(例如,{主语、谓词、宾语}),以及在元组中检测到多少个不同的实体。在这种情况下,检测到13,517,474个不同的元组。多个元组可能涉及相同实体。例如,一个实体可以包括识别其名称的元组和识别其电话号码的另一元组。因此,从这13,517,474个元组中,检测到1,397,613个不同的实体。
附加地或可替代地,在一些实施方式中,该报告可以包括例如基于所有语义指纹的所有统计的“建议动作(SUGGESTED ACTIONS)”的集合。例如,可能建议第三方数据提供商向其实体添加电话号码和地址,该实体与包括加油站的类型集对应。
在该报告上向下移动,向下指向的第一黑色三角形可以表示读者已选择来扩展失败报告的该部分的可选图形元素。在这种情况下,第一黑色三角形对应于匹配所有1,397,613个检测到的实体中的140,706个或10.1%的第一语义指纹。将十二个规则应用于与当前指纹对应的每个实体。
示例报告中的规则中的两个是所谓的“阻止规则”,其可以标示它们的失败致使在第三方提供商没有首先以某种方式(或通过使用前述合成数据扩充的第三方实体数据)更改第三方实体数据的情况下,第三方实体数据的打通不可能。此示例中的实体是加油站。阻止规则可能要求,例如,每个加油站实体至少包括电话号码和地址。在没有这些基本的标识符/关系的情况下,则可能无法打通违反者加油站实体。规则中的另外两个规则是所谓的“非阻止规则”,其可以标示尽管一些实体违反这些规则,但这些违反行为不会阻碍第三方实体数据的打通。例如,尽管每个加油站实体包括营业时间或接受的支付类型可能是优选的,但这些属性对于数据的打通可能不是至关重要的。
“当前类型集(CURRENT TYPESET)”指定与当前语义指纹匹配的实体的期望的标识符。“规则失败(RULE FAILURES)”可以指示与当前语义指纹匹配的加油站实体的至少一些百分比违反了哪些规则。例如,与当前语义指纹匹配的实体的14%似乎缺少电话号码和地址两者。看到此信息的第三方提供商可能能够做出相应的响应:或者通过确保此信息不会从其第三方实体数据中丢失,和/或通过确保第三方实体数据的格式正确,以使该数据在下一个迭代中被捕获。附加地或可替代地,可以用语义数据(诸如基于其他数据源“猜测”的电话号码中的假电话号码)替换丢失的电话号码。与当前语义指纹匹配的实体的8%似乎也缺少营业时间,而另外2%则缺少支付接受的的标识符。这后两个规则是非阻止性的,因此尽管有这些违反行为,但打通仍然是可能的。
指示“下一类型集(NEXT TYPESET)”的另一语义指纹以未扩展状态被描绘,并且包括12,345个不同的实体。如果读者要选择“下一类型集”旁边的朝上指向的黑色三角形,则可以扩展失败报告的该部分,以提供类似于“当前类型集”下方所示的信息。图3中还描绘了可以例如基于被违反的一个或多个规则来确定的一些示例建议。例如,有14%的加油站缺少电话号码和地址,导致它们违反了阻止规则。因此,两个建议,添加(一个或多个)电话号码并添加(一个或多个)地址,被包括在失败报告的底部,以建议第三方可以执行的(一个或多个)补救动作,以实现在下一迭代中更好的结果。
图4描绘了可被包括在要使用本文描述的技术打通的第三方实体数据中的两种不同类型的实体(加油站和歌曲)的记录。对于此示例,假设存在用于确定语义指纹的三种算法。第一语义指纹算法F1可以仅捕获每个实体的最突出类型。因此,在该示例中,F1可以对于站1捕获标识符={加油站(GasStation)},并且对于歌曲l,捕获标识符={音乐录制(MusicRecording)}。第二语义指纹算法F2可以捕获每个实体的所有标识符加直接关系。因此,在这个示例中,F2可以对于站1捕获类型={加油站,便利店(ConvenienceStore)},关系={电话,地址},并且对于歌曲l,捕获类型={音乐录制,数字文档(DigitalDocument)},关系={由艺术家(byArtist)}。第三语义指纹算法F3可以捕获实体的所有类型加直接和一跳属性。因此,在这个示例中,F3可以对于站1捕获类型={加油站,便利店},关系={电话,地址->地址位置(addressLocality),地址->地址区域(addressRegion)}。
图5是示出根据本文公开的实施方式的示例方法500的流程图。为了方便起见,参照执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如图1和2中描绘的一个或多个组件。此外,尽管以特定顺序示出了方法500的操作,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。
在框502处,系统可以在与现有知识图谱(例如134)关联的计算系统(例如130)处接收来自第三方(例如132)的将多个实体打通到现有知识图谱的请求,每个实体具有一个或多个关联的标识符和与多个实体中一个或多个其他实体的关系。在许多情况下,一个或多个用户可以经由诸如一个或多个自动助理(例如120)和/或一个或多个搜索引擎的各种用户应用来访问现有知识图谱。例如,可以使用知识图谱来分析提交给搜索引擎和/或自动助理的用户查询,例如以执行实体标记。
在框504处,系统可以从第三方接收描述多个实体以及关联的标识符和关系的第一第三方实体数据。如上所注明的,第三方实体数据可以以各种格式到来,诸如JSON、HTML、XML或可以是人类可读的或可以不是人类可读的其他专有格式。在框506处,系统可以分析第一第三实体方数据以识别一个或多个语义指纹。如上所注明的,每个语义指纹可以匹配多个实体的相应子集。
在框508,对于给定的语义指纹,系统可以确定与框506的分析有关的结果。在一些实施方式中,结果可以包括表示将一个或多个规则应用于与给定的语义指纹匹配的实体的相应子集的成功或失败的统计。规则的示例已在前面进行了描述。在可选框510处,可以基于例如全部或一些识别的指纹的全部或一些统计来计算建议动作的集合。在框512处,系统可以基于统计和/或建议动作来采取一个或多个补救动作。
图6A和图6B分别描绘了示例方法600A和600B,其可以在各种实施方式中实现为图5的框510的补救动作中的一个或多个。尽管方法600A和600B被分别描绘,但这并不意味着限制。在各种实施方式中,来自每种方法的一个或多个操作可以与另一种方法的一个或多个操作组合。此外,可以对操作进行重新排序,并且可以添加和/或省略一个或多个操作。
在图6A中,在框610处,系统可以使失败统计和/或建议动作在与第三方关联的一个或多个计算设备(例如在与第三方提供商132关联的一个或多个计算设备处)的一个或多个输出组件处被输送。例如,可以向第三方提供商132提供诸如图3中所描绘的失败报告,该失败报告向第三方提供商132通知关于相对于哪些语义指纹哪些规则被违反的统计。
在框612处,系统可以从第三方(例如132)接收第二第三方实体数据,该第二第三方实体数据再次描述与多个实体相关联的属性。据推测,第二第三方实体数据将基于例如在提供给第三方提供商132的失败报告中包含的失败统计来修改。因此,先前检测到的失败可以被减少到可接受的水平或甚至完全消除。
在框614处,系统可将多个实体与现有知识图谱打通。在一些情况下,第三方实体数据中描述的实体可以与现有知识图谱中已经表示的实体重叠。在这种情况下,现有知识图谱的节点和/或关系可以被更新以包括新信息。然而,到第三方实体数据中描述的实体/关系尚未在现有知识图谱中的程度,可以将它们作为新节点添加到现有知识图谱,或者单独的第三方特定知识“子图”可以被(例如,使用现有知识图谱的架构)创建并且链接到现有知识图谱。
图6B描绘了可以附加于或代替图6A的操作而执行的方法600B。在框616处,系统可以识别与违反规则中的一个或多个的多个实体中的一个或多个关联的所谓的“合成数据”。该合成数据可以自动生成,或者可以基于一个或多个数据源确定。例如,假设一个或多个实体违反了要求这些实体具有关联的日期(例如,公司的成立数据)的规则。在一些实施方式中,为了使第三方实体符合规则,可以生成合成日期。这些日期可以是默认日期(例如,01/01/1900),或者从其他数据源或其他在线商业记录“猜测的”,其他数据源诸如违反实体的网站、成立的文章(可能在线可获得)。在一些实施方式中,可以将合成数据添加到第三方实体数据,使得在打通时(在框618处或在框614处),第三方实体数据不再违反(一个或多个)特定规则(至少对于所讨论的实体而言)。附加地或可替代地,在一些实施方式中,在框618处,可以将合成数据以及不违反所讨论的规则的其他实体数据一起直接与知识图谱打通。
也可以从各种其他源确定合成数据。在一些实施方式中,可以例如从搜索日志、知识图谱134中的现有数据等确定合成数据。在一些实施方式中,系统可以确定与特定合成数据点关联的置信度量。如果置信水平满足阈值,则合成数据可以被打通。如果不是这样,则合成数据不可以被打通,并且/或者可以从第三方提供商请求批准以打通合成数据。
图7是示出根据本文公开的实施方式的示例方法700的流程图。为了方便起见,参照执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如图1和图2中描绘的一个或多个组件。而且,尽管以特定顺序示出了方法700的操作,但这并不意味着是限制性的。一个或多个操作可以被重新排序、省略或添加。一旦第三方实体数据成功打通到现有知识图谱,例如作为方法500、600A和/或600B被执行一次或多次的结果,图7的操作可能会发生。
在框702处,系统可以从一个或多个自动助理(120)接收要执行与先前打通的第三方实体数据中描述的多个实体中的给定实体有关的任务的请求。在框704处,系统可以在知识图谱(134)中识别表示给定实体的节点。在框706处,系统可以使与给定实体有关的任务被执行。例如,假设用户请求播放特定歌曲。该歌曲可以与使用本文描述的技术成功创建/更新的现有知识图谱134中的实体匹配,以包括到与用户订阅的第三方流传输服务相关联的歌曲的URL。
图8是示例计算设备810的框图,该示例计算设备810可以可选地用于执行本文描述的技术的一个或多个方面。计算设备810通常包括至少一个处理器814,所述至少一个处理器814经由总线子系统812与多个外围设备进行通信。这些外围设备可以包括存储子系统824(例如包括存储器子系统825和文件存储子系统826)、用户接口输出设备820、用户接口输入设备822和网络接口子系统816。输入和输出设备允许用户与计算设备810交互。网络接口子系统816提供到外部网络的接口,并耦接到其他计算设备中的对应接口设备。
用户接口输入设备822可以包括键盘、诸如鼠标、轨迹球的指向设备、触摸板或图形输入板、扫描器、并入显示器的触摸屏、诸如语音识别系统的音频输入设备、麦克风和/或其他类型的输入设备。一般地,术语“输入设备”的使用旨在包括输入信息到计算设备810或到通信网络上的所有可能类型的设备和方式。
用户接口输出设备820可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的某种其他机制。显示子系统还可以诸如经由音频输出设备来提供非可视显示。一般地,术语“输出设备”的使用旨在包括从计算设备810向用户或另一机器或计算设备输出信息的所有可能类型的设备以及方式。
存储子系统824存储提供本文所述的一些或全部模块的功能的编程和数据构造。例如,存储子系统824可以包括执行图5至图6A/图6B的方法的选择的方面以及实现图1至图2中描绘的各种组件的逻辑。
这些软件模块通常由处理器814单独或与其他处理器组合运行。存储子系统824中使用的存储器825可以包括多个存储器,其包括用于在程序运行期间存储指令和数据的主随机存取存储器(RAM)830以及存储固定指令的只读存储器(ROM)832。文件存储子系统826可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统826存储在存储子系统824中,或者存储在(一个或多个)处理器814可访问的其他机器中。
总线子系统812提供用于使计算设备810的各种组件和子系统按意图彼此通信的机制。虽然总线子系统812被示意性地示出为单个总线,但是总线子系统的可替代实施方式可以使用多个总线。
计算设备810可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断改变的性质,出于说明一些实施方式的目的,图8中描绘的计算设备810的描述仅旨在作为特定示例。具有比图8中所描绘的计算设备更多或更少的组件的计算设备810的许多其他配置是可能的。
尽管本文已经描述和说明了若干实施方式,但是可以利用用于执行功能和/或获得本文描述的结果和/或优点中的一个或多个的多种其他手段和/或结构,并且这些变型和/或修改中的每一个被视为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置均是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导所针对的一个或多个特定应用。仅使用常规实验,本领域技术人员将认识到或能够确定本文所述的特定实施方式的许多等同形式。因此,要理解,前述实施方式仅以示例的方式呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式来实践实施方式。本公开的实施方式针对本文所述的每个单独的特征、系统、物品、材料、套件和/或方法。另外,如果这样的特征、系统、物品、材料、套件和/或方法不是相互矛盾的,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任意组合包括在本公开的范围内。

Claims (20)

1.一种用于打通知识图谱的系统,包括:
至少一个处理器;以及
至少一个存储器,至少一个存储器上存储有指令,当由所述至少一个处理器执行时,指令使得系统:
在系统处接收来自第三方的将多个实体与系统可访问的知识图谱打通的请求,每个实体具有至少一个关联的标识符以及与多个实体中的至少一个其他实体的至少一个关系;
在系统处从第三方接收描述多个实体的实体数据,实体数据包括至少一个关联的标识符和至少一个关系;
分析所述实体数据以识别多个实体中具有公共标识符或公共关系的子集;
对于所述子集,确定与实体数据的分析有关的结果,所述结果包括表示将至少一个规则应用于所述子集的失败的统计;以及
基于统计使得采取至少一个补救动作。
2.根据权利要求1所述的系统,其中,所述实体数据是以JavaScript对象表示法JSON格式接收的。
3.根据权利要求1所述的系统,其中,应用至少一个规则包括:对照至少一个规则来分析特定标识符或特定关系,以确定至少一个规则是否被违反。
4.根据权利要求1所述的系统,其中,所述统计被包括在失败报告中,所述失败报告还包括其他子集的百分比,所述其他子集:
具有与所述子集不同的公共标识符或不同的公共关系中的至少一个;且
违反至少一个规则中的规则。
5.根据权利要求1所述的系统,其中,当由至少一个处理器执行时,所述指令还使得系统将与实体数据关联的实体架构与所述知识图谱的知识基本架构进行比较。
6.根据权利要求1所述的系统,其中,所述至少一个补救动作包括向实体数据的源提供所述统计。
7.根据权利要求1所述的系统,其中,当由至少一个处理器执行时,所述指令还使得系统:
将多个实体与所述知识图谱打通,
其中,
所至少一个补救动作包括将与所述多个实体中的给定实体关联的合成数据自动打通;
所述给定实体由于缺少特定标识符特定或关系而违反所述至少一个规则;并且
所述合成数据基于所述特定标识符或特定关系被选择。
8.一种计算机实现的用于打通知识图谱的方法,包括:
在计算设备处接收来自第三方的将多个实体与系统可访问的知识图谱打通的请求,每个实体具有至少一个关联的标识符以及与多个实体中的至少一个其他实体的至少一个关系;
在计算设备处从第三方接收描述多个实体的实体数据,实体数据包括至少一个关联的标识符和至少一个关系;
由计算设备分析所述实体数据以识别多个实体中具有公共标识符或公共关系的子集;
对于所述子集,确定与实体数据的分析有关的结果,所述结果包括表示将至少一个规则应用于所述子集的失败的统计;以及
基于统计使得采取至少一个补救动作。
9.根据权利要求8所述的方法,其中,应用至少一个规则包括:对照至少一个规则来分析特定标识符或特定关系,以确定至少一个规则是否被违反。
10.根据权利要求8所述的方法,其中,所述统计被包括在失败报告中,所述失败报告还包括其他子集的百分比,所述其他子集:
具有与所述子集不同的公共标识符或不同的公共关系中的至少一个;且
违反至少一个规则中的规则。
11.根据权利要求8所述的方法,其中,还包括:
将与实体数据关联的实体架构与所述知识图谱的知识基本架构进行比较。
12.根据权利要求8所述的方法,其中,所述至少一个补救动作包括向实体数据的源提供所述统计。
13.根据权利要求8所述的方法,其中,还包括:
将多个实体与所述知识图谱打通,
其中,
所述至少一个补救动作包括将与所述多个实体中的给定实体关联的合成数据自动打通;
所述给定实体由于缺少特定标识符特定或关系而违反所述至少一个规则;并且
所述合成数据基于所述特定标识符或特定关系被选择。
14.一种非暂时性计算机可读介质,其上具有指令,所述指令当由一个或多个处理器执行时,使得:
接收来自第三方的将多个实体与系统可访问的知识图谱打通的请求,每个实体具有至少一个关联的标识符以及与多个实体中的至少一个其他实体的至少一个关系;
从第三方接收描述多个实体的实体数据,实体数据包括至少一个关联的标识符和至少一个关系;
分析所述实体数据以识别多个实体中具有公共标识符或公共关系的子集;
对于所述子集,确定与实体数据的分析有关的结果,所述结果包括表示将至少一个规则应用于所述子集的失败的统计;以及
基于统计使得采取至少一个补救动作。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,所述实体数据是以JavaScript对象表示法JSON格式接收的。
16.根据权利要求14所述的非暂时性计算机可读介质,其中,应用至少一个规则包括:对照至少一个规则来分析特定标识符或特定关系,以确定至少一个规则是否被违反。
17.根据权利要求14所述的非暂时性计算机可读介质,其中,所述统计被包括在失败报告中,所述失败报告还包括其他子集的百分比,所述其他子集:
具有与所述子集不同的公共标识符或不同的公共关系中的至少一个;且
违反至少一个规则中的规则。
18.根据权利要求14所述的非暂时性计算机可读介质,其中,当由至少一个处理器执行时,所述指令还使得:
将与实体数据关联的实体架构与所述知识图谱的知识基本架构进行比较。
19.根据权利要求14所述的非暂时性计算机可读介质,其中,所述至少一个补救动作包括向实体数据的源提供所述统计。
20.根据权利要求14所述的非暂时性计算机可读介质,其中,当由至少一个处理器执行时,所述指令还使得:
将多个实体与所述知识图谱打通,
其中,
所述一个或多个补救动作包括将与所述多个实体中的给定实体关联的合成数据自动打通;
所述给定实体由于缺少特定标识符特定或关系而违反所述至少一个规则;并且
所述合成数据基于所述特定标识符或特定关系被选择。
CN201780091970.9A 2017-11-21 用于打通知识图谱的系统、方法和计算机可读介质 Active CN110741389B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/062859 WO2019103727A1 (en) 2017-11-21 2017-11-21 Improved onboarding of entity data

Publications (2)

Publication Number Publication Date
CN110741389A CN110741389A (zh) 2020-01-31
CN110741389B true CN110741389B (zh) 2024-07-05

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017200094A1 (en) * 2010-06-22 2017-02-02 Primal Fusion Inc. Systems of computerized agents and user-directed semantic networking

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017200094A1 (en) * 2010-06-22 2017-02-02 Primal Fusion Inc. Systems of computerized agents and user-directed semantic networking

Similar Documents

Publication Publication Date Title
US11971936B2 (en) Analyzing web pages to facilitate automatic navigation
US11114100B2 (en) Proactive incorporation of unsolicited content into human-to-computer dialogs
US10416846B2 (en) Determining graphical element(s) for inclusion in an electronic communication
US11314944B2 (en) Transitioning between prior dialog contexts with automated assistants
KR101881114B1 (ko) 메시지들에서 태스크들 식별
US11769064B2 (en) Onboarding of entity data
US11017037B2 (en) Obtaining responsive information from multiple corpora
US11775254B2 (en) Analyzing graphical user interfaces to facilitate automatic interaction
US11580181B1 (en) Query modification based on non-textual resource context
US11836183B2 (en) Digital image classification and annotation
JP6246951B2 (ja) ユーザコンタクトエントリのデータ設定
CN109804364A (zh) 知识图谱构建系统及方法
EP3183669A1 (en) Concept identification and capture of named entities for filling forms across applications
US20210141820A1 (en) Omnichannel virtual assistant using artificial intelligence
US20210157856A1 (en) Positive/negative facet identification in similar documents to search context
US11416539B2 (en) Media selection based on content topic and sentiment
US9811592B1 (en) Query modification based on textual resource context
CN110741389B (zh) 用于打通知识图谱的系统、方法和计算机可读介质
KR102637614B1 (ko) 애플리케이션 전달 서버를 통해 전달을 위한 애플리케이션 디버깅
US20240232272A1 (en) Analyzing web pages to facilitate automatic navigation

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant