安裝簡介
pyhanlp 安裝相對比較簡單,分爲以下幾步:
1.使用 pip install pyhanlp 安裝
2. 下載數據並將放至指定的目錄下
主程序安裝成功後,由於還需要字典和模型數據,所以需要下載安裝,但是由於數據包有幾百兆,所以很容易安裝失敗。我們可以使用第三方工具下載,然後將數據放至在以下文件夾 C:\ProgramData\Anaconda3\Lib\site-packages\pyhanlp\static
即可。具體包的位置可以通過以下錯誤信息獲得。如下所示,在最後一行提示 c:/programdata/anaconda3/lib/site-packages/pyhanlp/static\data 不存在
,這個路徑即是數據路徑。
C:\Users\pc>hanlp segment
Traceback (most recent call last):
File "c:\programdata\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\programdata\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\ProgramData\Anaconda3\Scripts\hanlp.exe\__main__.py", line 5, in <module>
File "c:\programdata\anaconda3\lib\site-packages\pyhanlp\__init__.py", line 145, in <module>
_start_jvm_for_hanlp()
File "c:\programdata\anaconda3\lib\site-packages\pyhanlp\__init__.py", line 77, in _start_jvm_for_hanlp
HANLP_DATA_PATH)
ValueError: 配置錯誤: 數據包 c:/programdata/anaconda3/lib/site-packages/pyhanlp/static\data 不存在,請修改配置文件中的root
如以上所示,將壓縮包解壓至在 c:/programdata/anaconda3/lib/site-packages/pyhanlp/static
目錄下即可,解壓後的 static
目錄下的結構如下所示。
C:/programdata/anaconda3/lib/site-packages/pyhanlp
├─static
│ ├─data
│ │ ├─dictionary
│ │ │ ├─custom
│ │ │ ├─organization
│ │ │ ├─other
│ │ │ ├─person
│ │ │ ├─pinyin
│ │ │ ├─place
│ │ │ ├─synonym
│ │ │ └─tc
│ │ └─model
│ │ ├─crf
│ │ │ └─pku199801
│ │ ├─dependency
│ │ └─perceptron
│ │ ├─ctb
│ │ ├─large
│ │ ├─pku1998
│ │ └─pku199801
│ └─__pycache__
└─__pycache__
注意事項
- 完成的HanLP的程序的名稱是
pyhanlp
,而不是hanlp
- 如下所示,由於網絡原因,有可能在安裝時會出錯而中斷,只需多試幾次即可。
$ pip install pyhanlp
Collecting pyhanlp
Downloading https://files.pythonhosted.org/packages/87/06/95b417a4c19d1d529f331ae6a3923c3d556916f8c1846be926322b1d2915/pyhanlp-0.1.57.tar.gz (85kB)
|████████ | 20kB 2.8kB/s eta 0:00:24ERROR: Exception:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\urllib3\response.py", line 397, in _error_catcher
...
...
(中間省略若干行)
...
...
File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\urllib3\response.py", line 402, in _error_catcher
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
運行
Eclipse運行方法
- 新建項目
- 將[1]/hanlp-1.7.5.jar引入至項目中
- 將[1]/hanlp.properties複製到在程序的[2]目錄下(如果不行在src目錄下也放一個)
參考目錄
[1] C:\ProgramData\Anaconda3\Lib\site-packages\pyhanlp\static
[2] C:\Users\pc\eclipse-workspace\HanlpDemo\bin
示例程序
package Test001;
import com.hankcs.hanlp.HanLP;
public class Demo1 {
public static void main(String[] args) {
System.out.println(HanLP.segment("你好,歡迎使用HanLP!"));
}
}
Python運行方法
直接編寫如下代碼即可運行。
#coding=utf-8
from pyhanlp import *
print(HanLP.segment('你好,歡迎在Python中調用 HanLP的API'))