Hanlp简介
HanLP 是由一系列模型与算法组成的 Java 工具包,目标是普及自然语言处理在生产环境中的应用。
HanLP 具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。
HanLP 提供下列功能:
- 中文分词
- 最短路分词
- N-最短路分词
- CRF分词索引分词
- 极速词典分词
- 用户自定义词典
- 词性标注命名实体识别
- 中国人名识别
- 音译人名识别
- 日本人名识别
- 地名识别
- 实体机构名识别
- 关键词提取
- TextRank关键词提取
- 自动摘要
- TextRank自动摘要
- 短语提取
- 基于互信息和左右信息熵的短语提取拼音转换
- 多音字声母韵母
- 声调简繁转换
- 繁体中文分词
- 简繁分歧词
- 文本推荐
- 语义推荐
- 拼音推荐
- 字词推荐
- 依存句法分析
- MaxEnt依存句法分析
- CRF依存句法分析
- 语料库工具
- 分词语料预处理
等一些列自然语言处理功能
下载与配置
方式一
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.propertiesHanLP将数据与程序分离,给予用户自定义的自由。
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会提示当前环境下的合适路径,并且尝试从项目根目录读取数据集。
一般方法:
步骤一:
通过方式二获取Hanlp的数据包和jar包并解压;其中,数据包放在任何位置都可以,我们会通过修改配置文件来对数据包进行定位;
步骤二:
以eclipse为例,说明如何在java项目中使用Hanlp;
- 创建一个新的java项目,将解压后的jar包导入到项目;
- 使用Build Path将jar包引入;
- 修改配置文件hanlp.properities,定位数据包;修改方式见上方的方式2;
- 将配置文件导入到项目文件的bin目录下,测试是否能够正常使用Hanlp;