springboot使用Hanlp 依存句法分析

一 序

  我也是个NLP小白,Hanlp功能很强大,本文只是简单跑起来句法分析,再看如何根据句法分析结果提取关键词还需要再学习。

二 准备

maven

	<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文件夹。

  • 模型跟词典没有绝对的区别,隐马模型被做成人人都可以编辑的词典形式,不代表它不是模型。
  • 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文件放到了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种) 及含义如下:

关系类型TagDescriptionExample
主谓关系SBVsubject-verb我送她一束花 (我 <-- 送)
动宾关系VOB直接宾语,verb-object我送她一束花 (送 --> 花)
间宾关系IOB间接宾语,indirect-object我送她一束花 (送 --> 她)
前置宾语FOB前置宾语,fronting-object他什么书都读 (书 <-- 读)
兼语DBLdouble他请我吃饭 (请 --> 我)
定中关系ATTattribute红苹果 (红 <-- 苹果)
状中结构ADVadverbial非常美丽 (非常 <-- 美丽)
动补结构CMPcomplement做完了作业 (做 --> 完)
并列关系COOcoordinate大山和大海 (大山 --> 大海)
介宾关系POBpreposition-object在贸易区内 (在 --> 内)
左附加关系LADleft adjunct大山和大海 (和 <-- 大海)
右附加关系RADright adjunct孩子们 (孩子 --> 们)
独立结构ISindependent structure两个单句在结构上彼此独立
标点WPpunctuation
核心关系HEDhead指整个句子的核心

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值