0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NLP:序列标注

深度学习自然语言处理 来源:深度学习自然语言处理 作者:CS的陋室 2021-01-13 09:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

0 小系列初衷

自己接触的项目大都是初创,没开始多久的项目,从0到1的不少,2020年快结束,感觉这个具有一定个人特色的技术经验可以在和大家分享一下。

计划篇章:

(已完成)文本分类篇。针对NLP文本分类任务。

序列标注(NER)篇。针对命名实体识别、序列标注任务。

文本匹配篇。针对语义相似度计算、向量匹配等问题。

人工特征学习篇。针对多特征的机器、深度学习方案。

1 序列标注的场景

文本分类是对整个句子的把握,而NER就是深入到句子内部,对句子的局部进行深入分析,这个粒度的分析往往更为精准详尽,当然难度也会更高,下面列举几个比较常见的场景:

搜索、对话的实体、关系抽取。

搜索的关键词抽取,词权重问题。

纠错的错误检测。

总而言之,只要是抽取局部信息,那其实就可以抽象为序列标注了。

严谨起见,来个专业点的定义吧:

给定一个序列(含特征),预测一组和序列一一对应的结果,这种预测就是序列标注。

2 方案选型——通用方法

之所以把序列标注放一起,是因为问题类似,既然问题类似,那其实就可以找到通式通法来解决,所以先给大家说一些比较通用的方法。大家也把序列标注问题带入来分析计算,其实很多的解法很类似。

2.1 非模型操作

常见的两个非模型操作,直接通过规则或者词典的模式:

通过配置句式,用正则表达式的方式来抽取。

运用词典,用最大逆向匹配来完成。之前写过文章:NLP.TM[29] | ner自动化打标方法

当然了这种非模型操作的优缺点点也是很明显,之前也聊过不少了:

优点:

高准确。

方便快捷。

缺点:

召回低,泛化能力弱。

2.2 模型操作

模型往往是泛化能力较强的,规则和模板无法满足召回的情况下,我们就需要模型来处理了。序列标注需要对序列依赖要求很高,所以比较推荐大家用抽取序列特征的模型来处理。

HMM、CRF。序列标注的经典操作,有关CRF,我之前还写过长文讨论过:NLP.TM[19] | 条件随机场知识整理(超长文!)。

BiLSTM-CRF,之前也提到过,能上深度的情况下,这个的基线效果还是比较强的。NLP.TM | 命名实体识别基线 BiLSTM+CRF(上),NLP.TM | 命名实体识别基线 BiLSTM+CRF(下)

Bert-CRF。超级大的模型,整体效果是还不错的。

和上次一样,也是介绍3个,只要数据质量足够好,准招七八十是没什么大问题的,如果效果不好,往往是因为数据之类的原因导致的,此时我们该做的就是精炼数据集,只有足够数量和质量的数据,模型的效果才会好。

而相比文本分类任务,NER的样本往往更加难得,但是小样本还是可以通过人工标注、挖掘等方式获取,然后通过数据增强的方式来拓展出更多有代表性的query。

当然了,序列标注是一个很广义的问题,有一些特异的任务需要有特异的方法。

2.3 关键词抽取

有关关键词抽取,其实我在原来的文章就讲过,文章在这里:NLP.TM[20] | 词权重问题,这里可以考虑这几个方案:

预训练的IDF词典,例如jieba的。

很多关键词抽取的任务都有场景特色,jieba那种通用的不适合,根据自己的数据自己训一个,可能是最简单的,自己手写也不太累的模型训练了。

如果数据和特征够多,学美团的方案(前沿重器[2] | 美团搜索理解和召回)自己训一个机器学习模型或者用深度学习整一个关键词抽取的序列标注模型。

2.4 纠错的错误检测

在现在比较前沿的技术里,纠错其实已经是一整个完整的模块,被拆分为错误检测、候选召回、召回排序三步,其中的错误检测就是为了找到句子中可能出错的部分,这里其实就可以抽象为序列标注问题,当然用模型的方式来处理肯定是可以的,不过这同样需要大量的标注数据才能解决,相比之下,获取一批正常的语料还是很简单的,这些预料可以训练语言模型,通过语言模型来判断句子中是否存在通顺程度异常的位点,这块详情大家可以看看我之前的文章,尤其是第一篇。

NLP.TM[33] | 纠错:pycorrector的错误检测

NLP.TM[34] | 纠错:pycorrector的候选召回

NLP.TM[35] | 纠错:pycorrector的候选排序

NLP.TM[37] | 深入讨论纠错系统

3 效果调优

有关效果调优,上面其实多多少少聊了很多,这里简单总结一下吧。

无监督方案还是要多用,毕竟有监督方法需要足量,无论是数量还是质量,的数据。

如果实在需要有监督模型,但受限于数据,可以通过数据增强的方式挖掘到一批质量还行的数据。NLP.TM[32] | 浅谈文本增强技术

从关键词抽取和纠错的错误检测中其实可以看到,解决序列标注的思路还是很丰富的,大家要注意多积累。

4 其他想说的

在这次总结里,一方面是仍然强烈感受到对方案和数据把控的重要性,尤其在序列标注这个问题下,足量的标注数据是模型使用的先决条件,因此对数据的管理和优化非常重要。另外,序列标注需要对句子中的每个字/词都要标注,这个标注数据是真的不好拿,因此需要我们对无监督、非模型的方法也有足够的了解,如果排期足够,这种无监督非模型的方案是可以作为有监督模型数据的标注的,没有时间,无监督非模型的方法也可以作为基线直接上线,这个也很好。最后一点事,我感觉我对前沿方案的把控还需要提升,这一轮输出完成后,我可能要开始对前沿方案重新调研升级,从而升级自己的武器库。

责任编辑:xj

原文标题:任务方案思考:序列标注(NER)篇

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 序列
    +关注

    关注

    0

    文章

    70

    浏览量

    20268
  • 自然语言处理

    关注

    1

    文章

    630

    浏览量

    14737
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23347

原文标题:任务方案思考:序列标注(NER)篇

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶占用网络还需要数据标注吗?

    能够通过空间体素化的方式来感知世界,甚至可以识别那些从未见过的异形障碍物,那它是不是不再需要传统意义上的数据标注了?事实上,占据网络不仅没有取消标注,反而将标注的维度和难度推向了一个新的高度。   为什么占据网络变得如此重要?
    的头像 发表于 04-17 08:53 424次阅读
    自动驾驶占用网络还需要数据<b class='flag-5'>标注</b>吗?

    大模型时代自动驾驶标注有什么特殊要求?

    在自动驾驶的发展历程中,数据标注一直被视为算法进化的基石。然而,随着大模型时代的到来,这一领域正经历着重构。 过去,标注员的任务是简单地在二维照片上画框,标记出车辆和行人的位置。但现在,为了支撑复杂
    的头像 发表于 03-01 09:09 3202次阅读
    大模型时代自动驾驶<b class='flag-5'>标注</b>有什么特殊要求?

    JSON:简洁代码高效搞定序列化与反序列

    面对频繁的数据交互需求,用最简方式实现JSON序列化与反序列化已成为开发者必备技能,借助主流库,轻松实现零负担数据转换。JSON(JavaScriptObjectNotation)是一种轻量级
    的头像 发表于 02-25 19:04 264次阅读
    JSON:简洁代码高效搞定<b class='flag-5'>序列</b>化与反<b class='flag-5'>序列</b>化

    极简代码,搞定JSON序列化与反序列

    快速实现JSON数据的生成(序列化)与解析(反序列化)。 目前json库已全面支持LuatOS开发系列产品,开发者可根据项目实际需求,灵活选用并进行快速集成与开发。 一、 JSON基础要点 在
    的头像 发表于 02-23 21:46 460次阅读
    极简代码,搞定JSON<b class='flag-5'>序列</b>化与反<b class='flag-5'>序列</b>化

    自动驾驶数据标注是所有信息都要标注吗?

    [首发于智驾最前沿微信公众号]数据标注对于自动驾驶来说,就像是老师教小朋友知识,数据标注可以让车辆学习辨别道路交通信息的能力。摄像头、雷达、激光雷达(LiDAR)拍下来的只是一堆原始信号,这些信号
    的头像 发表于 12-04 09:05 1231次阅读
    自动驾驶数据<b class='flag-5'>标注</b>是所有信息都要<b class='flag-5'>标注</b>吗?

    算法工程师不愿做标注工作,怎么办?

    对于算法而言,图像标注是一项关键性工作,越是大量的新数据集标注,对于算法的性能提升越有帮助。但是图像标注是一项极其费时费力的工作,特别是遇到稍微复杂的场景时,长时间的重复工作,会让标注
    的头像 发表于 12-02 17:56 719次阅读
    算法工程师不愿做<b class='flag-5'>标注</b>工作,怎么办?

    浅析多模态标注对大模型应用落地的重要性与标注实例

    ”的关键工序——多模态标注重要性日益凸显。 一、什么是多模态标注? 多模态标注是指对文本、图像、语音、视频、点云等异构数据进行跨模态语义关联的标注过程,通过建立数据间的时空一致性和语义
    的头像 发表于 09-05 13:49 2833次阅读

    小语种OCR标注效率提升10+倍:PaddleOCR+ERNIE 4.5自动标注实战解析

    摘要 :小语种OCR研发的核心瓶颈在于高质量标注数据的稀缺与高昂成本。本文介绍一种创新的自动化标注方案,利用 PaddleOCR 进行文本检测与裁剪,并调用 ERNIE 4.5 大模型进行双重预测
    的头像 发表于 08-29 11:26 3892次阅读
    小语种OCR<b class='flag-5'>标注</b>效率提升10+倍:PaddleOCR+ERNIE 4.5自动<b class='flag-5'>标注</b>实战解析

    请问AICube所需的目标检测数据集标注可以使用什么工具?

    请问AICube所需的目标检测数据集标注可以使用什么工具? 我使用labelimg进行标注标注后的数据集改好文件名后导入不进去。一直卡在数据解析界面。 下图所示,数据集文件夹目录,以及xml文件格式
    发表于 08-11 08:07

    自动驾驶数据标注主要是标注什么?

    [首发于智驾最前沿微信公众号]在自动驾驶系统的研发过程中,数据标注是实现高性能感知模型的基础环节,其核心目标是将车辆从环境中采集到的原始感知数据(主要包括图像、点云、视频序列等)转化为具有语义信息
    的头像 发表于 07-30 11:54 1687次阅读
    自动驾驶数据<b class='flag-5'>标注</b>主要是<b class='flag-5'>标注</b>什么?

    什么是自动驾驶数据标注?如何好做数据标注

    [首发于智驾最前沿微信公众号]在自动驾驶系统的开发过程中,数据标注是一项至关重要的工作。它不仅决定了模型训练的质量,也直接影响了车辆感知、决策与控制的性能表现。随着传感器种类和数据量的剧增,有效
    的头像 发表于 07-09 09:19 1717次阅读
    什么是自动驾驶数据<b class='flag-5'>标注</b>?如何好做数据<b class='flag-5'>标注</b>?

    端到端数据标注方案在自动驾驶领域的应用优势

    随着自动驾驶技术向L3及以上级别快速发展,高质量训练数据的需求呈现指数级增长。传统的数据标注方式面临着效率低下、成本高昂、一致性差等痛点。据统计,一辆L4级自动驾驶汽车每天产生的数据量高达
    的头像 发表于 06-23 17:27 1216次阅读

    数据标注与大模型的双向赋能:效率与性能的跃升

    ​‌在人工智能蓬勃发展的时代,大模型凭借其强大的学习与泛化能力,已成为众多领域创新变革的核心驱动力。而数据标注作为大模型训练的基石,为大模型性能提升注入关键动力,是模型不可或缺的“养料。大模型则凭借
    的头像 发表于 06-04 17:15 2270次阅读
    数据<b class='flag-5'>标注</b>与大模型的双向赋能:效率与性能的跃升

    AI时代 图像标注不要没苦硬吃

    识别算法的性能提升依靠大量的图像标注,传统模式下,需要人工对同类型数据集进行一步步手动拉框,这个过程的痛苦只有做过的人才知道。越多素材的数据集对于算法的提升越有帮助,常规情况下,一个20秒时长30帧
    的头像 发表于 05-20 17:54 654次阅读
    AI时代   图像<b class='flag-5'>标注</b>不要没苦硬吃

    东软集团入选国家数据局数据标注优秀案例

    近日,东软飞标医学影像标注平台在国家数据局发布数据标注优秀案例集名单中排名第一(案例名称“多模态医学影像智能数据标注平台”)。评选专家认为东软案例取得了显著成效,一方面,抢占了自主可控的数据
    的头像 发表于 05-09 14:37 1466次阅读