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

结果

[商品/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]

参考:
1.​​​http://hanlp.linrunsoft.com/index.html​​​
2.​​​https://github.com/hankcs/HanLP/blob/master/src/test/java/com/hankcs/demo/DemoSegment.java​