赞
踩
在日常生活中充满了各种各样的信息,这些信息千变万化。文本语言作为信息传递的一种载体,同样面临有用信息和无用信息糅杂在一起的问题。关键字提取帮助用户在众多文本信息中快速提取出关键信息和核心内容,节省时间提高效率。
关键字提取API提供了一个提取关键字的接口,通过该API可以在大量信息中提取出文本想要表达的核心内容,可以是具有特定意义的实体,如:人名,地点,电影等。也可以是一些基础但是在文本中很关键的词汇。通过该API可以对提取的关键字按照在文本中所占权重由高到低排序。排序越靠前,权重越高,对文本的核心内容的提取越准确。
本API可以从用户编辑的游记长文本中提取出能反映其核心思想的关键词汇,关键词按关键到相对非关键的权重顺序输出,帮助用户快速从长文本中提取出关键信息,快速给游记文章关键信息选择对应的标签上传。
用户在浏览文章时,对感兴趣的想做收藏,可以使用本API,提取出关键信息,生成对应的标签。用户下次想继续浏览收藏的文章时,不用打开文章,便可通过生成的标签快速了解到文章的核心内容。
可用于从新闻和邮件里提取出关键字,便于用户快速获取新闻和邮件的主题。关键字可以为有意义的实体,比如,人名、电影,也可以为非实体的关键词汇,如,上课、考研。
主要接口
接口名 | 功能描述 |
---|---|
ResponseResult getKeywords(String requestData, int requestType); | 同步接口,可用于从新闻和邮件里,提取出关键字后便于用户快速获取新闻和邮件的主题。 |
ResponseResult getKeywords(final String requestData, final int requestType, final OnResultListener<ResponseResult> listener); | 异步接口,可用于从新闻和邮件里,提取出关键字后便于用户快速获取新闻和邮件的主题。 |
void init(Context context, OnResultListener<Integer> listener, boolean isLoadModel); | 绑定NLU服务必须调用初始化服务,使用多个nlu服务接口时,只需要调用一次,异步接口。 |
void destroy(Context context); | 解绑服务,初始化过就在销毁时需要解绑,让资源及时释放。 |
接口输入值说明
requestData的JSON格式如下:
参数名 | 是否必选 | 类型 | 说明 |
---|---|---|---|
title | false | String | 文章的标题,字符数不超过100。 |
body | true | String | 文章的正文,字符数不超过5000。 |
number | true | int | 需抽取的关键字个数,数值在1到20之间。 |
callPkg | false | String | 调用者名称。 |
callType | false | int | 调用者类型:
|
callVersion callState | false false | String int | 调用者版本号。 调用者状态:
|
requestType表示请求类型,取值可以从ohos.ai.nlu.NluRequestType选择。
类型 | 说明 |
---|---|
static final int | REQUEST_TYPE_LOCAL=0,本地请求。 |
接口返回值说明
ResponseResult中responseResult为JSON字符串,体现关键字提取的结果:
参数名 | 是否必选 | 类型 | 说明 |
---|---|---|---|
code | true | int | 结果码。取值为:
|
message | true | String | 错误信息 |
keywords | true | 关键字列表,按照权重的顺序返回 |
参考示例如下:
- {
- "code":0,
- "message":"成功",
- "keywords":[
- "上课",
- "一起"
- ]
- }
在使用关键字提取API时,将实现关键字提取的相关的类添加至工程。
- import ohos.ai.nlu.ResponseResult;// 接口返回的结果类
- import ohos.ai.nlu.NluClient;// 接口服务类
- import ohos.ai.nlu.NluRequestType;// 接口请求类型
- import ohos.ai.nlu.OnResultListener;// 异步函数,执行成功的回调结果类
- import ohos.ai.nlu.util.NluError;// 接口返回码
使用NluClient静态类进行初始化,通过异步方式获取服务的连接。
- NluClient.getInstance().init(context, new OnResultListener<Integer>(){
- @Override
- public void onResult(Integer result){
- // 初始化成功回调,在服务初始化成功调用该函数
- }
- }, true);
调用获取关键词提取方法得到分析结果,同一个接口提供了同步和异步两个方法,开发者可根据自己需要选择。
- String requestData= "{number:2,body:'今天我们一起去上课吧',title:'一起去上课'}";
- ResponseResult respResult = NluClient.getInstance().getKeywords(requestData, NluRequestType.REQUEST_TYPE_LOCAL);
- if (null != respResult)
- {
- // 获取接口返回结果,参考接口文档返回使用
- String result = respResult.getResponseResult();
- }
title为可选参数 ,不填的时候只分析正文body。
- // 待分析文本
- String requestData= "{number:2,body:'今天我们一起去上课吧',title:'一起去上课'}";
- // 调用接口
- NluClient.getInstance().getKeywords(requestData, NluRequestType.REQUEST_TYPE_LOCAL,new OnResultListener<ResponseResult>(){
- @Override
- public void onResult(ResponseResult respResult)
- {
- // 异步返回
- if(null != respResult && NluError.SUCCESS_RESULT == respResult.getCode())
- {
- // 获取接口返回结果,参考接口文档返回使用
- String result = respResult.getResponseResult();
- }
- }
- });
使用结束调用destroy()方法释放进程资源,如果持续使用建议在进程结束时释放,释放后需要重复第二步才能再次使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。