Java分詞工具HanLP
阿新 • • 發佈:2019-01-28
HanLP是由一系列模型與演算法組成的Java工具包,目標是普及自然語言處理在生產環境中的應用。不僅僅是分詞,而是提供詞法分析、句法分析、語義理解等完備的功能。HanLP具備功能完善、效能高效、架構清晰、語料時新、可自定義的特點。
HanLP完全開源,包括詞典。不依賴其他jar,底層採用了一系列高速的資料結構,如雙陣列Trie樹、DAWG、AhoCorasickDoubleArrayTrie等,這些基礎件都是開源的。官方模型訓練自2014人民日報語料庫,您也可以使用內建的工具訓練自己的模型。
通過工具類HanLP您可以一句話呼叫所有功能,文件詳細,開箱即用。底層演算法經過精心優化,極速分詞模式下可達2,000萬字/秒,記憶體僅需120MB。在IO方面,詞典載入速度極快,只需500 ms即可快速啟動。HanLP經過多次重構,歡迎二次開發。
POM.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.iqilu</groupId>
<artifactId >Segment</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Hello</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties >
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.hankcs</groupId>
<artifactId>hanlp</artifactId>
<version>portable-1.3.2</version>
</dependency>
</dependencies>
</project>
DemoSegment.java
package com.iqilu;
import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.seg.common.Term;
import java.util.List;
public class DemoSegment {
public static void main(String[] args) {
String[] testCase = new String[]{
"商品和服務",
"結婚的和尚未結婚的確實在干擾分詞啊",
"買水果然後來世博園最後去世博會",
"中國的首都是北京",
"歡迎新老師生前來就餐",
"工信處女幹事每月經過下屬科室都要親口交代24口交換機等技術性器件的安裝工作",
"隨著頁遊興起到現在的頁遊繁盛,依賴於存檔進行邏輯判斷的設計減少了,但這塊也不能完全忽略掉。",
};
for (String sentence : testCase)
{
List<Term> termList = HanLP.segment(sentence);
System.out.println(termList);
}
}
}
結果
[商品/n, 和/c, 服務/vn]
[結婚/v, 的/uj, 和/c, 尚未/d, 結婚/v, 的/uj, 確實/ad, 在/p, 干擾/v, 分詞/n, 啊/y]
[買/v, 水果/n, 然後/c, 來/v, 世博園/j, 最後/f, 去/v, 世博會/j]
[中國/ns, 的/uj, 首都/n, 是/v, 北京/ns]
[歡迎/v, 新/a, 老師/n, 生前/t, 來/v, 就餐/v]
[工信處/n, 女/b, 幹事/n, 每月/r, 經過/p, 下屬/v, 科室/n, 都要/nr, 親口/d,
交代/v, 24/m, 口/q, 交換機/n, 等/u, 技術性/n, 器件/n, 的/uj, 安裝/v, 工作/vn]
[隨著/p, 頁/q, 遊興/n, 起/v, 到/v, 現在/t, 的/uj, 頁遊/nz, 繁盛/an, ,/w,
依賴於/v, 存檔/vn, 進行/v, 邏輯/n, 判斷/v, 的/uj, 設計/vn, 減少/v, 了/ul, ,/w,
但/c, 這塊/r, 也/d, 不能/v, 完全/ad, 忽略/v, 掉/v, 。/w]