新闻  |   论坛  |   博客  |   在线研讨会
独家 | 语言模型初学者指南
数据派THU | 2023-03-19 11:00:14    阅读:246   发布文章

过去十年中,从文本数据中提取信息的技术发生了巨大变化,自然语言处理这一术语已经超跃文本挖掘,成为该领域的主导方法。与此同时,该方法也发生了翻天覆地的变化。引发变化的主要驱动因素是语言模型的出现,它旨在从原始文本中提取有价值的见解,成为了许多应用程序的基础。


语言模型的定义


语言模型使用机器学习预测单词的概率分布,基于前一个条目来预测句子中最有可能出现的下一个单词。语言模型从文本中学习,可用于生成原始文本、预测文本中的下一个单词、语音识别、光学字符识别和手写识别。


在自然语言处理的学习过程中,我对过去几年中语言模型的演变非常着迷,你或许已经听说过GPT-3及其它所构成的潜在威胁,但又是如何走到这一步的呢?机器又是如何制作出一篇模仿记者的文章的呢?


什么是语言模型?


语言模型预测单词或单词序列的概率分布。在项目实践中,它给出了某个单词序列是“有效的”的概率,此时的有效性并不是指语法上的有效性,相反,它是指类似于人类的写作方式,这便是语言模型所学习的东西。正如其他机器学习模型,特别是深度神经网络一样,语言模型并不是在变魔术,它只是一个以简洁的方式合并丰富信息的工具,可以重用样本外的语境。


语言模型能做什么?


对自然语言的抽象理解是从语境中推断单词概率的必要条件,可以用于多项任务。词性化或词干化的目的是将一个词简化为其最基本的形式,从而大幅度减少标记的数量。如果知道这个词的词性,算法会工作得更好,动词的后缀可以不同于名词的后缀,因此,词性标记(或pos标记)是语言模型的基本原理,同时也是语言模型的一项常见任务。


有了良好的语言模型,便可以对文本进行提取或抽象摘要。有了不同语言的模型,可以非常容易地建立一个机器翻译系统。用例包括回答问题(带或不带语境,请参见文末的示例)。语言模型还可用于语音识别、OCR、手写识别等领域,有很各种各样的应用。


语言模型的种类


有两种类型的语言模型:


1. 概率统计方法。

2. 基于神经网络的现代语言模型


注意区分二者之间的不同非常重要。


概率统计语言模型


通过计算单词的n-gram概率,建立起一个简单的概率语言模型。n-gram是由n个单词组成的序列,n为大于0的整数。n-gram概率是n-gram单词跟随一个特定的n-1 gram单词(省去最后一个单词)的条件概率,即在n-1gram之后,省略掉最后一个单词的比例。这个概念是一个马尔可夫假设。给定n-1 gram(现在),n-gram概率(未来)不依赖于n-2、n-3(过去)单词的概率。


这种方法也有一些明显的缺点:前面的n个单词会影响下一个单词的概率分布。复杂的文本有深刻的语境,可能对下一个词的选择产生决定性的影响。因此,即使n等于20或50,从前面的n个单词中推导出下一个单词的并非轻而易举。一个术语对之前的用词会产生影响:如果出现了United这个单词,那么States of America紧随其后的概率便有可能大得多,称之为语境问题。


最为重要的是,很明显,这种方法并不适合大规模学习。随着(n)的增加,单词排列的数量飙升,即便文本中从未发生大多数的单词排列,并且所有发生的概率(或全部n-gram计数)都必须计算和存储。此外,未出现的n-gram计数会产生稀疏性问题,概率分布的粒度会相当低。单词概率鲜有不同的值,绝大多数单词具有相同的概率。


基于神经网络的语言模型


基于神经网络的语言模型通过编码输入的方式,解决了稀疏性问题。Word嵌入层为每个单词创建一个任意大小的向量,向量中同时包含了语义关系,连续的向量在下一个单词的概率分布中创建了所需的粒度。此外,语言模型同时也是一个函数,所有的神经网络都有大量的矩阵计算,所以无需存储所有的n-gram计数来生成下一个单词的概率分布。


语言模型的演进


尽管神经网络解决了稀疏性问题,但语境问题仍然存在。首先,语言模型更有效地解决了语境问题——引入越来越多的语境词来影响概率分布。其次,目标是创建一个架构,使模型能够学习哪些语境词更为重要。


前文概述的第一个模型,是一个密集的(或隐含的)层和一个输出层,堆叠在一个连续的单词包(CBOW)Word2Vec模型之上。CBOW Word2Vec模型被训练成从上下文中猜测单词;Skip-Gram Word2Vec模型则相反,从单词中猜测上下文。在项目实践中,需要通过多个结构化的示例训练 CBOW Word2Vec模型:输入是在单词之前和/或之后的n个单词,从中可以看到,语境问题依然没有得到解决。


递归神经网络(RNN)


递归神经网络(RNNs)是对这一问题的一个改进,RNN既可以是一个长短期记忆(LSTM),也可以是一个基于门控循环单元(GRU)单元的网络,它们在选择下一个单词的同时考虑了所有先前的单词。AllenNLP的ELMo进一步提出了这个概念,利用一个双向的LSTM,将单词计数前后的语境考虑进来。


TRANSFORMERS


基于RNN架构的主要缺点在于它们的序列性质,因为没有并行化,长序列的训练时间会飙升。解决这个问题的方法是采用Transformer架构。


OpenAI的GPT和谷歌的BERT模型均采用了Transformer架构,与此同时,这些模型还采用了一种称为“注意力”的机制,通过这种机制,模型可以学习在某些情况下哪些输入比其他输入更值得关注。


在模型架构方面,有数量级飞跃的首先是RNN,尤其是LSTM和GRU,很好地解决了稀疏性问题,减少语言模型对磁盘空间的占用,其次是Transformer架构,使并行化成为可能,并创建了注意力机制。但是,架构并不是语言模型之所以优越的唯一考量。


与GPT-1架构相比,除了规模上变大了之外,GPT-3实际上没有什么新颖之处。GPT-3有1750亿个参数,并且是在普通训练集的大语料库上训练的。语言模型的半监督训练策略,使得这在一定程度上成为可能,将省略一些单词的文本作为训练示例。GPT-3令人难以置信的力量在于,它或多或少阅读了过去几年出现在互联网上的所有文本,而且能够准确反映自然语言所包含的绝大多数复杂性。


多用途训练


最后,我想回顾一下谷歌的T5模型。以前,语言模型被用于标准的自然语言处理任务,如词性(POS)标注或经过轻微修改的机器翻译。只要经过重新训练,BERT就可以成为一个pos标记器,因为它具有理解自然语言底层结构的抽象能力。


对于T5,无需对NLP任务进行任何修改,如果它获取到一个带标记的文本,它就知道用哪些标记来填充适当单词的空白;它也可以回答问题,如果它在问题之后收到了一些语境信息,它会从中搜索出答案。否则,它会根据自己的知识得出答案。有趣的是:它在问答小测试中击败了自己的创造者。


语言模型的未来


我个人认为,这是离创造人工智能最近的领域。关于人工智能有很多非议,从市场营销的角度来看,许多简单的决策系统和神经网络均可称之为人工智能。根据定义,人工智能涉及到由机器执行的类人智能能力。迁移学习在计算机视觉领域很突出,迁移学习的概念对人工智能系统至关重要,同一模型可以完成广泛的自然语言处理任务,并可以从输入中推断出该做什么,它让我们离真正创造类人智能系统又近了一步。


原文标题:A Beginner’s Guide to Language Models

原文链接:https://builtin.com/data-science/beginners-guide-language-models


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客