前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用深度学习做命名实体识别(一):文本数据标注

用深度学习做命名实体识别(一):文本数据标注

作者头像
程序员一一涤生
发布2019-09-05 18:04:36
2.6K0
发布2019-09-05 18:04:36
举报

本文是用深度学习做命名实体识别系列的第一篇,通过本文,你将了解如何用brat做文本数据标注。

一、 什么是命名实体识别?

从一句话中识别出人名,地名,组织名,日期时间,这就是命名实体识别的一个例子,而人名,地名等这些被识别的目标就是命名实体。当然命名实体还可以是很多其它有意义的目标,比如产品,公司,专有名词等等。

二、 为什么要做文本数据标注?

了解过机器学习的朋友都知道,无论是传统的机器学习还是深度学习,大多数情况都是在做监督学习,也就是需要大量标注好的数据做为训练样本,那么这里,如果希望机器能识别出人名,地名,就必须事先给机器看看在一句话中,什么是人名,什么是地名,当然只看一句话是远远不够的,一般来说,至少也要上千句话才可以。标注出这些句子中的命名实体的过程,就是我们本次要介绍的——文本数据标注。

三、怎么做文本数据标注?

数据标注,最粗暴的方式,就是直接用txt存放各个句子,然后用一些特殊符号将目标词括起来,写上所属的实体类别,但是这样做有以下弊端:

  1. txt上标注还是挺不方便的
  2. 白底黑字,很快就会看花眼了
  3. 标注的格式难以统一,因为很容易出错,比如少个符号
  4. 无法多人协同标注

因此,已经有很多大牛们研发了许多协助标注文本的工具,本文将基于其中一种个人觉得比较好用的工具——brat,来介绍文本标注过程。如果你还没有了解过brat,可以参考上一篇文章《文本标注工具brat简介》。

四、文本数据标注的具体过程

当成功安装和配置好了brat,我们就可以进行文本标注了。首先在brat项目的data目录下新建一个project目录,然后在该目录下放入如下文件:

其中,annotation.conf是配置文件,内容如下:

代码语言:javascript
复制
[entities]
# Definition of entities.
# Format is a simple list with one type per line.
时间
地点
人名
组织名
公司名
产品名

visual.conf也是配置文件,可以配置不同的类别用不同的颜色显示,找到如下段落,更新内容:

代码语言:javascript
复制
[drawing]
时间 bgColor:yellow
地点 bgColor:blue, fgColor:white
人名 bgColor:deepskyblue
组织名 bgColor:green, fgColor:white
公司名 bgColor:purple, fgColor:white
产品名 bgColor:pink

mayun.txt是我们要标注的原文件,里面的内容片段如下(这里用句号分句处理,是因为不希望每个训练样本太长,建议控制在500字符内):

代码语言:javascript
复制
1964年9月10日,马云出生在杭州。
幼年的马云在人们的眼中是典型的坏孩子:叛逆、倔强、爱打架、逞强、顽皮淘气。
马云的父亲虽然是典型的江南人,但脾气却很火暴,马云从小在父亲拳脚下长大。
马云是看金庸的武侠小说长大的,行侠仗义、打抱不平的“侠义”情结在少年马云的内心深处早已生根、萌芽。

mayun.ann是一个空文件,使用brat对mayun.txt的标注结果,会记录在ann文件中。

此时我们通过浏览器访问brat项目界面,打开project目录下的mayun.txt文件(记得要先登录),看到的界面如下:

然后我们选择目标实体,比如“马云”,进行实体类别标注,效果如下:

此时,你可以邀请其他人用他们的帐号登录brat,也打开这个txt,和你一起标注。标注之后,再看看ann文件内容,如下:

T1,T2标识这行是对实体进行的标注;

  • 人名,公司名所在列是实体类别;
  • 第三、四列是标注词汇在整个txt中的起始和(结束索引+1)
  • 最后一列是就是标注的词汇列

标注完成后,我们就有了mayun.txt和mayun.ann两个对应的文件。关于如何使用这两个文件,将在下一篇《用深度学习做命名实体识别(二):模型训练》中介绍。

ok,本篇就这么多内容啦~,感谢阅读O(∩_∩)O,88~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档