用深度学习做命名实体识别(一):什么是命名实体识别? 自然语言处理NLP命名实体识别深度学习机器学习
上一个深度学习系列介绍了如何检测出图片或视频中的物体,本深度学习系列将介绍如何从文章中提取出我们关注的实体,比如提取文章中出现的人名、地址、产品、时间等实体。本文做为该系列的第一篇文章,会先呈现一下命名实体识别的效果,然后给大家介绍几个概念。
识别效果
如上图所示,请求体中是要提取实体的句子,也可以是短文,接口返回的就是句子中识别出来的各种实体。
要实现以上的效果,还得先从了解以下内容开始。
什么是命名实体识别?
从一句话中识别出人名,地名,组织名,日期时间,这就是命名实体识别的一个例子,而人名,地名等这些被识别的目标就是命名实体。当然命名实体还可以是很多其它有意义的目标,比如产品,公司,专有名词等等。
什么是文本数据标注?
了解过机器学习的朋友都知道,无论是传统的机器学习还是深度学习,大多数情况都是在做监督学习,也就是需要大量标注好的数据做为训练样本,那么这里,如果希望机器能识别出人名,地名,就必须事先给机器看看在一句话中,什么是人名,什么是地名,当然只看一句话是远远不够的,一般来说,至少也要上千句话才可以。这些句子都是需要人工来标注的,而标注出这些句子中的命名实体的过程,称为"文本数据标注"。
怎么做文本数据标注?
数据标注,最粗暴的方式,就是直接在word、txt等文档里标注,比如像下面这样:
此次{{location:中国}}个展,{{person_name:苏珊}}将与她80多岁高龄的父亲一起合作,哼唱一首古老的{{location:威尔士}}民歌{{product_name:《白蜡林》}}。届时在{{location:画廊大厅}}中将安放6个音箱进行播放,艺术家还特意回到家乡{{location:格拉斯哥}},同父亲一起在{{org_name:中国音乐学院}}里为作品录制了具有{{location:中国}}元素的音乐片段。
但是这样做有以下弊端:
-
白底黑字,密密麻麻,很快就会看花眼了,很容易标注错误,比如少个符号什么的;
-
无法多人协同标注。
因此,已经有很多大牛们研发了许多协助标注文本的工具,其中一个笔者觉得比较好用的工具——brat,将在下一篇文章《用深度学习做命名实体识别(二):文本标注工具brat》中介绍。
ok,本篇就这么多内容啦~,感谢阅读O(∩_∩)O,88~
上一篇: php中文转换成拼音代码_PHP教程
下一篇: 收到“您试图打开读