链接复制成功!
创建模型
在创建知识图谱之前,您可以在KG服务上通过选择模型框架和上传训练数据来创建模型,用于后续创建图谱过程中的信息抽取。
训练模型框架介绍
KG服务提供不同类型的关系抽取模型,以应对用户不同的条件与需求。
KG服务当前提供以下训练模型框架供您自定义模型:
- DGCNN是一个较为复杂的端到端关系抽取模型,它在使用BERT模型建模语言关系的基础上,利用DGCNN网络额外使用了文本的分词词性信息,这使得它对于待抽取实体的边界识别能力很强。但复杂的模型意味着更多的标注数据需求,推荐平均每类关系三元组标注数据在400以上,所有标注文本样本数量在8000以上。
- MRC-BM-v2是一个非常简单的、基于BERT模型、端到端的关系抽取模型,它对于标注数据量的要求非常低,平均每个关系仅需要200组左右标注数据即可训练出一个较好(实测F1值在0.7左右)的模型,平均每个关系标注数据在2000左右模型训练效果达到一个峰值(实测F1值在0.8左右),数据量越多,质量越好,效果会越好。
- MRC-BM是旧版本的模型,为兼容保留,新创建模型请使用MRC-BM-v2。
训练数据类型介绍
在创建抽取模型时,需要您提前准备训练数据上传至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格式的标注样例。
操作步骤
查看模型
- 查看模型列表
完成模型创建后,登录KG服务管理控制台,您可以在左侧菜单栏中选择“我的图谱资产库 > 我的模型”,查看模型列表,包括模型的“状态”、“更新时间”、“OBS路径”、“描述”、“操作”,其中模型状态包括“可用”、“训练中”、“使用中”、“不可用”,如图2所示。
您也可以在列表右上方选择状态过滤查看模型,或在搜索文本框中输入模型名称,搜索查看模型。
- 查看模型详情
登录KG服务管理控制台,在左侧菜单栏中选择“我的图谱资产库 > 我的模型”,在模型列表中单击操作栏的“查看”,进入模型详情页面。模型详情页面包含信息如表2所示。
图3 模型详情表2 模型详情 详情分类
参数
说明
已发布版本
模型模板
已发布版本的模型所选择的预置模板。
模型评估
已发布版本的模型评估参数。
- 准确率:在被所有预测为正的样本中实际为正样本的概率。
- 召回率:在实际为正的样本中被预测为正样本的概率。
- F1:综合考虑准确率和召回率的影响,由两者计算而来,越接近1代表模型越好。
训练数据路径
已发布版本的模型,其训练数据的OBS存储目录。
更新时间
已发布的模型版本的更新时间。
状态
已发布的模型版本状态,发布成功后状态显示为“已发布”。
查看schema
KG服务把信息抽取任务定义为schema约束下的关系三元组抽取任务,schema表明从文本信息中抽取的知识类型。
- subject_type:主语
- predicate:谓语
- object_type:宾语
单击可查看最新发布的模型版本可抽取的知识种类,如图4所示。
版本管理
版本
版本ID。
描述
版本的描述。
模型评估
版本的模型评估参数。
:准确率(Precision)是在被所有预测为正的样本中实际为正样本的概率。
:召回率(Recall)是在实际为正的样本中被预测为正样本的概率。
:F1值综合考虑准确率和召回率的影响,由两者计算而来,越接近1代表模型越好。
更新时间
版本的更新时间。
状态
版本的状态,包括“训练中”、“训练失败”、“训练完成”、“已发布”、“停用”。
操作
针对不同版本状态,可进行对应的操作。
- 修改:修改当前版本的模型参数。
- 发布:发布当前版本。
- 删除:删除当前版本。
- 停用:停用当前版本,使模型不能用于信息抽取。
后续操作
信息抽取模型创建完成,即可在构建图谱的过程中配置信息抽取,详情请见非结构化抽取。