自然语言技术

零基础入门NLP - 新闻文本分类


基于word2vec的文本相似度

  • 自然语言技术
  • 前言
  • 一、word2vec是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
    • 3.模型训练及保存
    • 4.模型结应用

前言

随着人工智能的不断发展,自然语言这门技术也越来越重要,很多人都开启了学习自然语言,本文就介绍了基于word2vec的word相似度。


一、word2vec是什么?

word2vec是指将文本数据处理成计算机可以处理的向量,并根据语料库可以计算word之间的相似度。

二、使用步骤

1.引入库

版本如下:
jieba 0.42.1
gensim 4.1.2

#coding:utf-8
import jieba
from gensim.models import Word2Vec
import gensim.models.word2vec as w2v

2.读入数据

斗破苍穹下载,并利用jieba进行分词,这里jieba分词处理比较粗略,可以继续进行细化并保存下来,用来word2vec读取。

with open('斗破苍穹.txt',encoding='gb18030') as f:document = f.read()document_cut = jieba.cut(document)result = ' '.join(document_cut)print("type",type(result))with open('斗破苍穹_seg.txt', 'w',encoding="utf-8") as f2:f2.write(result)

3.模型训练及保存

读取文本,利用gensim中的Word2Vec进行训练得到模型并保存。

model_file_name = '斗破苍穹.model'
#模型训练,生成词向量
sentences = w2v.LineSentence('斗破苍穹_seg.txt')
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)
model.save(model_file_name)

4.模型结应用

直接看看结果,看看与萧炎斗帝最相近的15个word。

model = Word2Vec.load(model_file_name)
for vec in ['斗帝', '萧炎']:print('--%s--的似度' %(vec))print(model.wv.similar_by_word(vec, topn=15))print('\n')

–斗帝–的似度
[(‘斗圣’, 0.8141199350357056), (‘半圣’, 0.8010677695274353), (‘斗灵’, 0.7803141474723816), (‘斗宗’, 0.7673341035842896), (‘斗师’, 0.7628400325775146), (‘斗皇’, 0.7628328800201416), (‘斗王’, 0.7606483697891235), (‘顶尖’, 0.7596161365509033), (‘别的’, 0.7553380131721497), (‘超级’, 0.7388392686843872), (‘斗尊’, 0.7323582172393799), (‘一流’, 0.7282006740570068), (‘王族’, 0.7209020853042603), (‘十大’, 0.7201776504516602), (‘前十’, 0.716377317905426)]

–萧炎–的似度
[(‘前者’, 0.7002381682395935), (‘他’, 0.6438902616500854), (‘韩枫’, 0.6365240216255188), (‘后者’, 0.6304334998130798), (‘药老’, 0.6298486590385437), (‘紫研’, 0.5926578044891357), (‘萧厉’, 0.5817351937294006), (‘云山’, 0.5741239190101624), (‘柳擎’, 0.5692581534385681), (‘苏千’, 0.543209433555603), (‘唐震’, 0.5430344343185425), (‘凤清儿’, 0.5383116006851196), (‘小医仙’, 0.5327429175376892), (‘韩闲’, 0.5258689522743225), (‘古元’, 0.5253770351409912)]

基于word2vec的word相似度相关推荐

  1. Python基于word2vec的词语相似度计算

     词语相似度计算 在商品搜索的过程中,可以计算用户输入的关键字与数据库中商品名间的相似度,在商品数据库中找出相似度最大的商品,推荐给用户.比如"凳子"跟"椅子" ...

  2. Google开源word2vec,文本相似度计算工具

    Google开源word2vec,文本相似度计算工具 谷歌已经使用Deep Learning技术开发了许多新方法来解析语言,目前,谷歌开源了一款基于Deep Learning的学习工具--word2v ...

  3. html标签 对word2vec,基于Word2Vec的中文短文本分类问题研究

    1 引言 移动终端的智能化和互联网技术的高速发展促使人们在移动互联网上交流的越来越频繁, 由此产生了大量的信息数据[, 这些数据多以短文本的形式作为信息传递的载体, 例如微博和即时推送新闻等, 其内容 ...

  4. 基于 word2vec 商城推荐系统的设计与实现

    今天在整理磁盘空间时,无意中找到了 2018 年写的毕业论文对应的 Word 文档,翻看了一下,感觉还有点价值,所以决定将其搬运到公众号上,希望对有需要的读者朋友有所帮助. 内容概述:通过 NLP 中 ...

  5. 基于word2vec的中文词向量训练

    基于word2vec的中文词向量训练 使用katex解析的数学公式,csdn好像不支持 word2vec来源 Google开源 可以在百万数量级的词典和上亿的数据集上进行高效地训练 该工具得到的训练结 ...

  6. 基于word2vec+TextCNN 实现中文文本分类

    基于word2vec+TextCNN 作文本分类 一. 准备工作: 环境:python3.7+torch+GPU 数据集:网上下载的4分类中文文本,如下图: 模块使用: import os impor ...

  7. 基于Word2Vec的影评挖掘

    0. 夜来幽梦忽还乡 先声明一下,我是文艺型技术博主哈哈哈哈.等会写完学一手怎么调整脚本权限,插入歌曲.放弃放弃,学不会,打脸了. 各种原因很久没更新了,因为需要给新论文做一些铺垫,所以最近打算更新两 ...

  8. (一)JAVA基于OPENXML的word文档插入、合并、替换操作系列之基础篇

    (一)JAVA基于OPENXML的word文档插入.合并.替换操作系列之基础篇 前言 什么是Open Xml? Open XML SDK 这系列笔记要做点什么? 涉及技术点 关于word.openxm ...

  9. (五)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之word文件合并[支持多文件]

    (五).JAVA基于OPENXML的word文档插入.合并.替换操作系列之word文件合并[支持多文件] 二.word合并的多种方案简单比较 三.基于Open Xml WordprocessingML ...

  10. 基于 Word2Vec 和 SVM 的微博舆情情感演化分析 论文笔记

    目录 论文标题 引言 标题论文学术结构 1.相关研究综述(先前学者的研究) 2.研究方法 3.基于 Word2Vec 和 SVM 的微博情感演化分析 4.基于 Word2Vec 词相似度的舆情主体对象 ...

最新文章

  1. Android中GridView的实现实例
  2. Windows Print Spooler服务最新漏洞CVE-2021-34527详细分析
  3. java设计模式观察者模式_Java设计模式(9)——观察者模式
  4. MySQL与oracle报错显示_Oracle中判断表是否存在再删除表避免报错与MySql和SqlServer的不同...
  5. LCD RGB 控制技术 时钟篇(下)
  6. 富文本编译器UEditor+SSM的使用
  7. 【WPF】WPF中调用Winform
  8. JS Addition
  9. 三层交换原理及实验操作
  10. lte matlab code,LTE-MATLAB
  11. 英语名词复数s的发音规则
  12. 周鸿祎:人人需要Mentor,世界没有奇迹
  13. nginx: [emerg] could not build server_names_hash
  14. 农产品区块链溯源:疫情催使下的农产品认知升级
  15. java:io的基本实例
  16. 基于LD3320的51智能遥控语音小车
  17. 微电子跨专业考计算机,2018考研:盲目跨专业可能遇到的四个问题
  18. 网络安全--keytool CA签名SSL证书(收费)
  19. Cocos2d-x 2.0.1 学习tests示例(一)Manual Transformation
  20. VS2019 C# MySQL 学生信息增删改查(二、改查(续前节))

热门文章

  1. 深度理解感受野(一)什么是感受野?
  2. Intel VT学习笔记(八)—— 开启EPT
  3. 鸡啄米:C++编程入门系列之前言
  4. VS2010/MFC编程入门教程之目录和总结(鸡啄米)
  5. python编程求100以内能被5整除之和_打印1到100之间能被3和5同时整除的数,每行打印5个数用循环算出,这是属于c语言的类型...
  6. 对于程序员来说什么才是A站B站。。。Z站?
  7. Linux下彻底删除oracle
  8. 植物大战僵尸 修改存档和金钱
  9. 数据安全建设的准绳和参考标准
  10. 解析ipa生成plist文件