利用word2vec包将中文转变为词向量

代码展示:

import jieba
import re
import json
import logging
import sys
import gensim.models as word2vec
from gensim.models.word2vec import LineSentence, loggerpattern = u'[\\s\\d,.<>/?:;\'\"[\\]{}()\\|~!\t"@#$%^&*\\-_=+a-zA-Z,。\n《》、?:;“”‘’{}【】()…¥!—┄-]+'def get_sentence(data_file):f = open(data_file, encoding='utf-8') #读取json数据reader = f.readlines()sentences = []  # 修改:存放每个句子的列表for line in reader:line = json.loads(line.strip())sentence = ' '.join(jieba.cut(re.sub(pattern, '', line['sentence'])))sentences.append(sentence)  # 修改:将每个分词后的句子添加到 sentences 列表中word_lists = [sentence.split() for sentence in sentences]return word_listsdef train_word2vec(sentences, out_vector):# 设置输出日志logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)logger.info("running %s" % ' '.join(sys.argv))# 训练word2vec模型model = word2vec.Word2Vec(sentences, vector_size=100, sg=1, window=5, min_count=5, workers=4, epochs=5)# 保存word2vec模型model.save("word2vec_model.model")# 保存词向量到文件model.wv.save_word2vec_format(out_vector, binary=False)def load_model(w2v_path):model = word2vec.Word2Vec.load(w2v_path)  # 读取保存的模型return modeldef calculate_most_similar(model, word):similar_words = model.wv.most_similar(word)print(word)for term in similar_words:print(term[0], term[1])if __name__ == '__main__':out_vector = 'word_vectors.txt'word_lists = get_sentence('train.json')train_word2vec(word_lists, out_vector)model = load_model('word2vec_model.model')calculate_most_similar(model, "美国")  # 输出与美国在词向量空间中相近的词

结果展现:

 

word2vec.Word2Vec 方法中的参数含义如下:

  • sentences:输入的句子集合,可以是一个可迭代对象,每个元素表示一个句子,句子则是由单词组成的列表。

  • vector_size:词向量的维度大小。它决定了每个单词在训练过程中学习到的词向量的维度。

  • window:词向量训练时的上下文窗口大小。窗口大小表示当前词与预测词之间的最大距离。在训练时,窗口大小决定了模型考虑的上下文单词数量。

  • min_count:忽略频率低于此值的单词。如果一个单词在整个语料库中的出现次数少于 min_count,则该单词将被忽略,不会被用于训练模型。

  • workers:训练时使用的线程数量,用于加速训练过程。指定多个线程可以加快模型的训练速度。

  • sg:用于指定训练算法的模型类型。当 sg=0 时,表示使用 CBOW 模型;当 sg=1 时,表示使用 Skip-Gram 模型。

  • epochs:指定训练的迭代次数。一个迭代表示对整个语料库的一次遍历。

这些参数共同决定了 Word2Vec 模型的训练过程和最终学习到的词向量的质量。根据具体的应用场景和语料库的特点,可以调整这些参数以获得更好的结果。

sentence的具体格式(两个列表):

sentences = [['海陆空', '全能', '反恐', '王'], ['说', '出来', '你', '可能', '不', '信', '旅游', '日', '免费', '吃', '砂锅', '自助餐']]

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/830377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#创建obj三维模型文件

介绍 使用开源库创建obj三维模型文件。 开源库地址&#xff1a;https://github.com/JeremyAnsel/JeremyAnsel.Media.WavefrontObj 相关API地址&#xff1a;https://jeremyansel.github.io/JeremyAnsel.Media.WavefrontObj/api/JeremyAnsel.Media.WavefrontObj.ObjFile.html …

【docker】开放Docker端口

【docker 】 安装docker&#xff08;centOS7&#xff09;-CSDN博客 【docker】常用命令-CSDN博客 【docker】centos7配置docker镜像加速_docker仓库加速地址-CSDN博客 【docker】Hello World-CSDN博客 【docker 】Compose 使用介绍_docker compose 使用-CSDN博客 【docker…

linux(ubuntu18.04.2) Qt编译 MySQL(8.0以上版本)链接库 Qt版本 5.12.12及以上 包含Mysql动态库缺失问题

整理这篇文档的意义在于&#xff1a;自己走了很多弯路&#xff0c;淋过雨所以想为别人撑伞&#xff0c;也方便回顾&#xff0c;仅供参考 一、搭建开发环境&#xff1a; 虚拟机&#xff08;ubuntu-20.04.6-desktop-amd64&#xff09;&#xff1a;Mysql数据库 8.0.36Workbench …

tidb离线本地安装及mysql迁移到tidb

一、背景&#xff08;tidb8.0社区版&#xff09; 信创背景下不多说好吧&#xff0c;从资料上查tidb和OceanBase“兼容”&#xff08;这个词有意思&#xff09;的比较好。 其实对比了很多数据库&#xff0c;有些是提供云服务的&#xff0c;有些“不像”mysql&#xff0c;综合考虑…

智能合约语言(eDSL)—— wasmtime实现合约引擎补充

1、链上下文 由于我们是应用到区块链中&#xff0c;所以我们需要把链的环境传递给wasmtime&#xff0c;这样wasmtime在运行合约的时候&#xff0c;就可以获取到链上数据&#xff1b;我们运行合约当时的环境&#xff0c;打包成一个变量context&#xff0c;传递给wasmtime。conte…

【如何使用SSH密钥验证提升服务器安全性及操作效率】(优雅的连接到自己的linux服务器)

文章目录 一、理论基础&#xff08;不喜欢这部分的可直接看具体操作&#xff09;1.为什么要看本文&#xff08;为了zhuangbility&#xff09;2.为什么要用密钥验证&#xff08;更安全不易被攻破&#xff09;3.密码验证与密钥验证的区别 二、具体操作1.生成密钥对1.1抉择&#x…

计算机复试项目:SpringCloud实战高并发微服务架构设计

秒杀购物商城--环境搭建 秒杀购物商城基础服务组件--详细介绍 秒杀购物商城基础服务--权限中心 秒杀购物商城业务服务--收货地址 秒杀购物商城业务服务--秒杀活动服务 秒杀购物商城--购物车的功能设计及分析 秒杀购物商城基础服务-用户中心 秒杀购物商城业务服务--商品中…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之九 简单进行嘴巴检测并添加特效的功能实现

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之九 简单进行嘴巴检测并添加特效的功能实现 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之九 简单进行嘴巴检测并添加特效的功能实现 一、简单介绍 二、简单…

Visual Studio Installer 运行python 汉字

问题描述&#xff1a; Visual Studio Installer 在正常情况下运行python文件时时候&#xff0c; 不能编译中文注释&#xff0c;更不能输出中文。 解决方法&#xff1a; 在程序开头下面这一行即可。 #coding:GBK 原因及解释&#xff1a; #coding:GBK 是 Python 源文件中的一个…

ceph 1 pool(s) do not have an application enabled

查看 ceph 状态 cluster:id: 58f90b9a-155c-43cf-98af-54cb611fc8e0health: HEALTH_OKservices:mon: 3 daemons, quorum a,b,d (age 79m)ne>mgr: b(active, since 59m), standbys: ane>mds: 1/1 daemons up, 1 hot standbyne>osd: 6 osds: 6 up (since 79m), 6 in…

ArcGIS小技巧—模型构建器快速提取河网

上篇文章介绍的基于DEM的河网提取&#xff0c;需要使用多个工具&#xff0c;整体操作比较繁琐&#xff0c;在日常工作中&#xff0c;使用Arcgis提供的模型构建器可以帮助我们将多个工具整合在一起&#xff0c;在面对大量数据批量处理时&#xff0c;可以大大提高工作效率 利用模…

Python基本数据类型

描述 Python是一种高级编程语言&#xff0c;拥有丰富的数据类型用于表示不同类型的数据。基本数据类型可以分为数值型&#xff08;Numbers&#xff09;、字符串型&#xff08;Strings&#xff09;、布尔型&#xff08;Booleans&#xff09;、空值&#xff08;NoneType&#xff…

8、Flink 在 source 处生成水位线 和 在 source 之后生成水位线案例

1、AtSourceGenerateWatermark 注意&#xff1a;从 Flink 1.17开始&#xff0c;FLIP-27 源框架支持拆分级别的水印对齐。 import java.time.Duration;public class _02_AtSourceGenerateWatermark {public static void main(String[] args) throws Exception {StreamExecution…

摇杆控制电机

参考&#xff1a; 摇杆电位器控制步进电机正反转调速-Arduino中文社区 - Powered by Discuz! 一个基于树莓派和Python的无人机视觉跟踪系统_ 北漠苍狼的专栏(QQ:1746430162)-CSDN博客

数字化wms仓库管理软件,实现企业仓储信息共享与智慧运行-亿发

在经济飞速发展的今天&#xff0c;企业面临着客户需求多样化、质量和交期要求提高以及激烈的市场竞争等挑战。在这样的背景下&#xff0c;许多企业开始考虑采用数字化仓储WMS系统来解决这些问题。 数字化仓储WMS系统通过打造高效、规范的仓库管理体系&#xff0c;实现了对产品…

爱普生晶振在物联网LoRa通讯中的应用

LoRa 是LPWAN通信技术中的一种&#xff0c;是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输方案。这一方案改变了以往关于传输距离与功耗的折衷考虑方式&#xff0c;为用户提供一种简单的能实现远距离、长电池寿命、大容量的系统&#xff0c;进而扩展传感网络…

【Spring】2.Spring中Bean的生命周期管理及定义

在Spring框架中&#xff0c;Bean是一个被Spring IoC容器实例化、组装和管理的对象。Bean就是Spring应用中的对象&#xff0c;它们形成了Spring应用的骨干。Spring IoC容器负责创建Bean&#xff0c;配置Bean以及管理Bean的完整生命周期。 Bean的生命周期 实例化Bean&#xff1a…

神经网络高效训练:优化GPU受限环境下的大规模CSV数据处理指南

最近训练模型,需要加载wifi sci data 数据量特别大,直接干爆内存,训练也特别慢,快放弃了!随后冷静下来,然后靠着多年的经验,来进行层层优化,随诞生了这篇博客。 背景介绍 机器学习模型的训练通常需要大量的数据,尤其是对于深度神经网络模型。然而,当数据集非常庞大时…

网络之路29:三层链路聚合

正文共&#xff1a;1666 字 17 图&#xff0c;预估阅读时间&#xff1a;3 分钟 目录 网络之路第一章&#xff1a;Windows系统中的网络 0、序言 1、Windows系统中的网络1.1、桌面中的网卡1.2、命令行中的网卡1.3、路由表1.4、家用路由器 网络之路第二章&#xff1a;认识企业设备…

wow_iot模块说明

wow_iot模块说明 wow_iot模块主要用于系统关联与基础接口封装库的实现&#xff0c;以供其它库文件与可执行文件调用&#xff0c;主要涉及algorith算法模块、config配置模块、database数据库模块、plugin插件模块、encode编码模块、encrypt加密模块、hash哈希模块、protocol协议…