返回介绍

数学基础

统计学习

深度学习

工具

Scala

二、LSA

发布于 2023-07-17 23:38:25 字数 35738 浏览 0 评论 0 收藏 0

  1. 向量空间模型主要用于文档的表达。

  2. 向量空间模型假设单词和单词之间是相互独立的,每个单词代表一个独立的语义单元。实际上该假设很难满足:

    • 文档中的单词和单词之间存在一定关联性,单词和其前面几个单词、后面几个单词可能存在语义上的相关性,而向量空间模型忽略了这种上下文的作用。

    • 文档中存在很多的一词多义和多词同义的现象,每个单词并不代表一个独立的语义单元。

1.1 文档-单词 矩阵

  1. 给定语料库D$ \mathbb D $ 和词汇表V$ \mathbb V $ ,定义文档-单词 矩阵为:

    (1)word1word2word3wordVD10010D21010DN0110

    令矩阵为D$ \mathbf D $ ,则:D(i,j)=1$ D(i,j)=1 $ 表示文档Di$ \mathcal D_i $ 中含有单词wordj$ \text{word}_j $ ;D(i,j)=0$ D(i,j)=0 $ 表示文档Di$ \mathcal D_i $ 中不含单词wordj$ \text{word}_j $ 。

    于是文档Di$ \mathcal D_i $ 表示为:Di(0,1,0,1,,0)T$ \mathcal D_i \rightarrow (0,1,0,1,\cdots,0)^T $ ,其中文档Di$ \mathcal D_i $ 中包含的单词对应的位置取值为1,其它位置取值为 0 。

  2. 事实上,文档的上述表达并未考虑单词的顺序,也未考虑单词出现的次数。一种改进策略是考虑单词出现的次数,从而赋予文档-单词 矩阵以不同的权重:

    (2)D=[w1,1w1,2w1,3w1,Vw2,1w2,2w2,3w2,VwN,1wN,2wN,3wN,V]

    其中wi,j$ w_{i,j} $ 表示单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中的权重。

    • 如果单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中未出现,则权重wi,j=0$ w_{i,j}=0 $

    • 如果单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中出现,则权重wi,j0$ w_{i,j}\ne 0 $

  3. 权重wi,j$ w_{i,j} $ 有两种常用的选取方法:

    • 单词权重等于单词出现的频率TFwi,j=TF(Di,wordj)$ w_{i,j} = TF(\mathcal D_i,\text{word}_j) $ 。

      • 函数TF(Di,wordj)$ TF(\mathcal D_i,\text{word}_j) $ 返回单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中出现的频数。

      • 其缺点是:一些高频词(如:我们大家)以较大的权重出现在每个文档中,这意味着对每篇文档这些高频词是比较重要的。事实上对于绝大多数 NLP 任务,将这些词过滤掉不会有任何影响。

    • 单词权重等于单词的TF-IDFwi,j=TF(Di,wordj)×IDF(wordj)$ w_{i,j} = TF(\mathcal D_i,\text{word}_j) \times IDF(\text{word}_j) $ 。

      • 函数IDF(wordj)$ IDF(\text{word}_j) $ 是单词的逆文档频率:IDF(wordj)=logNDF(wordj)$ IDF(\text{word}_j) = \log \frac{N}{DF(\text{word}_j)} $ 。其中:N$ N $ 为语料库的文档数量,DF(wordj)$ DF(\text{word}_j) $ 为出现单词wordj$ \text{word}_j $ 的文档的数量,DF(wordj)N$ \frac {DF(\text{word}_j)}{N} $ 为单词wordj$ \text{word}_j $ 出现在一篇文档中的概率。

      • TF-IDF 对于高频词进行降权。如果单词wordj$ \text{word}_j $ 出现在大多数文档中,则DF(wordj)N$ \frac {DF(\text{word}_j)}{N} $ 较大,因此IDF(wordj)$ IDF(\text{word}_j) $ 会较小。

  4. TF-IDF 不仅考虑了单词的局部特征,也考虑了单词的全局特征。

    • 词频TF(Di,wordj)$ TF(\mathcal D_i,\text{word}_j) $ 描述了单词wordj$ \text{word}_j $ 在文档Di$ \mathcal D_i $ 中的局部统计特征。

    • 逆文档频率IDF(wordj)$ IDF(\text{word}_j) $ 描述了单词wordj$ \text{word}_j $ 在语料库D$ \mathbb D $ 中的全局统计特征。

1.2 相似度

  1. 给定 文档-单词 矩阵,则很容易得到文档的向量表达:Di(wi,1,wi,2,,wi,V)T$ \mathcal D_i \rightarrow (w_{i,1},w_{i,2},\cdots,w_{i,V})^T $ 。

    给定文档Di,Dj$ \mathcal D_i,\mathcal D_j $ ,则文档的相似度为:

    (3)similar(Di,Dj)=cos(wi,wj)=wiwj||wi||||wj||

    其中wi=(wi,1,wi,2,,wi,V)T,wj=(wj,1,wj,2,,wj,V)T$ \mathbf{\vec w}_i= (w_{i,1},w_{i,2},\cdots,w_{i,V})^T,\quad \mathbf{\vec w}_j= (w_{j,1},w_{j,2},\cdots,w_{j,V})^T $ 。

    也可以使用其它方式的相似度,如L2$ L_2 $ 距离相似度。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文