zoukankan      html  css  js  c++  java
  • 词表征 1:WordNet、0-1表征、共现矩阵、SVD

    原文地址:https://www.jianshu.com/p/c1e4f42b78d7

    一、基于知识的表征

    图1.1 WordNet

    参见图1.1,WordNet中包含同义词集(synonym sets)和上位词(hypernyms, is a关系)。
    其存在的问题为:

    • 作为资源来说是好的,但是它失去了词间的细微差别;
      比如说"good"和"full"同义是需要在一定的上下文中才能成立的。
    • 易错过词的新义,基本不可能时时保持up-to-date;
    • 是人为分的,所以是主观的结果;
    • 需要花费很多的人力去创建和调整;
    • 很难计算出准确的词间相似度。

    二、基于数据库的表征

    (一)词本身

    图2.1 0-1表征

    参见图2.1,0-1表征中,向量维度为数据库中总词汇数,每个词向量在其对应词处取值为1,其余处为0。
    其存在的问题为:

    • 因为不同词间相互正交,所以很难计算词间相似度。

    (二)结合上下文

    基本思想:相似的词有相似的上下文。

    1、共现矩阵

    1)基于整个文档

    词-文档共现矩阵(in R^{|V|*M}),其中,(|V|)为词汇量大小,(M)为文档数量。
    常给出文档的主题信息。

    2)基于上下文窗口

    词-词共现矩阵(in R^{|V|*|V|}),其中,(|V|)为词汇量大小。
    窗口大小常取5~10,通常对称、不分左右。
    常捕获语法、语义信息。
    图2.2 基于上下文窗口的共现矩阵

    图2.2中红框部分为基于窗口大小为1、不区分左右形成的"love"、"enjoy"对应的高维稀疏词向量。
    其存在的问题为:

    • 共现矩阵的大小随着词汇量的增多而变大;
    • 维度高;
    • 数据稀疏带来的鲁棒性差。

    2、低维稠密词向量

    1)基于SVD进行降维

    图2.3 基于SVD进行降维

    通过对共现矩阵进行SVD,得(X=USV^T)。选择(U)的前(k)列得到(k)维词向量。
    通过计算(frac{sum_{i=1}^{k}s_i}{sum_{j=1}^{|V|}s_j})得到前(k)维捕获到的信息比例。
    其优势为:

    • 有效地利用了统计信息。

    其存在的问题为:

    • 难以加入新词,每次来个新词,都得更新共现矩阵,然后重新SVD;
    • 由于大多数词不共现,导致矩阵十分稀疏;
    • 矩阵维度通常很高((approx 10^6*10^6));
    • 计算代价高,对于(n*m)的矩阵为(O(nm^2))
    • 需要对共现矩阵进行处理来面对词频上的极端不平衡现象。

    其常用的解决办法为:

    • 忽视"the"、"he"、"has"等功能词或者限制其次数不超过某个值(常100);
    • 基于文档中词间距离对共现矩阵中的count进行加权处理,常窗口中离中心词越近的词分配给其的权重越大;
    • 使用Pearson相关系数((C(X,Y)=frac{cov(X,Y)}{sigma(X)*sigma(Y)}))来代替原本的count,负数置0。
  • 相关阅读:
    系统程序员成长计划并发(二)(下)
    Web开发必知的八种隔离级别
    国产Android视频,Broncho A1
    Android中的BatteryService及相关组件
    Struts2输出XML格式的Result
    系统程序员成长计划并发(三)(上)
    入选”第一期中国最受欢迎50大技术博客”
    Broncho团队招聘应届毕业生(包括大四学生) 2名
    系统程序员成长计划并发(三)(下)
    WordPress MailUp插件‘Ajax’函数安全绕过漏洞
  • 原文地址:https://www.cnblogs.com/cherrychenlee/p/10800546.html
Copyright © 2011-2022 走看看