1. 接口定义

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

意图识别(同步接口)

getChatIntention

(java.lang.String requestJson, int reqType)

同步接口,该接口主要针对IM类场景下的意图识别,分析用户的意图。

意图识别(异步接口)

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

异步接口,该接口主要针对IM类场景下的意图识别,分析用户的意图。
初始化服务

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

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

2. 接口描述

该接口主要针对用户短信或聊天类文本消息的意图识别,目前仅开放支持了通知消息类的三个意图,分别为:还款提醒通知、还款成功通知、未接来电通知。

意图类别(category)包含意图具体的意图模块(module)
common有事件未识别出具体意图unknown
notice

还款提醒通知、还款成功通知、未接来电通知。

repayNotice、repayedNotice、missedCallNotice。

响应时间:500字内,平均小于1000ms,300字内,平均小于800ms。

3. 参数说明

3.1 接口参数入参

1. reqType:请求类型,取值可以从com.huawei.nlu.sdk.NLPConstants选择。

  1. static int REQUEST_TYPE_LOCAL
  2. 本地请求

2. requestJson的json格式如下:

参数名是否必选类型说明
texttrueString待分析的文本,UTF-8编码,不超过500个字符,超过300个字符的只分析通知类意图。
timestamptruelong该文本的发送时间或接收时间,格式为时间戳,表示距离格林威治时间1970.1.1的毫秒数。
isSenderfalseint用来标示发送还是接收,0(接收),1(发送)。
categoryfalseString

需要分析的意图类别,默认分析所有类,多个用半角逗号”,”隔开,如需要分析出行类和通知类,传”trip,notice”。

modulefalseString

用来指定具体分析哪些意图模块,默认都分析。

分析多个意图模块用半角逗号“,”隔开,如分析还款提醒通知和还款成功通知意图,传” repayNotice,repayedNotice”。

3.2 返回值类型

1. ResponseResult对象中属性:

(1)Code:错误码。
(2)Message:错误信息。
(3)jsonRes:完整的接口响应结果 ,json格式如下:

键参数名是否必选值类型说明
codetrueint

0:成功;1:系统正在初始化;2:参数错误;3:系统忙;4:系统异常;5:任务超时;6:其它错误。

messagetrueString错误信息。
intentionsfalseJSONArray意图列表,数组里的类型为JSONObject。
+namefalseString意图名,如:“repayNotice”。
+attributesfalseJSONArray意图对应的属性。

3.3 详细意图说明

点击下载:意图说明表-通知类。

4. 限制与约束

4.1 输入文本长度

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

4.2 多线程调用

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