语言模型 + 词向量

重点:建模方法、CNN、DNN、RNN优势与不足

统计语言模型

  1. 基本概念:用数学的方法描述语言规律(语言模型)
    基本思想:用 S = w 1 , w 2 , w 3 , . . . w n S = w_1, w_2, w_3,...w_n S=w1​,w2​,w3​,...wn​ 的概率 P ( S ) P(S) P(S)刻画句子的合理性——统计自然语言处理的基础模型
    规则法和统计法:前者通过判断句子是否合乎语法和语义;后者通过可能性大小(概率)定量计算

  2. 公式: 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=1n​p(wi​∣w1​,....,wi−1​)
    输入:句子S
    输出:句子的概率 P ( S ) P(S) P(S)
    参数: p ( w i ∣ w 1 , . . . . , w i − 1 ) p(w_i | w_1,....,w_{i-1}) p(wi​∣w1​,....,wi−1​)
    函数关系: 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=1n​p(wi​∣w1​,....,wi−1​)
    说明: w i w_i wi​统计基元/词; w 1 , . . . . , w i − 1 w_1,....,w_{i-1} w1​,....,wi−1​ 为 w i w_i wi​的历史

  3. 马尔可夫方法:假设任意一个词 w i w_i wi​出现的概率只与它前面的 w i − 1 w_{i-1} wi−1​有关(二次模型);

  4. n-gram:一个词出现的概率只与它前面n-1个词相关,距离大于等于n的上文词会被忽略

  5. 参数估计

    • 训练语料:尽量与应用领域一致;语料尽量足够大;训练前应预训练
    • 学习方法:极大似然估计
      • 存在问题:数据匮乏(稀疏)引起零概率问题
      • 解决:数据平滑——加一法(每种情况出现次数加1)
      • 神经网络语言模型不需要数据平滑
    • 性能评价
      • 实用方法:看模型在实际中的表现
      • 理论方法:困惑度——越小越好
    • 应用:不同序列判断最可能序列;已知若干词预测下一个词

神经语言模型

  • 统计语言模型:用概率统计法学习参数
  • 神经语言模型:用神经网络学习参数
    • 使用DNN:NNLM模型
    • 使用RNN:RNNLM模型
  1. NNLM模型

    • 2-gram:


    • n-gram:


  2. RNNLM模型:
    优点:RNNLM模型可以保留每个词的全部历史信息,不需要简化成n-gram;引入词向量作为输入不需要数据平滑




词向量(浅层)

  • 基于预测的词表示:
    NNLM、CBOW模型、Skip-gram、C&W模型

    • 符号表示

    • 离散表示:

      • one-hot:稀疏方式存储简洁;词汇鸿沟、维数灾难
      • 词袋模型:每个数表示该词在文档中出现的次数
      • TF_IDF:每个数代表该词在整个文档中的占比
    • 分布式表示:用一个词附近的其他词来表示该词

      1. NNLM:

      2. RNNLM:

      3. C&W模型:
        特点:C&W目标函数是求目标词W与其上下文c的联合打分,而其他模型均为根据上下文c,预测目标词w

      4. CBOW/Skip-gram模型


    • 词向量特性

      • 语义相似的词,其词向量空间距离更相近
      • 优点:降维,消除词汇鸿沟,其语言模型自带平滑功能;
      • 应用:同义词检测、单词类比
        深度学习中语言模型常用“RNN语言模型+词向量” 模式

自然语言处理——学习笔记(2) 语言模型+词向量相关推荐

  1. 自然语言处理入门学习笔记3:词向量

    词向量 为什么需要词向量 1.词向量可以大量的预料中拿到一些对知识表达的方式 2.无法直接对文本进行计算,文本是标记性语言,计算机对数字比较敏感,词向量吧文字转成了数值向量 词编码方式 从onehot ...

  2. 自然语言处理学习笔记4:空间向量模型

    向量空间模型(VSM:Vector Space Model)由Salton等人于20世纪70年代提出,并成功地应用于著名的SMART文本检索系统.把对文本内容的处理简化为向量空间中的向量运算,并且它以 ...

  3. 深度学习与自然语言处理教程(2) - GloVe及词向量的训练与评估(NLP通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...

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

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

  5. NLP自然语言处理学习笔记(二)Word2Vec

    NLP自然语言处理学习笔记(二)Word2Vec 一.Word2Vec 二.负采样 本文是根据吴恩达教授的教学视频来整理的学习笔记,部分图片来源于视频的截图.原教学视频连接 https://mooc. ...

  6. 对python的评价语_Python自然语言处理学习笔记之评价(evaluationd)

    对模型的评价是在test set上进行的,本文首先介绍测试集应该满足的特征,然后介绍四种评价方法. 一.测试集的选择 1.首先,测试集必须是严格独立于训练集的,否则评价结果一定很高,但是虚高,不适用于 ...

  7. 自然语言处理学习笔记(1)——词典分词

    自然语言处理学习笔记(1)--词典分词 一.相关定义(P32) 中文分词:将一段文本拆分为一系列单词的过程,这些单词顺序拼接后等于源文本. 词典分词:一个确定的查词与输出的规则系统,仅需要一部词典和一 ...

  8. 数据结构学习笔记:变位词侦测案例

    数据结构学习笔记:变位词侦测案例 通过字符串变位词侦测问题可以很好地了解具有不同数量级的算法.变位词,就是两个字符串构成要素完全相同,但是要素的排列顺序不同.比如,heart与earth.python ...

  9. elasticSearch学习笔记04-同义词,停用词,拼音,高亮,拼写纠错

    由于elasticSearch版本更新频繁,此笔记适用ES版本为 7.10.2 此笔记摘录自<Elasticsearch搜索引擎构建入门与实战>第一版 文中涉及代码适用于kibana开发工 ...

最新文章

  1. Java学习总结(二十)——JSON解析:官方解析,GSON解析,FastJSON解析,
  2. 在StackBlitz上setup SAP Spartacus
  3. python 查看当前目录_「Python」打包分发工具setuptools学习
  4. pythonclass全局变量_Python的变量(全局变量、局部变量、类变量和实例变量)
  5. JQuery控制div外点击隐藏,div内点击不会隐藏
  6. 深度学习剖根问底:SGD算法的优化和变种
  7. Activiti7的用法和简述
  8. windows无法开启网络发现问题解决办法(详细)
  9. 未来无生经超级计算机,第三十二章 有些鸡肋的未来无生经
  10. 【JavaEE】网络编程基础之Socket套接字
  11. 数据结构-二叉树-详解
  12. 信道容量的迭代算法实现
  13. JS如何手写new(一看就懂)
  14. 一小时搞定计算机网络面试
  15. 计算机二级模板文档,计算机二级教案模板.doc
  16. vulnhub之hacksudo:Thor
  17. 前端知识点总结(三)
  18. 从mimikatz抓取密码学习攻防
  19. Power BI——切片器
  20. 基于B/S架构、可替代付费商业软件的一站式量化交易平台

热门文章

  1. 网易邮箱申请多少钱、新浪邮箱多少钱、TOM VIP呢?
  2. 《SolidWorks 2012中文版从入门到精通》一6.1 库特征
  3. C语言实现一个先进先出的队列
  4. 脚本每隔2秒读取CPU温度及频率
  5. 2014淘宝运营新规则,你知道吗?
  6. Booting Linux kernel using U-Boot
  7. IOS - swift SDK开发
  8. 以下是UNIX linux 下c语言的图形编程  curses库
  9. 有赞项目出现包无法解析的问题
  10. 用ArcGIS API for JavaScript制作三维可视化图