【NLP学习笔记】词共现矩阵

词共现矩阵定义

通过统计一个事先指定大小的窗口内的word共现次数,以word周边的共现词的次数做为当前word的vector。具体来说,我们通过从大量的语料文本中构建一个共现矩阵来定义word representation。

例子

有语料如下:

I like deep learning.
I like NLP.
I enjoy flying.

则其共现矩阵如下:
在这里插入图片描述
此时选的窗口大小为3,选择在该窗口内词汇的共现频率作为vector。

将共现矩阵行(列)作为词向量表示后,可以知道like,enjoy都是在I附近且统计数目大约相等,他们意思相近。

矩阵定义的词向量在一定程度上缓解了one-hot向量相似度为0的问题,但没有解决数据稀疏性和维度灾难的问题。

### 词-文档共现矩阵的维度及其含义 在自然语言处理领域,词-文档共现矩阵是一种重要的基础工具,其核心作用在于描述词汇与文档之间的关联关系。具体而言,词-文档共现矩阵是一个二维矩阵 \( M \),其中每一行代表一个词汇,每一列代表一篇文档[^1]。 #### 矩阵维度 假设语料库中有 \( n \) 个不同的词汇和 \( m \) 篇文档,则词-文档共现矩阵的维度为 \( n \times m \)[^3]。 - 行数 \( n \): 对应于语料库中所有唯一词汇的数量。 - 列数 \( m \): 对应于语料库中文档的数量。 #### 定义 矩阵中的每一个元素 \( M_{ij} \) 表示第 \( i \) 个词汇在第 \( j \) 篇文档中出现的频次。如果某个词汇未出现在某篇文档中,则对应的矩阵元素值为零。因此,这个矩阵本质上是对整个语料库中词汇分布情况的一个量化表示。 #### 含义 1. **词汇频率**: 每一行反映了特定词汇在整个语料库各文档中的分布情况。 2. **文档特征**: 每一列表明了一篇文档中所包含的所有词汇及其出现次数。 3. **稀疏性**: 由于大多数词汇不会频繁出现在每篇文档中,所以该矩阵通常具有高度稀疏的特点。 通过这样的结构设计,词-文档共现矩阵不仅能够直观展现词汇与文档的关系,还为进一步应用提供了便利条件,例如潜在语义分析 (LSA) 中会基于此矩阵执行奇异值分解并完成降维操作。 ```python import numpy as np # 假设有一个简单的语料库 vocabulary_size = 5 # 总共有5个不同词汇 document_count = 3 # 文档数量为3 # 构建一个随机生成的词-文档共现矩阵作为例子 co_occurrence_matrix = np.random.randint(0, 5, size=(vocabulary_size, document_count)) print(co_occurrence_matrix) ``` 上述代码片段展示了如何创建一个小型的词-文档共现矩阵实例。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值