5步掌握Pandoc文档转换:从核心原理到实战应用
2026/6/5 18:00:47
bash
运行
pip install gensimpython
运行
from gensim.models import Word2Vec # 分词后的句子列表 sentences = [ ["苹果", "很甜", "是", "水果"], ["香蕉", "软糯", "是", "水果"], ["西瓜", "多汁", "是", "水果"], ["猫咪", "可爱", "属于", "动物"], ["小狗", "温顺", "属于", "动物"] ] # 训练模型 sg=1 SkipGram;sg=0 CBOW,用现有的语料库进行训练 model = Word2Vec(sentences, sg=1, vector_size=50, window=2, min_count=1, epochs=20) # 词向量容器:字典 wv = model.wv # 词向量容器python
运行
# 根据单词名称,查找词向量字典表 vec = wv["苹果"] print(vec)python
运行
# 找出与目标词相邻的词汇 # 根据“单词”,在字典中,找到对应的索引。 # 找到语义相邻的三个“词” res = wv.most_similar("苹果", topn=3) print("苹果相似词:", res) # 输出优先:香蕉、西瓜python
运行
sim1 = wv.similarity("苹果", "香蕉") sim2 = wv.similarity("苹果", "猫咪") print("苹果-香蕉:", sim1) print("苹果-猫咪:", sim2) # sim1 >> sim2python
运行
# 水果 - 苹果 + 香蕉 ≈西瓜 res = wv.most_similar(positive=["香蕉","水果"], negative=["苹果"], topn=1) print(res)python
运行
# 保存 model.save("word2vec.model") # 加载:训练好的模型,可以直接使用 new_model = Word2Vec.load("word2vec.model")sg=1:SkipGram (常用);sg=0:CBOWvector_size:向量维度 (50/100/300)window:上下文窗口大小min_count:出现次数少于该值直接丢弃词语OneHot(孤立无关系)→Word2Vec(近义词可计算、静态向量)→BERT(动态一词多义)→BGE/E5(段落语义)。