-
Notifications
You must be signed in to change notification settings - Fork 89
Home
Sheng Xu edited this page Jul 27, 2021
·
12 revisions
AHANLP 集成了 HanLP、Word2Vec 等项目,提供高质量的中文自然语言处理服务。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.properties 和 hanlp.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。