ITPub博客

首页 > 人工智能 > 自然语言 > NLP数据就像开飞机,你永远不知道会遇见什么情况

NLP数据就像开飞机,你永远不知道会遇见什么情况

自然语言 作者:AIBigbull2050 时间:2019-08-26 09:01:21 0 删除 编辑
全文共 2006字,预计学习时长 4分钟


NLP数据就像开飞机,你永远不知道会遇见什么情况

最好在错误发生之前预测并修复错误


标注NLP数据就像开飞机,看起来容易,但你永远不知道会遇到什么情况,往往会出现一些莫名其妙的错误。找到出错的地方,然后检测并修复错误才是良好的第一步。


本文将分享NLP实体标注中出现的四个常见问题,讨论它们的根本原因和可能的解决方案。


NLP数据就像开飞机,你永远不知道会遇见什么情况

空白

NLP数据就像开飞机,你永远不知道会遇见什么情况

空白部分很难看到,可能会引起混淆


标记者不一致的最常见原因可能是尾随空格和前导空格以及标点符号的标注不一致。也就是说,某个标记者可能会标注“Tal Perry”,另一个则会标注“Tal Perry“或“Tal Perry”或“Tal Perry“。这个问题也出现在尾随标点中,比如“Tal Perry.”。


当衡量标注者的一致性或决定一个好的注释来源时,这些冲突会导致一致性分数较低,并在好的标注集中出现模糊性。这些错误尤其令人沮丧,因为注释在概念上是正确的,人类不会真正注意到或关心差异。


事实上,这种微妙的差异是导致这些错误的根本原因。通常,标注者不关心算法如何计算一致性,不会注意到或关心“Tal Perry”和 “Tal Perry “之间的差异,除非被明确要求这样做。


在这方面解决方案很简单,当注释工具读取了尾随空格和前导空格时,应直观地指示标注者,并让他们根据设置的指南来决定这是否正确。


NLP数据就像开飞机,你永远不知道会遇见什么情况

嵌套注释


NLP数据就像开飞机,你永远不知道会遇见什么情况

对于生命这样复杂的事情,鸟巢是很好的栖身之所。但对于NLP来说,也许你需要的是其它的东西。


另一个常见的不一致来源是 "嵌套注释"。例如" The President Of the United States Donald Trump " 一语可用许多不同的方式标注。


NLP数据就像开飞机,你永远不知道会遇见什么情况

缺乏经验的注释方法会将所有信息都当成“person”


NLP数据就像开飞机,你永远不知道会遇见什么情况

更讲究的标注方法是将其拆分成“title”和“person”



NLP数据就像开飞机,你永远不知道会遇见什么情况

最为讲究的注释是将信息拆分为“title”、“country”和“person”


造成这种错误的原因涉及到基本原则,语言本质上是分层的,而不是线性的,因此线性注释 (如突出显示的部分) 并不总是完全适合的。


NLP数据就像开飞机,你永远不知道会遇见什么情况

在Brat上标注嵌套实体


NLP数据就像开飞机,你永远不知道会遇见什么情况

在LightTag上标注树关系


从用户体验的角度来看,一个简单的解决方案是在 Brat 或注释树结构中,让标注者创建嵌套注释。虽然这些解决方案从用户体验的角度来看是可行的,但它们需要下游模型,这些模型可以在模型的输入和输出中处理这些复杂的非线性结构。


我们还未从客户群中看到在语言社区之外大规模采用结构化注释。这主要是由于需要额外模型和复杂的工程才能与他们合作。我们常看到的是注释项目,这些项目指导团队以尽可能最好的解决方案进行标注,并在稍后阶段用后处理来读取固有的结构。


NLP数据就像开飞机,你永远不知道会遇见什么情况

注释工具应显示标注者之间的不一致标注, 让你能解决这些不一致


NLP数据就像开飞机,你永远不知道会遇见什么情况

在中途添加新实体类型


NLP数据就像开飞机,你永远不知道会遇见什么情况

在一起添加新事物时,一定要采取额外的预防措施


在注释项目的早期阶段,通常会发现需要未预期的实体类型。例如,比萨饼聊天机器人的标签集可能从标签 " Size " "topping" 和"drink" 开始,然后才会意识到你还需要一个 " Side Dish " 标签来读取大蒜面包和鸡翼。


简单地添加这些标签并继续处理尚未标注的文档会对项目造成危险。在添加新标记之前,所有标注过的文档中都将丢失新标记,这意味着对于这些标记来说,测试集是错误的,并且培训数据将不包含新标记,导致模型无法读取它们。


NLP数据就像开飞机,你永远不知道会遇见什么情况


讲究的解决方案是重新开始,并确保读取所有标签。但是, 这非常浪费资源,每次需要新标记时重新开始都是对资源的不太理想的使用。折中的做法是重新开始,但使用现有的注释作为 "预注释"显示给标注者。例如,LightTag 的文本标注工具可以完全做到这一点,显示标注者的预注释,他们可以通过单击按钮来接受这些标注。之后他们可以专注于添加新的标签。


NLP数据就像开飞机,你永远不知道会遇见什么情况

长标签列表


NLP数据就像开飞机,你永远不知道会遇见什么情况

过多的选择可能是危险的


增加项目成本和降低数据质量的一个可靠方法是强制标注者处理很长的标签列表。ImageNet 有 20000个不同的类别, 如草莓、热气球和狗。在文本中,SeeDev 2020 共享任务定义了此处显示的 "仅" 16 种实体类型,但可看到它们如何迅速变得势不可挡。


NLP数据就像开飞机,你永远不知道会遇见什么情况

SeeDev 2019年共享任务的标签集合


在标注过程中,增加标注者需要作出的选择的数量会降低它们的标注速度,并导致数据质量低下。值得注意的是,注释的分布将受到用户体验注释中标记排序方式的影响。这是由于可用性偏差造成的,在这种情况下,我们更容易识别最重要的概念 (在我们的头脑中可用)。


Imagenet中有 20000个类别属于这个问题的极端例子,关于注释是如何收集的论文值得一读。他们的方法包括将注释任务分解为更小的任务,其中针对每个子任务,每个标注者将对某个类的一个实例进行注释 (而其他工作人员将有单独的验证任务)。这大大降低了标注者的认知负载,帮助他们减少错误,更高效地工作。


NLP数据就像开飞机,你永远不知道会遇见什么情况

结论


数据标注需要快速、大规模、高精度地进行且不影响其它数据的标记。创建高质量注释管道的第一步是预测常见问题并为其提供解决办法。


这篇文章展示了文本标注项目中出现的四个最常见的错误, 以及如何用像LightTag这样的文本注释工具来帮助解决这些错误。

https://www.toutiao.com/a6704456599127196163/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946223/viewspace-2654903/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
SAP虾客(~Suzhou Boy~)

注册时间:2019-08-22

  • 博文量
    1788
  • 访问量
    1220731