楼主: 南博吉吉
2224 1

Python | 用word2vec模型扩展词典时遇到的问题及解决方案 [推广有奖]

  • 0关注
  • 1粉丝

大专生

20%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
29.0436
学术水平
3 点
热心指数
3 点
信用等级
3 点
经验
429 点
帖子
24
精华
0
在线时间
40 小时
注册时间
2022-2-15
最后登录
2023-3-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

想通过word2vec模型扩展词典,代码行数不多,但是一点运行就报错,问题解决一个又来一个,虽然花了不少时间,但还是挨个把问题排除了。记录一下遇到的问题及解决方案。

一、gensim


如下图所示,第一个问题是:No module named 'gensim'。

解决思路:

安装gensim前提是需要有numpy和scipy这2个python库。

步骤:

第一,打开链接

https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

下载符合自己电脑配置的numpy和scipy。笔者下载的版本是:

numpy-1.22.4+vanilla-pp38-pypy38_pp73-win_amd64SciPy-1.8.1-pp38-pypy38_pp73-win_amd64

第二,将下载好的numpy和scipy文件放在电脑的任意一个磁盘中。

第三,在cmd中运行代码存放路径,以笔者存放的路径为例,代码如下。

pip install D:\numpy-1.22.4+vanilla-pp38-pypy38_pp73-win_amd64pip install D:\SciPy-1.8.1-pp38-pypy38_pp73-win_amd64

第四,上述操作成功后再运行pip install gensim。

当然,这样还不成功的话,第四步的操作代码可以更换为

pip install -i https://pypi.mirrors.ustc.edu.cn/simple gensim

二、multistop

如下图所示,第二个问题是:No module named 'multistop'。直接在jupyter notebook和cmd中运行代码:pip install multistop,不成功。

解决思路:

直接安装不成功,尝试从PyPI镜像下载包。

步骤:

在cmd中运行代码,就可以成功安装。

pip install  multistop  -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com

、code

如下图所示,第三个问题是:'gbk' codec can't decode byte 0xff in position 0。

解决思路:

需要手动改每个文件的解码方式,以前可能会打开每个文件来看编码方式,然后再改。或者在gbk和utf-8之间来回改动。这样效率太低了,找到一个代码直接检测文件的编码方式,然后有针对性地改。

步骤:

以documents.txt这个文件为例,运行代码:

import chardetcurrentFile = open('data/documents.txt',mode='rb')content = currentFile.read()print(chardet.detect(content))

输出结果为:

{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}

更改解码方式后,就没有出现这个问题了。

、punkt

如下图所示,第四个问题是:Resource punkt not found。按照提示,运行代码

import nltknltk.download('punkt')

没有成功。

解决思路:

下载punkt,存放到路径中。

步骤:

第一步,点击链接GitHub - nltk/nltk_data: NLTK Data,下载punkt文件。当然,网上有解决方案直接把下载好的punkt压缩包放到百度云盘了,可以打开这个链接下载,然后解压。

https://blog.csdn.net/qq_43066104/article/details/115336148

第二步,把下载好的punkt文件放至上述报错的任一路径下即可。如果按照上述路径没有找到nltk_data和tokenizers文件夹,需要自己建立相应文件夹。最终把punkt文件放在tokenizers文件夹里即可。

以笔者的路径为例:

C:\Users\10405\AppData\Roaming\nltk_data\tokenizers\punkt

、小结

其实还有一个小问题,但是当时忘记截图了。笔者在百度上找了一个问题提示代码,大概是这样的:

error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/

意思是编译环境不行,需要下载visual studio。根据提示中的链接下载并安装visualstudio就好了。

虽然在排除完这些问题之后,代码顺利运行了。但是扩展出来的相似词并不理想,可能还需进一步修改代码和补充语料。笔者作为Python新手,还不能完全理解这些操作背后的原理,只能是“遇河搭桥,遇水开路”。笔者还发现不同的代码在不同的电脑上遇到的问题和解决方法可能不一样,所以当你遇到上述问题时,按照笔者的思路可能也解决不了。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python VEC模型 解决方案 word VEC

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 鼓励积极发帖讨论

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

沙发
南博吉吉 发表于 2022-5-26 11:50:56 |只看作者 |坛友微信交流群
该文首发于公号:南博吉吉,欢迎关注。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 22:02