深度学习DAY2:n-gram

什么是LM(language model语言模型)?

引例:

1、统计机器学习时期的语言模型–语音识别
在这里插入图片描述

2、贝叶斯公式求P(s|A)——在有了语音信号的前提下是文本的概率
在这里插入图片描述

1 n-gram模型概述

n-gram模型是一种统计语言模型,用于建模文本数据中的语言结构。它在机器学习和自然语言处理领域广泛应用。

1.1 n-gram模型的基本思想

马尔科夫假设:假设文本中的每个词(或字符)只依赖于前面的n-1个词(或字符),即条件概率P(w_n|w_1, w_2, …, w_{n-1}),其中w_1, w_2, …, w_n表示文本中的词(或字符)。n-gram模型中的n表示上下文的大小,通常是1、2、3等。

1.2 特点

某个词的出现依赖于其他若干个词;
我们获得的信息越多,预测越准确;

1.3缺点

  • 数据稀疏性:词同时出现的情况可能没有,组合阶数高时尤其明显。
    改进:smoothing平滑、backoff回退、引入神经网络语言模型
  • 上下文局限性: 无法共享具有相同语义的词汇/前缀中的信息
    改进:引入词嵌入,由字符表示转向向量表示
  • n较大时,模型很容易受到数据中未见的n-gram序列的影响。
    也就是说,n越大,需要计算、统计的参数越多,占用的内存空间越大。
    改进:马尔科夫假设,限制n大小

随着深度学习技术的发展,神经网络模型如循环神经网络(RNN)和Transformer等逐渐取代了传统的n-gram模型,在自然语言处理任务中取得了更好的性能。这些神经网络模型能够更好地捕捉长距离依赖关系和上下文信息,使它们在许多NLP任务中表现出色。然而,n-gram模型仍然可以用作某些特定任务的基线模型或快速原型开发工具。

1.4n-gram模型步骤

  • 数据预处理:将文本数据分割成词语(或字符)序列,并去除不需要的标点符号、停用词等。

  • 计算n-gram频率:对于给定的n值,统计文本中所有n-gram序列的出现频率,这些序列可以是单词级别的(如unigram、bigram、trigram)或字符级别的。

  • 计算条件概率:对于每个n-gram序列,计算其条件概率,即给定前面的n-1个词(或字符)后,下一个词(或字符)出现的概率。

  • 应用模型:使用计算得到的条件概率来进行文本生成、文本分类、语言模型评估等任务。

在n-gram模型中,较小的n值(如1或2)通常用于简单的任务,如文本分类,而较大的n值(如3或4)可以用于更复杂的自然语言处理任务,如语言建模。

2 发展阶段

2.0第0阶段

在这里插入图片描述
直观,符合直觉,但是效果很差
问题:
①句子不好确定
②很难保证句子能够完全一样地重复出现

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值