python构建知识图谱_一种构建知识图谱的方法及系统与流程

201338465804.gif

本发明涉及计算机领域,具体涉及一种构建知识图谱的方法及系统。

背景技术:

随着人工智能技术的不断发展,智能机器人被越来越多的应用于人类的生产生活当中。

在智能机器人与人类的交互过程中,为了提高智能机器人对用户需求回应的准确度,提高智能机器人的用户体验,在生成交互回应的过程中,智能机器人通常会调用相关的知识图谱,根据知识图谱中的知识信息数据来生成交互回应。例如,在用户提问“土豆的做法”时,智能机器人会调用相关知识图谱,从中获取有关“土豆”的菜谱。在上述过程中,知识图谱中知识信息数据的正确性以及完整性会直接影响到智能机器人应答的正确性。

目前,知识图谱的构建都是基于人工编写好的结构化数据。然而,人工编写不仅太费时费力而且容易遗漏较偏门的知识点。这就导致现阶段不仅可投入使用的知识图谱相当匮乏,而且即使是投入使用的知识图谱也存在正确度以及知识全面度不能满足需求的问题。

技术实现要素:

本发明提供了一种构建知识图谱的方法,所述方法包括:

获取半结构化数据;

针对目标领域,从网页进行信息提取,获取包含实体节点和/或节点关系的垂直领域数据;

将所述垂直领域数据补充到所述半结构化数据中,生成包含垂直领域数据的知识图谱。

在一实施例中,从网页进行信息提取,包括:

文本识别,识别网页文本;

爬取数据,基于文本识别结果获取与所述目标领域相关的数据;

实体提取以及关系提取,从获取的数据中提取所述半结构化数据缺失的实体节点和/或节点关系。

在一实施例中,所述爬取数据步骤还包括:

数据清洗,所述数据清洗为非实体清洗,其中,针对特定词汇进行过滤。

在一实施例中,所述实体提取包括:

命名实体识别,其中,利用深度学习的方法进行命名实体识别。

在一实施例中,基于神经网络进行节点关系提取。

本发明还提出了一种交互方法,所述方法包括:

获取用户多模态数据并解析,确定用户交互意图;

确定所述用户交互意图所对应的垂直领域;

调用知识图谱,所述知识图谱包含对应所述垂直领域的垂直领域数据;

从所述知识图谱中提取回应所述用户交互意图所需的知识信息数据;

根据所述知识信息数据,针对所述用户交互意图生成多模态交互回应数据。

在一实施例中,所述方法还包括:

获取用户针对所述多模态交互回应数据的反馈数据;

根据所述反馈数据确定所述用户针对所述多模态交互回应数据的满意度;

根据所述满意度确定从所述知识图谱中提取的知识信息数据的数据正确度和/或数据完整度;

根据所述数据正确度和/或所述数据完整度对从所述知识图谱中提取的知识信息数据进行数据更新和/或对所述知识图谱进行数据补充。

本发明还提出了一种存储介质,所述存储介质上存储有可实现如本发明所述方法的程序代码。

本发明还提出了一种针对知识图谱的构建系统,所述系统包括:

基础结构构造模块,其配置为获取半结构化数据;

数据提取模块,其配置为确定目标领域,针对所述目标领域,从网页进行信息提取,获取包含实体节点和/或节点关系的垂直领域数据;

知识图谱生成模块,其配置为将所述垂直领域数据补充到所述半结构化数据中,生成包含垂直领域数据的知识图谱。

本发明还提出了一种交互系统,所述系统包括:

输入获取模块,其配置为采集用户多模态数据;

交互解析模块,其配置为解析所述用户多模态数据,获取用户交互意图并确定所述用户交互意图所对应的垂直领域;

知识图谱调用模块,其配置为调用如本发明所述构建系统生成的知识图谱,所述知识图谱包含对应所述垂直领域的垂直领域数据;

交互回应生成模块,其配置为从所述知识图谱中提取回应所述用户交互意图所需的知识信息数据,根据所述知识信息数据,针对所述用户交互意图生成多模态交互回应数据。

相较于现有技术,根据本发明的方法及系统,可以简单快速的生成针对特定垂直领域的知识图谱,从而为智能机器人的人机交互提供有力数据支撑。

本发明的其它特征或优点将在随后的说明书中阐述。并且,本发明的部分特征或优点将通过说明书而变得显而易见,或者通过实施本发明而被了解。本发明的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1是根据本发明一实施例的构建知识图谱的方法流程图;

图2是根据本发明实施例的构建知识图谱的方法部分流程图;

图3是根据本发明一实施例的交互方法流程图;

图4是根据本发明一实施例的交互方法部分流程图;

图5是根据本发明一实施例的构建知识图谱的系统结构简图;

图6是根据本发明一实施例的构建知识图谱的系统部分结构简图;

图7是根据本发明一实施例的交互系统结构简图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

随着人工智能技术的不断发展,智能机器人被越来越多的应用于人类的生产生活当中。

在智能机器人与人类的交互过程中,为了提高智能机器人对用户需求回应的准确度,提高智能机器人的用户体验,在生成交互回应的过程中,智能机器人通常会调用相关的知识图谱,根据知识图谱中的知识信息数据来生成交互回应。例如,在用户提问“土豆的做法”时,智能机器人会调用相关知识图谱,从中获取有关“土豆”的菜谱。在上述过程中,知识图谱中知识信息数据的正确性以及完整性会直接影响到智能机器人应答的正确性。

目前,知识图谱的构建都是基于人工编写好的结构化数据。然而,人工编写不仅太费时费力而且容易遗漏较偏门的知识点。这就导致现阶段不仅可投入使用的知识图谱相当匮乏,而且即使是投入使用的知识图谱也存在正确度以及知识全面度不能满足需求的问题。

针对上述问题,本发明提出了一种构建知识图谱的方法。

为了保证知识图谱在特定垂直领域上的正确度以及知识全面度,就要求知识图谱中尽可能多的包含对应垂直领域的知识数据。在当前技术环境下,具备相对全面知识数据量的一个重要信息源就是网页。因此,在本发明的方法中,将网页作为数据源进行知识数据的搜集,从而获取针对目标知识领域的全面的知识数据。

进一步的,单纯的垂直领域知识数据是不能构成一个完整的知识图谱的。为了尽可能的简化知识图谱的构建过程,在本发明的方法中,采用现有的、较常见的数据结构作为主干,将垂直领域知识数据依附于该主干上从而简单快捷的构成知识图谱。

在当前技术环境下,半结构化数据(semi-structured data)是数据库系统中的一种数据类型,其具备以下特点:

(1)它是一种适于数据库集成的数据模型,也就是说,适于描述包含在两个或多个数据库(这些数据库含有不同模式的相似数据)中的数据。

(2)它是一种标记服务的基础模型,用于Web上共享信息。

和普通纯文本相比,半结构化数据具有一定的结构性,但和具有严格理论模型的关系数据库的数据相比,它又存在数据缺失。

基于对半结构化数据的特性分析,在本发明的方法中,使用已有的本结构化数据作为主干,针对目标知识领域进行知识数据搜集,将搜集到的知识数据填充到半结构化数据中,从而获取包含完整的垂直领域数据的知识图谱。相较于现有技术,根据本发明的方法及系统,可以简单快速的生成针对特定垂直领域的知识图谱,从而为智能机器人的人机交互提供有力数据支撑。

接下来基于附图详细描述根据本发明实施例的方法的详细流程,附图的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了各步骤的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

如图1所示,在一实施例中,方法包括:

获取半结构化数据(S110);

针对目标领域,从网页进行信息提取,获取包含实体节点和/或节点关系的垂直领域数据(S120);

将步骤S120中获取的垂直领域数据补充到步骤S110获取的半结构化数据中,生成包含垂直领域数据的知识图谱(S130)。

在本发明的方法流程中,关键点之一在于从网页上获取正确、全面的垂直领域数据。在一实施例中,首先基于网页文本识别,确定网页所包含的知识信息,然后从网页所包含的知识信息中筛选出目标知识领域的垂直领域知识信息。随着作为数据源的网页不断积累,获取到的垂直领域知识信息也不断积累。由于作为数据源的网页具备很大的数据量,这就能保证最终获取到全面的垂直领域知识信息。

进一步的,针对半结构化数据,其与完整的知识图谱相比所缺失的数据包括实体节点和/或节点关系。

因此,在一实施例中,对半结构化数据进行垂直领域数据的数据填充即是向半结构化数据中填充实体节点和/或节点关系。具体的,即,将从网页上获取的垂直领域知识信息转化为具体的实体节点和/或节点关系。

具体的,如图2所示,在一实施例中,从网页进行信息提取,包括:

文本识别(S210),识别网页文本;

爬取数据(S220),基于步骤S210的文本识别结果获取与目标领域相关的数据;

实体提取以及关系提取(S230),从步骤S220获取的数据中提取半结构化数据缺失的实体节点和/或节点关系。

具体的,在步骤S230中,提取的结果可以是单纯的实体节点、也可以是单纯的节点关系、还可以是实体节点与节点关系的集合。

具体的,在一实施例中,半结构化数据缺失的节点关系可以是半结构化数据已包含的实体节点间的节点关系,也可以是半结构化数据缺失的实体节点间的节点关系,还可以是半结构化数据缺失的实体节点与已包含的实体节点间的节点关系。

进一步的,考虑到网络上的信息繁杂,其可能包含冗余信息和/或错误信息。因此,在一实施例中,爬取数据步骤还包括数据清洗步骤。

具体的,在一实施例中,数据清洗步骤对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。

进一步的,考虑到网络信息可能包含敏感信息,在一实施例中,在数据清洗步骤中包含非实体清洗步骤,其中,针对特定词汇进行过滤。

进一步的,在一实施例中,在实体提取过程中,实体提取包括命名实体识别步骤。

进一步的,为了保证命名实体识别的准确性、避免实体节点被遗漏,在一实施例中,利用深度学习的方法进行命名实体识别。具体的,在一实施例中,利用深度学习的方法,采用BiLSTM+CRF模型进行命名实体识别。

进一步的,为了保证获取准确的节点关系、避免节点关系被遗漏,在一实施例中,基于神经网络进行节点关系提取。

进一步的,为了避免数据冗余,在一实施例中,在进行实体提取以及关系提取时,同步对比半结构化数据中已有的实体节点以及节点关系,从而避免重复数据被填充到半结构化数据中。

进一步的,基于本发明提出的构建知识图谱的方法,本发明还提出了一种交互方法。具体的,如图3所示,在一实施例中,方法包括:

获取用户多模态数据(S310);

解析用户多模态数据,确定用户交互意图(S320);

确定步骤S320所确定的用户交互意图所对应的垂直领域(S330);

调用知识图谱,该知识图谱包含对应步骤S330所确定的垂直领域的垂直领域数据(S340);

从步骤S340调用的知识图谱中提取回应步骤S320所确定的用户交互意图所需的知识信息数据(S350);

根据步骤S350提取的知识信息数据,针对步骤S320所确定的用户交互意图生成多模态交互回应数据(S360)。

进一步的,在实际应用场景中,从理论上来讲,无法绝对保证从网页上获取到某特定垂直领域中的所有知识信息;同时,也无法绝对保证从网页上获取到的所有知识信息都是正确的。因此,无法绝对保证知识图谱中包含用户所需的所有垂直领域数据;同时,也无法绝对保证根据知识图谱中的垂直领域数据生成的所有多模态交互回应是完全正确的。

基于上述问题,在一实施例中,采用了动态修正的方式,不断修正完善知识图谱。即使当前的知识图谱存在数据缺失和/或数据错误从而导致用户体验不理想,经过不断的数据修正完善,知识图谱所存在的数据缺失和/或数据错误必然越来越少,这就最终实现了用户体验的不断提升。

具体的,在一实施例中,监控网页信息(定期或不定期),对比网页信息中新的垂直领域知识信息与知识图谱中的已有数据,当网页信息中出现知识图谱中并未包含的垂直领域知识信息时,新的垂直领域知识信息补充到知识图谱中从而实现知识图谱的自我完善。

进一步的,在一实施例中,当网页信息中出现与知识图谱所包含的垂直领域数据不一致的垂直领域知识信息时,确认两者的正确性,将正确的数据保存在知识图谱中,从而实现知识图谱的自我修正。

进一步的,在一实施例中,根据用户的交互回应确定当前的知识图谱是否满足用户需求,从而根据用户需求主动修正、完善知识图谱。

具体的,如图4所示,在一实施例中,方法还包括:

获取用户针对多模态交互回应数据的反馈数据(S410);

根据步骤S410获取的反馈数据确定用户针对多模态交互回应数据的满意度(S420);

根据满意度确定从知识图谱中提取的知识信息数据的数据正确度和/或数据完整度(S430);

根据步骤S430确定的数据正确度和/或数据完整度对从知识图谱中提取的知识信息数据进行数据更新和/或对知识图谱进行数据补充(S440)。

进一步的,基于本发明的方法,本发明还提出了一种存储介质,该存储介质上存储有可实现如本发明所述方法的程序代码。

进一步的,基于本发明的方法,本发明还提出了一种针对知识图谱的构建系统。具体的,如图5所示,在一实施例中,系统包括:

基础结构构造模块510,其配置为获取半结构化数据;

数据提取模块520,其配置为确定目标领域,针对目标领域,从网页进行信息提取,获取包含实体节点和/或节点关系的垂直领域数据;

知识图谱生成模块530,其配置为将垂直领域数据补充到半结构化数据中,生成包含垂直领域数据的知识图谱。

具体的,在一实施例中,如图6所示,数据提取模块包括:

文本识别器610,其配置为识别网页文本;

爬取数据单元620,其配置为基于文本识别器610的文本识别结果获取与目标领域相关的数据;

数据提取单元630,从爬取数据单元620获取的数据中提取半结构化数据缺失的实体节点和/或节点关系。

进一步的,基于本发明的方法,本发明还提出了一种交互系统。具体的,在一实施例中,如图7所示,系统包括:

输入获取模块710,其配置为采集用户多模态数据;

交互解析模块720,其配置为解析用户多模态数据,获取用户交互意图并确定用户交互意图所对应的垂直领域;

知识图谱调用模块730,其配置为调用本发明所提出的构建系统生成的知识图谱,该知识图谱包含对应交互解析模块720所确定的垂直领域的垂直领域数据;

交互回应生成模块740,其配置为从知识图谱调用模块730调用的知识图谱中提取回应用户交互意图所需的知识信息数据,根据知识信息数据,针对用户交互意图生成多模态交互回应数据。

进一步的,基于本发明的交互方法以及交互系统,本发明还提出了一种基于虚拟人的交互系统。具体的,在一实施例中,系统包括智能设备以及云端服务器,其中:

云端服务器包含如本发明所述的交互系统以及多个能力接口。交互系统配置为调用云端服务器的能力接口获取用户多模态数据并解析,生成并输出多模态交互回应数据。具体的,多模态数据解析过程中各个能力接口分别调用对应的逻辑处理。

具体的,云端服务器的能力接口包括语义理解接口、视觉识别接口、情感计算接口、认知计算接口。

具体的,在一实施例中,以下为各个接口的说明:

语义理解接口,其接收从智能设备的通信模块转发的特定语音指令,对其进行语音识别以及基于大量语料的自然语言处理。

视觉识别接口,可以针对人体、人脸、场景依据计算机视觉算法、深度学习算法等进行视频内容检测、识别、跟踪等。即根据预定的算法对图像进行识别,给出定量的检测结果。具备图像预处理功能、特征提取功能和决策功能。其中:

图像预处理功能可以是对获取的视觉采集数据进行基本处理,包括颜色空间转换、边缘提取、图像变换和图像阈值化;

特征提取功能可以提取出图像中目标的肤色、颜色、纹理、运动和坐标等特征信息;

决策功能可以是对特征信息,按照一定的决策策略分发给需要该特征信息的具体多模态输出设备或多模态输出应用,如实现人脸检测、人物肢体识别、运动检测等功能。

情感计算接口,其接收从通信模块转发的多模态数据,利用情感计算逻辑(可以是情绪识别技术)来计算用户当前的情绪状态。情绪识别技术是情感计算的一个重要组成部分,情绪识别研究的内容包括面部表情、语音、行为、文本和生理信号识别等方面,通过以上内容可以判断用户的情绪状态。情绪识别技术可以仅通过视觉情绪识别技术来监控用户的情绪状态,也可以采用视觉情绪识别技术和声音情绪识别技术结合的方式来监控用户的情绪状态,且并不局限于此。在本实施例中,优选采用二者结合的方式来监控情绪。

情感计算接口是在进行视觉情绪识别时,通过使用图像采集设备收集人类面部表情图像,而后转换成可分析数据,再利用图像处理等技术进行表情情绪分析。理解面部表情,通常需要对表情的微妙变化进行检测,比如脸颊肌肉、嘴部的变化以及挑眉等。

认知计算接口,其接收从通信模块转发的多模态数据,认知计算接口用以处理多模态数据进行数据采集、识别和学习,以获取用户画像、知识图谱等,以对多模态输出数据进行合理决策。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“一实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一实施例”并不一定均指同一个实施例。

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。本发明所述的方法还可有其他多种实施例。在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变或变形,但这些相应的改变或变形都应属于本发明的权利要求的保护范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值