更新时间:2022-03-03 GMT+08:00
分享

创建信息抽取模型

如果您在创建知识图谱时,选择使用自定义模型进行信息抽取,您需要在创建知识图谱之前,创建信息抽取模型。

本章节提供一个与人物、电影有关的非结构化数据构建信息抽取模型流程,帮助您快速熟悉知识图谱自定义信息抽取模型创建过程,通过在控制台进行数据标注、模型训练,构建一个人物、电影有关的信息抽取模型。本样例以在ModelArts控制台上标注数据为例,介绍信息抽取模型构建流程。

在创建模型之前,请仔细阅读准备工作罗列的要求,提前完成准备工作。在控制台上创建信息抽取模型的步骤如下所示:

准备工作

已注册华为云帐号,且在使用知识图谱服务前检查帐号状态,帐号不能处于欠费或冻结状态。

步骤1:准备数据

在创建信息抽取模型之前,您需要自行准备基础数据并上传至OBS桶及文件夹中。

由于数据安全原因,本样例不提供具体的样例数据,仅提供样例数据要求,要求如下:

数据格式

数据格式为短文本txt格式,文件内容示例如下:

张三的生日是1990年1月1日,身高175cm,出生于北京。

李四,著名导演,毕业于电影学院,代表作有《电影1》、《电影2》。

... ...

数据划分

建议将数据分为如下2份:

训练数据:80%数据用于训练信息抽取模型。

图谱数据:20%数据用于构建知识图谱。

训练数据量

训练一个基本可用的模型,大约需要2000条左右的短句数据作为训练数据。

训练一个效果较好的模型,建议提供2万条以上的短句数据作为训练数据。

三元组类型

本样例构建的模型适用于人物、电影领域的信息抽取,限定抽取的三元组类型如表1所示。

表1 三元组类型

subject_type

predicate

object_type

人物

毕业院校

学校

影视作品

改编自

作品

影视作品

制片人

人物

人物

身高

Number

人物

丈夫

人物

影视作品

主演

人物

人物

出生日期

Date

影视作品

编剧

人物

影视作品

导演

人物

人物

祖籍

地点

人物

父亲

人物

人物

出生地

地点

影视作品

出品公司

企业

人物

妻子

人物

人物

母亲

人物

人物

国籍

国家

影视作品

上映时间

Date

  1. 按上文要求准备待标注的训练数据和模型数据,并保存至本地,训练数据命名为“annotation.txt”,模型数据命名为“corpus.txt”
  2. 登录OBS服务,创建桶和文件夹,用于存放数据集。

    创建名称为“kg-model”的OBS桶。

    创建名称为“model-data”的文件夹用于存放未标注的数据集。

    创建名称为“model-data-out”的文件夹用于存放已标记并发布的数据集。

    创建名称为“graph-data”的文件夹用于存放创建图谱的数据集。

    创建OBS桶和文件夹的操作指导请参见创建桶新建文件夹。为保证数据能正常访问,请务必保证创建的OBS桶与KG服务在同一区域。

  3. 参考上传文件,使用单个文件上传方式将本地准备的训练数据“annotation.txt”文件上传至OBS路径“kg-model/model-data”下,将本地准备的创建模型的数据文件“corpus.txt”上传至OBS路径“kg-model/graph-data”

步骤2:创建数据集

  1. 登录ModelArts管理控制台,在左侧菜单栏中单击“数据管理 > 数据集”,进入数据集页面,单击页面上方“前往新版”
    图1 数据集

    如果数据集页面上方显示“返回旧版”,则说明当前页面已经是新版页面。

  2. 单击“创建数据集”,在“基本信息”页签,参考图2填写信息。
    图2 创建数据集

    “名称”:填写“RelationExtraction”

    “描述”:填写简单的数据集描述,可不填。

    “数据格式”:选择“文件型”

    “数据类型”:选择“文本”

    “数据集输出位置”:单击选择输出数据集的OBS路径“/kg-model/model-data-out/”

  3. 单击“下一步”,在“数据输入”页签,参考图3填写信息,然后单击“创建”

    数据集创建完成后,系统自动跳至数据集页面,您可以查看数据集详情。

    “数据源”:默认为“OBS”

    “导入方式”:默认为“目录”

    “导入路径”:单击选择存放待标记数据集的OBS路径“/kg-model/model-data/”

    “数据标注状态”:选择“未标注”
    图3 创建数据集

步骤3:标注数据

  1. ModelArts管理控制台的左侧菜单栏中单击“数据管理 > 数据标注”,进入数据标注页面。
  2. 单击“创建标注作业”,进入创建标注作业页面。
  3. 参考图4填写信息,然后单击“创建”

    “名称”:自动生成作业名称,也可以自定义修改。

    “描述”:填写简单的数据集描述,可不填。

    “标注场景”:选择“文本”

    “标注类型”:选择“文本三元组”

    “数据集名称”:选择“RelationExtraction”。如果选不到,可以单击图标刷新后再选。

    “添加标签集”:按表1添加实体标签和关系标签,实体标签需要添加表1中的“subject_type”“object_type”,关系标签需要添加表1中的“predicate”,如图5图6所示。

    “启用团队标注”:打开开关会启动团队标注,团队成员可以进行该数据集的标注任务,可不操作。

    图4 创建标注作业
    图5 实体标签
    图6 关系标签
  4. 单击“创建”后自动返回数据标注页面。在标注作业列表中单击作业名称,进入作业标注详情页,默认显示“未标注”的文本列表。

    单击“同步新数据”,快速将数据集中的数据添加到标注作业中。

  5. 按下文步骤标注文本数据集。
    1. 在“未标注”页签文本列表中,页面左侧罗列“标注对象列表”。在左侧列表中单击需标注的文本对象,在右侧文本框选中相应文本内容,在页面呈现的实体类型列表中选择实体名称,完成实体标注。
      图7 实体标注
    2. 在完成多个实体标注后,鼠标左键依次单击起始实体和终止实体,在呈现的关系类型列表中选择一个对应的关系类型,完成关系标注。
      图8 关系标注
    3. 单击下方“保存当前页”

步骤4:发布数据集

  1. ModelArts管理控制台的左侧菜单栏中单击“数据管理>数据集”,进入数据集页面。
  2. 在数据集列表中,单击数据集“RelationExtraction”操作列的“发布”

    或者,您可以单击数据集名称,进入数据集概览页,在页面右上角单击“发布”

  3. “发布新版本”的弹出框中,填写“版本名称”“标注类型”“描述”,然后单击“确定”

    “版本名称”:默认输入“V001”

    “标注类型”:选择“文本三元组”

    “描述”:可不填。

    图9 发布新版本
  4. 自动跳转至版本管理页面,记录V001.manifest文件的存储路径,如图10红框所示。
    图10 存储路径

步骤5:创建模型

  1. 登录KG服务管理控制台,在左侧菜单栏中选择我的图谱资产库 > 我的模型,进入模型管理页面。
  2. 在模型列表左上方,单击“创建模型”

    弹出“创建模型”对话框。

    图11 创建模型
  3. “创建模型”对话框中填写相关信息,如图11所示,单击“确定”,完成模型创建。

    “模型名称”:在“模型名称”文本框中填写模型名称“Person_Film_Model”

    “模型模板”:单击选择模型模板“MRC-BM”,MRC-BM的基本概念请参见训练模型框架介绍

    “数据类型”:单击选择“ModelArts”,训练数据类型详情请参见训练数据类型介绍

    “OBS桶”:选择在步骤1:准备数据新建的OBS桶“kg-model”

    “文件夹”:选择在4中记录的V001.manifest文件的存储路径,并勾选存放的文件夹。

步骤6:创建模型版本

  1. 在KG服务管理控制台的左侧菜单栏中选择我的图谱资产库 > 我的模型,进入“模型管理”页面。
  2. 在模型列表中,单击在步骤5:创建模型所创建的模型“Person_Film_Model”,进入模型详情页。
  3. 在版本管理区域单击“创建新版本”

    弹出“创建新版本”对话框。

  4. “创建新版本”对话框中如图12填写模型参数的参数值。
    一般18类三元组、2000条训练数据,训练迭代次数(epochs)在30次左右可以正确的抽取得到部分三元组,训练迭代次数(epochs)在100次左右模型达到最优解。
    图12 创建新版本
  5. 单击“确定”,完成模型版本的创建。

    在模型详情页,您可以看到模型版本的“状态”处于“训练中”,等到“状态”变为“训练完成”,就可以执行下一步步骤7:发布版本

步骤7:发布版本

  1. 在KG服务管理控制台的左侧菜单栏中选择我的图谱资产库 > 我的模型,进入“模型管理”页面。
  2. 在模型列表中,单击在步骤5:创建模型所创建的模型“Person_Film_Model”,进入模型详情页。
  3. 在版本管理列表中的“操作”栏,单击“发布”
    图13 发布版本

    待状态栏处于“已发布”状态,该版本的模型即可在创建图谱过程中对文本进行信息抽取,即可执行下一步步骤8:创建图谱

步骤8:创建图谱

详细步骤请参见使用自定义抽取模型创建图谱

分享:

    相关文档

    相关产品

close