语言模型+词向量

article/2025/9/21 17:16:50

文章目录

  • 统计语言模型
  • 神经语言模型
  • 词向量(浅层)

统计语言模型

语言模型基本概念

弗莱德里克·贾里尼克提出用数学的方法描述语言规律(语言模型

语言模型基本思想:

  • 用句子 S = w 1 , w 2 , . . . , w n S=w_{1},w_{2},...,w_{n} S=w1,w2,...,wn的概率P(S)刻画句子的合理性(统计自然语言处理的基础模型

p ( S ) = p ( w 1 ) p ( w 2 ∣ w 1 ) . . . p ( w n ∣ w 1 , . . . , w n − 1 ) = ∏ i = 1 n p ( w i ∣ w 1 . . . w i − 1 ) p(S)=p(w_{1})p(w_{2}|w_{1})...p(w_{n}|w_{1},...,w_{n-1})=\prod_{i=1}^{n}p(w_{i}|w_{1}...w_{i-1}) p(S)=p(w1)p(w2w1)...p(wnw1,...,wn1)=i=1np(wiw1...wi1)

当 i=1 时, p ( w 1 ∣ w 0 ) = p ( w 1 ) p(w1 |w0 ) = p(w1 ) p(w1∣w0)=p(w1)

语言模型:

  • 输入:句子S
  • 输出:句子概率p(S)
  • 参数: p ( w i ∣ w 1 . . . w i − 1 ) p(w_{i}|w_{1}...w_{i-1}) p(wiw1...wi1)
  • 函数关系: p ( S ) = ∏ i = 1 n p ( w i ∣ w 1 . . . w i − 1 ) p(S)=\prod_{i=1}^{n}p(w_{i}|w_{1}...w_{i-1}) p(S)=i=1np(wiw1...wi1)

注:

  • w i w_{i} wi可以是字、词、短语或词类等,统称为基元

存在问题:模型参数过多
解决办法:减少历史基元个数,马尔可夫方法:假设任意一个词出现的概率只与它前面的一个词有关

  • p ( S ) = p ( w 1 ) p ( w 2 ∣ w 1 ) . . . p ( w i ∣ w i − 1 ) p(S)=p(w_{1})p(w_{2}|w_{1})...p(w_{i}|w_{i-1}) p(S)=p(w1)p(w2w1)...p(wiwi1)(二元模型)

语言模型参数估计

任务:获得语言模型中所有词的条件概率(语言模型参数)

参数估计:
1、训练语料
2、参数学习方法:采用极大似然估计方法

参数的数据平滑

基本思想:调整最大似然估计的概率值,使零概率增值,非零概率下调,消除零概率,改进模型的整体正确率。


方法:
1、加1法
2、减值法/折扣法
3、删除减值法:低阶代替高阶


基本目标:测试样本的语言模型困惑度越小越好


基本约束: ∑ w i p ( w i ∣ w 1 , w 2 , . . . , w i − 1 ) = 1 \sum_{w_{i}}p(w_{i}|w_{1},w_{2},...,w_{i-1})=1 wip(wiw1,w2,...,wi1)=1

语言模型性能评价

1、实用方法:
查看模型在实际应用中的表现来评价
2、理论方法
困惑度,低困惑度的语言模型较好


困惑度定义:
在这里插入图片描述

语言模型应用

决定哪一个词序列的可能性更大
预测下一个词

语言模型的变种

前向-后向语言模型

  • 跟前一个词有关或者跟后一个词有关

K-Skipping

  • 一个词出现的概率只与它前(后)面的距离为K的n-1个词相关。核心思想是刻画远距离约束关系

Class-based

  • 基于词类建立语言模型,缓解数据稀疏问题

指数语言模型
Topic-based
Cache-based

神经语言模型

神经语言模型概述

用神经网络学习参数

  • 使用DNN学习模型参数:NNLM模型
  • 使用RNN学习模型参数:RNNLM模型

DNN语言模型NNLM

目标:使用DNN学习语言模型p(S)和模型参数
NNLM/2-gram:

  • 2元文法模型: p ( w 1 , . . . , w m ) = ∏ i = 1 m p ( w i ∣ w i − 1 ) p(w_{1},...,w_{m})=\prod_{i=1}^{m}p(w_{i}|w_{i-1}) p(w1,...,wm)=i=1mp(wiwi1)
  • 参数: p ( w i ∣ w i − 1 ) p(w_{i}|w_{i-1}) p(wiwi1)
  • 任务:用DNN学习参数
  • 模型设计:
  • 神经网络:DNN
  • 输入: w i − 1 w_{i-1} wi1
  • 输出: p ( w i ) p(w_{i}) p(wi)
    在这里插入图片描述
    语料:(“无监督”)
    文本:S=w1,w2,…,wn,…
    实例: X : w i − 1 , Y ^ : w i X:w_{i-1},\hat{Y}:w_{i} X:wi1,Y^:wi

目标函数:

  • 采用log损失函数: L ( Y , P ( Y ∣ X ) ) = − l o g P ( Y ∣ X ) L(Y,P(Y|X))=-logP(Y|X) L(Y,P(YX))=logP(YX)
  • 最大化: ∑ w i − 1 , i ϵ D l o g P ( w i ∣ w i − 1 ) \sum_{w_{i-1},i\epsilon D}logP(w_{i}|w_{i-1}) wi1,iϵDlogP(wiwi1)

参数训练:随机梯度下降法优化训练目标

RNN语言模型RNNLM

目标:用神经网络RNN学习语言模型 p ( S ) = ∏ i = 1 n p ( w i ∣ w 1 . . . w i − 1 ) p(S)=\prod_{i=1}^{n}p(w_{i}|w_{1}...w_{i-1}) p(S)=i=1np(wiw1...wi1)
模型参数: p ( w i ∣ w i − ( n − 1 ) . . . w i − 1 ) p(w_{i}|w_{i-(n-1)}...w_{i-1}) p(wiwi(n1)...wi1)
在这里插入图片描述
随着模型逐个读入语料中的词w1,w2…,隐藏层不断地更新h(1),h(2),…,通过这种迭代推进方式,每个隐藏层实际上包含了此前所有上文的信息,相比NNLM只能采用上文n元短语作为近似,RNNLM包含了更丰富的上文信息,有潜力达到更好的效果

RNN语言模型变形

正向语言模型
反向语言模型
双向语言模型
单向多层RNN语言模型
双向多层RNN语言模型

词向量(浅层)

词向量概述

词的表示
在这里插入图片描述
符号表示


离散表示
1、one-hot表示

  • 优势:稀疏方式存储非常的简洁
  • 不足:词汇鸿沟,维数灾难

2、词袋模型

  • 每个数表示该词在文档中出现的次数(one-hot的加和)

3、TF_IDF

  • 每个数代表该词在整个文档中的占比

词的分布式表示

  • 核心思想:用一个词附近的其他词来表示该词
  • 分布式假设:在相同上下文中出现的词倾向于具有相同的含义
  • 分布式语义学:根据词语在大型文本语料中的分布特性量化词语及词语语义相似性

经典分布表示模型
在这里插入图片描述
在这里插入图片描述

经典词向量(浅层)表示模型

  • NNLM模型词向量

输入:
在这里插入图片描述
稠密向量表示Look-up表是|D|×|V|维实数投影矩阵,|V|表示词表的大小,|D|表示词向量e的维度(一般50维以上);各词的词向量存于表中。词w到词向量e(W)的转化是从该矩阵中取出相应的列

  • RNNLM模型词向量

  • C&W模型词向量

第一个直接快速生成词向量为目标的模型,采用直接对n元短语打分的方式替代语言模型中求解条件概率的方法:对于语料中出现过n的n元短语,对其打高分;对于语料中没有出现的随机短语,对其打低分。
特点:目标函数是求目标词与其上下文的联合打分
在这里插入图片描述
在这里插入图片描述

  • CBOW模型词向量

在这里插入图片描述

  • Skip-gram模型词向量

在这里插入图片描述

词向量特征及应用

语义相似的词,其词向量空间距离更相似
相似关系词之差也相似

应用:

  • 语义相似度量
  • 直接实验词向量的加减法进行推理

http://chatgpt.dhexx.cn/article/2VLh4WF6.shtml

相关文章

学习笔记:深度学习(5)——词向量的相关概念

学习时间:2022.04.21 自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机…

深度学习之词向量

一、词向量 自上世纪90年代开始,特征空间模型就应用于分布式语言理解中,在当时许多模型用连续性的表征来表示词语,包括潜在语义分析LSA、隐含狄利克雷分布LDA主题模型。Bengio et al.在2003年首先提出了词向量的概念,当时是将其与…

自然语言处理——使用词向量(腾讯词向量)

向量化是使用一套统一的标准打分,比如填写表格:年龄、性别、性格、学历、经验、资产列表,并逐项打分,分数范围[-1,1],用一套分值代表一个人,就叫作向量化,虽然不能代表全部,但至少是…

词向量Word2Vec(深度细致分析)

本文以博客园刘建平Pinard对于word2vec的解释为基础,同时参考了其他相关博客的分析并加入了自己的理解,希望站在巨人的肩膀上进行一定的学习输出。至于本片文章的属性,个人认为是伪原创吧,有需要的同学可以自行转到相应的链接。 w…

一、词向量模型

因为计算机不能理解词语,所以我们需要用词向量表示一个词。 词向量有一个发展历程:从one-hot到word embedding。 1 one-hot 设词典的大小为n(词典中有n个词),假如某个词在词典中的位置为k,则设立一个n维向…

词向量算法

https://www.cnblogs.com/the-wolf-sky/articles/10192363.html https://blog.csdn.net/weixin_37947156/article/details/83146141 基于神经网络的表示一般称为词向量、词嵌入(word embdding)或分布式表示。 神经网络的词向量和其他分布式类似,都基于分布式表达…

词向量(Word Embedding)

一、词的表示 在自然语言处理任务中,首先需要考虑词如何在计算机中表示。通常,有两种表示方式:one-hot representation和distribution representation。简而言之,词向量技术是将词转化成为稠密向量,并且对于相似的词&…

二、词向量

目录 一、什么是词向量 二、词向量的离散表示 1、one-hot编码 2、 Bag of Words表示 3、TF-IDF表示 4、 Bi-gram和N-gram 5、离散表示的问题: 三、词的分布式表示(Distributed representation) 1、Skip-Gram模型 2、代码 一、什么是…

【NLP】词向量

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

第四章(1):词向量定义与意义

第四章(1):词向量定义与意义 目录 第四章(1):词向量定义与意义前言1. 词的表示1.1 离散表示1.1.1 One-Hot独热编码1.1.2 ngram特征表示1.2 分布式表示2. 意义前言 在自然语言处理的领域中,每个单词都可以被表示为一个向量,这些向量叫做“词向量”。换句话说,每个单词…

什么是词向量?(NPL入门)

什么是词向量? 我们组实训选择的主题是与自然语言识别相关的,那么就不得不学习和了解一下自然语言识别中非常重要和基础的。于是我对于自己对词向量的学习进行了以下的总结。 简而言之,词向量技术是将词转化成为稠密向量,并且对…

词向量表示

目录 1、语言表示 1.1、分布假说 1.2、语言模型 2、词向量表示 2.1、词向量表示之one-hot 2.2、词带模型之 (Bag of Words) 2.3、词的分布式表示 2.3.1 基于矩阵的分布式表示 2.3.2 基于聚类的分布式表示 2.4基于神经网络的分布式表示 2.4.1、…

词向量简介

最近深度学习技术有了突飞猛进的发展,为语音识别、图像识别、自然语言处理(NLP)提供了强大的工具,为这些领域今后的快速发展提供了新的契机。 深度学习为自然语言处理带来的最令人兴奋的突破是词向量(word embedding&…

词向量

词向量是自然语言处理中重要的基础,有利于我们对文本、情感、词义等等方向进行分析,主要是将词转化为稠密向量,从而使得相似的词,其词向量也相近。 一、词向量的表示 词向量的表示通常有两种方式,一种是离散的&#x…

【深度学习】NLP基础--词向量(从One-hot到Word2Vec)

1.什么是词向量 在自然语言处理中,面临的首要问题是如何让模型认识我们的文本信息,比如向模型中输入‘我爱北京天安门’,那模型是如何认识文本的?词,是自然语言处理中基本单位,将数据输入到模型中&#xff…

关键词提取代码

我又来水博客了,今天我做了关键词提取算法。 代码我会上传到我的github中去,这个算法需要stopword和corpus两个txt格式,导入的时候,会出现下面的错误 gbk codec cant decode byte 0x80 in position 26: illegal multibyte seque…

KeyBERT进行中文关键词提取

原文链接 KeyBERTLeveraging BERT to extract important keywordshttps://maartengr.github.io/KeyBERT/index.html 一种基于BERT的极简关键词提取方法。 关键词提取是通过查找文档中与文档本身最相似的词来完成的。首先,用BERT提取文档嵌入,得…

关键词提取——有监督方法

在上一篇博客中,介绍了关键词提取的无监督方法:点击这里查看文章。本篇主要是介绍关键词提取的有监督方法。 可以从如下角度去做有监督学习: 二分类模型:短语是否为关键短语。LTR(learn to rank)&#xf…

NLP- 关键词提取 - 综述

NLP- 关键词提取 - 综述 一、关键词提取有以下几种方式二、TF-IDF三、TextRank四、LDA五、word2vec 一、关键词提取有以下几种方式 二、TF-IDF TF-IDF算法,主要是通过统计方法,评估词对文档的重要性。一个基本思想是,一个词在文档中出现的次…

基于yake的中文关键词提取试验

前言: 之前看了云朵dalao的一篇关于关键词提取的文章,其中介绍的 Yake 模型采用了大写词、词位置、全文词频、上下文关系、句间词频等 5 个指标,计算候选词得分。感觉设计上较直观、易解释,但原 yake 库不支持中文,于是…