基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式

article/2025/10/13 11:41:29

基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式

近期想要整理下硬盘里的东西,看到本科毕设做情感倾向分析相关的数据,想起当时使用gensim训练词向量模型训练了超级久,决定将训练好的模型上传到云空间,记录下怎么使用的,以防以后需要用到。

具体训练方式貌似应该不怎么需要用到就不细细理顺了,主要记录下使用方式。训练好的词向量模型已上传,有需要用的朋友可以自行下载:

链接:https://pan.baidu.com/s/1HWY_DtrKLebry3_LyFQKPA
提取码:4u1n

其实训练得到的gensim词向量模型有两种加载方式,这里就上传其中一个.vector文件的形式吧。顺便上传一个停用词表,用的是当时哈工大的一个停用词表,不知道现在有没有更新。

当时训练词向量模型还是2019年四月,因此训练的语料库是当时最新的wiki中文语料库,语料更新至2019年3月2日,包含语料334,014条。接下来介绍怎么使用gensim训练的word2vec词向量模型。当时训练模型是基于python进行训练的,所以用到的都是python代码。最近使用r开发算法愈发频繁,发现了一个可交互使用到r与python的方法,最后将会介绍怎么从r中加载并应用已训练好的词向量模型。

需要安装与加载的库

import numpy as np
import jieba
import gensim

加载模型

加载gensim训练的词向量模型有两种方法,一个是加载.model文件,一个是加载.vector文件。加载.model会要求要有几个.npy的文件。

# 加载wikizh.model
model = gensim.models.word2vec.Word2Vec.load('./model/wikizh.model')# 或者wikizh.vector:
model = gensim.models.KeyedVectors.load_word2vec_format('wikizh.vector')
model.init_sims(replace=True)

加载后就可以用这个模型对文本进行词向量转化啦~当时训练的词向量是个300维的向量,比如我们可以查询你好的词向量

hi = model['你好']

会得到一个300维的词向量:在这里插入图片描述
其他操作可以看下gensim的相关资料。

文本语句的词向量转化

对于文本语句,首先需要对它进行分词操作,这里直接使用jieba进行分词即可。同时,需要进行停用词的处理,为了方便之后使用,将这些都写成了函数的形式。
首先是加载停用词表:

def getStopwords():"""获取停用词表这里使用哈工大停用词表"""stopwords = []with open('./dictionary/Hstopwords.txt', 'r', encoding = 'utf-8') as fp:stopwords_List = fp.readlines()for l in stopwords_List:stopwords.append(l.strip('\n'))return stopwordsstopwords = getStopwords()

在这里插入图片描述
对于文本通常是语句的形式,常用的处理方式是通过jieba进行分词操作。

# 文本分割
def sent2word(sentence):"""通过jieba进行文本分割,去除停用词input : sentence - 原文output :newSent - 进行文本分割并去除停用词的文本"""seg_List = jieba.cut(sentence)seg_Result = []for w in seg_List:seg_Result.append(w)new_Sent = list(filter(lambda x:x not in stopwords, seg_Result))return new_Sentsentence = '疫情快结束吧!'
words = sent2word(sentence)
print('sentence: ', sentence, 'to words: ', words)

输出结果

sentence:  疫情快结束吧! to words:  ['疫情', '快', '结束']

对于一个由词组成的列表,通过model获取它的词向量:

def getWordVecs(word_List):"""获取词向量input:word_List - 输入语句output:vecs - 语句对应的词向量"""vecs = []for word in word_List:word = word.replace('\n', '')try:vecs.append(model[word])except KeyError:continuereturn np.array(vecs, dtype = 'float')senVec = getWordVecs(words)

在这里插入图片描述
当时为了方便直接将文件转为词向量,写了一个函数:

def buildVecs(filename):"""构建文档词向量input:filename - 输入文档名output:file_Input - 文档对应的词向量"""file_Input = []with open(filename, 'r', encoding ='utf-8') as f:lines = f.readlines()for l in lines:l = l.strip('\n')l = sent2word(l)# print(l)result_List  = getWordVecs(l)# print(result_List)# for each sentence, the mean vector of all its vectors is used to represent this sentenceif len(result_List) != 0:result_Array = sum(np.array(result_List)) / len(result_List)file_Input.append(result_Array)return file_Input

这个对.txt之类的可能会方便写,.csv的话就更方便了,直接读取成DataFrame,对每一行进行转换即可。

R与python的交互

最后,由于最近经常需要用R开发,发现了一个R调用python超级好用的包,顺手写下怎么在R中调用Python。
首先需要安装reticulate以及写好的python代码,只需要将上面的函数放到一个代码里就好。在R中输入:

path <- 'yourFilePath'
setwd(path)library(reticulate)
source_python('./yourfile.py')

调用后,在python中写的函数与生成的变量都可以直接用。
在这里插入图片描述
使用方式与python中的一致,比如输出你好的词向量:

model['你好']

唯一的缺陷就是不能存储为.Rdata进行使用,存储后貌似都是空的东西。

以上就是关于wiki中文语料库的gensim模型使用方法以及R语言的调用方式的记录啦~


http://chatgpt.dhexx.cn/article/1LT84yyH.shtml

相关文章

维基百科中文语料库训练word2vec模型和使用总结

首先列明参考博文地址&#xff1a; 使用中文维基百科语料库训练一个word2vec模型并使用说明 windows使用opencc中文简体和繁体互转 使用中文维基百科训练word2vec模型 一、下载维基百科中文语料库 下载地址&#xff1a;https://dumps.wikimedia.org/zhwiki/ 这里我选择的是20…

Windows下使用Glove训练自己的中文语料库

一、 准备自己的语料库 使用爬虫爬取数据&#xff0c;爬取之后的中文文本数据不能直接使用&#xff0c;需要进行分词&#xff0c;分完词后保存为data.txt&#xff08;这是我爬取的豆瓣影评的数据&#xff09; 二、下载Glove代码 https://github.com/stanfordnlp/GloVe 将数…

NLP浅谈语料库

NLP浅谈语料库 1. 浅谈语料库 1.1 语料和语料库 ​ 语料通常指在统计自然语言处理中实际上不可能观测到大规模的语言实例。所以人们简单地用文本作为替代&#xff0c;并把文本中的上下文关系作为现实世界中语言的上下文关系的替代品。 ​ 语料库一词在语言学上意指大量的文…

python使用nltk进行中文语料库的词频分布统计

文章目录 问题描述构建语料库统计字数统计词频分布 问题描述 根据给定的语料库&#xff0c;统计其中共包含多少字、平均每个词使用了多少次以及常用词的分布以及累计分布情况。 本文就以大秦帝国第一部小说为例进行实验 本文可以使用在毕业设计中&#xff0c;如果有帮助采用请…

中文分词多领域语料库

中文分词多领域语料库 数据处理 各位NLPer&#xff0c;大家好&#xff01; 如果你还在从事中文分词领域的相关研究&#xff0c;你一定会发现&#xff0c;随着时间推移&#xff0c;中文分词的研究越来越少&#xff0c;BERT出现后&#xff0c;以字为粒度的方法盛行&#xff0c;有…

python训练自己中文语料库_自然语言处理——NLTK中文语料库语料库

Python NLTK库中包含着大量的语料库,但是大部分都是英文,不过有一个Sinica(中央研究院)提供的繁体中文语料库,值得我们注意。 在使用这个语料库之前,我们首先要检查一下是否已经安装了这个语料库。 >>>import nltk >>>nltk.download() 检查箭头所指…

python 提取sogou中文语料库

sogou中文语料库下载地址是&#xff1a;https://download.csdn.net/download/kinas2u/1277550 下载下来的文件包含了很多子文件夹&#xff0c;每个子文件夹下又包含了很多txt语料文件&#xff0c;我想把他们都整合到一个txt中&#xff08;./SogouC_mini_20061102/Sample&#x…

python训练自己中文语料库_中文语料库构建过程详细教程

简介 今天我想简单记录一下自己构建语料库的过程, 方便自己查看和方便协作. 在工作中我们经常遇到一个问题就是每个研究者都有自己的语料库, 存储格式不同, 有用mysql这种结构化数据库的, 也有mogodb这种文档型数据库, 还有更多的是使用文本文件, 不管哪种形式, 都会导致数据交…

15个国内常用语料库

通用单语语料库 01. 国家语委现代汉语通用平衡语料库 http://www.aihanyu.org/cncorpus/index.aspx 该语料库是由国家语言文字工作委员会主持&#xff0c;面向语言文字信息处理、语言文字规范和标准的制定、语言文字的学术研究、语文教育以及语言文字的社会应用&#xff0c;…

latex中文简历,硕博士找工作实习用,顶级简约简历

*转载请注明出处&#xff0c;谢谢&#xff01; *latex自制简历演示,前言本篇文章介绍一下如何利用,制作一份简单的个人简历。文章目的并不是给大家提供模板&#xff0c;而是希望大家通过本篇文章的介绍&#xff0c;对制作个人简历的过程有个简单的了解&#xff0c;有所启发。代…

分享一个Latex一页纸简历模板(中英文)

分享一个Latex一页纸简历模板&#xff08;中英文&#xff09; 近期鉴于需要想找一份中文版的latex简历模板。tex模板支持中文一直是新手的心头痛&#xff0c;笔者希望能找到一份无痛支持中文的模板&#xff0c;最终在GitHub上找到了billryan制作的模板&#xff0c;链接在全文的…

硕士博士简历latex模板

找工作找实习&#xff0c;技术类的&#xff0c;简洁版&#xff0c;简历模板 模板下载地址&#xff1a;https://download.csdn.net/download/qq_25379821/10799422 使用注意事项: 我使用的编辑器是 Texworks 注意把环境改成system&#xff0c;否则中文显示乱码

一个LaTeX论文模板

文章目录 $\LaTeX$源码模板效果图 LaTeX \LaTeX LATE​X源码 % -*- coding: UTF-8 -*- \documentclass[UTF8]{ctexart} \usepackage{multicol} %数学包&#xff0c;这里没用到 %\usepackage{amsmath} \usepackage{indentfirst} %添加作者信息 \usepackage{authblk} \usepackag…

安装R包的几种方法(汇总)

以下载ggplot包为例 1. 在R studio界面中直接输入函数&#xff1a; install.packages("ggplot") #直接输入R包的名字即可。 2. 找不到无法下载的包&#xff0c;可以上Github官网搜索&#xff0c;上面会提供下载方法&#xff1a; 3. 将包下载到本地后&#xff0c;进行…

R: R package安装的几种方式

R包安装方式 一、CRAN安装二、Bioconductor安装三、Github安装四、手动安装 一、CRAN安装 对于大多数R包或可以在R官网上查询到的包&#xff0c;都可以直接进行安装。 直接利用代码安装 install packages("R包的名称") 从R—packages界面搜索安装 在第3步中输入R包…

R安装与卸载、RStudio安装

R及RStudio安装、R卸载 R下载R安装Rstudio下载RStudio安装R卸载 RStudio只是辅助使用R进行编辑的工具&#xff0c;所以RStudio的正常使用需以R程序为基础&#xff0c;安装过R的可以跳过前两步 R下载 官网 点击download R。 点击选择清华大学的镜像地址 R安装 任意选择一个&…

RStudio的安装

安装RStudio教程 &#xff08;如果下面的博客没有能解决你的问题或者你还有其他关于计算机方面的问题需要咨询可以加博主QQ&#xff1a;1732501467&#xff09; 安装RStudio&#xff0c;总共分为三步&#xff1a; 一、安装R安装包 二、安装RStudio 三、测试RStudio是否安装…

R与RStudio的详细安装教程(有每一步的详细教程!!!!)

R与RStudio的详细安装教程 R是RStudio的前提&#xff0c;首先安装R&#xff0c;才能安装RStudio。 安装R教程总共分为三步&#xff1a; 一、下载R安装包 二、安装R 三、打开R 安装RStudio&#xff0c;总共分为两步&#xff1a; 一、安装RStudio 二、测试RStudio是否安装…

什么是mysql锁表

为何会锁表 首先我们了解一下数据库查询机制&#xff0c;首先我们用工具进行连接查询时&#xff0c;会创建一个connection&#xff0c;此时数据库会将查询语句解析成一棵“树”&#xff0c;各个引擎底层的结构不一样&#xff0c;mysql的话在innodb用的是b-tree&#xff0c;俗称…

MySQL-锁表和解锁

介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性&#xff1b;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制。 加锁是消耗资源的&#xff0c;锁的各种操作&#xff0c;包括获…