CN111444181B - 知识图谱更新方法、装置及电子设备 - Google Patents
知识图谱更新方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111444181B CN111444181B CN202010201639.1A CN202010201639A CN111444181B CN 111444181 B CN111444181 B CN 111444181B CN 202010201639 A CN202010201639 A CN 202010201639A CN 111444181 B CN111444181 B CN 111444181B
- Authority
- CN
- China
- Prior art keywords
- information
- identification information
- service
- target
- triple
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了知识图谱更新方法、装置,涉及人工智能领域。该方法包括:响应于知识图谱更新请求,调用第一服务获取消息队列中的第一标识信息,根据第一标识信息获取HBASE数据库中与第一标识信息对应的网络资源,并对网络资源进行知识抽取以获取三元组信息;调用第二服务对三元组信息与原始三元组信息进行融合,以获取融合三元组信息;调用第三服务对融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据中间三元组信息中的实体信息进行信息融合以获取目标三元组信息;调用第四服务对目标三元组信息进行处理,以获取更新后的知识图谱,并将更新后的知识图谱写入HBASE数据库中。本公开能够提高知识图谱的更新效率,保证知识更新的实时性。
Description
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种知识图谱更新方法、知识图谱更新装置、计算机存储介质及电子设备。
背景技术
知识图谱(Knowledge Graph)是人工智能重要分支知识工程在大数据环境中的成功应用,知识图谱与大数据和深度学习一起,成为推动互联网和人工智能发展的核心驱动力之一。知识图谱是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是“实体关系实体”三元组,以及实体及其相关属性-值对,实体间通过关系相互联结,构成网状的知识结构。
通常采用分布式文件***(HDFS,Hadoop Distributed File System)存储知识图谱,在根据非结构化文本抽取得到三元组结构的知识,并基于三元组结构的知识构建知识图谱的过程中,所有的数据处理模块都是通过脚本串行运行,中间结果都存储在HDFS中。但是由于基于HDFS的知识图谱构建架构中有十余个数据处理模块,各个数据处理模块都通过脚本串行运行,运行一次完整的流程需要一天甚至好几天的时间,这样一来,对于变化比较快的实体,其信息无法及时更新到知识图谱中,实时性较差。同时HDFS的存储结构决定了无法根据key对单条数据进行修改。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的实施例提供了一种知识图谱更新方法、知识图谱更新装置、计算机存储介质及电子设备,进而至少在一定程度上可以提高数据处理效率,实时更新知识图谱中的知识。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种知识图谱更新方法,所述方法包括:响应于知识图谱更新请求,调用第一服务获取消息队列中的第一标识信息,根据所述第一标识信息获取HBASE数据库中与所述第一标识信息对应的网络资源,并对所述网络资源进行知识抽取以获取三元组信息;调用第二服务对所述三元组信息与原始三元组信息进行融合,以获取融合三元组信息;调用第三服务对所述融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据所述中间三元组信息中的实体信息进行信息融合以获取目标三元组信息;调用第四服务对所述目标三元组信息进行处理,以获取更新后的知识图谱,并将所述更新后的知识图谱写入所述HBASE数据库中。
根据本公开实施例的一个方面,提供了一种知识图谱更新装置,所述装置包括:信息抽取模块,用于响应于知识图谱更新请求,调用第一服务获取消息队列中的第一标识信息,根据所述第一标识信息获取HBASE数据库中与所述第一标识信息对应的网络资源,并对所述网络资源进行信息抽取以获取三元组信息;信息融合模块,用于调用第二服务对所述三元组信息与原始三元组信息进行融合,以获取融合三元组信息;第一处理模块,用于调用第三服务对所述融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据所述中间三元组信息中的实体信息进行信息融合以获取目标三元组信息;第二处理模块,用于调用第四服务对所述目标三元组信息进行处理,以获取更新后的知识图谱,并将所述更新后的知识图谱写入所述HBASE数据库中。
在本公开的一些实施例中,所述HBASE数据库中存储有多个第二标识信息和与所述第二标识信息对应的网络资源;基于前述方案,所述信息抽取模块配置为:将所述第一标识信息与各所述第二标识信息进行比对;当所述HBASE数据库中存在包含所述第一标识信息的目标第二标识信息时,获取所述目标第二标识信息对应的目标网络资源,并将所述目标网络资源作为与所述第一标识信息对应的网络资源。
在本公开的一些实施例中,基于前述方案,所述信息融合模块配置为:将所述第一标识信息与分布式文件***数据库中的标识信息进行对比,以获取与所述第一标识信息对应的原始三元组信息;采用与所述第一标识信息对应的三元组信息替换与所述第一标识信息对应的原始三元组信息,以获取所述融合三元组信息。
在本公开的一些实施例中,所述第三服务包括属性更新服务、属性值对齐服务和实体融合服务;基于前述方案,所述第一处理模块配置为:调用所述属性更新服务对所述融合三元组信息中的属性进行更新,以使来自不同站点且具有相同属性的实体对应同一属性信息;调用所述属性值对齐服务对属性更新后的所述融合三元组信息中的属性值进行归一处理,以获取所述中间三元组信息;调用所述实体融合服务对所述中间三元组信息中的实体进行对齐和融合,以获取所述目标三元组信息。
在本公开的一些实施例中,所述第三服务还包括属性值添加服务;基于前述方案,所述知识图谱更新装置配置为:调用所述属性值添加服务读取属性值列表,所述属性值列表包括第一标识信息、与所述第一标识信息对应的实体和与所述实体对应的属性值;获取所述融合三元组信息中缺失属性值的目标实体,并获取与所述目标实体对应的第一标识信息;根据与所述目标实体对应的第一标识信息和所述目标实体从所述属性值列表中确定目标属性值,并将所述目标属性值添加至与所述目标实体对应的三元组信息中。
在本公开的一些实施例中,所述第四服务包括属性值选择服务;基于前述方案,所述第二处理模块配置为:调用所述属性值选择服务对所述目标三元组信息中的属性值进行去重处理,以获取所述更新后的知识图谱。
在本公开的一些实施例中,所述第四服务还包括关联服务;基于前述方案,所述知识图谱更新装置还配置为:调用所述关联服务根据所述目标三元组信息中的实体确定第一实体标识信息,并根据与所述目标三元组信息中的实体相关联的实体确定第二实体标识信息;将所述第一实体标识信息与所述第二实体标识信息进行关联,以获取所述更新后的知识图谱。
在本公开的一些实施例中,基于前述方案,所述知识图谱更新装置还配置为:根据所述目标三元组信息中的实体构建名称索引。
在本公开的一些实施例中,基于前述方案,所述知识图谱更新装置还配置为:在获取所述中间三元组信息之后,对所述中间三元组信息进行过滤,以保留目标属性对应的属性值。
在本公开的一些实施例中,基于前述方案,所述知识图谱更新装置还配置为:在获取消息队列中的第一标识信息之前,根据预设URL获取网络资源,并根据所述预设URL确定第一标识信息和第二标识信息;将所述第一标识信息存储于所述消息队列中,并将所述第二标识信息和对应的网络资源存储于所述HBASE数据库中。
在本公开的一些实施例中,基于前述方案,所述第一标识信息为对所述预设URL进行哈希处理所形成的标识信息,所述第二标识信息为根据所述第一标识信息形成且具有HTML格式的标识信息,所述消息队列为 Kafka队列。
在本公开的一些实施例中,所述HBASE数据库中存储有与多个知识对应的名称索引和实体标识信息;基于前述方案,所述知识图谱更新装置还可配置为:获取用户在终端设备中输入的待查询名称索引;将所述待查询名称索引与各所述名称索引进行比对,以获取与所述待查询名称索引对应的目标实体标识信息,并将所述目标实体标识信息反馈给所述用户;获取所述用户在所述终端设备中输入的目标实体标识信息,根据所述目标实体标识信息获取目标知识,并将所述目标知识反馈给所述用户。
在本公开的一些实施例中,基于前述方案,所述知识图谱更新装置还可配置为:响应所述用户对所述目标知识中的目标属性值的触发操作,在所述终端设备中显示操作选项;响应所述用户对目标操作选项的触发操作,根据所述目标操作选项对所述目标属性值进行目标操作。
根据本公开实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例所述的知识图谱更新方法。
根据本公开实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述实施例所述的知识图谱更新方法。
在本公开的实施例所提供的技术方案中,首先通过第一服务获取消息队列中的第一标识信息,根据第一标识信息获取HBASE数据库中对应的网络资源,并对该网络资源进行信息抽取以获取三元组信息;接着调用第二服务对三元组信息和原始三元组信息进行融合,以获取融合三元组信息;然后调用第三服务对融合三元组信息进行处理以获取目标三元组信息;最后调用第四服务对目标三元组信息进行处理以获取更新后的知识图谱。本公开的技术方案能够通过多个服务对根据第一标识信息确定的网络资源进行知识抽取、知识融合和处理,提高知识图谱的更新效率,保证了知识更新的实时性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本公开的一个实施例的所应用的网络***的体系构架示意图;
图2示意性示出了根据本公开的一个实施例的知识图谱更新方法的流程图;
图3示意性示出了根据本公开的一个实施例的知识图谱更新单元的架构示意图;
图4示意性示出了根据本公开的一个实施例的获取与第一标识信息对应的网络资源的流程示意图;
图5示意性示出了根据本公开的一个实施例的属性值补充的流程示意图;
图6示意性示出了根据本公开的一个实施例的根据名称索引获取知识的流程示意图;
图7A-7D示意性示出了根据本公开的一个实施例的根据名称索引获取知识的界面示意图;
图8示意性示出了根据本公开的一个实施例的对知识进行修改的流程示意图;
图9示意性示出了根据本公开的一个实施例的对知识进行修改的界面示意图;
图10示意性示出了根据本公开的一个实施例的数据质量监控方法的流程示意图;
图11示意性示出了根据本公开的一个实施例的知识图谱更新装置的框图;
图12示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
知识图谱是知识工程的一个分支,以知识工程中语义网络作为理论基础,并且结合了机器学习,自然语言处理和知识表示和推理的最新成果,在大数据的推动下受到了业界和学术界的广泛关注,其中机器学习、自然语言处理和知识表示和推理都是人工智能的重要方面。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本公开实施例提供的方案涉及人工智能的自然语言处理技术,具体通过如下实施例进行说明:
图1示出了可以应用本公开实施例的技术方案的示例性***架构的示意图。
如图1所示,网络***100包括网页下载单元101、网络102、消息单元103、HBASE数据库104、知识图谱更新单元105。其中网页下载单元 101用于根据预设URL获取网络资源,并根据预设URL确定第一标识信息和第二标识信息,该第一标识信息为对预设URL进行哈希处理所得到的标识信息,该第二标识信息为根据第一标识信息形成且具有HTML格式的标识信息;网络102用于在网络下载单元101、消息单元103之间,网络下载单元101、HBASE数据库104之间,消息单元103、HBASE数据库 104和知识图谱更新单元105之间提供有线或无线的通讯链路,例如可以通过网络102将第一标识信息从网络下载单元101发送至消息单元103,将第二标识信息和网络资源从网络下载单元101发送至HBASE数据库 104,等等;消息单元103用于存放第一标识信息,其具体可以是Kafka队列,Kafka是一种高吞吐量的分布式发布订阅消息***,它可以处理消费者在网站中的所有动作流数据;HBASE数据库104用于存储第二标识信息、网络资源以及知识图谱更新过程中各个服务运行成功后所生成的数据;知识图谱更新单元105用于响应知识图谱更新请求,调用相应的服务根据新的知识对旧的知识进行更新;进一步地,知识图谱更新单元105可以包含一驱动服务和通过该驱动服务调用的多个服务。
网页下载单元101、消息单元103、HBASE数据库104、知识图谱更新单元105可以同时设置于独立的服务器中,也可以是设置于由多个服务器组成的服务器集群等。
在本公开的一个实施例中,网页下载单元101根据预设URL进行网页下载,同时根据预设URL确定第一标识信息和第二标识信息,接着将第一标识信息通过网络102发送至消息单元103,以添加到Kafka消息队列中,并将第二标识信息通过网络102发送至HBASE数据库104进行存储。接着,在预设时间点触发知识图谱更新单元105对知识图谱进行更新,知识图谱更新单元105在接收到知识图谱更新请求后,依次调用各个服务根据从消息队列中获取的第一标识信息,对HDFS中存储的知识图谱进行实时更新。知识图谱更新单元105包含驱动服务和由该驱动服务调用的多个服务,具体地,驱动服务接收到知识图谱更新请求后,驱动服务调用第一服务获取消息队列中的第一标识信息,根据第一标识信息获取HBASE数据库中与第一标识信息对应的网络资源,并对网络资源进行知识抽取以获取三元组信息;接着第一服务将三元组信息返回至驱动服务,驱动服务调用第二服务对三元组信息和原始三元组信息进行融合,以获取融合三元组信息;然后第二服务将融合三元组信息返回至驱动服务,驱动服务调用第三服务对融合三元组信息进行处理以获取目标三元组信息;最后第三服务将目标三元组信息返回至驱动服务,驱动服务调用第四服务对目标三元组信息进行处理,以获取更新后的知识图谱。进一步地,第四服务可以将更新后的知识图谱返回至驱动服务,驱动服务可以将更新后的知识图谱以及各个服务返回的数据写入HBASE数据库,以供后续的使用及调试。本公开实施例中的知识图谱更新方法一方面能够基于HBASE数据库和Kafka队列的存储结构,通过多个服务对下载的网页中的知识进行抽取,并根据抽取的知识实时对知识图谱进行更新,优化了知识图谱更新的流程,提高了数据处理效率,保证了知识图谱中知识更新的实时性。
Hadoop是一个能够对大量数据进行分布式处理的软件框,实现了一个分布式文件***HDFS,HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上,而且它提供高吞吐量来访问应用程序的数据,适合那些有这超大数据集的应用程序。
在本领域的相关技术中,在构建知识图谱时,涉及大量的数据,因此通常采用HDFS存储知识图谱,同时在根据下载的网页进行知识抽取,并根据抽取的知识构建知识图谱的过程中所采用的知识图谱构建***包含十余个数据处理模块,并且每个模块对应一个或多个Hadoop脚本,通过脚本串行运行实现知识图谱的构建。但是由于数据处理模块较多,数据量大,并且需要通过脚本串行运行的方式进行数据处理,即使是对单条数据进行更新,也需要大量的时间才能运行一次完整的流程,在工程中,通常需要一天左右的时间,对于变化比较快的实体,可能会导致信息无法及时更新到知识库的最终结果中,对后续的知识图谱应用带来障碍。例如某个歌手最新发布了一首单曲,如果根据相关技术中通过多个数据处理模块的脚本串行运行对该歌手的知识进行更新,那么需要耗费太长的时间,就会导致用户通过问答***咨询相关信息时无法及时获得该最新单曲的信息,这必然会影响用户体验和问答***的粘性。
针对相关技术中存在的问题,本公开实施例提供了一种知识图谱更新方法,该方法可以应用于服务器,主要应用于服务器中部署的知识图谱更新单元,如图1所示的知识图谱更新单元105。该服务器具体可以是云服务器,知识图谱更新单元可以部署在与云服务器相关的云服务上,并基于云技术实现对知识图谱的实时更新。
本公开实施例中的知识图谱更新方法可应用于任意需要进行知识图谱更新的***或平台,例如问答***、医疗***、各类资讯平台等等。图2 示意性示出了根据本公开的一个实施例的知识图谱更新方法的流程图,参照图2所示,该知识图谱更新方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,响应于知识图谱更新请求,调用第一服务获取消息队列中的第一标识信息,根据所述第一标识信息获取HBASE数据库中与所述第一标识信息对应的网络资源,并对所述网络资源进行知识抽取以获取三元组信息。
在本公开的一个实施例中,可以根据预设URL获取网络资源,通过对网络资源进行抽取可以获得知识,并且基于所抽取的知识可以对已有的知识图谱中的数据进行更新。URL(uniform resource locator)又称统一资源定位***,是因特网的万维网服务程序上用于指定信息位置的表示方法,根据具体的URL可以获取具体的网络资源,例如通过URL:https://baike.***.com/,可以获取百度百科主页面的信息。在本公开的实施例中,预设URL可以是开发人员收集的现有的URL,也可以是针对给定的种子页面,根据种子页面中的特定格式所构造的URL,***在获取预设URL后,可以根据预设URL自动获取与预设URL对应的网络资源,进一步地,还可以根据预设URL确定第一标识信息和第二标识信息,其中,第一标识信息,以doc_id进行标记,是通过对预设URL进行哈希处理所形成的标识信息,可以视为网页信息的关键字,通常为64位无符号整形;第二标识信息,是根据第一标识信息形成且具有HTML格式的标识信息,具体表示为doc_id\t base64_html,根据第二标识信息可以获取doc_id对应的网络资源。
在本公开的一个实施例中,在根据预设URL确定第一标识信息和第二标识信息后,可以将第一标识信息存储于消息队列中,将第二标识信息和对应的网络资源存储于HBASE数据库中。该消息队列具体可以为Kafka队列,Kafka是一种高吞吐量的分布式发布订阅消息***,处理消费者在网站中的所有动作流数据,同时HBASE是一个分布式的、面向列的开源数据库,本公开实施例采用基于HBASE数据库和Kafka队列的存储结构能够优化知识图谱更新的流程,提高数据处理效率。
在本公开的一个实施例中,在***中还可以设置定时触发单元,该定时触发单元可以在预设时间点向知识图谱更新单元发送知识图谱更新请求,知识图谱更新单元响应该知识图谱更新请求,可以调用其中的服务根据第一标识信息、HBASE数据库中的第二标识信息以及与第二标识信息对应的网络资源对知识图谱进行更新。
在本公开的一个实施例中,知识图谱更新单元包含一驱动服务和由驱动服务调用的多个服务,其中该驱动服务一方面可以对多个服务进行调用,一方面可以接收多个服务运行成功所生成的数据,并将数据写入 HBASE数据库中;该多个服务可以用于对网络资源进行知识抽取并根据抽取的知识对知识图谱进行更新。图3示出了知识图谱更新单元的架构示意图,如图3所示,知识图谱更新单元300包括驱动服务301、第一服务 302、第二服务303、第三服务304和第四服务305,其中,第一服务 302、第二服务303、第三服务304和第四服务305由驱动服务301进行调用。
接下来,基于图3所示的知识图谱更新单元的架构对知识图谱更新方法的流程进行说明。
在接收到知识图谱更新请求后,驱动服务301调用第一服务302,该第一服务302具体可以为抽取服务,其可从Kafka队列中获取第一标识信息。根据第一标识信息获取HBASE数据库中与该第一标识信息对应的网络资源,并对所获取的网络资源进行知识抽取以获取三元组信息。进一步地,定时触发单元在向知识图谱更新单元发送知识图谱更新请求之前,可以从Kafka中读取包含第一标识信息的列表,然后在发送知识图谱更新请求的同时发送给知识图谱更新单元,当调用第一服务进行知识抽取时,可以从包含第一标识信息的列表中获取第一标识信息。
在本公开的一个实施例中,HBASE数据库中存储有多个第二标识信息和与各第二标识信息对应的网络资源,图4示出了获取与第一标识信息对应的网络资源的流程示意图,如图4所示,在步骤S401中,将第一标识信息与各第二标识信息进行比对;在步骤S402中,当第二标识信息中存在包含第一标识信息的目标第二标识信息时,获取目标第二标识信息对应的目标网络资源,并将目标网络资源作为与第一标识信息对应的网络资源。
接下来,第一服务302可以对获取的网络资源进行抽取,以获取其中的三元组信息。在对网络资源进行抽取时,可以根据预设的正则表达式进行抽取,也可以通过网页抽取工具进行抽取,本公开实施例对此不做具体限定。
在步骤S220中,调用第二服务对所述三元组信息与原始三元组信息进行融合,以获取融合三元组信息。
在本公开的一个实施例中,在通过第一服务302对网络资源进行抽取获得三元组信息之后,第一服务302可以将三元组信息返回至驱动服务 301,并通过驱动服务301调用第二服务303,该第二服务303为新旧融合服务,可对三元组信息和原始三元组信息进行融合。
在本公开的一个实施例中,基于存储于HDFS中的知识图谱进行更新,该知识图谱是根据历史获取的三元组信息构建得到的,在对网络资源进行抽取获得新的三元组信息后,可以将三元组信息和知识图谱中的原始三元组信息进行融合,融合的过程主要是采用根据doc_id获取的新的三元组信息替换知识图谱中根据该doc_id获取的原始三元组信息,例如与一 doc_id对应的原始三元组信息为:张三-担任职务-XX区管委会主任,而从与该doc_id对应的最新网络资源中抽取的三元组信息为:张三-担任职务- XX区城建局局长,那么就可以用新抽取的三元组信息替换原始三元组信息;又例如,原始三元组信息为:李四-出生年份-1950年,而新抽取的三元组信息为:李四-出生年份-1950年、李四-逝世年份-2020年,那么可以采用新的三元组信息替换原始三元组信息,即融合三元组信息为:李四-出生年份-1950年、李四-逝世年份-2020年。
在步骤S230中,调用第三服务对所述融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据所述中间三元组信息中的实体信息进行信息融合以获取目标三元组信息。
在本公开的一个实施例中,在下载网页时,后台会从不同的站点下载,而不同站点的网页内容中针对相同的属性、属性值可能会有不同的表达方式,例如对于一演员,A网站中将其所有的荣誉奖励归结为“荣誉记录”属性,而B网站将其所有的荣誉奖励归结为“获奖记录”,其实都是对应相同的属性值,但是属性的表达方式不同;又例如,对于伊犁所属地区,有的网站会写新疆,有的会写新疆维吾尔自治区,其实质上都是一样的,但是在表达方式上有所不同。为了避免相同属性、属性值的不同表达引起实体无法有效融合的情况,可以在第二服务303将融合三元组信息发送给驱动服务301后,通过驱动服务301调用第三服务304,对融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据中间三元组信息中的实体信息进行信息融合以获取目标三元组信息。
在本公开的一个实施例中,第三服务304具体可以包括属性更新服务、属性值对齐服务和实体融合服务,具体地,首先可以调用属性更新服务对融合三元组信息中的属性进行更新,以使来自不同站点且具有相同属性的实体对应同一属性信息,例如演员的荣誉奖励都对应属性“获奖经历”;接着可以调用属性值对齐服务对属性更新后的融合三元组信息中的属性值进行归一处理,以获取中间三元组信息,也就是说,该三元组信息中实体的某一属性具有相同的属性值,例如伊犁所属地区为新疆维吾尔自治区;最后可以调用实体融合服务对中间三元组信息中的实体进行对齐和融合,以获取目标三元组信息。
实体融合的流程具体可以是:首先根据实体的名称对对应的中间三元组信息进行分桶,然后判断同一分桶中具有相同实体名称的三元组信息是否相同,如果相同则进行融合,如果不同则不融合,融合后所得到的三元组信息即为目标三元组信息。例如来自豆瓣的公众人物A和来自百度的公众人物A的出生日期相同,那么可以将从豆瓣和百度的网页中提取的公众人物A的三元组信息进行融合,形成一条知识,如果来自豆瓣的公众人物 A和来自百度的公众人物A的出生日期不同,那么便不会对从豆瓣和百度的网页中提取的公众人物A的三元组信息进行融合。
在步骤S240中,调用第四服务对所述目标三元组信息进行处理,以获取更新后的知识图谱,并将所述更新后的知识图谱写入所述HBASE数据库中。
在本公开的一个实施例中,在得到目标三元组信息后,可以通过第三服务304将目标三元组信息返回至驱动服务301,接着驱动服务301可以调用第四服务305对目标三元组信息进行处理,以获取更新后的知识图谱。第四服务305具体可以包含属性值选择服务,该属性值选择服务可以对目标三元组信息中的属性值进行去重处理,例如目标三元组信息中实体的某一属性的属性值来自不同站点,可能相同也可能不同,那么在调用属性值选择服务进行处理时就可以对相同的属性值进行去重处理,保证最终的三元组信息中该实体的某一属性的属性值均不同,举例而言,从A网站中下载的网页中抽取得到李四的职业为“歌手、演员”,从B网站中下载的网页中抽取的到李四的职业为“歌手、插画师”,那么通过属性值选择服务处理后,可以得到李四的职业为“歌手、演员、插画师”。
在本公开的一个实施例中,通过对目标三元组信息中的属性值进行去重处理后,根据目标三元组信息即可获取更新后的知识图谱。考虑到最终获取的三元组信息中可能存在相互关联的实体,而前期抽取获得的实体是文本格式的,无法进行数据关联,因此需要将实体名称转换为实体标识信息进行关联,以对知识图谱进行更新。实体标识信息,即为实体对应的 uuid,uuid是通用唯一识别码,是一个128比特的数值,这个数值可以通过一定的算法计算出来,为了提高效率,常用的uuid可缩短至16位。在实体关联时,可以调用第四服务305中的关联服务根据目标三元组信息中的实体确定第一实体标识信息,并根据与该实体相关联的实体确定第二实体标识信息,然后将第一实体标识信息和第二实体标识信息进行关联,以获取更新后的知识图谱。在本公开的实施例中,实体标识信息可以根据实体的名称和计算uuid时的时间戳计算得到与实体对应的uuid。不同实体的 uuid是不同的,因此即使对应相同的实体名称,其uuid也是不同的,例如小芳既是人名又是歌名,但是作为人名的小芳对应的uuid和作为歌名的小芳对应的uuid是不同的,这样可以避免在实体关联时,将不存在关联关系的两个实体关联在一起,造成误关联。
在本公开的一个实施例中,第三服务304还包括属性值添加服务,在调用属性更新服务对融合三元组信息中的属性进行更新之后,可以通过驱动服务调用属性值添加服务,以对融合三元组信息中缺失的属性值进行补充。图5示出了属性值补充的流程示意图,如图5所示,在步骤S501中,通过属性值添加服务读取属性值列表,该属性值列表中包括第一标识信息、与第一标识信息对应的实体和与实体对应的属性值;在步骤S502中,获取融合三元组信息中缺失属性值的目标实体,并获取与目标实体对应的第一标识信息;在步骤S503中,根据与目标实体对应的第一标识信息和目标实体从属性值列表中确定目标属性值,并将该目标属性值添加至与所述目标实体对应的三元组信息中。
在本公开的一个实施例中,属性值列表是通过人工统计获得的,知识图谱在经过多次更新后,知识图谱运维人员会对知识图谱中的知识的完整度进行检查,当发现与某实体的某个属性对应的属性值存在缺失时,可以人工统计该缺失的属性值,并将其写成文件存储于数据库中,当属性值添加服务运行时,可以从数据库中读取该文件,在判断属性值列表中存在与正在处理的网页的标识信息相同的第一标识信息时,根据目标实体获取对应的缺失属性值,并将该缺失属性值添加到相应的三元组信息中,以保证知识的完整性。属性值缺失常见于人物关系比较复杂的三元组,通过属性值添加服务可以进一步完善融合三元组信息,提高知识图谱的完整性。
在本公开的一个实施例中,第三服务304还可以包括过滤服务,在调用属性值对齐服务对融合三元组信息中的属性值进行归一处理后,可以通过驱动服务301调用该过滤服务对属性值进行过滤,只保留所需的目标属性的属性值,例如只保留人物的属性值,如性别、出生年份、出生日期,等等,这样可以去掉不必要的数据,节省存储空间,减少数据处理量,进而提高数据处理效率。
在本公开的一个实施例中,在通过过滤服务对属性值进行过滤之后,还可以通过驱动服务301调用第三服务304中的区域合并服务,该区域合并服务可以根据多个URL得到主URL,从页面内容来看,多个URL可能分别对应实体的不同属性,主URL对应实体的所有属性,例如一URL的页面对应人物A的工作经历,一URL的页面对应人物A的社会关系,一 URL的页面对应人物A的担任职务,那么根据这三个URL得到的主URL 的页面则包含人物A的工作经历、社会关系和担任职务三方面的信息。
在本公开的一个实施例中,在区域合并之后,调用实体融合服务对中间三元组信息中的实体进行对齐和融合,以获取目标三元组信息,在此过程中,还可以从中获取新的URL或UUID,新的URL或UUID可以存储于Kafka消息队列中,方便后期的数据提取和调试。值得说明的是,在调用抽取服务对网络资源进行抽取时,不仅仅抽取其中的三元组信息,还保留了网页信息、抽取时间、下载时间等信息,这样在调用区域合并服务对 URL进行融合时,可能会获取新的URL,并且在知识更新的过程中,也可能出现与实体存在关联的新的实体,那么根据新的实体便可以获得新的 UUID。
在本公开的一个实施例中,为了便于用户通过终端对相关知识进行查询和修改,在通过属性值选择服务对目标三元组信息中的属性值进行去重处理之后,可以根据目标三元组信息中的实体构建名称索引,该名称索引例如可以是实体的拼音,也可以是实体中每个字的拼音的首字母所组成的组合,等等。根据名称索引,用户可以获取实体的uuid,进而根据uuid获取与该实体对应的知识。值得说明的是,对应同一名称索引,可能存在多个uuid,那么用户可以根据各uuid获取对应的知识,直至获取所需的知识。
图6示出了根据名称索引获取知识的流程示意图,如图6所示,在步骤S601中,获取用户在终端设备中输入的待查询名称索引;在步骤S602 中,将待查询名称索引与HBASE数据库中各名称索引进行比对,以获取与待查询名称索引对应的目标实体标识信息,并将目标实体标识信息反馈给用户;在步骤S603中,获取用户在终端设备中输入的目标实体标识信息,根据目标实体标识信息获取目标知识,并将目标知识反馈给用户。
其中,在步骤S602中,HBASE数据库中存储有与多个知识对应的名称索引和实体标识信息,在获取用户输入的待查询名称索引后,将待查询名称索引与数据库中的名称索引进行比对,如果存在相同的名称索引时,获取该名称索引对应的实体标识信息,即uuid,然后反馈给用户。
图7A-7D示出了根据名称索引获取知识的界面示意图,如图7A所示,用户输入待查询名称索引,例如输入“mayun”,表示用户想要查找关于马云的知识,后台接收到待查询名称索引后,在数据库中查找与其对应的uuid,例如为05b5ce42-25c2-4af9-9791854af0b1,然后可以将该uuid 返回给用户的终端设备,如图7B所示;用户获取uuid后,将uuid输入至搜索框,如图7C所示,后台接收到用户输入的uuid后,根据该uuid在 HBASE数据库中查询对应的知识,并将获取的知识反馈给用户,如图7D 所示,在界面中显示有马云的ID、名称、属性、热度、概念等等,还显示有和其具有人物关系的对象,例如儿子、父亲等。
在本公开的一个实施例中,用户在前端可以对查询得到的知识进行修改,图8示出了对知识进行修改的流程示意图,如图8所示,在步骤S801 中,响应用户对目标知识中的目标属性值的触发操作,在终端设备中显示操作选项;在步骤S802中,响应用户对目标操作选项的触发操作,根据目标操作选项对目标属性值进行目标操作。步骤S802中的目标操作即为对目标属性值进行修改,在本公开的实施例中,修改的方式有三种,第一种是直接修改属性值;第二种是将属性值加入黑名单;第三种是将属性值加入白名单。其中,将属性值加入黑名单后,该属性值就不会出现在实体对应的属性值中了,该种情况适用于经常出现的脏数据,例如无法切割开的属性值;将属性值加入白名单后,该属性值即被固定下来,永远不会改变。
图9示出了对知识进行修改的界面示意图,如图9所示,在显示知识的界面上,用户对属性值“马来法”进行触发操作后,在终端设备中显示有三个操作选项,一个是编辑,一个是加入白名单,一个是加入黑名单,用户可以对任意一个操作选项进行触发操作,实现对属性值相应的处理。在本公开的实施例中,用户的触发操作根据终端设备的类型的不同而不同,例如对于触屏终端设备,可以通过长按、双击想要修改的属性值进行修改,对于非触屏终端设备,可以通过在待修改属性值上进行鼠标右键单击、鼠标右键双击、键盘功能键+鼠标点击,如ctrl+alt+鼠标右击,来触发对属性值进行修改,当然还可以通过其它触发操作触发对属性值的修改,本公开对此不作具体限定。
在本公开的一个实施例中,在HDFS存储的知识图谱的基础上,采用 HBASE数据库和Kafka队列的存储结构对知识图谱进行更新时,必须保证修改后的流程和之前采用Hadoop脚本的逻辑一致,在本公开的实施例中,可以通过对最终的结果进行数据质量监控来判断修改后的流程和之前的逻辑是否一致。
图10示出了数据质量监控方法的流程示意图,如图10所示,在步骤 S1001中,随机获取HDFS中的一部分数据;由于HDFS中存储的数据量巨大,采用全部的数据进行监控是不现实的,因此可以从中选取一部分数据进行监控。在步骤S1002中,获取该部分数据的第一标识信息集合; HDFS中存储的数据也是从不同站点下载的网络资源中抽取获得的,因此根据不同站点的URL可以确定第一标识信息集合。在步骤S1003中,从 HBASE数据库中读取第一标识信息集合对应的数据。在步骤S1004中,将步骤S1003中读取的数据与HDFS中与第一标识信息集合对应的数据进行比对。在步骤S1005中,当步骤S1003中读取的数据包含与HDFS中与第一标识信息集合对应的数据时,判定修改后的流程和之前的逻辑一致。在步骤S1006中,当步骤S1003中读取的数据不完全包含与HDFS中与第一标识信息集合对应的数据时,判定修改后的流程和之前的逻辑不一致。
值得说明的是,在判断步骤S1003中读取的数据是否包含与HDFS中与第一标识信息集合对应的数据时,可以根据属性是否缺失、热度是否相同、组成实体的来源是否缺失等因素进行判断,若各个因素持续稳定为零,即属性无缺失、热度相同、组成实体的来源无缺失,那么可以判定读取的数据包含与HDFS中与第一标识信息集合对应的数据。
本公开的知识图谱更新方法可以应用于任意的知识图谱更新场景,并且特别适用于对知识图谱中单条数据进行修改的场景,该单条数据主要指对应唯一实体的知识,例如,与某歌手对应的知识、与某篮球运动员对应的知识,等等。在更新时,首先可以从多个站点获取关于该实体的网络资源,并从中抽取知识,即三元组信息;然后将新抽取的三元组信息与知识图谱中的原始三元组信息进行新旧融合;最后对融合后的三元组信息中的各个信息进行处理,以获取与该实体对应的更新后的知识,进而完成对知识图谱的更新。
本公开的知识图谱更新方法中,在获取第一标识信息后,可以通过知识图谱更新单元中的多个服务根据第一标识信息进行流式处理,各个服务运行成功后,可以将生成的数据返回给驱动服务,同时驱动服务可以在全部服务运行成功后,将更新后的知识图谱和接收到的各个服务生成的数据写入HBASE数据库中,由于各个服务能够在接收到输入数据后及时进行数据处理并输出,保证了实时的数据处理,对于单条数据,更新的平均时间可以控制在1s左右,和相关技术中的单条数据更新需要一天甚至多天相比,大大提高了数据的处理效率,进而提高了知识图谱的更新效率。另外,驱动服务将各个服务生成的数据写入HBASE数据库可以在后期出现问题时根据HBASE数据库中的数据进行调试,提高了调试的便利性,保证能够及时发现问题并解决问题,提高知识图谱更新的效率和可靠性。
由于HBASE数据库是一个分布式的、面向列的开源数据库,那么在该数据库中数据可以以键值对的形式存储,即根据URL确定的第一标识信息doc_id即为其中的键key,各个服务运行成功后生成的数据即为与键对应的值value。在本公开的实施例中,可以根据key读取HBASE数据库中对应的数据,并通过人工在前端操作界面对key对应的单条数据的部分属性值进行编辑,并将编辑后的属性值写入HBASE数据库中。相比于 HDFS,由于HDFS支持全量写入,根据key只能读取相应的数据,而无法对该key对应的单条数据进行修改并写入,即使修改一条数据也需要运行 Hadoop脚本,导致基于HDFS的存储结构无法对个别key对应的数据进行实时更新,而本公开实施例中的知识图谱更新方法却能够根据key对单条数据进行读写,并且保证了部分数据可以人工干预。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的知识图谱更新方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的知识图谱更新方法。
图11示意性示出了根据本公开的一个实施例的知识图谱更新装置的框图。知识图谱更新装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该知识图谱更新装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。
参照图11所示,根据本公开的一个实施例的知识图谱更新装置1100,知识图谱更新装置1100包括:信息抽取模块1101、信息融合模块1102、第一处理模块1103和第二处理模块1104。
具体地,信息抽取模块1101,用于响应于知识图谱更新请求,调用第一服务获取消息队列中的第一标识信息,根据所述第一标识信息获取 HBASE数据库中与所述第一标识信息对应的网络资源,并对所述网络资源进行信息抽取以获取三元组信息;信息融合模块1102,用于调用第二服务对所述三元组信息与原始三元组信息进行融合,以获取融合三元组信息;第一处理模块1103,用于调用第三服务对所述融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据所述中间三元组信息中的实体信息进行信息融合以获取目标三元组信息;第二处理模块1104,用于调用第四服务对所述目标三元组信息进行处理,以获取更新后的知识图谱,并将所述更新后的知识图谱写入所述HBASE数据库中。
在本公开的一个实施例中,所述HBASE数据库中存储有多个第二标识信息和与所述第二标识信息对应的网络资源;所述信息抽取模块1101配置为:将所述第一标识信息与各所述第二标识信息进行比对;当所述 HBASE数据库中存在包含所述第一标识信息的目标第二标识信息时,获取所述目标第二标识信息对应的目标网络资源,并将所述目标网络资源作为与所述第一标识信息对应的网络资源。
在本公开的一个实施例中,所述信息融合模块1102配置为:将所述第一标识信息与分布式文件***数据库中的标识信息进行对比,以获取与所述第一标识信息对应的原始三元组信息;采用与所述第一标识信息对应的三元组信息替换与所述第一标识信息对应的原始三元组信息,以获取所述融合三元组信息。
在本公开的一个实施例中,所述第三服务包括属性更新服务、属性值对齐服务和实体融合服务;所述第一处理模块配置为:调用所述属性更新服务对所述融合三元组信息中的属性进行更新,以使来自不同站点且具有相同属性的实体对应同一属性信息;调用所述属性值对齐服务对属性更新后的所述融合三元组信息中的属性值进行归一处理,以获取所述中间三元组信息;调用所述实体融合服务对所述中间三元组信息中的实体进行对齐和融合,以获取所述目标三元组信息。
在本公开的一个实施例中,所述第三服务还包括属性值添加服务;所述知识图谱更新装置1100配置为:调用所述属性值添加服务读取属性值列表,所述属性值列表包括第一标识信息、与所述第一标识信息对应的实体和与所述实体对应的属性值;获取所述融合三元组信息中缺失属性值的目标实体,并获取与所述目标实体对应的第一标识信息;根据与所述目标实体对应的第一标识信息和所述目标实体从所述属性值列表中确定目标属性值,并将所述目标属性值添加至与所述目标实体对应的三元组信息中。
在本公开的一个实施例中,所述第四服务包括属性值选择服务;所述第二处理模块配置为:调用所述属性值选择服务对所述目标三元组信息中的属性值进行去重处理,以获取所述更新后的知识图谱。
在本公开的一个实施例中,所述第四服务还包括关联服务;所述知识图谱更新装置1100还配置为:调用所述关联服务根据所述目标三元组信息中的实体确定第一实体标识信息,并根据与所述目标三元组信息中的实体相关联的实体确定第二实体标识信息;将所述第一实体标识信息与所述第二实体标识信息进行关联,以获取所述更新后的知识图谱。
在本公开的一个实施例中,所述知识图谱更新装置1100还配置为:根据所述目标三元组信息中的实体构建名称索引。
在本公开的一个实施例中,所述知识图谱更新装置1100还配置为:在获取所述中间三元组信息之后,对所述中间三元组信息进行过滤,以保留目标属性对应的属性值。
在本公开的一个实施例中,所述知识图谱更新装置1100还配置为:在获取消息队列中的第一标识信息之前,根据预设URL获取网络资源,并根据所述预设URL确定第一标识信息和第二标识信息;将所述第一标识信息存储于所述消息队列中,并将所述第二标识信息和对应的网络资源存储于所述HBASE数据库中。
在本公开的一个实施例中,所述第一标识信息为对所述预设URL进行哈希处理所形成的标识信息,所述第二标识信息为根据所述第一标识信息形成且具有HTML格式的标识信息,所述消息队列为Kafka队列。
在本公开的一个实施例中,所述HBASE数据库中存储有与多个知识对应的名称索引和实体标识信息;所述知识图谱更新装置1100还可配置为:获取用户在终端设备中输入的待查询名称索引;将所述待查询名称索引与各所述名称索引进行比对,以获取与所述待查询名称索引对应的目标实体标识信息,并将所述目标实体标识信息反馈给所述用户;获取所述用户在所述终端设备中输入的目标实体标识信息,根据所述目标实体标识信息获取目标知识,并将所述目标知识反馈给所述用户。
在本公开的一个实施例中,所述知识图谱更新装置1100还可配置为:响应所述用户对所述目标知识中的目标属性值的触发操作,在所述终端设备中显示操作选项;响应所述用户对目标操作选项的触发操作,根据所述目标操作选项对所述目标属性值进行目标操作。
图12示出了适于用来实现本公开实施例的电子设备的计算机***的结构示意图。
需要说明的是,图12示出的电子设备的计算机***1200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,计算机***1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory, ROM)1202中的程序或者从存储部分1208加载到随机访问存储器 (Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,实现上述实施例中所述的知识图谱更新方法。在RAM 1203中,还存储有***操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205 也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本公开的***中限定的各种功能。作为示例,用于执行流程图所示的方法的程序代码可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链***。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory, EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read- Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的知识图谱更新装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD- ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (14)
1.一种知识图谱更新方法,其特征在于,包括:
根据预设URL获取网络资源,并根据所述预设URL确定第一标识信息和第二标识信息;将所述第一标识信息存储于消息队列中,并将所述第二标识信息和对应的网络资源存储于HBASE数据库中,其中所述第二标识信息是根据所述第一标识信息形成且具有HTML格式的标识信息;
响应于知识图谱更新请求,调用第一服务获取所述消息队列中的第一标识信息,根据所述第一标识信息获取所述HBASE数据库中与所述第一标识信息对应的网络资源,并对所述网络资源进行知识抽取以获取三元组信息;
调用第二服务对所述三元组信息与原始三元组信息进行融合,以获取融合三元组信息;
调用第三服务对所述融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据所述中间三元组信息中的实体信息进行信息融合以获取目标三元组信息;
调用第四服务对所述目标三元组信息进行处理,以获取更新后的知识图谱,并将所述更新后的知识图谱写入所述HBASE数据库中。
2.根据权利要求1所述的知识图谱更新方法,其特征在于,所述HBASE数据库中存储有多个第二标识信息和与所述第二标识信息对应的网络资源;
所述根据所述第一标识信息获取所述HBASE数据库中与所述第一标识信息对应的网络资源,包括:
将所述第一标识信息与各所述第二标识信息进行比对;
当所述HBASE数据库中存在包含所述第一标识信息的目标第二标识信息时,获取所述目标第二标识信息对应的目标网络资源,并将所述目标网络资源作为与所述第一标识信息对应的网络资源。
3.根据权利要求1所述的知识图谱更新方法,其特征在于,所述调用第二服务对所述三元组信息与原始三元组信息进行融合,以获取融合三元组信息,包括:
将所述第一标识信息与分布式文件***数据库中的标识信息进行对比,以获取与所述第一标识信息对应的原始三元组信息;
采用与所述第一标识信息对应的三元组信息替换与所述第一标识信息对应的原始三元组信息,以获取所述融合三元组信息。
4.根据权利要求1所述的知识图谱更新方法,其特征在于,所述第三服务包括属性更新服务、属性值对齐服务和实体融合服务;
所述调用第三服务对所述融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据所述中间三元组信息中的实体信息进行信息融合以获取目标三元组信息,包括:
调用所述属性更新服务对所述融合三元组信息中的属性进行更新,以使来自不同站点且具有相同属性的实体对应同一属性信息;
调用所述属性值对齐服务对属性更新后的所述融合三元组信息中的属性值进行归一处理,以获取所述中间三元组信息;
调用所述实体融合服务对所述中间三元组信息中的实体进行对齐和融合,以获取所述目标三元组信息。
5.根据权利要求4所述的知识图谱更新方法,其特征在于,所述第三服务还包括属性值添加服务;
在调用所述属性更新服务对所述融合三元组信息中的属性进行更新之后,所述方法还包括:
调用所述属性值添加服务读取属性值列表,所述属性值列表包括第一标识信息、与所述第一标识信息对应的实体和与所述实体对应的属性值;
获取所述融合三元组信息中缺失属性值的目标实体,并获取与所述目标实体对应的第一标识信息;
根据与所述目标实体对应的第一标识信息和所述目标实体从所述属性值列表中确定目标属性值,并将所述目标属性值添加至与所述目标实体对应的三元组信息中。
6.根据权利要求1所述的知识图谱更新方法,其特征在于,所述第四服务包括属性值选择服务;
所述调用第四服务对所述目标三元组信息进行处理,以获取更新后的知识图谱,包括:
调用所述属性值选择服务对所述目标三元组信息中的属性值进行去重处理,以获取所述更新后的知识图谱。
7.根据权利要求6所述的知识图谱更新方法,其特征在于,所述第四服务还包括关联服务;
在调用所述属性值 选择服务对所述目标三元组信息中的属性进行去重处理之后,所述方法还包括:
调用所述关联服务根据所述目标三元组信息中的实体确定第一实体标识信息,并根据与所述目标三元组信息中的实体相关联的实体确定第二实体标识信息;
将所述第一实体标识信息与所述第二实体标识信息进行关联,以获取所述更新后的知识图谱。
8.根据权利要求6所述的知识图谱更新方法,其特征在于,在调用所述属性值 选择服务对所述目标三元组信息中的属性进行去重处理之后,所述方法还包括:
根据所述目标三元组信息中的实体构建名称索引。
9.根据权利要求1所述的知识图谱更新方法,其特征在于,所述方法还包括:
在获取所述中间三元组信息之后,对所述中间三元组信息进行过滤,以保留目标属性对应的属性值。
10.根据权利要求1所述的知识图谱更新方法,其特征在于,所述第一标识信息为对所述预设URL进行哈希处理所形成的标识信息,所述消息队列为Kafka队列。
11.根据权利要求1所述的知识图谱更新方法,其特征在于,所述HBASE数据库中存储有与多个知识对应的名称索引和实体标识信息;所述方法还包括:
获取用户在终端设备中输入的待查询名称索引;
将所述待查询名称索引与各所述名称索引进行比对,以获取与所述待查询名称索引对应的目标实体标识信息,并将所述目标实体标识信息反馈给所述用户;
获取所述用户在所述终端设备中输入的目标实体标识信息,根据所述目标实体标识信息获取目标知识,并将所述目标知识反馈给所述用户。
12.根据权利要求11所述的知识图谱更新方法,其特征在于,所述方法还包括:
响应所述用户对所述目标知识中的目标属性值的触发操作,在所述终端设备中显示操作选项;
响应所述用户对目标操作选项的触发操作,根据所述目标操作选项对所述目标属性值进行目标操作。
13.一种知识图谱更新装置,其特征在于,包括:
信息存储模块,用于根据预设URL获取网络资源,并根据所述预设URL确定第一标识信息和第二标识信息;将所述第一标识信息存储于消息队列中,并将所述第二标识信息和对应的网络资源存储于HBASE数据库中,其中所述第二标识信息是根据所述第一标识信息形成且具有HTML格式的标识信息;
信息抽取模块,用于响应于知识图谱更新请求,调用第一服务获取所述消息队列中的第一标识信息,根据所述第一标识信息获取所述HBASE数据库中与所述第一标识信息对应的网络资源,并对所述网络资源进行信息抽取以获取三元组信息;
信息融合模块,用于调用第二服务对所述三元组信息与原始三元组信息进行融合,以获取融合三元组信息;
第一处理模块,用于调用第三服务对所述融合三元组信息中的属性和属性值进行处理以获取中间三元组信息,并根据所述中间三元组信息中的实体信息进行信息融合以获取目标三元组信息;
第二处理模块,用于调用第四服务对所述目标三元组信息进行处理,以获取更新后的知识图谱,并将所述更新后的知识图谱写入所述HBASE数据库中。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至13中任一项所述的知识图谱更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010201639.1A CN111444181B (zh) | 2020-03-20 | 2020-03-20 | 知识图谱更新方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010201639.1A CN111444181B (zh) | 2020-03-20 | 2020-03-20 | 知识图谱更新方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444181A CN111444181A (zh) | 2020-07-24 |
CN111444181B true CN111444181B (zh) | 2021-05-11 |
Family
ID=71654191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010201639.1A Active CN111444181B (zh) | 2020-03-20 | 2020-03-20 | 知识图谱更新方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444181B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131232B (zh) * | 2020-08-28 | 2024-05-28 | 浪潮通用软件有限公司 | 一种基于元数据的Elasticsearch数据同步方法及装置 |
CN112199093B (zh) * | 2020-10-15 | 2022-06-07 | 腾讯科技(深圳)有限公司 | 资源检查方法、装置、设备及计算机可读存储介质 |
CN112486568B (zh) * | 2020-12-02 | 2022-06-28 | 浙江理工大学 | 一种基于知识图谱的程序自动修正方法 |
CN112905803A (zh) * | 2021-02-19 | 2021-06-04 | 同济大学 | 基于知识图谱的网络协同制造技术资源智能检索方法 |
CN112905853A (zh) * | 2021-03-05 | 2021-06-04 | 北京中经惠众科技有限公司 | 知识图谱构建过程的故障检测方法、装置、设备和介质 |
CN115408534B (zh) * | 2022-08-23 | 2023-12-12 | 连连银通电子支付有限公司 | 一种知识图谱更新方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609449B (zh) * | 2012-01-06 | 2014-05-07 | 华中科技大学 | 一种基于***构建概念型知识地图的方法 |
CN104462227A (zh) * | 2014-11-13 | 2015-03-25 | 中国测绘科学研究院 | 一种图形化知识谱系自动构建方法 |
AU2016256358A1 (en) * | 2015-04-27 | 2017-11-16 | Rovi Guides, Inc. | Systems and methods for updating a knowledge graph through user input |
CN107665252A (zh) * | 2017-09-27 | 2018-02-06 | 深圳证券信息有限公司 | 一种创建知识图谱的方法及装置 |
CN107885759A (zh) * | 2016-12-21 | 2018-04-06 | 桂林电子科技大学 | 一种基于多目标优化的知识图谱表示学习方法 |
US10445328B2 (en) * | 2012-08-08 | 2019-10-15 | Google Llc | Search result ranking and presentation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10505884B2 (en) * | 2015-06-05 | 2019-12-10 | Microsoft Technology Licensing, Llc | Entity classification and/or relationship identification |
CN107491555B (zh) * | 2017-09-01 | 2020-11-20 | 北京纽伦智能科技有限公司 | 知识图谱构建方法和*** |
CN107908637B (zh) * | 2017-09-26 | 2021-02-12 | 北京百度网讯科技有限公司 | 一种基于知识库的实体更新方法及*** |
CN108563710B (zh) * | 2018-03-27 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种知识图谱构建方法、装置及存储介质 |
CN110019840B (zh) * | 2018-07-20 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种知识图谱中实体更新的方法、装置和服务器 |
CN110275894B (zh) * | 2019-06-24 | 2021-12-14 | 恒生电子股份有限公司 | 一种知识图谱的更新方法、装置、电子设备及存储介质 |
CN110489561B (zh) * | 2019-07-12 | 2024-07-12 | 平安科技(深圳)有限公司 | 知识图谱构建方法、装置、计算机设备和存储介质 |
CN110569371A (zh) * | 2019-09-17 | 2019-12-13 | 出门问问(武汉)信息科技有限公司 | 一种知识图谱构建方法、装置及存储设备 |
-
2020
- 2020-03-20 CN CN202010201639.1A patent/CN111444181B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609449B (zh) * | 2012-01-06 | 2014-05-07 | 华中科技大学 | 一种基于***构建概念型知识地图的方法 |
US10445328B2 (en) * | 2012-08-08 | 2019-10-15 | Google Llc | Search result ranking and presentation |
CN104462227A (zh) * | 2014-11-13 | 2015-03-25 | 中国测绘科学研究院 | 一种图形化知识谱系自动构建方法 |
AU2016256358A1 (en) * | 2015-04-27 | 2017-11-16 | Rovi Guides, Inc. | Systems and methods for updating a knowledge graph through user input |
CN107885759A (zh) * | 2016-12-21 | 2018-04-06 | 桂林电子科技大学 | 一种基于多目标优化的知识图谱表示学习方法 |
CN107665252A (zh) * | 2017-09-27 | 2018-02-06 | 深圳证券信息有限公司 | 一种创建知识图谱的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111444181A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444181B (zh) | 知识图谱更新方法、装置及电子设备 | |
CN110569361B (zh) | 一种文本识别方法及设备 | |
CN107391677B (zh) | 携带实体关系属性的中文通用知识图谱的生成方法及装置 | |
US9767182B1 (en) | Classification of search queries | |
US20160196490A1 (en) | Method for Recommending Content to Ingest as Corpora Based on Interaction History in Natural Language Question and Answering Systems | |
US10642935B2 (en) | Identifying content and content relationship information associated with the content for ingestion into a corpus | |
CN111414491A (zh) | 一种电网行业知识图谱构建方法和装置以及设备 | |
US20180096067A1 (en) | Creation and optimization of resource contents | |
US10467262B2 (en) | Customized visualization based intelligence augmentation | |
US11727058B2 (en) | Unsupervised automatic taxonomy graph construction using search queries | |
CN111949800A (zh) | 一种开源项目知识图谱的建立方法和*** | |
CN113596130A (zh) | 基于兴趣画像的人工智能模块训练方法、***及服务器 | |
US20170199939A1 (en) | Method of and a system for website ranking using an appeal factor | |
CN112883030A (zh) | 数据收集方法、装置、计算机设备和存储介质 | |
CN111737449B (zh) | 相似问题的确定方法和装置、存储介质及电子装置 | |
CN111259220A (zh) | 一种基于大数据的数据采集方法和*** | |
CN115017182A (zh) | 一种可视化的数据分析方法及设备 | |
CN114579584A (zh) | 数据表处理方法、装置、计算机设备和存储介质 | |
CN109063059B (zh) | 行为日志处理方法、装置及电子设备 | |
CN110222047A (zh) | 一种动态表单生成方法和装置 | |
CN114048024A (zh) | 任务部署方法、装置、设备、存储介质及产品 | |
CN106462588B (zh) | 来自所提取的内容的内容创建 | |
CN115878589A (zh) | 结构化数据的版本管理方法、装置及相关设备 | |
CN117236624A (zh) | 一种基于动态图的Issue修复者推荐方法与装置 | |
WO2023179038A1 (zh) | 数据标注的方法、ai开发平台、计算设备集群和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |