NLP自然语言处理工具

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。
它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,
支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口

大家通过官网可以很容易找到自己需要的代码,尤其是安装问题。之前我遇到使用pip install –upgrade gensim安装后,出现DLL无法查找到的问题

from gensim.models.fasttext_corpusfile import train_epoch_sg, train_epoch_cbow
ImportError: DLL load failed: 找不到指定的模块。

从百度的解决方案基本都是

(1)先用pip uninstall +包名命令依次将numpy,scipy,gensim卸载。
(2)再按numpy,scipy,gensim顺序依次安装,能够解决这一问题

但对于已经安装了conda的我来说,应该是numpy,scipy,gensim的版本或者缺少包导致的,于是我上了官网,在官网中找到了正确的安装姿势

conda install -c conda-forge gensim

自然语言处理中,中文的分词与英文的区别比较大。中文一般采用语料库进行分词匹配,而jieba虽然已经很长时间不更新了,最近试用了一下,分词效果还可以,可以作为入门的分词工具。
安装采用

pip install jieba
当然也可以先下载 http://pypi.python.org/pypi/jieba/
然后解压,运行 python setup.py install

安装过程中一般不会遇到什么困难,访问官方的文档是github.com/fxsjy/jieba
不过因为工具本身维护的关系,相关的API文档解释有点简单,主要还是通过同步源码,利用其中的test用例来了解其用法。
包括在test中用到百度的飞桨paddlepaddle https://www.paddlepaddle.org.cn/,我对这个深度学习平台不太了解,后面还是要找机会了解一下。
jieba的lcut或者cut方法,对于中文的标点、常用词都会分解出来,也就是说可以还原成原句子,但是不利于做特征值提取

result = jieba.lcut("这是一个伸手不见五指的黑夜。我叫孙悟空,我爱北京,我爱Python和C++。")
print(result)
结果
['这是', '一个', '伸手不见五指', '的', '黑夜', '。', '我', '叫', '孙悟空', ',', '我', '爱', '北京', ',', '我', '爱', 'Python', '和', 'C++', '。']

但是利用jieba的analyse解析出来的更合适做特征值提取

import jieba.posseg as pseg
tags = jieba.analyse.extract_tags("这是2002一个伸手不见五指的黑夜。我叫孙悟空,我爱北京,我爱Python和C++。")
print(tags)
结果['2002', 'Python', 'C++', '伸手不见五指', '孙悟空', '黑夜', '北京', '这是', '一个']

利用collections可以计算词频

import collections
c = collections.Counter(tags)

Original: https://blog.csdn.net/super_ma_1981/article/details/121318892
Author: ERP面壁者
Title: NLP自然语言处理工具

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/531373/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球