Skip to content
Sheng Xu edited this page Jul 27, 2021 · 12 revisions

欢迎使用 AHANLP!

AHANLP 集成了 HanLPWord2Vec 等项目,提供高质量的中文自然语言处理服务。AHANLP 针对日常科研与生产需求,提供了包括分词、依存句法分析、语义角色标注、自动摘要等常用的自然语言处理接口,能够帮助你快速地搭建起自己的项目。

快速开始:30 秒上手 AHANLP

AHANLP 几乎所有的功能都可以通过工具类 AHANLP 快捷调用。并且推荐用户始终通过工具类 AHANLP 调用,这样将来 AHANLP 升级后,用户无需修改调用代码。

分词是最常见的 NLP 任务,在 AHANLP 中可以轻松地获取到分词后的词语和词性列表。

String content = "你好,欢迎使用AHANLP中文自然语言处理包!";
List<Term> segResult = AHANLP.NLPSegment(content);
System.out.println(segResult);
//[你好/l, ,/w, 欢迎/v, 使用/v, AHANLP/nx, 中文/nz, 自然语言处理/nz, 包/v, !/w]

List<String> wordList = AHANLP.getWordList(segResult);
System.out.println(wordList);
//[你好, ,, 欢迎, 使用, AHANLP, 中文, 自然语言处理, 包, !]

List<String> natureList = AHANLP.getNatureList(segResult);
System.out.println(natureList);
//[l, w, v, v, nx, nz, nz, v, w]

如果要过滤标点符号等停用词,只需再带上第二个参数,并且设为 true 就可以了

List<Term> segResult = AHANLP.NLPSegment(content, true);
System.out.println(AHANLP.getWordList(segResult));
//[你好, 欢迎, 使用, AHANLP, 中文, 自然语言处理, 包]

其他接口也是类似,只需要添加少数几个额外的参数,就可以满足大部分的日常处理需求。具体接口细节,请参见相应的文档。

安装指引

最新版本 ahanlp.jar 和对应的基础数据包 AHANLP_base,点击这里下载。配置文件 ahanlp.propertieshanlp.properties 放入 classpath 即可,对于多数项目,只需放到 src 目录下,编译时 IDE 会自动将其复制到 classpath 中。

AHANLP 沿用 HanLP 的数据组织结构,代码和数据分离,用户可以根据自己的需要选择相应的数据包下载:

  • 基础数据包 AHANLP_base 包含分词类句法分析类功能,下载解压后,将 dictionary 目录和 model 目录存放到项目的 data/ 目录下。
  • 如果需要使用到句子摘要Word2Vec 的相关功能,请额外下载 word2vec 模型,将解压出的模型文件存放到项目的 data/model/ 目录下。
  • 如果需要使用到语义角色标注功能,请额外下载 AHANLP_SRL_model (提取码 p6b7),将解压出的 3 个模型文件存放到项目的 data/model/srl/ 目录下。
  • 如果需要使用到 LDA 主题预测功能,请额外下载 AHANLP_LDA_model,将解压出的 SogouCS_LDA.model 文件存放到项目的 data/model/ 目录下。如果你需要运行 LDADemo.java 进行测试,还需要下载 SogouCA_mini,将解压出的 mini 文件夹存放到项目的 data/ 目录下。
  • 如果需要使用 WordCloud 绘制词云服务,需要 Python 环境,并且安装 wordcloud 包(下载后使用 python -m pip install xxx.whl 安装)。然后下载 word_cloud (提取码 9jb6),将解压出的 word_cloud 文件夹放到项目根目录下。

AHANLP 项目中的各项参数均读取自配置文件(不建议用户修改),下面仅作简单说明。

主配置文件为 ahanlp.properties,需要配置 Word2Vec 模型路径等,默认为

word2vecModel = data/model/wiki_chinese_word2vec(Google).model
hanLDAModel = data/model/SogouCS_LDA.model
srlTaggerModel = data/model/srl/CoNLL2009-ST-Chinese-ALL.anna-3.3.postagger.model
srlParserModel = data/model/srl/CoNLL2009-ST-Chinese-ALL.anna-3.3.parser.model
srlModel = data/model/srl/CoNLL2009-ST-Chinese-ALL.anna-3.3.srl-4.1.srl.model
wordCloudPath = word_cloud/ 
pythonCMD = python

HanLP 配置文件为 hanlp.properties,只需要在第一行设置 data 目录所在路径,默认为

root=./

注:语义角色标注模块的内存占用较高,如果要使用该功能,请将 JVM 的最大内存占用设置为 4GB。