1. 接口定义

功能描述接口原型功能描述

实体识别(同步接口)

getEntity

(java.lang.String requestJson, int reqType)

同步接口,识别文本中具有特定意义的实体,包含电影、电视剧、综艺、动漫、单曲、专辑、图书、火车车次、航班号、球队、人名、快递单号、电话号码、url、邮箱、联赛、时间、地点(包含酒店、餐馆、景点、学校 、道路、省、市、县、区、镇等)、验证码。

实体识别(异步接口)

getEntity(java.lang.String requestJson, int reqType, OnResultListener listener)

异步接口,识别文本中具有特定意义的实体,包含电影、电视剧、综艺、动漫、单曲、专辑、图书、火车车次、航班号、球队、人名、快递单号、电话号码、url、邮箱、联赛、时间、地点(包含酒店、餐馆、景点、学校 、道路、省、市、县、区、镇等)、验证码。
初始化

init(android.content.Context context, OnResultListener listener, boolean isLoadModel)

绑定NLU服务必须调用初始化服务,使用多个nlu服务接口时,只需要调用一次,异步接口。
销毁接口onDestroy()解绑服务,初始化过就在销毁时需要解绑,让资源及时释放。

2. 接口描述

识别文本中具有特定意义的实体,包含电影、电视剧、综艺、动漫、单曲、专辑、图书、火车车次、航班号、球队、人名、快递单号、电话号码、url、邮箱、联赛、时间、地点(包含酒店、餐馆、景点、学校、道路、省、市、县、区、镇等)、验证码。

3. 参数说明

参数名是否必选类型说明
texttrueString待分析的文本,UTF-8编码,字数小于等于500字。
modulefalseString

定义需要分析的实体,默认所有实体都分析。
分析某个实体,传实体键值,如只需要分析时间实体,传“time”,可传多个,表示分析多个实体,以半角逗号“,”分隔,如分析时间和地点,传“time,location”。取值范围参考为支持的实体类的键值。

4. 返回值

Json字符串,将文本分词的结果:

参数名是否必选类型说明
codetrueint0:成功;1:系统正在初始化;2:参数错误;3:系统忙;4:系统异常;5:任务超时;6:其它错误;-10:引擎关闭。
messagetrueString错误信息
entityfalseJSONObject实体分析结果,详细接口见各个实体的定义。

4.1 返回值描述

1. 参考示例:

  1. 报文示例:“ 明天一起看机器之血, 晚上”
  2. {
  3. "code": 0,
  4. "message": "成功",
  5. "entity": {
  6. "time": [
  7. {
  8. "timestamp": 1456559721232,
  9. "oriText": "明天",
  10. "section": "D",
  11. "charOffset": 0
  12. },
  13. {
  14. "timestamp": 1456559721232,
  15. "oriText": "晚上",
  16. "section": "E",
  17. "charOffset": 10
  18. }
  19. ],
  20. "movie": [
  21. {
  22. "oriText": "机器之血",
  23. "charOffset": 5
  24. }
  25. ]
  26. }
  27. }

2. 已经实现的实体接口和指标,点击下载:实体接口和指标表。

5. 限制与约束

5.1 输入文本长度

实体识别文本限制在500字以内,超过字数将返回参数错误,文本要UTF-8格式,格式错误的不报错,分析结果会不正确。

5.2 多线程调用

Engine支持多用户同时接入,但是不支持同一用户并发调用同一个特性,如同一个特性被同一进程同一时间多次调用,则返回系统忙错误,不同进程调用同一特性,则同一时间只有一个进程业务在处理,其他进程进入队列排队。