简化的数据科学:什么是NLP语言建模?

作者 : IT 大叔 本文共3056个字,预计阅读时间需要8分钟 发布时间: 2020-10-16

自然语言处理可以执行各种各样的任务,例如文本摘要,生成全新的文本片段以及单词预测等。所有这些任务都由语言模型提供支持

语言模型是任何NLP旅程中的重要组成部分。这些语言模型支持所有流行的NLP应用程序语音识别,机器翻译,词性标记,解析和信息检索以及其他应用程序。

今天,我们将介绍语言模型,从基本模型开始,然后过渡到使用大数据原理进行培训的最新语言模型。

在继续此处之前,建议您阅读我的上一篇文章以全面了解NLP:什么是自然语言处理?该领域的最新进展

今天,我们将介绍:

  • 什么是语言建模?
  • 语言模型的类型
  • 统计语言模型简介
  • 神经语言模型简介

 

什么是语言建模?

语言建模(LM)将正文分析为文本,从而为单词预测提供基础。这些模型使用统计和概率技术来确定特定单词序列在句子中出现的概率

在NLP技术中使用语言建模,该技术会生成书面文本作为输出。

具有NLP概念的应用程序和程序依赖于语言模型来完成诸如音频到文本的转换,情感分析,语音识别和拼写校正之类的任务。

语言模型通过确定已分析的文本数据块中的单词概率来工作。数据被馈送到机器学习算法后进行解释,该算法以给定的自然语言(即英语,日语,西班牙语)查找上下文规则

然后,模型将这些规则应用于输入语言任务以生成预测。它甚至可以根据所学知识产生新的序列或句子

语言模型对于文本分类生成都是有用的。在文本分类中,我们可以使用语言模型的概率计算将文本分为不同的类别。

例如,如果我们训练了关于垃圾邮件主题标题的语言模型,则该模型可能会给主题“点击此处免费获取金钱”成为垃圾邮件的可能性较高。

在文本生成中,语言模型通过基于不完整的输入句子生成文本来完成句子。这是在手机上发短信或输入搜索引擎时自动完成功能背后的想法。该模型将根据其预测的具有最高概率的单词给出建议以完成句子。

 

语言模型的类型

语言模型分为两类:

统计语言模型:这些模型使用传统的统计技术,例如N-gram,隐马尔可夫模型(HMM)和建立的语言规则来学习单词的概率分布。统计语言建模涉及概率模型的开发,这些概率模型可以在给定前一个单词的情况下预测序列中的下一个单词。

神经语言模型:这些模型是NLP世界中的新角色,其有效性已超过统计语言模型。他们使用不同种类的神经网络对语言进行建模。在语言模型开发中使用神经网络已变得非常流行,以至于它现在成为处理诸如语音识别和机器翻译之类挑战性任务的首选方法。

注意: GPT-3是神经语言模型的示例。Google的BERT是另一种流行的神经语言模型,用于搜索引擎的算法中,用于我们的搜索查询的下一个单词预测。

 

统计语言模型简介

让我们更深入地研究统计语言模型的概念。语言模型基于文本示例来学习单词出现的概率。较简单的模型可以查看短单词序列的上下文,而较大的模型可以在句子或段落级别上工作。最常见的是,语言模型在单词级别上运行。

N-gram语言模型

n元语法模型是一种概率语言模型,可以使用(n −1)阶马尔可夫模型预测序列中的下一项。让我们通过一个例子更好地理解它。考虑以下句子:

“我喜欢阅读有关教育的博客以学习新概念”


1克(或unigram)是一个单词序列。对于上面的句子,会标字母将简单地是:“我”,“爱”,“阅读”,“博客”,“上”,“教育性”,“和”,“学习”,“新”,“概念” 。

2克(或双字母组)是两个单词的单词序列,例如“我爱”,“爱读书”,“关于教育”或“新概念”。

最后,3克(或三字母)是一个由三个单词组成的单词序列,例如“我喜欢阅读”,“博客教育”或“学习新概念”。

N-gram语言模型预测该语言中任何单词序列中给定N-gram的概率。如果我们有一个好的N-gram模型,我们可以预测p(w | h),或者在给定先前单词h的历史的情况下看到单词w的概率,其中历史包含n-1个单词。

示例: “我喜欢阅读___”。在这里,我们要根据先前单词的概率来预测哪个单词将填充破折号。

我们必须估计这种可能性以构建N元语法模型。我们分两步计算该概率:

  1. 应用概率链规则
  2. 然后,我们应用非常强大的简化假设,以使我们能够轻松地计算p(w1 ... ws)。

概率的链式规则是:

p(w1 ... ws)= p(w1)p(w2 | w1)。p(w3 | w1 w2)。p(w4 | w1 w2 w3)..... p(wn | w1 ... wn-1)

定义:什么是连锁规则?它告诉我们如何使用给定先前单词的单词的条件概率来计算序列的联合概率。

在这里,我们无法访问具有最多n-1个单词的复杂条件的这些条件概率。那么,我们该如何进行呢?这是我们引入简化假设的地方。我们可以在所有条件下假设:

p(wk | w1 ... wk-1)= p(wk | wk-1)

在这里,我们仅通过查看上下文的最后一个单词来近似单词wk的历史(上下文)。该假设称为马尔可夫假设。这是Bigram模型的示例。可以进一步增强相同的概念,例如对于三字母组合模型,公式将为:

p(wk | w1 ... wk-1)= p(wk | wk-2 wk-1)

这些模型有一个基本问题:如果看到未知单词,它们会将出现概率为零,因此使用了平滑的概念。在平滑中,我们给看不见的单词分配一些概率。有多种类型的平滑技术,例如拉普拉斯平滑,Good Turing和Kneser-ney平滑。

 

神经语言模型简介

神经语言模型比概率模型具有一些优势。例如,它们不需要平滑处理,可以处理更长的历史记录,并且可以对相似单词的上下文进行概括。

对于给定大小的训练集,神经语言模型的预测准确性比n-gram语言模型得多。

另一方面,要提高性能会付出代价:神经网络语言模型的训练速度比传统语言模型得多,因此对于许多任务而言,N-gram语言模型仍然是正确的工具。

在神经语言模型中,先验上下文由先前单词的嵌入表示。这使得神经语言模型比N-gram语言模型更好地概括了看不见的数据。

简化的数据科学:什么是NLP语言建模?插图

来自语义学者

词嵌入是一种词表示形式,它允许具有相似含义的词具有类似的表示形式。词嵌入实际上是一类技术,其中单个词在预定义的向量空间中表示为实值向量。

每个单词都映射到一个向量,并且向量值的学习方式类似于神经网络。每个单词都由一个实值向量表示,通常为数十或数百个维度。

注意:某些单词嵌入技术是Word2Vec和GloVe。

神经语言模型首先基于RNN和单词嵌入。然后出现了LSTM,GRU和Encoder-Decoder的概念。最近的进步是发现了《变形金刚》,它彻底改变了语言建模领域。

一些最著名的语言模型,例如BERT,ERNIE,GPT-2和GPT-3,RoBERTa,都是基于Transformers的。

然后将RNN堆叠并双向使用,但它们无法捕获长期依赖关系。引入LSTM和GRU来解决此缺点。

转换器构成了新的神经语言模型的基本构建块。引入了转移学习的概念,这是一个重大突破。使用大型数据集对模型进行了预训练。

例如,BERT接受了整个英语维基百科的培训。无监督学习用于模型的训练。GPT-2在800万个网页上进行了培训。然后对这些模型进行微调以执行不同的NLP任务。

免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » 简化的数据科学:什么是NLP语言建模?

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论