233
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
百度智能云全功能AI开发平台BML-序列标注标注说明

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/200G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>


点击这里点击这里申请百度智能云VIP帐号,立即体验BML>>>

百度智能云全功能AI开发平台BML-序列标注标注说明

1.标注体系说明

在序列标注任务中,一般会定义一个标签集合,来表示所有可能取到的预测结果。

标签是对字符串的token序列进行的表示:

对于英文字符串而言,token可以是一个单词(e.g. baidu),也可以是一个字符(e.g. b);

对于中文字符串而言,token可以是一个分词后的词语,也可以是单个汉字字符;

当前平台支持主流的IOB、IO、IOE、IOBES四种标注体系:

  • IOB: 标签B用于文本块的开始,标签I用于文本块中的字符,标签O用于文本块之外的字符
  • IOE: 标签I用于文本块中的字符,每个文本块都以标签E结尾,标签O用于文本块之外的字符
  • IOBES: 包含了全部的5种标签,使用S标签表示文本块由单个字符组成;由一个以上的字符组成时,首字符总是使用B标签,尾字符总是使用E标签,中间的字符使用I标签
  • IO: 只使用I和O标签,如果文本中有连续的同种类型实体的文本块,使用该标签方案不能够区分这种情况

可参考如下案例了解四种标注体系的区别和使用:


IOBCN-BKR-BOOOOOPER-BPER-IPER-IOOOOORG-BORG-IORG-IOO
IOCN-IKR-IOOOOOPER-IPER-IPER-IOOOOORG-IORG-IORG-IOO
IOECN-EKR-EOOOOOPER-IPER-IPER-EOOOOORG-IORG-IORG-EOO
IOBESCN-SKR-SOOOOOPER-BPER-IPER-EOOOOORG-BORG-IORG-EOO

英文的标注案例,请参考如下实例,注意由于ERNIE是由超大规模的中文知识语料进行的预训练模型,如果您需要在英文数据集上做序列标注任务,建议使用非ERNIE的任务进行训练。

====== ====== ======  =====  ==  ============   =====  ===== =====  ==  =========
       Li     Ming    works  at  Agricultural   Bank   of    China  in  Beijing.
====== ====== ======  =====  ==  ============   =====  ===== =====  ==  =========
IO     I-PER  I-PER   O      O   I-ORG          I-ORG  I-ORG I-ORG  O   I-LOC
IOB    B-PER  I-PER   O      O   B-ORG          I-ORG  I-ORG I-ORG  O   B-LOC
IOE    I-PER  E-PER   O      O   I-ORG          I-ORG  I-ORG E-ORG  O   E-LOC
IOBES  B-PER  E-PER   O      O   B-ORG          I-ORG  I-ORG E-ORG  O   S-LOC
====== ====== ======  =====  ==  ============   =====  ===== =====  ==  =========

2.标注数据格式说明

本文以平台推荐的IOB标注体系进行详细讲解。在平台上传数据集过程中,提供了快递关键信息抽取场景的示例数据以供参考,Demo数据下载,详见下方截图位置:

image.png

2.1 定义标签集合

在本示例场景中,针对需要被抽取的“姓名、电话、省、市、区、详细地址”等实体,标签集合可以定义为:

label = {P-B, P-I, T-B, T-I, A1-B, A1-I, A2-B, A2-I, A3-B, A3-I, A4-B, A4-I, O}

标签集合将会在后续上传平台时放在json文件中用到,详见下方“平台数据准备模块”

每个标签的定义分别为:

标签说明
P-B姓名起始位置
P-I姓名中间位置或结束位置
T-B电话起始位置
T-I电话中间位置或结束位置
A1-B省份起始位置
A1-I省份中间位置或结束位置
A2-B城市起始位置
A2-I城市中间位置或结束位置
A3-B县区起始位置
A3-I县区中间位置或结束位置
A4-B详细地址起始位置
A4-I详细地址中间位置或结束位置
O不关注的字

注意每个标签的结果只有 B、I、O 三种。其中 B 表示一个标签类别的开头,比如 P-B 指的是姓名的开头;相应的,I 表示一个标签的延续。此时四种标注体系中,B、I、O、E、S对应的解释也可总结为:

  • B,即Begin,表示开始
  • I,即Intermediate,表示中间
  • E,即End,表示结尾
  • S,即Single,表示单个字符
  • O,即Other,表示其他,用于标记无关字符

2.2对文本进行标注

对于句子“张三18625584663广东省深圳市南山区百度国际大厦”,每个汉字及对应标签为:

18625584663广
P-BP-IT-BT-IT-IT-IT-IT-IT-IT-IT-IT-IT-IA1-BA1-IA1-IA2-BA2-IA2-IA3-BA3-IA3-IA4-BA4-IA4-IA4-IA4-IA4-I

注意到“张“,”三”在这里表示成了“P-B” 和 “P-I”,反过来讲,得到“P-B”和“P-I”这样的序列,也可以合并成“P” 这个标签。这样重新组合后可以得到以下信息抽取结果:

张三18625584663广东省深圳市南山区百度国际大厦
PTA1A2A3A4

在您任务配置过程中需要注意,如果您使用了ERNIE预训练模型,您需要对每一条样本进行字粒度的分词处理;如果您使用了非ERNIE的预置网络进行模型训练,则您需要对每一条样本进行词粒度的分词处理。

对于IO、IOBES、IOE三种标注体系,标注过程都类似,您可以根据您手中的训练集,在平台选择对应的标注体系进行数据集的上传。

3. 对应平台的数据集准备

将数据集上传平台,需要将上述2.1中的标签集合和标注文本以压缩包的形式上传。

在2.1中的标签集合为{P-B, P-I, T-B, T-I, A1-B, A1-I, A2-B, A2-I, A3-B, A3-I, A4-B, A4-I, O},对应的标签映射文件见下方(注意,平台对标签映射文件的文件名有要求,必须为”label_map.json“):

{
		"P-B":0, 
		"P-I":1, 
		"T-B":2, 
		"T-I":3, 
		"A1-B":4, 
		"A1-I":5, 
		"A2-B":6, 
		"A2-I":7, 
		"A3-B":8, 
		"A3-I":9,
		"A4-B":10, 
		"A4-I":11, 
		"O":12
}

对2.2中的标注数据逐行保存,第一列为切词后的文本token,第二列为标注标签label。两列以制表符tab分开,即 token\tlabel\n,一行标注数据样例如下:

张	三	1	8	6	2	5	5	8	4	6	6	3	广	东	省	深	圳	市	南	山	区	百	度	国	际	大	厦   P-B	P-I	T-B	T-I	T-I	T-I	T-I	T-I	T-I	T-I	T-I	T-I	T-I	A1-B A1-I A1-I A2-B A2-I A2-I A3-B A3-I A3-I A4-B A4-I A4-I A4-I A4-I A4-I	


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!