python中文分词
一、jieba分词
1、精确模式(默认):试图将句子最精确地切开,适合文本分析;
seg = jieba.cut(“这是一段中文字符”, cut_all = False)
- 1
不加cut_all 为默认的精确模式
2、全模式,把句子中所有的可以成词的词语都扫描出来,但是不能解决歧义;
seg = jieba.cut(“这是一段中文字符”, cut_all = True)
- 1
3、搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。
seg =jieba.cut_for_search(“这是一段关于结巴分词的中文句子”)
- 1
搜索引擎模式
注意:jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的 generator,并不是一个list列表
二、哈工大LTP
1、LTP在docker中的使用
1、在github上下载Dockerfile文件
直接new一个ltp file,new一个Dockerfile文件,把github上的Dockerfile 内容直接粘贴下来
2、运行docker build -t ltp/ltp .
注意要在ltp文件夹中run terminal
3、在配置中给docker运行给予足够大的内存。我们这里设置了6G运行内存。
采用默认的配置,未进行内存设置
4、使用如下命令启动容器,这里的8080是映射到本地的端口号,可以根据需要改动为其 他未占用的端口:
docker run -d -p 8080:12345 ltp/ltp /ltp_server --last-stage all
- 1
5、使用如下命令测试服务器是否部署成功。启动后可能需要等待数十秒的模型加载时间。:
curl -d "s=他点头表示同意我的意见。&f=xml&t=all" http://127.0.0.1:8080/ltp
- 1
测试成功后按照文档使用即可
2、源码的编译安装
1、下载源码和model
注意源码要和模型的版本对应
存放的路径要注意(我直接把模型提取到源码的文件夹中)
2、安装cmake
cmake的安装在linux下建议直接
pip install cmake
(cmake官网下载安装时出现了错误)
3、直接在根目录中运行
./configure
make
即
4、然后参考文档
使用ltp_test \ltp_server
以及各种命令行 xxx_cmdline
3、python 调用封装好的pyltp
注意安装时python3.7会失败
from pyltp import 各个模块的功能
三、中科院NLPIR
两种使用方式
1、直接使用封装好的nlpir
pip install nlpir 就可以安装好
直接import nlpir 就可以调用
缺点:功能少,不如直接用jieba
2、使用NLPIR接口
利用官方文档,要在电脑上搭建swig
(了解比较少)
四、总结
jieba最为简洁,python中的使用最为方便,可以满足基本的分词需求
nlp功能较多,文档完善,除分词外还具有词性分析等功能,但是源码、模型版本较多,安装起来复杂
nlpir直接调用的功能少,不如直接用jieba分词;搭建swig,了解不多
一家直言,如有偏颇,请您直接指出