知识图谱构建方法、装置和设备
技术领域
本申请涉及知识图谱
技术领域
,具体而言,涉及一种知识图谱构建方法、装置和设备。背景技术
知识图谱(Knowledge Graph,简称“KG”):是把现实世界的实体(人或事)信息数据存储起来,并在数据之间建立联系,用于描述真实世界中存在的各种实体以及它们之间强关系的一种产品。可以用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。
知识图谱旨在描述真实世界中存在的各种实体及其关系,其构成一张巨大的语义网络图,节点表示实体,边则由属性构成。所谓实体,一般是指现实世界存在的事物(人或事),而属性用于描述某一实体的特征。在知识图谱中通常用“属性—属性值对”来刻画该实体下属性的内在特性,比如某个人物(实体),他有年龄、身高、体重等属性。而具体到每一个属性,会有具体的数值,比如身高178cm。在知识图谱中,可以用“实体、属性、属性值”组成的三元组来描述一组知识,也可以用“实体1、关系、实体2”组成的三元组来描述一组知识。知识图谱schema(纲要)是描述具体概念的结构,概念是对真实世界中的各种实体的抽象和分类。比如,关系抽取任务里,一种概念的实体的类型、关系的类型,以及它们之间的搭配,总称schema。也即图谱“schema”描述的是一个知识体系的模式,即“什么样的实体之间可以存在什么样的关系”。
传统的企业构建知识图谱,都是通过人工将数据整理成特定的格式文档,然后将特定格式的文档导入到知识图谱中。上述方式有存在运营工作量大、容易出错的缺陷。尤其是对于待处理的文档数量巨大的情况下,将其人工整理成知识图谱的工作量也是巨大的。
发明内容
本申请实施例的目的在于提供一种知识图谱构建方法、装置和设备,实现了无需将待处理的文本预先处理成特定格式,即可自动构建文本数据的知识图谱,节约人工成本。
本申请实施例第一方面提供了一种知识图谱构建方法,包括:获取待处理的文本数据和所述文本数据所属的目标领域;识别出所述文本数据的标题层级结构;根据所述标题层级结构和与所述目标领域匹配的目标图谱纲要,抽取出所述文本数据中的三元组集合;根据所述三元组集合,构建所述文本数据的知识图谱。
于一实施例中,所述根据所述标题层级结构和与所述目标领域匹配的目标图谱纲要,抽取出所述文本数据中的三元组集合,包括:在预设的图谱纲要库中查找出与所述目标领域匹配的目标图谱纲要;根据所述目标图谱纲要,从所述标题层级结构中筛选出目标标题;从所述文本数据中抽取出每个所述目标标题下的文本内容,根据所述文本数据的文本名称、所述目标标题和每个所述目标标题下的文本内容,生成所述三元组集合。
于一实施例中,所述根据所述文本数据的文本名称、所述目标标题和每个所述目标标题下的文本内容,生成所述三元组集合,包括:以所述文本数据的文本名称作为实体,以每个所述目标标题作为属性,以所述目标标题下的文本内容作为属性值,生成多个三元组。
于一实施例中,所述三元组为主谓宾三元组;所述根据所述三元组集合,构建所述文本数据的知识图谱,包括:针对所述三元组集合中的每个三元组,将所述三元组的主语作为知识图谱的实体,若所述三元组的宾语是实体,则将所述三元组的谓语生成为知识图谱的关系,若所述三元组的宾语不是实体,则将所述三元组的谓语生成为知识图谱的属性,将所述宾语生成为知识图谱的属性值。
于一实施例中,所述根据所述三元组集合,构建所述文本数据的知识图谱,还包括:以每个三元组中的实体和属性值中的至少一个作为所述知识图谱的节点,以每个三元组中的属性和关系中的至少一个作为所述知识图谱的边。
于一实施例中,还包括建立所述图谱纲要库的步骤:获取多个领域的样本文本;针对每个领域,分别抽取所述样本文本的样本标题结构,将所述样本标题结构作为对应领域的图谱纲要,并生成所述多个领域的图谱纲要库。
于一实施例中,在所述根据所述三元组集合,构建所述文本数据的知识图谱之前,还包括:在用户界面展示所述文本数据和所述三元组集合;在接收到对所述三元组集合的编辑指令时,按照所述编辑指令对所述三元组集合执行更改操作。
于一实施例中,在所述根据所述三元组集合,构建所述文本数据的知识图谱之前,还包括:在接收到图谱预览指令时,根据所述三元组集合生成预览图普,并在用户界面展示所述预览图谱。
本申请实施例第二方面提供了一种知识图谱构建装置,包括:获取模块,用于获取待处理的文本数据和所述文本数据所属的目标领域;识别模块,用于识别出所述文本数据的标题层级结构;抽取模块,用于根据所述标题层级结构和与所述目标领域匹配的目标图谱纲要,抽取出所述文本数据中的三元组集合;构建模块,用于根据所述三元组集合,构建所述文本数据的知识图谱。
于一实施例中,所述抽取模块用于:在预设的图谱纲要库中查找出与所述目标领域匹配的目标图谱纲要;根据所述目标图谱纲要,从所述标题层级结构中筛选出目标标题;从所述文本数据中抽取出每个所述目标标题下的文本内容,根据所述文本数据的文本名称、所述目标标题和每个所述目标标题下的文本内容,生成所述三元组集合。
于一实施例中,所述根据所述文本数据的文本名称、所述目标标题和每个所述目标标题下的文本内容,生成所述三元组集合,包括:以所述文本数据的文本名称作为实体,以每个所述目标标题作为属性,以所述目标标题下的文本内容作为属性值,生成多个三元组。
于一实施例中,所述三元组为主谓宾三元组;所述构建模块用于:针对所述三元组集合中的每个三元组,将所述三元组的主语作为知识图谱的实体,若所述三元组的宾语是实体,则将所述三元组的谓语生成为知识图谱的关系,若所述三元组的宾语不是实体,则将所述三元组的谓语生成为知识图谱的属性,将所述宾语生成为知识图谱的属性值。
于一实施例中,所述构建模块还用于:以每个三元组中的实体和属性值中的至少一个作为所述知识图谱的节点,以每个三元组中的属性和关系中的至少一个作为所述知识图谱的边。
于一实施例中,还包括建立模块用于:获取多个领域的样本文本;针对每个领域,针对每个领域,分别抽取所述样本文本的样本标题结构,将所述样本标题结构作为对应领域的图谱纲要,并生成所述多个领域的图谱纲要库。
于一实施例中,还包括:交互模块,用于在所述根据所述三元组集合,构建所述文本数据的知识图谱之前,在用户界面展示所述文本数据和所述三元组集合;在接收到对所述三元组集合的编辑指令时,按照所述编辑指令对所述三元组集合执行更改操作。
于一实施例中,所述交互模块还用于:在所述根据所述三元组集合,构建所述文本数据的知识图谱之前,在接收到图谱预览指令时,根据所述三元组集合生成预览图普,并在用户界面展示所述预览图谱。
本申请实施例第三方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行本申请实施例第一方面及其任一实施例的方法。
本申请实施例第四方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本申请实施例第一方面及其任一实施例的方法。
本申请提供的知识图谱构建方法、装置和设备,在需要构建知识图谱时,首先获取但处理的文本数据及其所述的目标领域,然后通过识别待处理文本数据的层级结构,并基于预设匹配的目标图谱schema,抽取出文本数据的三元组集合,基于三元组集合创建知识图谱,无需将待处理的文本预先处理成特定格式,节约人工成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例的电子设备的结构示意图;
图2为本申请一实施例的知识图谱构建方法的流程示意图;
图3为本申请一实施例的知识图谱构建方法的流程示意图;
图4本申请一实施例的知识图谱构建装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1中以一个处理器为例。处理器11和存储器12通过总线10连接。存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程,以自动构建待处理的文本数据的知识图谱。
于一实施例中,电子设备1可以是手机、平板电脑、笔记本电脑、台式计算机等设备。
请参看图2,其为本申请一实施例的知识图谱构建方法,该方法可由图1所示的电子设备1来执行,以自动构建待处理的文本数据的知识图谱,无需将待处理的文本预先处理成特定格式,节约人工成本。该方法包括如下步骤:
步骤201:获取待处理的文本数据和文本数据所属的目标领域。
在本步骤中,当用户需要创建知识图谱时,可以向电子设备1发送知识图谱创建指令,并上传需要创建知识图谱的待处理文本数据到电子设备1,知识图谱创建指令至少包括目标领域字段,用于指定所要创建的知识图谱的目标领域。所要创建的知识图谱的目标领域由实际需要进行确定,比如:保险领域,应当理解,目标领域是目前已知的领域,即能够创建知识图谱的领域。用户可以通过触摸屏或者键盘等数据输入设备生成知识图谱创建指令,并向电子设备1发送,以使电子设备1可以获取到相关信息。
步骤202:识别出文本数据的标题层级结构。
在本步骤中,标题层级结构是文本数据中自带的一些目录结构,比如WORD文档中的大标题或者小标题的分布结构,如某某保险文档中就会有标题层级结构(小标题):犹豫期、保险时间、保险范围等。在实际场景中,基于大众的文本使用习惯,不同领域的文本数据一般都会被设置相应的标题层级结构,在本实施例中,无需预先将待处理文本整理成预定格式,而是直接识别文本数据已有的标题层级结构,可以大大节约文本整理成本。
步骤203:根据标题层级结构和与目标领域匹配的目标图谱纲要,抽取出文本数据中的三元组集合。
在本步骤中,目标图谱纲要也就是知识图谱领域的schema,知识图谱schema(纲要)是描述具体概念的结构,概念是对真实世界中的各种实体的抽象和分类。比如,在关系抽取任务里,一种概念的实体类型、关系的类型、以及它们之间的搭配结构,总称为schema。也即图谱“schema”描述的是一个知识体系的模式,即描述“什么样的实体之间可以存在什么样的关系”的结构模式。基于解析出来的文档的层级结构和目标schema概念的属性进行匹配,即可生成文本数据中的三元组集合。
于一实施例中,以目标领域为保险领域为例,假设目标schema中保险概念的属性为:犹豫期、保险时间、保险范围,将文本数据的标题层级结构与上述目标schema描述的概念属性进行匹配,即可得到文本数据中的三元组集合。
步骤204:根据三元组集合,构建文本数据的知识图谱。
在本步骤中,将上述三元组集合中的每个三元组按照实体、属性或者关系、值或者实体的对应方式存储到新的知识图谱中,即可得到文本数据的知识图谱。
于一实施例中,若对于该文本数据已经有旧的知识图谱,本次图谱构建是为了更新图谱,则也可以将上述三元组集合直接更新到原来的知识图谱中,以获得新的知识图谱。
上述知识图谱构建方法,在需要构建知识图谱时,首先获取但处理的文本数据及其的目标领域,然后通过识别待处理文本数据的层级结构,并基于预设匹配的目标图谱schema,抽取出文本数据的三元组集合,基于三元组集合创建知识图谱,无需将待处理的文本预先处理成特定格式,节约人工成本。
请参看图3,其为本申请一实施例的知识图谱构建方法,该方法可由图1所示的电子设备1来执行,以自动构建待处理的文本数据的知识图谱,无需将待处理的文本预先处理成特定格式,节约人工成本。该方法包括如下步骤:
步骤301:获取多个领域的样本文本,针对每个领域,分别抽取样本文本的样本标题结构,将样本标题结构作为对应领域的图谱纲要,并生成多个领域的图谱纲要库。
在本步骤中,在构建知识图谱之前还包括建立图谱纲要库的步骤,也就是建立schema数据库,schema数据库可以包括多个领域,以及与各领域相对应的图谱schema。针对一个领域,可以搜集该领域的样本文本,然后分别抽取样本文本的样本标题结构,将样本标题结构作为所属领域的schema。
于一实施例中,导入多篇样本文档,在上传文档时对文档进行领域分类,生成对应的概念(比如保险领域,就可以生成保险概念),基于样本文档解析出来的样本标题结构,进行归纳、总结生成对应领域的schema。比如导入多篇样本文档时,选择保险领域分类,然后导入保险领域的多篇样本文档,例如识别出某某保险文档中样本标题结构(小标题)包括:犹豫期、保险时间、保险范围等,然后就可以生成保险概念,以及保险概念下面的犹豫期、保险时间、保险范围等属性的分布结构,即可得到保险领域的schema。多个领域执行同样的操作,即可得到多个领域的图谱纲要库。
步骤302:获取待处理的文本数据和文本数据所属的目标领域。详细参见上述实施例中对步骤201的描述。
步骤303:识别出文本数据的标题层级结构。详细参见上述实施例中对步骤202的描述。
步骤304:在预设的图谱纲要库中查找出与目标领域匹配的目标图谱纲要。
在本步骤中,可以先判断一下预设的图谱纲要库中是否有目标领域,如果有直接调出该目标领域对应的目标schema,如果没有,可以提示用户,以供用户及时补充图谱纲要库。
步骤305:根据目标图谱纲要,从标题层级结构中筛选出目标标题。
在本步骤中,假设目标领域是保险领域,匹配的目标schema是保险概念的schema,其中包括schema的属性:犹豫期、保险时间、保险范围。而识别出的待处理文本数据的标题层级结构包括:犹豫期、保险时间、保险范围和保险类别,则从文本数据的标题层级结构中筛选出与目标schema中相同的目标标题为:犹豫期、保险时间、保险范围。
于一实施例中,在步骤305的筛选过程中,有时候会遇到同义词但是不同表述的标题,此时可以采用将同义词归为同一类的方式进行筛选,比如文本数据的标题层级结构包括:保险期限。“保险期限”与目标schema的“保险时间”表述的事同一个意思,此时可以将“保险期限”作为目标标题选出来。
步骤306:从文本数据中抽取出每个目标标题下的文本内容,根据文本数据的文本名称、目标标题和每个目标标题下的文本内容,生成三元组集合。
在本步骤中,在文本数据中,每个标题下都对应着一段文本内容,可以将目标标题对应的文本内容从中抽取出来,然后根据文本数据的文本名称、目标标题和每个目标标题下的文本内容,生成三元组集合。
于一实施例中,步骤306可以包括:以文本数据的文本名称作为实体,以每个目标标题作为属性,以目标标题下的文本内容作为属性值,生成多个三元组。也就是说,可以将待处理文本数据的文本名称名称(比如某某保险)生成对应的实体,目标标题:犹豫期、保险时间、保险范围等为对应的属性,每个目标标题下的段落内容为对应的属性值,生成对应的多个三元组,组成三元组集合。
在实际场景中,自动生成三元组集合后,用户可能不够满意,或者由修改需求,则可以通过交互界面对上述三元组集合的具体内容进行修改,因此在步骤306之后还可以包括:
步骤307:在用户界面展示文本数据和三元组集合,并在接收到对三元组集合的编辑指令时,按照编辑指令对三元组集合执行更改操作。
在本步骤中,可以通过可视化界面展示文本数据的标题层级结构和解析出来的三元组集合结果,用户可以通过输入输出设备(比如触摸屏或者键盘等)对三元组集合进行编辑。也可以在交互界面展示原始的文本数据,用户可以对文本数据进行标注:实体、属性、属性值,生成新的三元组。
于一实施例中,比如可以将交互界面划分为左右两栏,在交互界面的左边栏展示导入的文本数据的原文,在原文中高亮显示标题层级结构和三元组的内容,然后用户可以通过划词的方式对三元组进行新增或者修改等编辑操作。在交互界面右边栏展示的三元组,用户点击选中右边栏的三元组,会定位其在左边栏的原文中的位置,并显示。
步骤308:在接收到图谱预览指令时,根据三元组集合生成预览图普,并在用户界面展示预览图谱。
在本步骤中,如果用户想要预览当前三元组集合下生成的图谱,则可以发出图谱预览指令,比如点击保存三元组,可以根据三元组集合生成预览图普,并在用户界面展示预览图谱,如果用户对预览图谱不满意,也可以返回到编辑页面对三元组进行修改。
步骤309:根据三元组集合,构建文本数据的知识图谱。
在本步骤中,在自然语言处理技术领域,三元组一般为主谓宾三元组,即SPO三元组(subject,predicate,object)。在构建知识图谱时,可以将三元组集合中的每个三元组,转化成KG的实体、关系、属性、属性值存储到KG当中。其中,三元组的主语直接对应到实体,如果判定三元组的宾语是实体,那么其谓语就生成为KG的关系,如果三元组的宾语不是实体,那么其谓语就生成为KG的属性,其宾语生成对应的属性值。也就是说,在KG中,可以用“实体1、关系、实体2”组成的三元组来描述一组知识,也可以用“实体、属性、属性值”组成的三元组来描述一组知识。
于一实施例中,步骤309可以包括:以每个三元组中的实体和属性值中的至少一个作为知识图谱的节点,以每个三元组中的属性和关系中的至少一个作为知识图谱的边。在实际场景中,知识图谱是需要共用户查看的,在展示图谱是,可以将实体和/或属性值作为知识图谱的节点展示,将属性和/或关系作为知识图谱的边进行展示。可以突出实体和/或属性值的相关信息,以使用户可以快速浏览到重要信息。
于一实施例中,知识图谱的数据分为线下和线上,是从数据库级别进行的物理隔离,将新存储或者更新到知识图谱中的数据从线下发布到线上环境,以供用户在KG搜索中对数据进行搜索。在KG搜索中可以用自然语言进行搜索,展示对应的搜索结果,结果中可以包括:由实体的属性值、用户输入的问句和该问句的答案中包含的实体构成的图谱。
请参看图4,其为本申请一实施例的知识图谱构建装置400,该装置可应用于图1所示的电子设备1,以自动构建待处理的文本数据的知识图谱,无需将待处理的文本预先处理成特定格式,节约人工成本。该装置包括:获取模块401、识别模块402、抽取模块403和构建模块404,各个模块的原理关系如下:
获取模块401,用于获取待处理的文本数据和文本数据所属的目标领域。
识别模块402,用于识别出文本数据的标题层级结构。
抽取模块403,用于根据标题层级结构和与目标领域匹配的目标图谱纲要,抽取出文本数据中的三元组集合。
构建模块404,用于根据三元组集合,构建文本数据的知识图谱。
于一实施例中,抽取模块403用于:在预设的图谱纲要库中查找出与目标领域匹配的目标图谱纲要。根据目标图谱纲要,从标题层级结构中筛选出目标标题。从文本数据中抽取出每个目标标题下的文本内容,根据文本数据的文本名称、目标标题和每个目标标题下的文本内容,生成三元组集合。
于一实施例中,根据文本数据的文本名称、目标标题和每个目标标题下的文本内容,生成三元组集合,包括:以文本数据的文本名称作为实体,以每个目标标题作为属性,以目标标题下的文本内容作为属性值,生成多个三元组。
于一实施例中,三元组为主谓宾三元组。构建模块404用于:针对三元组集合中的每个三元组,将三元组的主语作为知识图谱的实体,若三元组的宾语是实体,则将三元组的谓语生成为知识图谱的关系,若三元组的宾语不是实体,则将三元组的谓语生成为知识图谱的属性,将宾语生成为知识图谱的属性值。
于一实施例中,构建模块404还用于:以每个三元组中的实体和属性值中的至少一个作为知识图谱的节点,以每个三元组中的属性和关系中的至少一个作为知识图谱的边。
于一实施例中,还包括建立模块405用于:获取多个领域的样本文本。针对每个领域,针对每个领域,分别抽取样本文本的样本标题结构,将样本标题结构作为对应领域的图谱纲要,并生成多个领域的图谱纲要库。
于一实施例中,还包括:交互模块406,用于在根据三元组集合,构建文本数据的知识图谱之前,在用户界面展示文本数据和三元组集合。在接收到对三元组集合的编辑指令时,按照编辑指令对三元组集合执行更改操作。
于一实施例中,交互模块406还用于:在根据三元组集合,构建文本数据的知识图谱之前,在接收到图谱预览指令时,根据三元组集合生成预览图普,并在用户界面展示预览图谱。
上述知识图谱构建装置400的详细描述,请参见上述实施例中相关方法步骤的描述。
本发明实施例还提供了一种非暂态电子设备可读存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等。存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。