【NLP】基于Word2Vec词向量的中文文本相似度匹配
Word2Vec
词向量可以用于测量单词之间的相似度,相同语义的单词,其词向量也应该是相似的。对词向量做降维并可视化,可以看到如下图所示的聚类效果,即相近语义的词会聚在一。
文本或句子相似度问题,可以把句子中每个单词的词向量简单做一个平均,得到的向量作为整个句子的向量表示,再利用余弦相似度计算句子的相似度。
代码实现
训练词向量模型请参考:使用GloVe训练中文词向量
import numpy as np
from gensim.models import KeyedVectors
from sklearn.metrics.pairwise import cosine_similarity# 加载词向量模型
model = KeyedVectors.load_word2vec_format(r'E:\vectors.txt',binary=False,encoding="gbk")# 对句子中的每个词的词向量简单做平均 作为句子的向量表示
def wordavg(model,words): return np.mean([model.get_vector(word) for word in words],axis=0)s1 = "今天是个好日子"
s2 = "好日子就在今天"
s1_list = jieba.lcut(s1, cut_all=True) # jieba分词
s1_list = jieba.lcut(s2, cut_all=True) # jieba分词
s1_avg = wordavg(model,s1_list) # s1的向量表示
s2_avg = wordavg(model,s2_list) # s2的向量表示
print(cosine_similarity(s1_avg.reshape(1,-1),s2_avg.reshape(1,-1))) # 计算s1、s2向量的余弦相似度
【NLP】基于Word2Vec词向量的中文文本相似度匹配相关推荐
- 【Gensim + TSNE使用】word2vec词向量处理中文小说 (词嵌入、高维数据降维)
[Gensim + TSNE使用]word2vec词向量处理中文小说 本文使用Gensim对小说斗破苍穹进行词嵌入可视化 流程 数据预处理,将小说数据滤除停止词,分词book_loader(). 调用 ...
- 【NLP】word2vec词向量模型训练——基于tensorflow
前言 维基百科中文数据训练word2vec词向量模型--基于gensim库 上文我们使用了 gensim 库中的 Word2vec 模块训练词向量模型,本篇我们通过 tensorflow 自己 ...
- 【python gensim使用】word2vec词向量处理中文语料
word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间 ...
- [NLP] 深入浅出 word2vec 词向量详解
Word2vec 词向量 前置知识:需要理解基本的MLP 多层感知机(全连接神经网络) 和DL.数学相关基础知识 One-hot encoding 独热编码 刚开始,人们用one-hot编码来表示词, ...
- glove中文词向量_NLP中文文本分类任务的笔记(一)
词向量的使用. 通用的词向量包含word2vec,glove,fasttext三种方式,通过n-gram以及COBW或者skip-gram的方式获取得到, 这边分享一个词向量的GitHub资 Embe ...
- word2vec python 代码实现_python gensim使用word2vec词向量处理中文语料的方法
word2vec介绍 word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词之间的距离. 它将term转换成向量形式,可以把对文本内容的处理简化为向量空间中的向量运算,计算出 ...
- 【打卡-Coggle竞赛学习2023年1月】文本相似度匹配
文章目录 ## Part4 文本相似度匹配 ### 背景介绍 ### 数据说明 ### 评估方式 ### 学习打卡 - 任务1:数据集读取 - 任务2:文本数据分析 - 任务3:文本相似度(统计特征) ...
- 【NLP】维基百科中文数据训练word2vec词向量模型——基于gensim库
前言 本篇主要是基于gensim 库中的 Word2Vec 模型,使用维基百科中文数据训练word2vec 词向量模型,大体步骤如下: 数据预处理 模型的训练 模型的测试 准备条件: Window ...
- word2vec词向量训练及中文文本类似度计算
本文是讲述怎样使用word2vec的基础教程.文章比較基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python ...
最新文章
- SQL SERVER 2008 利用发布订阅方式实现数据库同步
- Java学习笔记20
- 在线网摘收藏?让Google来吧!
- 手把手教你使用C#操作SQLite数据库,新建数据库,创建表,插入,查询,删除,运算符,like(持续更新)...
- Sping Cloud Eureka
- Java链接MySQL练习题:格式化日期、性别;避免代码注入
- 抖音gorgon算法04php,抖音xgorgon(0401)获取方法及演示
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- Java 8中字符串拼接新姿势:StringJoiner
- 台积电2nm工艺有望2023年风险试产 次年大规模投产
- java向kafka推送数据_Java编写程序将数据存入Kafka中
- 浅谈操作系统是如何工作的及简单的进程调度的linux实现
- SRM 515 DIV1 550pt
- Mybatis注解: SQL语句映射@Select @Insert @Updata @Delete @SelectKey
- 图书管理系统c语言报告调试分析,图书管理系统C语言程序设计实验分析报告.doc...
- 【电机学】电机绕组方式
- 用树莓派3B+实现智能语音识别
- 导航栏的HTML的布局方式
- 计算机管理打不开路径不存在,电脑打不开软件提示路径不正确如何解决
- 个人软件定制开发多少钱,怎么核算