文章目录
ltp是哈工大出品的自然语言处理工具箱, pyltp是python下对ltp(c++)的封装. 在linux下我们很容易的安装pyltp, 因为各种编译工具比较方便. 但是在windows下需要安装vs并且还得做一些配置, 因为我服务的人都是在windows下办公, 需要让他们能够在windows下使用ltp, 所以才有了这篇笔记. 我的方案有两个:
- 在win10 的bash下安装ltp, 然后启动ltp的server, 通过http协议来实现在windows下python调用ltp的方法.
- 安装编译好的wheel(目前只有python3.6/3.5 amd64)(我推荐这种方案)
- 我在文章最下面还引用了一种方法, 就是使用官方已经编译好的可执行exe文件, 直接在命令行(如cmd)下调用.
第一种方案: bash下安装
基本环境
- windows 10
- bash for windows
- python 3.6
安装bash on ubuntu on windows
这个大家自行百度, 安装很简单.
安装编译环境
1 | sudo apt install cmake |
安装过程大概十几分钟.
下载ltp源码
下载源码, 这是github地址.
解压到你能记住的位置
编译
cd到源码目录, 比如我的目录:
cd /mnt/d/bash-sites/ltp-3.4.0
运行编译命令:
1 | ./configure |
编译过程大概花费十几分钟. 现在我的目录里多了一个bin文件夹:
1 | drwxrwxrwx 0 root root 512 Jan 31 15:42 ./ |
配置server
一开始我启动server遇到了这个错误.
1 | [INFO] 2018-01-31 15:54:39 Loading segmentor model from "ltp_data/cws.model" ... |
因为缺少了模型文件, 在这里下载最新的模型文件.
解压到/mnt/d/bash-sites/ltp-3.4.0/ltp_data/下, 这是ltp默认的数据模型存放位置.
然后就能顺利启动服务器啦.
1 | syd@DESKTOP-J02R2VJ:/mnt/d/bash-sites/ltp-3.4.0$ ./bin/ltp_server --port 9090 |
测试
随便写个请求, 看看效果:
1 | import requests |
1 | [ |
第二种方案: 安装wheel
下载wheels
下面两个文件针对不同的python版本下载一个即可, 这是我在自己的电脑(win10)上编译的,不知道你的系统是否能用,64bit的windows应该都可以,有问题在下面留言。
注意: 这两个文件的区别是python版本号
安装文件
下载好了以后, 在命令行下, cd到wheel文件所在的目录, 然后使用命令pip install wheel文件名
安装.
测试
安装好了以后, 打开python shell, 试用一下.
1 | from pyltp import SentenceSplitter |
下载models数据
- 下载models链接:https://pan.baidu.com/s/1o9vytmU 密码:5ntf
- 放到任意方便调用的地方即可, 因为程序里需要你自己主动调用的
第三种方案: 直接调用编译好的ltp的可执行文件
可以参考这篇文章, 但是我在3.4版本中测试不成功, 加载srl资源失败. 但是在3.3.1版本上测试是成功的.