一键安装地址
pip install -r requirements.txt
pip镜像地址
-i https://pypi.tuna.tsinghua.edu.cn/simple
numpy
numpy用于矩阵运算
pip install numpy
NLTK
NLTK是自然语言工具处理包
pip installnltk
Gensim
Gensim:用于自动提取语义主题
-
pip install gensim
-
下载whl文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/,再pip install whl的文件;
Tensorflow
Tensorflow:采用数据流图用于数值计算的开源软件库;
pip install tensorflow
pip install tf-nightly-gpu/cpu
jieba
jieba:中文分词库,有三种分词模式,可加入自定义字典;
pip install jieba
Stanford NLP
Stanford NLP:
- 安装stanford nlp自然语言处理包:
pip install stanfordcorenlp
- 下载Stanford CoreNLP文件
https://stanfordnlp.github.io/CoreNLP/download.html - 下载中文模型jar包:
http://nlp.stanford.edu/software/stanford-chinese-corenlp-2018-02-27-models.jar - 把加压后的Stanford CoreNLP文件夹和下载的stanford-chinese-corenlp-2018-02-27-models.jar放在同一目录下
- 在Python中引用模型:
from stanfordcorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP(r‘path', lang='zh')
Hanlp
简介
Hanlp:中文分词,词性标注,命名实体识别(基于C++或java)
Hanlp主要由三部分组成:类库hanlp.jar包、模型data包、配置文件hanlp.properties,在JVM测试完成后,我们需要对其进行相关配置。
github网址:https://github.com/hankcs/HanLP#3%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6
JVM环境安装
-
首先安装Java的版本,我使用的java版本是jdk1.8;
-
接着安装Jpype,Jpype是通过python来调用java代码的一个工具包
pip install Jpype
-
在py环境下测试JVM是否可以正常启动:
from jpype import *
import os.path
startJVM(getDefaultJVMPath(),"-ea")
java.lang.System.out.printin("Hello World")
shutdownJVM()
Hanlp安装
Hanlp由三部分组成:类库hanlp.jar包、模型data包、配置文件hanlp.properties;
-
下载hanlp.jar包:
https://github.com/hankcs/HanLP -
下载data.zip:https://github.com/hankcs/HanLP/releases
http://hanlp.linrunsoft.com/release/data-for-1.7.0.zip
- 配置文件
配置hanlp的属性文件:hanlp.properties,配置文件的作用是告诉Hanlp数据包Data的位置,只需修改第一行:
root=usr/home/HanLP/
配置完成后,接下来我们需要将HanLP.properties放入classpath,所谓放入classpath,实质上是JVM启动时会在classpath下查找class和properties,这句话就是在指定classpath:
"-Djava.class.path=E:\NLP\hanlp\hanlp-1.5.0.jar;E:\NLP\hanlp"
常出现错误情况
Class com.hankcs.hanlp.HanLP not found
原因还是在于startJVM的设置,务必要检查两个方面:第一是路径放对了吗?第二是版本号对上了吗?(路径在放的时候注意最好用英文)unicodeescape' codec can't decode bytes
这个错误的原因就是转义,将之前路径的字符串前加上r’转义即可。
测试代码:
import jpype
from jpype import *
jvmPath = jpype.getDefaultJVMPath()
jpype.startJVM(jvmPath,r"-Djava.class.path=E:\NLP\hanlp\hanlp-1.5.0.jar;E:\NLP\hanlp",
"-Xms1g",
"-Xmx1g")
jpype.java.lang.System.out.println("hello world!")
HanLP = JClass('com.hankcs.hanlp.HanLP')
java.lang.System.out.println(HanLP.segment("你好,欢迎使用HanLP汉语处理包!"));
jpype.shutdownJVM()