当前位置: 首页 > news >正文

Word2Vec 生成词向量

两个简单的示例,生成词向量。

1. 英文单词生成词向量

from gensim.models import Word2Vecmodel = Word2Vec(
sentences=[["cat", "say", "meow"], ["dog", "say", "woof"]], 
sg=0, 
window=2, 
vector_size=3,min_count=0, 
workers=4)

模型model训练好了,打印词向量

model.wv.vectors输出为:
array([[-0.01787424,  0.00788105,  0.17011166],[ 0.3003091 , -0.31009832, -0.23722696],[ 0.21529575,  0.2990996 , -0.16718094],[-0.12544572,  0.24601682, -0.05111571],[-0.15122044,  0.21846838, -0.16200535]], dtype=float32)

共5个不重复的单词,每个单词由3个数据的词向量表示。打印"cat"的词向量

model.wv.get_vector("cat")输出为:
array([-0.15122044,  0.21846838, -0.16200535], dtype=float32)

2.中文生成词向量,

生成"小猫说话喵喵, 小狗说话汪汪"这句话的词向量

2.1 分词

# !pip install jieba
import jiebaseg_list = jieba.cut(s, cut_all=False)f=" ".join(seg_list)
f
输出为:
'小猫 说话 喵 喵 ,   小狗 说话 汪汪'

2.2 将分好的词构造成列表

import nltk
from nltk.tokenize import sent_tokenize, word_tokenizenltk.download('punkt_tab')data = []# iterate through each sentence in the file
for i in sent_tokenize(f):temp = []# tokenize the sentence into wordsfor j in word_tokenize(i):temp.append(j.lower())data.append(temp)data输出为:[['小猫', '说话', '喵', '喵', ',', '小狗', '说话', '汪汪']]

2.3 训练模型model,获得每个分词的向量表示

model = Word2Vec(
sentences=data, 
sg=0, 
window=2, 
vector_size=3, 
min_count=0, 
workers=4)model.wv.get_vector("小猫")
输出为:array([-0.06053392,  0.09588599,  0.03306246], dtype=float32)model.wv.get_vector("小狗")
输出为:array([-0.12544572,  0.24601682, -0.05111571], dtype=float32)model.wv.vectors
全部词的词向量:
array([[-0.01787424,  0.00788105,  0.17011166],[ 0.3003417 , -0.31010646, -0.23725258],[ 0.21530104,  0.29910693, -0.16718504],[-0.12544572,  0.24601682, -0.05111571],[-0.15122044,  0.21846838, -0.16200535],[-0.06053392,  0.09588599,  0.03306246]], dtype=float32)

参考文献

相关文章:

  • 考研系列—操作系统:第三章、内存管理
  • KVM——CPU独占
  • FreeRTOS通俗理解指南:基础概念 + 架构+ 内核组件+练手实验
  • LangChain-Tool和Agent结合智谱AI大模型应用实例2
  • 《数字世界的连接器:计算机网络应用全景解析》
  • 使用flex实现三栏布局,两边固定,中间自适应
  • 智能柜I立控信息I产品介绍
  • 八N皇后问题
  • LeetCode Hot100(动态规划)
  • YouTube视频广告指南:类型、投放策略与优劣势解析
  • 传输层核心技术解析
  • [CSS3]响应式布局
  • 主机号全0,代表网络本身地址; 主机号全1,代表广播地址
  • Spring Boot3.4.1 集成 mybatis plus
  • Linux | Shell脚本的常用命令
  • 2. JavaScript 基础:变量、运算符、分支
  • A类地址中最小网络号(0.x.x.x) 默认路由 / 无效/未指定地址
  • 基于51单片机的音乐盒键盘演奏proteus仿真
  • 安全帽目标检测
  • 【前端优化】使用speed-measure-webpack-plugin分析前端运行、打包耗时,优化项目
  • 网站的页脚什么做/做好的网站怎么优化
  • 网站建设网络推广首选公司/深圳做网站的公司
  • 四川泸州做网站的公司有哪些/seo网络推广培训
  • 网上翻译网站做译员/seo优化快速排名
  • php动态网站开发 网站成品/网页链接制作生成
  • ecs搭建wordpress/做网络优化的公司排名