方式一、Maven
為了方便用戶,特提供內置了數據包的Portable版,只需在pom.xml加入:
<dependency>
<groupId>com.hankcs</groupId> <artifactId>hanlp</artifactId> <version>portable-1.7.8</version> </dependency>
零配置,即可使用基本功能(除由字構詞、依存句法分析外的全部功能)。如果用戶有自定義的需求,可以參考方式二,使用hanlp.properties進行配置(Portable版同樣支持hanlp.properties)。
方式二、下載jar、data、hanlp.properties
HanLP將數據與程序分離,給予用戶自定義的自由。
1、下載:data.zip
下載后解壓到任意目錄,接下來通過配置文件告訴HanLP數據包的位置。
HanLP中的數據分為詞典和模型,其中詞典是詞法分析必需的,模型是句法分析必需的。
data
│
├─dictionary
└─model
用戶可以自行增刪替換,如果不需要句法分析等功能的話,隨時可以刪除model文件夾。
- 模型跟詞典沒有絕對的區別,隱馬模型被做成人人都可以編輯的詞典形式,不代表它不是模型。
- GitHub代碼庫中已經包含了data.zip中的詞典,直接編譯運行自動緩存即可;模型則需要額外下載。
2、下載jar和配置文件:hanlp-release.zip
配置文件的作用是告訴HanLP數據包的位置,只需修改第一行
root=D:/JavaProjects/HanLP/
為data的父目錄即可,比如data目錄是/Users/hankcs/Documents/data
,那么root=/Users/hankcs/Documents/
。
最后將hanlp.properties
放入classpath即可,對於多數項目,都可以放到src或resources目錄下,編譯時IDE會自動將其復制到classpath中。除了配置文件外,還可以使用環境變量HANLP_ROOT
來設置root
。安卓項目請參考demo。
如果放置不當,HanLP會提示當前環境下的合適路徑,並且嘗試從項目根目錄讀取數據集。
附:本地jar包加入maven倉庫並添加詞庫
起因:用maven方式不管配不配置hanlp.properties進行標准切詞發現有些詞語都切不出來,如“毛呢”會被分開,如下圖
因項目使用的是maven方式來統一管理jar包,故采用本地jar包加入maven倉庫並添加詞庫的方式來做。
1、按照方式二下載data以及jar包和配置文件
- hanlp-1.7.8-sources.jar: 這個包可以不要
2、將下載的jar包導入maven倉庫
install:install-file -Dfile=<Jar包的地址>
-DgroupId=<Jar包的GroupId>
-DartifactId=<Jar包的引用名稱>
-Dversion=<Jar包的版本>
-Dpackaging=<Jar的打包方式>
install:install-file -Dfile=D:\hanlp-1.7.8.jar -DgroupId=com.hankcs -DartifactId=hanlp -Dversion=hanlp-1.7.8 -Dpackaging=jar
成功后會在本地maven倉庫看到加入的jar包
3、pom.xml中添加依賴
<!--自定義本地jar包使用python詞典--> <dependency> <groupId>com.hankcs</groupId> <artifactId>hanlp</artifactId> <version>hanlp-1.7.8</version> </dependency>
4、hanlp.properties配置data路徑
/home/jar/Dict為linux上的路徑,因為jar包是要上傳到集群的
5、切詞測試
將項目打成jar包,在hive中創建臨時函數,測試