结构化数据创建图谱
数据是知识图谱的基础,在知识图谱服务创建知识图谱时,需要从对象存储服务(Object Storage Service,简称OBS)导入用于构建知识图谱的基础数据。知识图谱服务支持的数据包括XLSX、CSV、JSON、多行单句文本格式,详情请见数据格式要求,其中XLSX、CSV、JSON格式的数据属于结构化数据。
本章节提供一个与电影有关的结构化数据样例,帮助您快速熟悉知识图谱的创建过程。此样例通过在控制台创建本体,完成信息抽取、信息映射、信息融合、图谱质检的配置,创建一个与电影有关的知识图谱。创建完成后,您可以搜索预览相关实体的知识图谱,也可以在创建的图谱基础上全量更新或增量更新图谱。
开始使用样例前,请仔细阅读准备工作罗列的要求,提前完成准备工作。在控制台上创建知识图谱的步骤如下所示:
- 步骤1:准备数据
- 步骤2:创建本体
- 步骤3:选择图谱规格
- 步骤4:配置数据源
- 步骤5:配置图谱本体
- 步骤6:配置信息抽取
- 步骤7:配置知识映射
- 步骤8:配置知识融合
- 步骤9:配置图谱质检
- 步骤10:生成图谱
- 步骤11:图谱质检
步骤2:创建本体
在创建图谱之前,您还需要提前创建本体,根据样例数据,此处本体创建2个概念和2种关系,2个概念为“电影”和“人物”,2种关系为“导演”和“主演”。
- 登录KG服务管理控制台,在左侧菜单栏中单击“我的本体”页面。
图2 本体管理
,进入 - 单击左上角“创建本体”,弹出“创建本体”对话框。
- 在对话框中,“本体名称”文本框中填写本体名称“person_film”,在“本体描述”文本框中填写本体描述“包括电影和人物两个概念”,单击“确定”。
图3 创建本体
在创建本体时,所有概念都默认有一个属性为“name”。
- 创建两个概念节点“电影”和“人物”。
具体操作如下:
- 双击界面空白处,新建概念节点。
- 右键单击概念图标,选择“编辑”或双击概念图标,左侧弹出概念编辑框。
- 在概念编辑框中,按表1编辑“概念名称”、“Icon”和“属性”,单击“保存”。
图4 编辑概念
表1 编辑概念 参数
说明
推荐填写
概念名称
概念名称只能由大小写字母、数字、中文、下划线组成,长度为1-63位。
本样例需要创建两个概念,分别可命名为“电影”和“人物”。
Icon
单击选择概念图标的颜色和样式,单击右侧的“更多”,可选择更多图标样式。
-
属性
编辑当前概念的属性。所有概念都默认有一个属性为“name”,且默认属性类型为“single_string”。
- 概念“电影”新增属性“票房”和“上映时间”。
- 概念“人物”新增属性“国籍”、“职业”和“出生日期”。
- 创建“电影”与“人物”之间的关系。
具体操作如下:
- 按住键盘a键,同时鼠标单击概念节点“电影”,拖拽出一条线,移动至目标概念“人物”。
或鼠标右键单击一个概念节点“电影”,选择“新建关系”,然后拖拽出一条线,移动至目标概念“人物”。
- 右键单击关系曲线,选择“编辑”。
右侧弹出关系编辑框。
图5 编辑关系
- 在关系编辑框中,填写“关系名称”,只能由大小写字母、数字、中文、下划线组成,长度为1-63位。
本样例需创建两次“电影”与“人物”之间的关系,关系名称分别为“主演”和“导演”。图6 编辑关系
- 单击“保存”。
- 按住键盘a键,同时鼠标单击概念节点“电影”,拖拽出一条线,移动至目标概念“人物”。
步骤3:选择图谱规格
- 登录KG服务管理控制台,默认进入“我的图谱”页面。
- 单击,然后在创建图谱页面填写信息。
图7 服务选型
表2 服务选型参数说明 参数
说明
“图谱名称”
待创建图谱的名称,名称只能由大小写字母、数字、中文、下划线组成,长度为1-63位。
“图谱规格”
待创建图谱的规格大小。当前仅支持在控制台选择“体验版 一万边”,如果根据业务需要,选择标准版 百万边、标准版 千万边、高级版 千万边,请通过官网产品页“服务咨询”联系我们进行咨询购买。
“是否购买套餐包”
体验版图谱默认不能开通套餐包。如果需要选择业务版图谱,请通过官网产品页“服务咨询”联系我们进行咨询购买。
- 单击右下角“下一步”,在“版本确认”页签确认版本信息。
- 单击右下角“确认创建”。
页面提示“知识图谱创建任务提交成功”。
单击“返回”,返回至“我的图谱”页面,您会看到新创建的图谱卡片,“运行状态”为“创建中”。等待十几分钟后,运行状态变为“初始化”状态。
图8 创建图谱
步骤4:配置数据源
- 在“我的图谱”页面鼠标移至新创建的图谱卡片,单击“图谱构建WorkSpace”。
进入图谱流水线构建页面。
图9 图谱构建WorkSpace
- 在流水线构建页面,单击“数据源”,页面下方弹出数据源配置对话框,单击右侧按钮可以放大对话框。
图10 配置数据源
- 在数据源配置对话框,填写相关信息。
- “选择数据格式”:此样例选择“XLSX”。
- “选择数据源文件”:单击,弹出“选择数据源文件”对话框,选择数据源存放在OBS的路径:
- “OBS桶”:选择数据源文件存放的OBS桶“kg-test”。确保您使用的OBS桶与KG服务在同一区域,桶的存储类别为“标准存储”。
- “存储路径”:选择数据源文件存放在OBS桶的文件路径“demo-data/kg_demo.xlsx”。
选择的OBS路径不能是加密路径,否则可能会访问失败。
- “OBS桶授权”:如果OBS桶未授权,请勾选“确认授权”。
选择完成后,单击“确定”。
图11 选择数据源文件
- 填写完信息后,单击“保存”,完成数据源的配置。
步骤5:配置图谱本体
- 在流水线构建页面,单击“图谱本体”,页面下方弹出图谱本体配置对话框,单击右侧按钮可以放大对话框。
- 选择左侧“我的库”页签,在“图谱本体组件”中拖拽步骤2:创建本体中创建的本体“person_film”到虚线框中,单击“保存”,完成本体选择。
“我的库”页签下的“图谱本体组件”呈现的是“我的图谱资产库”中“我的本体”页面创建或OBS导入的所有本体。
可单击页面右下角的“编辑”,进入本体修改页面,修改后的本体将保存至“我的库”。
图12 图谱本体
步骤6:配置信息抽取
以两条数据为例,抽取信息前后的实体信息如图13所示,展示如何配置信息抽取。
- 在流水线构建页面,单击“信息抽取”,页面下方弹出“信息抽取”对话框,单击右侧按钮可以放大对话框。
- 在“信息抽取”对话框中,“抽取方式”默认为“结构化抽取”,“编辑方式”选择“交互界面”,关闭“默认抽取”开关。
- 在信息抽取页面填写信息抽取项,按表3填写。
表3 信息抽取项示例 实体类型
数据字段
字段函数
Person
identifier
${url}
中文名
regexp_replace(${中文名}, '\(\[link\]@.*?:(/film.*?)\)', '')
国籍
regexp_replace(${国籍}, '\(\[link\]@.*?:(/film.*?)\)', '')
职业
${职业}
出生日期
${出生日期}
url
${url}
Film
identifier
${url}
中文名
${中文名}
票房
${票房}
上映时间
${上映时间}
导演
regexp_extract_all(${导演}, '\(\[link\]@.*?:(/film.*?)\)', 1)
主演
regexp_extract_all(${主演}, '\(\[link\]@.*?:(/film.*?)\)', 1)
url
${url}
字段函数主要有三类,示例如下:
- ${职业}
- regexp_replace(${国籍}, '\(\[link\]@.*?:(/film.*?)\)', '')
将“国籍”字段中符合正则模式的“\(\[link\]@.*?:(/film.*?)\)”替换成空字符串,即删除符合这个pattern的字符串。例如从字段“中国([link]@中国:/film.kg.huawei.com/中国/1122445)”抽取出信息“中国”。
- regexp_extract_all(${导演}, '\(\[link\]@.*?:(/film.*?)\)', 1)
抽取出导演字段中,与模式 “\(\[link\]@.*?:(/film.*?)\)” 匹配的数据值,返回的类型是一个列表。例如““导演”:“沈倨([link]@沈倨:/film.kg.huawei.com/沈倨)””,抽取信息后为““导演”:“/film.kg.huawei.com/沈倨””。
填写完“信息抽取项”,单击“确定”,完成信息抽取配置。
- 填写完信息后,单击“保存”。
步骤8:配置知识融合
以如下融合条件为例:
对电影的属性“name”相似的数据进行知识融合判断,当属性“name”的相似度大于等于0.90,且属性“上映时间”的相似度大于等于0.90时,数据进行融合。对人物的属性“name”相似的数据进行知识融合判断,当属性“name”的相似度大于等于0.90,且属性“职业”的相似度大于等于0.90时,数据进行融合。相似度函数均为编辑距离函数“EditSim”。
展示如何配置知识融合。
- 在流水线构建页面,单击“知识融合”,页面下方弹出“知识融合”对话框,单击右侧按钮可以放大对话框。
- 在“知识融合”对话框,打开“知识融合”开关。
- 在左侧本体预览图中单击实体“电影”图标。
- 在实体“电影”对应的“融合标识符”栏单击,选择标识知识融合的本体属性“name”。
- 填写实体“电影”的属性配置项信息。
可添加多组属性配置项,每组属性配置项可添加多个判断融合的属性配置。至少存在一组属性配置项,组内所有判断融合的属性相似度均大于相似度阈值时,即可融合这两条数据。
本样例只需添加一个属性配置分组,一组里填写两个属性配置项信息,如图17所示。
单击“添加分组”,即可添加一组新的属性配置项。
单击“增加属性配置项”,即可在组内添加新的属性配置项。
实体配置完成后,单击“确定”。
- 在左侧本体预览图中单击实体“人物”图标。
- 在实体“人物”对应的“融合标识符”栏单击,选择标识知识融合的本体属性“name”。
- 填写实体“人物”的属性配置项信息。
可添加多组属性配置项,每组属性配置项可添加多个判断融合的属性配置。至少存在一组属性配置项,组内所有判断融合的属性相似度均大于相似度阈值时,即可融合这两条数据。
本样例只需添加一个属性配置分组,一组里填写两个属性配置项信息,如图17所示。
单击“添加分组”,即可添加一组新的属性配置项。
单击“增加属性配置项”,即可在组内添加新的属性配置项。
实体配置完成后,单击“确定”。
图18 实体人物的知识融合属性
- 单击“保存”。
步骤9:配置图谱质检
- 在流水线构建页面,单击“图谱质检”,页面下方弹出“图谱质检”对话框,单击右侧按钮可以放大对话框。
图19 图谱质检
- 在“图谱质检”对话框,打开“图谱质检”开关,单击“保存”。
图谱质检为非必选流程,关闭和开启状态均不影响图谱构建。开启质检任务后,后台会对当前版本的知识图谱的知识质量和流水线构建进行评估,并生成质检报告,详见查看质检报告。