zoukankan      html  css  js  c++  java
  • 自然语言处理(六)词向量

    目的:把文本用数据的形式表达出来
    方法:传统基于规则,现代基于统计

    一、词编码方式1——离散表示

    1、One-hot编码
    和句子中顺序无关,耗空间耗时

    2、词袋模型
    每个数表示该词出现的次数(One-hot的加和)

    3、TF_IDF
    每个数代表该词在整个文档中的占比

    4、N-gram
    相邻N个词作为一组进行编码,缺点是浪费空间、无法衡量词之间的关系

    二、词编码方式2——分布式表示

    所谓分布式表示,就是将“红色小型汽车”变成“红色+小型+汽车”

    于是产生了现代统计自然语言处理中最有创见的想法之一:用一个词附近的其他词来表示该词。

    一开始用“共现矩阵”表示,后来发现它有耗空间过大、稀疏等问题,因此需要找到方法构造低维稠密向量作为词的分布式表示 (25~1000维)!

    一开始有用SVD分解的方法,后来发现它与其他深度学习模型框架差异大

    又有了NNLM方法如下图所示:(七月算法自然语言处理课程PPT)
    这里写图片描述

    这里写图片描述

    这个模型复杂度较高。于是有了现在最常用的word2vec模型。

    三、Work2Vec

    1、CBOW

    待续

    2、Skip-Gram

    待续

    当语料特别大时,多用Skip-Gram

    -》Word2Vec对多义词表示的并不好,因此有了改进版本GloVe,但用的不多。

    -》还有sense2vec模型,它是将词性和word2vec结合的技术。

    -》seq2seq 待续

  • 相关阅读:
    一个新的Activity跳转到带有Framgment的Activity页面
    安卓图片下载及存储
    安卓4.0以上 UDP 发送端
    安卓 service 后台运行,activity 启动和停止service
    安卓 BaseAdapter ListView和Button
    安卓点击两次返回键退出程序
    安卓 surfaceview 添加点击事件
    Mybatis
    Cookie
    AJAX原生代码
  • 原文地址:https://www.cnblogs.com/Yolanda7171/p/7242379.html
Copyright © 2011-2022 走看看