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

    浏览量

    19547
  • 自然语言处理

    关注

    1

    文章

    612

    浏览量

    13506
  • nlp
    nlp
    +关注

    关注

    1

    文章

    487

    浏览量

    22012

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

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

收藏 人收藏

    评论

    相关推荐

    【「时间序列与机器学习」阅读体验】时间序列的信息提取

    本章主讲时间序列的信息提取,章节中有许多概念定义和数学公式,并配有Python代码演示,细细品读与理解动手演练,还是很开拓思维视野的。下面以笔记形式进行展开。 时间序列的信息提取是时间序列分析的一
    发表于 08-17 21:12

    【「时间序列与机器学习」阅读体验】全书概览与时间序列概述

    Series)与自然语言处理(Natural Language Processing,NLP)别属于不同的研究领域,但是二者有着一定的相似之处,见下表。时间序列分析与自然语言处理、计算机视觉在许多方面都有联系
    发表于 08-07 23:03

    nlp逻辑层次模型的特点

    层次是NLP逻辑层次模型的最底层,主要关注单个词汇的意义和用法。在这个层次上,模型需要识别和理解词汇的基本属性,如词性、词义、词形变化等。词汇层次的特点包括: a. 词性标注:识别文本中每个词汇的词性,如名词、动词、形容词等。
    的头像 发表于 07-09 10:39 326次阅读

    nlp神经语言和NLP自然语言的区别和联系

    神经语言(Neuro-Linguistic Programming,NLP) 神经语言是一种心理学方法,它研究人类思维、语言和行为之间的关系。NLP的核心理念是,我们可以通过改变我们的思维方式和语言
    的头像 发表于 07-09 10:35 709次阅读

    nlp自然语言处理基本概念及关键技术

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它致力于使计算机能够理解、解释和生成人类语言。NLP技术在机器翻译、情感分析、语音识别
    的头像 发表于 07-09 10:32 516次阅读

    nlp自然语言处理框架有哪些

    自然语言处理(Natural Language Processing,简称NLP)是计算机科学和人工智能领域的一个重要分支,它致力于使计算机能够理解和处理人类语言。随着技术的发展,NLP领域出现了
    的头像 发表于 07-09 10:28 499次阅读

    nlp自然语言处理的主要任务及技术方法

    自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它研究如何让计算机能够理解、生成和处理人类语言。NLP技术在许多领域都有广泛
    的头像 发表于 07-09 10:26 870次阅读

    nlp自然语言处理模型怎么做

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它涉及到计算机对人类语言的理解和生成。随着深度学习技术的发展,NLP领域取得了显著
    的头像 发表于 07-05 09:59 535次阅读

    nlp自然语言处理的应用有哪些

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个分支,它致力于使计算机能够理解和生成自然语言。随着技术的发展,NLP已经在许多领域得到了广泛
    的头像 发表于 07-05 09:55 2456次阅读

    NLP技术在机器人中的应用

    在人工智能的广阔领域中,自然语言处理(NLP)技术作为连接人类语言与机器智能的桥梁,正逐渐渗透到我们日常生活的方方面面,其中机器人技术便是一个尤为突出的应用领域。NLP技术不仅赋予了机器人理解
    的头像 发表于 07-04 16:04 422次阅读

    NLP技术在人工智能领域的重要性

    在自然语言处理(Natural Language Processing, NLP)与人工智能(Artificial Intelligence, AI)的交织发展中,NLP技术作为连接人类语言与机器
    的头像 发表于 07-04 16:03 427次阅读

    NLP模型中RNN与CNN的选择

    在自然语言处理(NLP)领域,循环神经网络(RNN)与卷积神经网络(CNN)是两种极为重要且广泛应用的网络结构。它们各自具有独特的优势,适用于处理不同类型的NLP任务。本文旨在深入探讨RNN与CNN
    的头像 发表于 07-03 15:59 430次阅读

    什么是自然语言处理 (NLP)

    自然语言处理(Natural Language Processing, NLP)是人工智能领域中的一个重要分支,它专注于构建能够理解和生成人类语言的计算机系统。NLP的目标是使计算机能够像人类一样
    的头像 发表于 07-02 18:16 1050次阅读

    led发光模块的地线可以标注为什么

    LED发光模块是一种常见的电子元件,用于将电能转化为光能。地线是模块中一个重要的接线点,起到连接模块与地面的作用,以确保电路的正常工作。本文将详细介绍LED发光模块的地线标注的原因和意义,以及
    的头像 发表于 01-24 14:53 766次阅读

    图像标注如何提升效率?

    图像标注是通过一定方式对图像进行标记分类,是对数据集的图像进行标记以训练机器学习模型的过程。当图像数量可控时,用人工标注就可以很快完成任务,但当有海量的图像信息待标注时,长时间的重复动作不仅让
    的头像 发表于 12-19 08:29 439次阅读
    图像<b class='flag-5'>标注</b>如何提升效率?