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 待续

  • 相关阅读:
    java笔记之日期相关操作
    Android笔记之察看网络状况
    Jsp之复选框的使用
    jsp之table美化
    JSP与servlet之间跳转传值
    request的get/setParameter和get/setAttribute()
    Jsp的button按钮
    使用request.getRequestDispatcher请求转发到一个页面中文乱码解决 【转】
    Servle与JSP之间的相互跳转
    java笔记之null与isEmpty()
  • 原文地址:https://www.cnblogs.com/Yolanda7171/p/7242379.html
Copyright © 2011-2022 走看看