文本标注十要点 | NLP基础

本文探讨了自然语言处理中的语料标注重要性,强调了语料标注的一致性、代表性、平衡性及减少人工参与度等要点,并提到了标注工具的选择和审核流程,指出标注在NLP实验与应用间的差距。

NLP基础系列

    1. 浅论语言与认知的关系

    2. 为什么要处理自然语言

    3. 计算机是如何理解自然语言的



文本标注十要点

实验 vs 应用

自然语言处理(NLP)是机器学习领域非常有挑战的一个分支。

虽然,到目前为止NLP相关的应用仍然不多(或者不成熟)。但是,当我们学习自然语言处理课程或者做实验的时候却常常能得到不错的结果。

那么“实验”和应用之间的差距在哪里呢?

回想一下,当我们学习NLP的时候一定会学到各种算法,然后应用这些算法在标准语料上解决一些问题(如分类,标注等),使用适当的算法在标准数据集经过简单调优就能得到不错的效果。

当我们为自己的模型开心时却很少关注所用的标准数据集。

标注的重要性

事实上,一个标注良好的数据集对模型的准确度非常重要,而在实际应用中,我们时常会发现语料往往存在这样或者那样的问题。

一旦语料存在问题,那么任何算法都不可能取得好的结果,因为“老师教的本身就有问题”。

所以对于NLP工程来说,良好的语料标注是项目成功的基础。下面就总结出了一些语料标注的方法(部分内容来自于Natural Language Annotation for machine learning这本书)。

语料标注的注意事项

在标注语料的过程中,有许多需要注意的地方,下面列举一些常见点,供大家参考:

1. 了解语言学

语言学十分复杂,主要包括以下几个分支:句法学,语义学,形态学(词根,前缀后缀等),音系学,语音学,词汇,话语分析,语用学,篇章结构分析。

了解这些分支有助于指定标注方式。

2. 明确语料用途

目前NLP可以处理的任务主要包含以下几个大类:问答系统,文档摘要,机器翻译,语音识别,文档分类等。

明确使用语料的算法有助于建立语料标注的标准和模型。

3. 迭代式标注

对于自然语言处理任务,主要包含下面几个步骤:建模(标注体系),标注,训练,测试,评价,修改。语料标注涵盖其中建模和标注两部。

语料标注过程常常需要在建模和标注之间进行迭代(很难一次性建立完美的标注模型)。

4. 保持标注的一致性

标注数据的一致性非常重要,应该建立标注标准,标注方式需要细化,否则很难再不同标注人员间统一。

下面是一个对机构进行标注的例子, 三种标注方式都比较合理,但却存在很大不同:

  • 东英格兰[QBC制造]公司

  • 东英格兰[QBC制造公司]

  • [东英格兰QBC制造公司]

标注不一致也是语料标注最主要的问题,严重影响语料质量,该问题在标注大型语料库时尤为明显,需要谨慎应对。

当有多人对相同数据进行标注时,可以考虑采取交叉标注的方式。另外,多人标注后需要通过检查标注一致性来判断标注的质量。

标注一致性的计算方式包括:IAA,cohen Kappa,或者Fleiss Kappa。

5. 尽量降低人工参与度

标注前应明确定义标注目标(用途,标注产出,语料来源和标注方式)。

单个标注任务应该足够小(大的标注任务可以分解成多个子任务),这样能降低标注的难度从而提高标注正确率。

在标注过程中,应尽可能使用自动化方式减少标注人工作量。

6. 选取具有代表性和平衡性的语料

语料库选取应注意代表性和平衡性。代表性指语料库能大体代表其背后的数据。

例如,要分析中文新闻,语料库就需要尽可能的覆盖多个新闻源和新闻类别,而不是只用单一新闻源构建语料库。

而平衡性则要求语料库中的类别组成应该与真实数据一致。

7. 建立文本标注模型

对于大型标注任务来说,有必要建立文本标注的模型,模型可以使用DTD语言建立,也可以使用现有的一些标准模型。

不过个人认为对于小型任务,过于复杂的标准化模型反而增加了标注的复杂度。

8. 预先制定标签规范

正式开始标注前需要建立标注的规范,如单标签标注、多标签标注;内嵌式标注、分离式标注。

对于大型项目,应编写标注说明手册以降低标注人之间的差异

9. 选择合适的工具

标注工具的选择,市面上有多种标注工具可供选择,例如MAE, Callisto,Brandeis Annotation Tool,Prodigy(收费)等。

如果没有使用过任何工具,那么MAE可能是一个不错的开始。

10. 审核必不可少

标注完成后应该有一个审核的过程,审核过程最好由参与制定标注标准的人来执行。

需要注意的是审核过程会十分的耗时(甚至有可能花费多于标注过程的时间),需要合理安排资源。

标注是一个复杂工程

总得来说标注是一个比大多数人想象中更复杂的工程,在实际实施中总汇遇到各种各样的问题。

如果没有足够的经验,可以先对少量数据进行试错再大规模执行,以避免走太多弯路。而与此同时标注又是机器学习中十分重要的一环,其对结果的影响不亚于模型构建和调优,应该给予更多的重视。

小白深度学习入门系列

    1. 直观理解深度学习基本概念

    2. 白话详解ROC和AUC

    3. 什么是交叉熵

    4. 神经网络的构成、训练和算法

    5. 深度学习的兴起:从NN到DNN 

    6. 异军突起的激活函数:ReLU

    7. CNN,RNN,LSTM都是什么?

    8. 什么是Transformer

    9. 什么是生成对抗网络(GAN)

    10. 什么是胶囊网络

“众智汇”愿景

尽职尽才,允公允能 —— 本社群不定期举行线上分享,组织群友分享知识、经验、资源,以达到让我们每个人的职业生涯得到最大程度的发展的目的

欢迎扫面下列二维码关注“悦思悦读”公众微信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶锦鲤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值