2019-10-13 11:36:02
数据和计算机科学家已经进行了很长时间的研究,以提高从自然语言中获取含义的能力–无论是他们试图创建一个机器人来响应用户在其网站上的问题还是确定人们在Twitter上喜欢或讨厌他们的品牌。
坏消息是,我们仍然需要理解大量概念来调整结果;好消息是,即使使用适度大小的数据集和计算预算,使用BERT和ERNIE之类的工具,也比以往任何时候都更容易获得从自然语言处理(NLP)获得好的结果!
NLP的简要历史
让我们从简要回顾该学科的历史开始。可以将NLP系统的开发分为三个主要阶段:
- 规则引擎 —早期,大多数NLP系统都是基于复杂的手写规则集。好消息是他们很容易理解,但是做得不好,可以解释,但不太准确
- 统计推论 —在80年代,研究人员开始使用"隐性马尔可夫模型"使用"部分词性标注"(标记名词,动词等)来返回单词的统计可能含义以及它们之间的关系
- 深度学习 -在过去的十年中,神经网络已成为解决大多数非平凡的NLP问题的最常用方法,可以提高特定类别的NLP任务的性能
在过去十年中,深度学习已改变了NLP的实践。无论您是尝试实现机器翻译、问题回答、简短文本分类还是情感分析,都有深度学习工具可用来帮助解决这些问题。但是,从历史上看,创建正确的网络然后对其进行训练的过程需要大量时间,专业知识,庞大的数据集和大量的计算能力。
ELMO
NLP 的整个革命源于2018年初的论文ELMo(Embeddings from Language Models)。ELMo是一种使用深度双向语言模型的,该模型在大型文本语料库上进行了预训练,以提高一系列NLP任务的性能。
这意味着什么?让我们分解一下。"深度"指的是它正在使用多层神经网络(例如在"深度学习"中)。双向的?嗯,历史上大多数语言模型都是单向的,因此对于英语,他们会从左到右读取单词。在双向模型中,所有单词都被同时摄取。如果进行了足够的训练,可以更准确地推断出上下文。预训练意味着已经在非常大的通用语言数据集上训练了模型。在图像识别和NLP中都显示了预训练,可以大大提高准确性和/或减少模型最终训练所需的时间和成本。
谷歌的BERT
在2018年11月,Google提出BERT,Bidirectional Encoder Representations from Transformers。这是用于上下文预训练的新技术。上下文意味着它考虑了给定单词周围的单词,因此与上下文无关模型不同,银行在"银行帐户"和"河岸"中的概念并不相同。
BERT利用了许多现有方法,包括ELMo和。BERT的核心优势在于,它可以屏蔽任何给定输入短语中的不同单词,然后估算可能能够"填充该位置"的各种单词的可能性。
除了打破许多处理基于语言的任务的记录外,BERT还大大降低了训练语言模型的成本和复杂性。正如他们在陈述,"在这个版本中,世界上任何人可以训练自己的国家的最先进的问答系统,在约30分钟的单云TPU,或只需几个小时即可使用一个GPU。
要实现诸如情感分析之类的分类任务,只需要在Transformer输出的顶部添加一个分类层即可。
对于必须将问题映射到较大文本正文中的问题回答任务,请为文本中任何给定问题的答案的起点和终点添加两个额外的向量。
对于命名实体识别(NER-识别特定实体,例如人,公司或产品),可以通过将每个令牌的输出向量输入到预测NER标签的分类层中来训练模型,因此它只是另一个分类器。最重要的是,即使数据集少,经验有限,使用BERT也可以在非常短的时间内创建最新的NLP模型。
XLNet
BERT的操作方式存在两个弱点。通过将其掩盖的单词视为独立词,它不会从训练数据中学到很多东西,并且由于未将掩码令牌传递到输出,因此降低了微调结果的有效性。
在2019年6月,Google Brain团队的成员发表了XLNet,通过使用一种称为"置换语言建模"的技术避免了BERT遭受的问题。在置换语言建模中,像传统语言模型一样,模型被训练为在给定上下文的情况下预测一个令牌,但不是顺序地预测令牌,而是以随机顺序预测它们。最重要的是,XLNet在许多关键的NLP任务上均胜过BERT,并提高了技术水平。
ERNIE
在计算效率,百度研究团队不甘示弱,于2019年推出ERNIE,随后于2019年7月推出ERNIE 2.0。ERNIE代表通过kNowledge IntEgration实现卷积增强表示,把BERT许多概念统在一起,但也匹配来自其他资源(如百科全书,新闻媒体和在线论坛)的语义元素信息。例如,知道哈尔滨是中国黑龙江省的省会,哈尔滨是冬季结冰和积雪的城市,那么与BERT这样的模型相比,它可以更好地执行许多NLP任务它对世界的了解以及正在接受培训的文本。尽管ERNIE方法的某些驱动程序旨在应对使用中文的独特挑战,但在许多中英文双语的NLP关键任务中,ERNIE 2的性能均优于BERT和XLNet。
下一步是什么?
NLP领域正处于快速变化的时期,但是在不到18个月的时间里,预训练的深度学习解决方案至少有四项重大突破,并且没有理由相信不会有更多的突破。