type String 节点类型,包括 WORD-词汇类型,CHAR-字符类型。
subContents List<Segment
SubContents> 子节点列表。
4.3 语言理解
4.3.1 初始化 Client
NluClient是访问语言理解的工具类,通过构造认证信息类和选择认证方式去初始化 NluClient,然后用对应实例去访问接口。初始化支持AK/SK认证和Token认证两种方 式。
AK/SK 认证方式
////参考AK/SK认证章节获取ak/sk,参考获取SDK章节获取region、参考获取项目ID章节获取projectId //例如用户的ak值为{ak},sk值为{sk},region值为{region},projectId值为{projectId},则构造Client如下 //AuthInfo authInfo = new AuthInfo("{ak}","{sk}","{region}","{projectId}");
////构造完AuthInfo,初始化对应的Client,此时构造方法第一个参数要选择AuthMode.AKSK //
////支持对客户端设置网络代理进行访问,参数proxyHost表示域名,8080表示端口,username表示用户名,
password表示密码。如果不需要代理,不用设置
//client.setProxyWithAuth("proxyHost",8080,"username","password");
Token 认证方式
////参考获取SDK章节获取region、参考获取项目ID章节获取projectId
//例如用户的用户名为{userName},密码值为{pwd},所属帐号为{domainName},region值为{region},projectId值为 {projectId},则构造Client如下
//一个帐号下可以有多个用户,如果用户使用帐号本身登录,那么userName和domainName 值相等,都传帐号 名即可//
AuthInfo authInfo = new AuthInfo("{userName}","{pwd}","{domainName}","{region}","{projectId}");
////构造完AuthInfo,初始化对应的Client,此时构造方法第一个参数要选择AuthMode.TOKEN
//NluClient client = new NluClient(AuthMode.TOKEN,authInfo);
////支持对客户端设置网络代理进行访问,参数proxyHost表示域名,8080表示端口,username表示用户名,
password表示密码。如果不需要代理,不用设置
//client.setProxyWithAuth("proxyHost",8080,"username","password");
4.3.2 情感分析(领域版)
● 请求示例
//按照初始化Client章节选择认证方式构造client,同一个认证Client建议以单例形式构造使用,避免频繁创 建对象。以AKSK方式为例
NluClient client = new NluClient (AuthMode.AKSK,authInfo);
GeneralSentimentReq req = new GeneralSentimentReq();
req.setContent("很不错的一款车,可以改变生活方式。");
//领域类型,常量 SentimentDomainConstant.DOMAIN_TYPE_CAR 表示汽车领域,值为2 //常量SentimentDomainConstant.DOMAIN_TYPE_E_COMMERCE 表示电商领域,值为1 req.setType(SentimentDomainConstant.DOMAIN_TYPE_CAR);
try {
GeneralSentimentResp resp = client.getDomainSentiment(req);
} catch (NlpException e) {
//失败统一以异常形式抛出,详情见异常类说明。客户端自行处理异常 }
● GeneralSentimentReq 类参数说明见表4-22。
表4-22 GeneralSentimentReq 类参数说明 参数名
称
是否必 选
类型 说明
content 是 String 待分析分本。文本编码要求为utf-8。仅支持中 文情感分析。type为1(电商领域评论)时,
● GeneralSentimentResp 类参数说明见表4-23。
表4-23 GeneralSentimentResp 类参数说明
参数名称 类型 说明
result Result 返回结果的封装对象
● Result 数据结构说明见表4-24。
表4-24 Result 数据结构说明
参数名称 类型 说明
content String 待分析文本。
label Integer 正负标签。
● 1:positive
● 0:negative confidence Float 标签label的置信度。
4.3.3 文本分类
● 请求示例
//按照初始化Client章节选择认证方式构造client,同一个认证Client建议以单例形式构造使用,避免频繁创 建对象。以AKSK方式为例
NluClient client = new NluClient (AuthMode.AKSK,authInfo);
ClassifyReq req = new ClassifyReq();
req.setContent("XXX去屑洗发水,全国包邮");
//分类领域类型,ClassifyDomainConstant.DOMAIN_TYPE_AD 表示广告,值为1。目前只支持广告 req.setDomain(ClassifyDomainConstant.DOMAIN_TYPE_AD);
try {
ClassifyResp resp = client.classifyText(req);
} catch (NlpException e) {
//失败统一以异常形式抛出,详情见异常类说明。客户端自行处理异常 }
● ClassifyReq 类参数说明见表4-25
表4-25 ClassifyReq 类参数说明 参数名
称
是否必 选
类型 说明
content 是 String 待分析分本,UTF-8编码,限定400个字符以 内,文本长度超过400个字符时,只检测前400 个字符。
domain 否 Integer 默认为1。目前只支持广告检测。
1 : 广告检测
● ClassifyResp 类参数说明见表4-26。
表4-26 ClassifyResp 类参数说明
参数名称 类型 说明
result Result 返回结果的封装对象。
● Result 类数据结构说明见表4-27。
表4-27 Result 类数据结构说明
参数名称 类型 说明
content String 待分析文本。
label Integer 正负标签。
● 1:广告
● 0:非广告
confidence Float 标签label的置信度。