Doc2Vec 是 Mikolov 在 Word2Vec 基础上提出的另一个用于计算长文本向量的工具,Doc2Vec 将文档语料通过一个固定长度的向量表达。

from gensim.models.doc2vec import Doc2Vec, LabeledSentence
import jieba
from pprint import pprint# Doc2Vec 将文档语料通过一个固定长度的向量表达。
# 在 Gensim 库中,Doc2Vec 与 Word2Vec 都极为相似。
# 但两者在对输入数据的预处理上稍有不同,Doc2vec 接收一个由 LabeledSentence 对象组成的迭代器作为其构造函数的输入参数。
# 其中,LabeledSentence 是 Gensim 内建的一个类,它接收两个 List 作为其初始化的参数。
# Doc2Vec 也包括两种实现方式:DBOW(Distributed Bag of Words)和 DM (Distributed Memory)。
# 定义数据预处理类,作用是给每个文章添加对应的标签# 定义停用词、标点符号
punctuation = [",", "。", ":", ";", ".", "'", '"', "’", "?", "/", "-", "+", "&", "(", ")"]
sentences = ["长江是中国第一大河,干流全长6397公里(以沱沱河为源),一般称6300公里。流域总面积一百八十余万平方公里,年平均入海水量约九千六百余亿立方米。以干流长度和入海水量论,长江均居世界第三位。","黄河,中国古代也称河,发源于中华人民共和国青海省巴颜喀拉山脉,流经青海、四川、甘肃、宁夏、内蒙古、陕西、山西、河南、山东9个省区,最后于山东省东营垦利县注入渤海。干流河道全长5464千米,仅次于长江,为中国第二长河。黄河还是世界第五长河。","黄河,是中华民族的母亲河。作为中华文明的发祥地,维系炎黄子孙的血脉.是中华民族民族精神与民族情感的象征。","黄河被称为中华文明的母亲河。公元前2000多年华夏族在黄河领域的中原地区形成、繁衍。","在兰州的“黄河第一桥”内蒙古托克托县河口镇以上的黄河河段为黄河上游。","黄河上游根据河道特性的不同,又可分为河源段、峡谷段和冲积平原三部分。 ","黄河,是中华民族的母亲河。"]# 分词,去标点符号
sentences = [jieba.lcut(sen) for sen in sentences]
tokenized = []
for sentence in sentences:words = []for word in sentence:if word not in punctuation:words.append(word)tokenized.append(words)
print(tokenized)doc_labels = ["长江", "黄河", "黄河", "黄河", "黄河", "黄河", "黄河"]
class LabeledLineSentence(object):def __init__(self, doc_list, labels_list):self.labels_list = labels_listself.doc_list = doc_listdef __iter__(self):for idx, doc in enumerate(self.doc_list):yield LabeledSentence(words=doc, tags=[self.labels_list[idx]])# 上述语料每一句话当做一个文本,添加上对应的标签
iter_data = LabeledLineSentence(tokenized, doc_labels)
print(iter_data)
pprint(list(iter_data))# dm = 0 或者 dm=1 决定调用 DBOW 还是 DM
model = Doc2Vec(dm=1, size=100, window=8, min_count=1, workers=4)
# 模型开始训练之前需要对词汇表进行编译
model.build_vocab(iter_data)
#  start_alpha为开始学习率,end_alpha与start_alpha 线性递减。
model.train(iter_data, total_examples=model.corpus_count, epochs=1000, start_alpha=0.01, end_alpha=0.001)# 根据标签找最相似的,这里只有黄河和长江,所以结果为长江,并计算出了相似度
print(model.docvecs.most_similar('黄河'))
print(model.docvecs.similarity('黄河','长江'))

原文:
https://soyoger.blog.csdn.net/article/details/108729409

中文自然语言处理--文档向量Doc2Vec相关推荐

  1. 【Python自然语言处理】文本向量化的六种常见模型讲解(独热编码、词袋模型、词频-逆文档频率模型、N元模型、单词-向量模型、文档-向量模型)

    觉得有帮助请点赞关注收藏~~~ 一.文本向量化 文本向量化:将文本信息表示成能够表达文本语义的向量,是用数值向量来表示文本的语义. 词嵌入(Word Embedding):一种将文本中的词转换成数字向 ...

  2. 使用deeplearning4j训练Doc2Vec(文档向量)

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. 训练文档向量 在上一小节中,本人介绍了使用DeepLea ...

  3. doc2vec 文档向量

    目录 1 目的和思想 2 模型原理 2.1 PV-DM(段落向量的分布式存储模型) 2.2 PV-DBOW (段落向量的分布式单词包版本) 3 doc2vec 总结 4 应用任务 1 目的和思想 do ...

  4. gnokii 短信猫 中文安装使用文档

    gnokii 短信猫 中文安装使用文档 2010年11月19日 - admin 8月份做的一个东东,重新整理了一下发上来.当日后使用文档! 环境: centos 5.2,短信猫设备: wave 安装软 ...

  5. gnokii 中文安装使用文档

    gnokii 中文安装使用文档 2010年11月19日 - admin 8月份做的一个东东,重新整理了一下发上来.当日后使用文档! 环境: centos 5.2,设备: wave 安装软件地址: ht ...

  6. iText创建一个含有中文的pdf文档

    有朋友问我pdfbox支不支持向pdf文档中写入中文.然后试了好多遍都是有乱码,也找了好多资料没有找到解决办法. 但是在查找资料的过程中发现了另一个处理pdf的开源库iText.官方介绍 http:/ ...

  7. (转载)中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  8. Keras深度学习实战(26)——文档向量详解

    Keras深度学习实战(26)--文档向量详解 0. 前言 1. 文档向量基本概念 2. 神经网络模型与数据集分析 2.1 模型分析 2.2 数据集介绍 3. 利用 Keras 构建神经网络模型生成文 ...

  9. 中文 Appium API 文档

    该文档是Testerhome官方翻译的 源地址:https://github.com/appium/appium/tree/master/docs/cn 官方网站上的:http://appium.io ...

最新文章

  1. JavaScript创建对象的方法
  2. 如何打印一个Struct来调试
  3. 使用PYTORCH复现ALEXNET实现猫狗识别
  4. hihocoder 1689 - 推断大小关系(图论+二分)
  5. linux启动过程剖析,分析Linux系统的启动过程
  6. js简单动画:匀速动画、缓动动画、多物体动画以及透明度动画
  7. 浅谈构造函数(c#)
  8. SQLi-LABS Less-2,联合注入+报错注入
  9. .net中如何同步获取数据方式增加一样数据自动刷新列表_知客CRM如何对接微信公众号...
  10. Java编程:分治算法
  11. python作函数图像_如何使用python的matplotlib模块画余切函数图像
  12. 开源重磅分销版微信商城源码首发
  13. 记事本代码在命令行运行时出现的中文乱码问题
  14. 优化静态html页面速度的步骤好人方法,对网站速度优化的10个简单步骤
  15. Python基础知识笔记(三)——字典、集合
  16. Vue3.0实现原生高度可自定义菜单组件vue3-menus
  17. 读书笔记:《企业IT架构转型之道》
  18. 【Python黑科技】几行代码绘制gif动图(保姆级图文+实现代码)
  19. 电脑没有鼠标怎么打开计算机,电脑鼠标右键菜单没有打开方式选项怎么办
  20. LeetCode Weekly Contest 199

热门文章

  1. 设置mysql事务隔离级别
  2. 网上电子商城的设计与实现
  3. 2023年12306购票平台自动化购票二|解决车次查找与预定
  4. 期刊卷号期号什么意思
  5. 晒婚纱照了! ^_^
  6. 周五周末每天1小时,未成年人网游「防沉迷」靠刷脸、大数据验证身份?
  7. 中国当代团员,同先辈相比多了什么
  8. 计算机专业必须要i7处理器,懂电脑的人为什么不买i7处理器?有什么依据吗?...
  9. 2021-2027全球与中国重量稀释仪市场现状及未来发展趋势
  10. 低成本[200元以下]打造分布式WIFI