神经网络之共现矩阵

🧠 一、共现矩阵(Co-occurrence Matrix)是什么?

一句话核心定义:

共现矩阵是一个统计"单词与单词一起出现次数"的二维表。

每个单词都用它和其他词共现的次数来表示成一个数值向量。


1️⃣ 为什么要这样做?

我们希望计算机"理解"单词的含义。

但计算机只认识数字,不懂"猫""狗"是什么意思。

于是我们用一个重要假设:

分布式假设(Distributional Hypothesis)

"一个词的意义由它的上下文决定。"

例如:

  • "猫"常与"喵、宠物、狗"一起出现
  • "汽车"常与"驾驶、道路、汽油"一起出现

→ 因此,"猫""狗"语义相似,"猫""汽车"语义远。

要让计算机捕捉这种"共现模式",就统计所有词在上下文中共同出现的次数


📊 二、共现矩阵长什么样?

假设语料:

"猫 喜欢 吃 鱼 。 狗 也 喜欢 吃 鱼。"

我们先提取词汇表:

编号 单词
0
1
2 喜欢
3
4
5

假设"窗口大小 = 2",表示每个词的前后各看 2 个词。

然后我们统计:每个"中心词"与哪些"上下文词"同时出现过。


统计后得到的共现矩阵(举例)

中心词\上下文词 喜欢
0 0 1 1 0 0
0 0 1 1 1 1
喜欢 1 1 0 2 2 1
1 1 2 0 2 0
0 1 2 2 0 0
0 1 1 0 0 0

📈 三、如何用它"向量化"单词语义

每一行(或每一列)都可以看作一个单词的数值表示(向量)

例如:

  • "猫" → [0, 0, 1, 1, 0, 0]
  • "狗" → [0, 0, 1, 1, 1, 1]
  • "喜欢" → [1, 1, 0, 2, 2, 1]

这些向量记录了单词与其他词共现的模式。

如果两个词出现在相似的上下文里,它们的向量就会相似。

👉 这样我们就把语义关系转成了"几何距离"关系。

相似语义 → 向量方向接近

不同语义 → 向量方向远离


⚙️ 四、最基本的实现思路

以下是一个最朴素的算法(Python 伪代码):

python 复制代码
from collections import defaultdict

def build_cooccurrence_matrix(corpus, window=2):
    vocab = list(set(corpus))                     # 词表
    index = {w: i for i, w in enumerate(vocab)}   # 词 -> 索引
    matrix = [[0]*len(vocab) for _ in vocab]      # 初始化矩阵

    for i, word in enumerate(corpus):
        start = max(0, i - window)
        end = min(len(corpus), i + window + 1)
        for j in range(start, end):
            if i != j:
                context_word = corpus[j]
                matrix[index[word]][index[context_word]] += 1

    return vocab, matrix

输入语料:

python 复制代码
corpus = ["猫", "喜欢", "吃", "鱼", "狗", "也", "喜欢", "吃", "鱼"]

输出的矩阵即为共现矩阵。


🧩 五、总结

概念 内容
目的 把词变成数字向量,用于表达语义相似性
依据 分布式假设:"词的意义由上下文决定"
矩阵含义 行列都是词,数值是共现次数
向量化方式 每一行即一个词向量
语义关系来源 相似上下文 → 向量相似
实现关键点 设窗口 → 遍历语料 → 统计共现次数

一句最简总结:

共现矩阵就是:

"记录每个词与其他词在相邻上下文中共同出现次数的表格",

每一行可视为一个"语义向量",

语义相似的词 → 向量相似。

相关推荐
It's now5 小时前
Spring AI 基础开发流程
java·人工智能·后端·spring
Glad_R5 小时前
巧用AI流程图,让信息呈现更全面
人工智能·信息可视化·产品运营·流程图·产品经理
西南胶带の池上桜6 小时前
1.Pytorch模型应用(线性与非线性预测)
人工智能·pytorch·python
杀生丸学AI6 小时前
【无标题】VGGT4D:用于4D场景重建的视觉Transformer运动线索挖掘
人工智能·深度学习·3d·aigc·transformer·三维重建·视觉大模型
小和尚同志6 小时前
还在手动配置?这款开源软件让你一键配置 Claude Code 和 Codex
人工智能·aigc
阿正的梦工坊6 小时前
ProRL:延长强化学习训练,扩展大语言模型推理边界——NeurIPS 2025论文解读
人工智能·语言模型·自然语言处理
致Great6 小时前
Ollama 进阶指南
人工智能·gpt·chatgpt·agent·智能体
Nautiluss7 小时前
一起玩XVF3800麦克风阵列(八)
大数据·人工智能·嵌入式硬件·github·音频·语音识别
qq_430855887 小时前
线代第二章矩阵第四课:方阵的幂
算法·机器学习·矩阵