NLP新手入门-第N3周:调用Gensim库训练Word2Vec模型

一、课题背景和开发环境

📌第N3周:调用Gensim库训练Word2Vec模型📌

  • Python 3.8.12
  • gensim==4.3.1
  • numpy==1.21.5 -> 1.24.3
  • portalocker==2.7.0
  • pytorch==1.8.1+cu111
  • torchtext==0.9.1

📌本周任务:📌

  • 阅读NLP基础知识里Word2vec详解一文,了解并学习Word2vec相关知识
  • 学习本文内容,在下一篇文章中,将使用Word2vec辅助完成文本分类任务

数据集:
in_the_name_of_people.txt

二、准备工作

1. 安装Gensim库

pip install gensim

Collecting gensim
  Downloading gensim-4.3.1-cp38-cp38-win_amd64.whl (24.0 MB)
     |████████████████████████████████| 24.0 MB 1.7 MB/s
Requirement already satisfied: numpy>=1.18.5 in d:\programdata\anaconda3\envs\pytorch\lib\site-packages (from gensim) (1.21.5)
Collecting smart-open>=1.8.1
  Downloading smart_open-6.3.0-py3-none-any.whl (56 kB)
     |████████████████████████████████| 56 kB 2.0 MB/s
Requirement already satisfied: scipy>=1.7.0 in d:\programdata\anaconda3\envs\pytorch\lib\site-packages (from gensim) (1.8.0)
Installing collected packages: smart-open, gensim
Successfully installed gensim-4.3.1 smart-open-6.3.0

2. 对原始语料分词

选择《人民的名义》的小说原文作为语料,先采用jieba进行分词。

拿到了分词后的文件,在一般的NLP处理中,会需要去停用词。由于word2vec的算法依赖于上下文,而上下文有可能就是停词。因此对于word2vec,我们可以不用去停词,仅仅去掉一些标点符号,做一个简单的数据清洗。

import jieba
import jieba.analyse


def BuildPrefixDict(txtfilepath):
    # 加入一些词(人名),使得jieba分词准确率更高
    jieba.suggest_freq('沙瑞金', True)
    jieba.suggest_freq('田国富', True)
    jieba.suggest_freq('高育良', True)
    jieba.suggest_freq('侯亮平', True)
    jieba.suggest_freq('钟小艾', True)
    jieba.suggest_freq('陈岩石', True)
    jieba.suggest_freq('欧阳菁', True)
    jieba.suggest_freq('易学习', True)
    jieba.suggest_freq('王大路', True)
    jieba.suggest_freq('蔡成功', True)
    jieba.suggest_freq('孙连城', True)
    jieba.suggest_freq('季昌明', True)
    jieba.suggest_freq('丁义珍', True)
    jieba.suggest_freq('郑西坡', True)
    jieba.suggest_freq('赵东来', True)
    jieba.suggest_freq('高小琴', 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值