赞
踩
我也是个NLP小白,Hanlp功能很强大,本文只是简单跑起来句法分析,再看如何根据句法分析结果提取关键词还需要再学习。
- <dependency>
- <groupId>com.hankcs</groupId>
- <artifactId>hanlp</artifactId>
- <version>portable-1.7.8</version>
- </dependency>
HanLP将数据与程序分离,给予用户自定义的自由。
1、下载:data.zip
下载后解压到任意目录,接下来通过配置文件告诉HanLP数据包的位置。
HanLP中的数据分为词典和模型,其中词典是词法分析必需的,模型是句法分析必需的。
- data
- │
- ├─dictionary
- └─model
用户可以自行增删替换,如果不需要句法分析等功能的话,随时可以删除model文件夹。
2、下载jar和配置文件:hanlp-release.zip
配置文件的作用是告诉HanLP数据包的位置,只需修改第一行
root=D:/JavaProjects/HanLP/
为data的父目录即可,比如data目录是/Users/hankcs/Documents/data
,那么root=/Users/hankcs/Documents/
。
注意:我是把hanlp.properties文件放到了resource下面。
- CoNLLSentence sentence = HanLP.parseDependency(query);
-
- System.out.println(sentence );
上面的路径要配置,不然会提示:Data/model/perceptron/large/cws.bin 加载失败
官网的例子更多一些,不贴了。
简单看下效果:
- test query:为什么麻黄碱可以导致骨骼肌收缩
- 1 为什么 为什么 r r _ 4 状中结构 _ _
- 2 麻黄碱 麻黄碱 n n _ 4 主谓关系 _ _
- 3 可以 可以 v v _ 4 状中结构 _ _
- 4 导致 导致 v v _ 0 核心关系 _ _
- 5 骨骼肌 骨骼肌 n n _ 6 主谓关系 _ _
- 6 收缩 收缩 v v _ 4 动宾关系 _ _
如果这样看,不好理解。还可以加上可视化:
看下词性说明:来源:http://www.ltp-cloud.com/intro
依存句法分析标注关系 (共15种) 及含义如下:
关系类型 | Tag | Description | Example |
---|---|---|---|
主谓关系 | SBV | subject-verb | 我送她一束花 (我 <-- 送) |
动宾关系 | VOB | 直接宾语,verb-object | 我送她一束花 (送 --> 花) |
间宾关系 | IOB | 间接宾语,indirect-object | 我送她一束花 (送 --> 她) |
前置宾语 | FOB | 前置宾语,fronting-object | 他什么书都读 (书 <-- 读) |
兼语 | DBL | double | 他请我吃饭 (请 --> 我) |
定中关系 | ATT | attribute | 红苹果 (红 <-- 苹果) |
状中结构 | ADV | adverbial | 非常美丽 (非常 <-- 美丽) |
动补结构 | CMP | complement | 做完了作业 (做 --> 完) |
并列关系 | COO | coordinate | 大山和大海 (大山 --> 大海) |
介宾关系 | POB | preposition-object | 在贸易区内 (在 --> 内) |
左附加关系 | LAD | left adjunct | 大山和大海 (和 <-- 大海) |
右附加关系 | RAD | right adjunct | 孩子们 (孩子 --> 们) |
独立结构 | IS | independent structure | 两个单句在结构上彼此独立 |
标点 | WP | punctuation | 。 |
核心关系 | HED | head | 指整个句子的核心 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。