Skip to content
Zhongyi Tong edited this page Jun 20, 2015 · 1 revision

复旦FNLP的库识别地点实体时非常坑,识别错误率非常高并且无法识别带有门牌号的地点。因此前端先通过Javascript调用哈工大的语言云(API文档),再通过Java调用FNLP的时间短语识别。

1. 地点实体识别

用法

####返回纯净文本:

http://ltpapi.voicecloud.cn/analysis/?api_key=YourApiKey&text={整句}&pattern=srl&format=json&callback=plain

样例:

[我]A0 [希望]v [和 李逢双 在 下周一 早上 6点 到 8点 15分 在 复旦 或 同济 举行 活动]A1

我 希望 [和]A0 李逢双 [在 下周一 早上 6点]TMP [到 8点 15分]TMP [在 复旦 或 同济]LOC [举行]v [活动]A1

####返回JSON格式:

http://ltpapi.voicecloud.cn/analysis/?api_key=YourApiKey&text={整句}&pattern=srl&format=json&callback=json

样例:(略)

##2. 时间短语识别

TimeNER类封装了FNLP的TimeNormalizer类。将哈工大语言云中提取出的TMP字段拼接后传入构造方法。

调用方法如下:

TimeNER timeLocationRecognizer = new TimeNER({时间字符串});
timeLocationRecognizer.getStartTime();
timeLocationRecognizer.getEndTime();

转换时,若没有检测到时间,则开始时间和结束时间都被设为0。若只检测到一个时间,则默认结束时间为开始时间后一小时。若检测到两个或以上时间,默认前两个为开始和结束。

返回时间类型默认为long类型毫秒数。

Clone this wiki locally