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

创建模型

在创建知识图谱之前,您可以在KG服务上通过选择模型框架和上传训练数据来创建模型,用于后续创建图谱过程中的信息抽取。

训练模型框架介绍

KG服务提供不同类型的关系抽取模型,以应对用户不同的条件与需求。KG服务当前仅有一个训练模型框架供您自定义模型:MRC-BM。

MRC-BM是一个非常简单的、基于BERT模型、端到端的关系抽取模型,它对于标注数据量的要求非常低,平均每个关系仅需要200组左右标注数据即可训练出一个较好(实测F1值在0.7左右)的模型,平均每个关系标注数据在2000左右模型训练效果达到一个峰值(实测F1值在0.8左右),数据量越多,质量越好,效果会越好。

训练数据类型介绍

在创建抽取模型时,需要您提前准备训练数据上传至OBS目录。KG服务当前支持的数据类型包括“Dataset”“Brat”“ModelArts”

  • Dataset

    DATASET数据需要用户指定的文件夹中包含两个指定格式与名称的文件:schema.json和train_data.json。前者用来指定需要抽取的关系三元组类型,后者用来存放所有的标注数据。

    schema.json一行一句json字符串,表示一种关系三元组类型:“predicate”表示谓词,“subject”表示主语类型,“object”表示宾语类型。例如:

    {"predicate": "出生地", "subject": "人物", "object": "地点"}

    train_data.json一行一句json字符串,表示一条标注数据。其中“text”是文本,“spo_list”是spo三元组的list,每个spo三元组包含7个元素,“predicate”为三元组谓词,“object_type”为宾语类型,“subject_type”为主语类型,“object_position”为宾语在文中出现的位置,“subject_position”为主语在文中出现的位置,“object”为宾语词,“subject”为主语词。例如:

    {"text":"比如钱钟书和杨绛、鲁迅和许广平都只有一个子女","spo_list":[{"predicate":"妻子","object_type":"人物","subject_type":"人物","object":"杨绛","subject":"钱钟书","subject_position":2,"object_position":6},{"predicate":"丈夫","object_type":"人物","subject_type":"人物","object":"钱钟书","subject":"杨绛","subject_position":6,"object_position":2}]}
  • Brat

    BRAT是一个开源的文本标注工具,主要用于对文本的结构化标注,您可以前往官网下载。KG服务的预置模型框架支持直接利用BRAT关系三元组标注的结果来训练模型。注意您的标注任务仅限于BRAT的关系三元组标注,而且不要使用BRAT标注系统中的高级内容(如定义关系的自反性、传递性等)。

    一个典型的BRAT文本标注结果文件夹包含如下文件:annotation.conf,file.txt,file.ann。其中annotation.conf是BRAT标注配置文件,file.txt是待标注文本文件,可以有多个,每个文本文件都有一个同名的file.ann文件作为标注结果文件。

    Annotation.conf:配置文件需要满足BRAT标注系统的要求,一个典型的配置文件如下:

    [entities]
    人物
    Date
    图书作品
    [relations]
    出生日期 Arg1:人物,Arg2:Date
    作者     Arg1:图书作品,Arg2:人物
    [events]
    [attributes]

    File.ann:用户上传文本文件同名的标注结果文件,上面标注后结果文件一般如下:

    历史人物 54151 54153  蔡京
    T3153   Text 54181 54183    北宋
    人物 54151 54153 蔡京
    T3155   Date 54154 54164    1047年2月14日
    朝代 Arg1:T3152 Arg2:T3153
    出生日期 Arg1:T3154 Arg2:T3155
  • ModelArts

    ModelArts是华为云面向开发者的一站式AI开发平台,提供了一系列文本标注工具,您可以在ModelArts上面进行标注,详细操作指导请参见ModelArts用户指南>文本三元组数据标注,按照要求将标注结果导出至OBS。在发布数据集时,“版本格式”选择“Default”

    ModelArts发布的标注数据集是“.manifest”格式的文件,其中包含多行,每行是一个JSON格式的标注样例,详细的数据规范请见导入Manifest文件的规范说明

前提条件

准备训练数据并上传至OBS目录,详细步骤请参见准备训练数据,数据类型和要求请见训练数据类型介绍

操作步骤

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

    弹出“创建模型”对话框,如图1所示。

    图1 创建模型
  3. 表1填写相关信息。
    表1 创建模型参数说明

    参数

    说明

    模型名称

    模型的名称。暂不支持修改。

    模型模板

    选择训练模型预置模板。KG服务预置模型模板仅有“MRC-BM”,详情请见训练模型框架介绍

    数据类型

    选择训练模型的数据类型,即待抽取的信息数据类型。KG服务支持的数据类型包括“DATASET”“BRAT”“MODELARTS”,详情请见训练数据类型介绍

    OBS桶

    选择训练数据存储的OBS桶。需保证您的OBS桶与KG服务在同一区域。

    文件夹

    选择训练数据存储在OBS桶中的文件夹。

    描述

    模型的描述。

  4. 单击“确定”,完成模型创建。

    跳至“模型管理”页面,新创建的模型显示在模型列表中。

查看模型

  • 查看模型列表

    完成模型创建后,登录KG服务管理控制台,您可以在左侧菜单栏中选择我的图谱资产库 > 我的模型,查看模型列表,包括模型的“状态”“更新时间”“OBS路径”“描述”“操作”,其中模型状态包括“可用”“训练中”“使用中”“不可用”,如图2所示。

    您也可以在列表右上方选择状态过滤查看模型,或在搜索文本框中输入模型名称,搜索查看模型。

    图2 模型列表
  • 查看模型详情

    登录KG服务管理控制台,在左侧菜单栏中选择我的图谱资产库 > 我的模型,在模型列表中单击操作栏的“查看”,进入模型详情页面。模型详情页面包含信息如表2所示。

    图3 模型详情
    表2 模型详情

    详情分类

    参数

    说明

    已发布版本

    模型模板

    已发布版本的模型所选择的预置模板。

    模型评估

    已发布版本的模型评估参数。

    • 准确率:在被所有预测为正的样本中实际为正样本的概率。
    • 召回率:在实际为正的样本中被预测为正样本的概率。
    • F1:综合考虑准确率和召回率的影响,由两者计算而来,越接近1代表模型越好。

    训练数据路径

    已发布版本的模型,其训练数据的OBS存储目录。

    更新时间

    已发布的模型版本的更新时间。

    状态

    已发布的模型版本状态,发布成功后状态显示为“已发布”

    查看schema

    KG服务把信息抽取任务定义为schema约束下的关系三元组抽取任务,schema表明从文本信息中抽取的知识类型。

    • subject_type:主语
    • predicate:谓语
    • object_type:宾语

    单击可查看最新发布的模型版本可抽取的知识种类。

    版本管理

    版本

    版本ID。

    描述

    版本的描述。

    模型评估

    版本的模型评估参数。

    :准确率(Precision)是在被所有预测为正的样本中实际为正样本的概率。

    :召回率(Recall)是在实际为正的样本中被预测为正样本的概率。

    :F1值综合考虑准确率和召回率的影响,由两者计算而来,越接近1代表模型越好。

    更新时间

    版本的更新时间。

    状态

    版本的状态,包括“训练中”“训练失败”“训练完成”“已发布”“停用”

    操作

    针对不同版本状态,可进行对应的操作。

    • 修改:修改当前版本的模型参数。
    • 发布:发布当前版本。
    • 删除:删除当前版本。
    • 停用:停用当前版本,使模型不能用于信息抽取。

后续操作

信息抽取模型创建完成,即可在构建图谱的过程中配置信息抽取,详情请见非结构化抽取

分享:

    相关文档

    相关产品

close