Python深度学习

您所在的位置:网站首页 分词的定义和分类 Python深度学习

Python深度学习

2024-03-16 04:00| 来源: 网络整理| 查看: 265

系列文章目录

Python深度学习-NLP实战:深度学习系列培训教程

Linux服务器软件的简单使用Linux命令的简单使用训练集、测试集、验证集的介绍及制作字向量的训练与生成文本分类之SVM模型的简单使用文本分类之FASTTEXT实现中文文本分类命名实体识别(NER)之分词与序列标注、实体识别任务简介 前言

命名实体识别(Named Entity Recognition, NER)是信息抽取和信息检索中的一项重要任务,其目的是识别出文本中表示命名实体的成分,并对其进行分类。[1]而命名实体主要指文档中的人名、地名、机构名、时间等名词实体。

[1] 刘浏,王东波.命名实体识别研究综述[J].情报学报,2018,37(03):329-340.

分词与序列标注 任务简介

我们先从了解什么是分词和序列标注开始。 分词就是找到字符串中每个词语的开头与结尾。 序列标注就是输入一段字符串,输出字符串中每个字符对应的序列。 通过序列标注完成分词, 即把一个字符,是词的开头、结尾、还是中间部分给标出来。 例如,我一定要当上海贼王,如果分词分为 我/一定要/当/上海/贼王(举个栗子) 对应的序列就应该是(以字为单位,下文将该格式称为token格式):

我 S 一 B 定 I 要 E 当 S 上 B 海 E 贼 B 王 E

序列标注的标记集可以任意命名,这里我们选择的标记集是 {B, I, E, S}。 其中,B代表词语开头, I代表词语中间, E代表词语结尾,S代表单字。 后期涉及到实体标注时,也可以在标记中添加后缀用来区分不同实体,如:

{B-FD,I-FD,E-FD,S-FD,B-OT,I-OT,E-OT,S-OT,O}

其中,FD和OT代表两类不同的实体,O表示非实体。 我们想实现的就是将一段字符串输入模型中,模型会将每个字符的标记以token格式的文件输出,这样我们就知道怎么分词了(当然还要看模型的效果)。 比如: 输入“我一定要当上海贼王”,模型输出标记顺序为 “SBESBEBIE ”,我们就可以得知,这个字符串应该分词为“我/一定/要/当上/海贼王”。

训练集与测试集

接下来要学习使用的模型的训练集和测试集都需要处理成token格式,如下: (模型训练格式是自己定义的,这里的规定是我们实验室用的代码里规定的) 在这里插入图片描述

制作语料注意: ① 以句末符号(句号、问号、感叹号、省略号等)作为切分标志,并随机打乱句子顺序。 ② token格式中每句话间换一行,保证输入模型的单个长度不会过长引起崩坏! ③ 要保证语料中的每句话内都要以“单字\t标记\n”的形式,不能有一个为空值!

模型测试结果(以CRF为例)

模型经过训练后,可以测试模型效果,输出日志文件如下: 在这里插入图片描述 我们以前一列为标准,如果后一列和前一列标的完全一样,那么机器序列标注的正确率就是100%,如果有不一样的地方,则代表正确率下降。

实体识别

实体识别模型训练测试与序列标注类似,不多赘述,语料部分展示如下: 使用“”标注食品与诱因实体,使用“”标注时间与地点实体。

在这里插入图片描述 个人建议:为制作token语料方便,可以编写程序将标签换成符号如“【】”和“{}”。

在这里插入图片描述 为了将语料转化为可供模型训练的token格式,我们定义了9 位标记集:

{B-FD,I-FD,E-FD,S-FD,B-OT,I-OT,E-OT,S-OT,O}

对两类实体进行标记,各标记含义如下:

标记含义B-FD食品与诱因实体起始字I-FD食品与诱因实体中间字E-FD食品与诱因实体结束字S-FD食品与诱因实体单字B-OT时间与地点实体起始字I-OT时间与地点实体中间字E-OT时间与地点实体结束字S-OT时间与地点实体单字O非实体字

例如: 食品与诱因实体中的“地沟油”,标记为:

地 B-FD 沟 I-FD 油 E-FD

由单字构成的实体“锶”,标记为:

锶 S-FD

时间与地点实体中的“北京”,标记为:

北 B-OT 京 E-OT 写在最后

【学习交流】 WX:WL1498544910

【文末小宣传】 ----博主自己开发的小程序,希望大家点赞支持一下,谢谢!----- 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3