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

    浏览量

    19451
  • 自然语言处理

    关注

    1

    文章

    507

    浏览量

    13096
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21812

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

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

收藏 人收藏

    评论

    相关推荐

    图像标注如何提升效率?

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

    顺序功能图中常见序列

    在顺序功能图中除了前面使用过的单序列和循环序列外,还有并行序列、选择序列、跳转序列和混合序列,本
    的头像 发表于 10-01 10:53 1071次阅读
    顺序功能图中常见<b class='flag-5'>序列</b>

    如何使用Serde进行序列化和反序列

    Serde 是一个用于序列化和反序列化 Rust 数据结构的库。它支持 JSON、BSON、YAML 等多种格式,并且可以自定义序列化和反序列化方式。Serde 的特点是代码简洁、易于
    的头像 发表于 09-30 17:09 831次阅读

    什么是序列化 为什么要序列

    什么是序列化? “序列化”(Serialization )的意思是将一个对象转化为字节流。 这里说的对象可以理解为“面向对象”里的那个对象,具体的就是存储在内存中的对象数据。 与之相反的过程是“反序列
    的头像 发表于 09-14 17:22 1478次阅读
    什么是<b class='flag-5'>序列</b>化 为什么要<b class='flag-5'>序列</b>化

    人工智能nlp是什么方向

    人工智能nlp是什么方向  人工智能(AI)已经日益普及,正在改变我们的方法和方式。AI 涵盖了许多领域,其中包括机器学习,计算机视觉,自然语言处理(NLP)等。在这些方向之中,NLP 是最引人注目
    的头像 发表于 08-22 16:45 1278次阅读

    点云标注的未来发展与技术革新

    点云标注作为自动驾驶技术中的重要一环,随着技术的不断发展和进步,其未来发展与技术革新将具有重要意义。 首先,点云标注技术的发展将更加注重智能化和自动化。未来的点云标注系统将采用更加先进的深度学习模型
    的头像 发表于 07-18 15:13 324次阅读

    点云标注的质量评估与优化

    点云标注的质量对于自动驾驶汽车的感知和决策能力有着重要影响。因此,对于点云标注的质量评估和优化是非常重要的。 首先,质量评估包括点云数据的清洗和预处理过程。清洗过程可以去除噪声和不相关的数据,预处理
    的头像 发表于 07-10 15:47 469次阅读

    点云标注的挑战与未来发展

    点云标注在自动驾驶中面临着许多挑战。首先,点云数据的质量和精度对标注的准确性有着重要影响。在实际应用中,由于传感器技术和环境的复杂性,点云数据往往存在噪声、缺失等问题,这给标注带来了困难。 其次
    的头像 发表于 07-10 15:39 347次阅读

    自动驾驶中的点云标注:技术与应用

    自动驾驶技术中,点云标注是非常重要的一部分。点云标注是指将传感器获取的点云数据转换为具有丰富语义信息的三维标注数据,用于自动驾驶汽车的感知和决策。 在自动驾驶中,点云标注的主要任务包括
    的头像 发表于 07-10 15:33 1044次阅读

    点云标注技术推动该领域的发展

    随着计算机视觉技术的不断发展,点云标注技术已经逐渐成为一个热门的研究方向。点云标注技术在自动驾驶、无人机、虚拟现实等领域都有着广泛的应用。然而,点云标注技术仍然面临着一些挑战和难点。 首先,点云
    的头像 发表于 05-30 18:13 401次阅读

    点云标注简介及其应用

    点云标注是一种将三维空间中的点云数据标注出来的过程,即将点云数据中的每个点标记上对应的标签或者坐标值等信息。点云标注技术在自动驾驶、无人机、虚拟现实等领域得到了广泛的应用,是计算机视觉中非
    的头像 发表于 05-26 17:53 3056次阅读

    点云标注技术在智能制造中的应用

    点云标注技术是指通过激光扫描、图像采集等方式获取物体的表面点云数据,然后将点云数据进行处理、标注和建模,实现物体表面特征的提取和识别,为智能制造、自动驾驶等领域的实现提供基础数据支撑。 在智能制造
    的头像 发表于 05-23 18:31 458次阅读

    数据标注类相关文章:揭秘数据标注的奥秘

    数据标注类相关文章:揭秘数据标注的奥秘 随着人工智能技术的不断发展,数据标注已成为人工智能领域中必不可少的一环。数据标注是指将人工标注的数据
    的头像 发表于 05-16 17:35 520次阅读

    数据标注——数字世界的基石

    在现代社会中,数字技术已经渗透到了各行各业。而数据标注则是数字世界中不可或缺的一环,是保证数据质量和模型效果的必要步骤。下面我们来深入了解一下数据标注的重要性以及相关技术。 一、数据标注的重要性
    的头像 发表于 05-08 18:02 940次阅读

    SOLIDWORKS如何标注弧长

    大家在使用SolidWorks时,如果想对不同形状的弧长度进行标注,可以试试这个方法。
    的头像 发表于 04-24 11:30 1438次阅读
    SOLIDWORKS如何<b class='flag-5'>标注</b>弧长