如今,自然语言处理应用已经变得无处不在。自然语言处理应用能够快速增长,很大程度上要归功于通过预训练模型实现迁移学习的概念。在本文中,我将介绍一些顶级的预训练模型,你可以用它们来开始你的自然语言处理之旅,并复制该领域的最新研究成果。
如今,自然语言处理(Natural Language Processing,NLP)应用已经变得无处不在。我似乎总是不经意间发现一些网站和应用程序,以这样的或那样的形式利用了自然语言处理技术。简而言之,现在就是涉足自然语言处理领域的绝佳时机。
自然语言处理应用能够快速增长,很大程度上要归功于通过预训练模型实现迁移学习的概念。在自然语言处理的背景下,迁移学习本质上是在一个数据集上训练模型,然后对该模型进行调整,以在不同的数据集上执行不同的自然语言处理功能。
这一突破,使得每个人都能够轻松地完成任务,尤其是那些没有时间、也没有资源从头开始构建自然语言处理模型的人们。对于想要学习或过渡到自然语言处理的初学者来讲,它也堪称完美。
为什么要使用预训练模型?
作者已尽其所能设计了基准模型。我们可以在自己的自然语言处理数据集上使用预训练模型,而不是从头构建模型来解决类似的自然语言处理问题。
尽管仍然需要进行一些微调,但它已经为我们节省了大量的时间和计算资源。
在本文中,我将介绍一些顶级的预训练模型,你可以用它们来开始你的自然语言处理之旅,并复制该领域的最新研究成果。
如果你是自然语言处理的初学者,我建议你参加我们的热门课程:《NLP using Python》(《使用 Python 进行自然语言处理》):
https://courses.analyticsvidhya.com/courses/natural-language-processing-nlp?utm_source=blog&utm_medium=top-pretrained-models-nlp-article
本文介绍的预训练自然语言处理模型根据应用,将预处理模型分为三类:
多用途自然语言处理模型
ULMFiT
Transformer
Google BERT
Transformer-XL
OpenAI GPT-2
词嵌入
ELMo
Flair
其他预训练模型
StanfordNLP
多用途自然语言处理模型
多用途模型是自然语言处理领域的热门话题。这些模型为机器翻译、问答系统、聊天机器人、情绪分析等我们感兴趣的自然语言处理应用提供了动力。这些多用途自然语言处理模型的核心组件是语言建模的概念。
简单来说,语言模型的目的是预测序列中的下一个单词或字符。我们在这里看到每种模型时,都会理解这一点。
如果你是自然语言处理的爱好者,那么你将会喜欢这一节。现在,让我们深入研究这 5 个最先进的多用途自然语言处理模型框架吧。对于每个模型,我都提供了研究论文和预训练模型的链接。让我们继续探索吧!
ULMFiT
GitHub 项目地址:
https://github.com/fastai/fastai/tree/master/courses/dl2/imdb_scripts
ULMFiT 由 fast.ai 的 Jeremy Howard 和 DeepMind 的 Sebastian Ruder 提出并设计。你可以说 ULMFiT 是去年启动迁移学习派对的发行版。
正如我们在本文中所述,ULMFiT 使用新的自然语言生成技术实现了最先进的结果。该方法包括在 Wikitext 103 数据集上训练的预处理语言模型进行微调,使其不会忘记以前所学的内容,从而将其微调为一个新的数据集。
在文本分类任务方面,ULMFiT 的性能优于许多最先进的技术。我喜欢 ULMFiT 的原因是,它只需要很少的例子就可以产生这些令人印象深刻的结果。让像你我这样的人更容易理解,并在我们的机器上实现它!
如果你好奇 ULMFiT 为什么叫这个名,我会告诉你,ULMFiT 其实就是 Universal Language Model Fine-Tuning(通用语言模型微调)的缩写。“Universal”(通用)这词用在这里非常贴切,因为这个框架几乎可以应用于任何自然语言处理任务。
有关 ULMFiT 的更多信息,请参阅以下资源:
《Tutorial on Text Classification (NLP) using ULMFiT and fastai Library in Python》(《在 Python 中使用 ULMFiT 和 fastai 库的文本分类(自然语言处理)教