HanLP的官方简介如下:
HanLP是一系列模型与算法组成的NLP工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验,配套书籍《自然语言处理入门》已经出版。目前,基于深度学习的HanLP 2.0正处于alpha测试阶段,未来将实现知识图谱、问答系统、自动摘要、文本语义相似度、指代消解、三元组抽取、实体链接等功能。
HanLP的功能包括:
中文分词、词性标注、命名实体识别、关键词提取、短语提取、拼音转换、简繁转换、文本推荐、依存句法分析、文本分类、文本聚类、向量提取等。
更多更全面的使用方法,请参考github上的介绍。
这里仅介绍本人使用过的功能:带词性标注的分词(自定义词库)
1、下载 data.zip
下载后解压到任意目录,接下来通过配置文件告诉HanLP数据包的位置。
HanLP中的数据分为词典和模型,其中词典是词法分析必需的,模型是句法分析必需的。
data
│
├─dictionary
└─model
用户可以自行增删替换,如果不需要句法分析等功能的话,随时可以删除model文件夹。由于model文件夹有1G多,分词功能不依赖它,可以直接删除。
2、下载jar和配置文件:hanlp-release.zip
解压后得到如下三个文件:
其中hanlp.properties是配置文件,配置文件的作用是告诉HanLP数据包的位置,只需修改第一行。
root=D:/develop/HanLP/
此路径为data的父目录即可,比如data目录是/Users/hankcs/Documents/data,那么root=/Users/hankcs/Documents/ 。
最后将hanlp.properties放入classpath即可,对于多数项目,都可以放到src或resources目录下,编译时IDE会自动将其复制到classpath中。除了配置文件外,还可以使用环境变量HANLP_ROOT来设置root。
然后将两个jar引入项目依赖,就可以开始编写代码了。
3、自定义词典的分词功能的使用方法
其实分词功能可以通过两中方法实现:
3.1 在代码中实现
import com.hankcs.hanlp.HanLP;
import com.hankcs.hanlp.dictionary.CustomDictionary;
import com.hankcs.hanlp.seg.Segment;
import com.hankcs.hanlp.seg.common.Term;
import java.util.List;
/**
* 在代码中自定义词性
*/
public class HanlpTest1 {
public static void main(String[