日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

HarmonyOS之AI能力·关键字提取

發(fā)布時間:2024/5/21 ChatGpt 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HarmonyOS之AI能力·关键字提取 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、概念

  • 在日常生活中充滿了各種各樣的信息,這些信息千變?nèi)f化。文本語言作為信息傳遞的一種載體,同樣面臨有用信息和無用信息糅雜在一起的問題。關(guān)鍵字提取幫助用戶在眾多文本信息中快速提取出關(guān)鍵信息和核心內(nèi)容,節(jié)省時間提高效率。
  • 關(guān)鍵字提取 API 提供了一個提取關(guān)鍵字的接口,通過該 API 可以在大量信息中提取出文本想要表達的核心內(nèi)容,可以是具有特定意義的實體,如:人名,地點,電影等,也可以是一些基礎(chǔ)但是在文本中很關(guān)鍵的詞匯。
  • 通過該 API 可以對提取的關(guān)鍵字按照在文本中所占權(quán)重由高到低排序。排序越靠前,權(quán)重越高,對文本的核心內(nèi)容提取的越準(zhǔn)確。

二、約束與限制

  • 當(dāng)前只支持中文語境。
  • 關(guān)鍵字提取標(biāo)題文本限制在 100 個字符以內(nèi),正文文本限制在 5000 個字符以內(nèi),關(guān)鍵詞提取個數(shù)小于等于20。文本為 UTF-8 格式,格式錯誤不會報錯,但分析結(jié)果會不正確。
  • Engine 支持多用戶同時接入,但是不支持同一用戶并發(fā)調(diào)用同一個特性。如同一個特性被同一進程同一時間多次調(diào)用,則返回系統(tǒng)忙錯誤;不同進程調(diào)用同一特性,則同一時間只有一個進程業(yè)務(wù)在處理,其他進程進入隊列排隊。

三、應(yīng)用場景

  • 游記摘要:本 API 可以從用戶編輯的游記長文本中提取出能反應(yīng)出其核心思想的關(guān)鍵詞匯,關(guān)鍵詞按關(guān)鍵到相對非關(guān)鍵的權(quán)重順序輸出,幫助用戶快速從長文本中提取出關(guān)鍵信息,快速給游記文章關(guān)鍵信息選擇對應(yīng)的標(biāo)簽上傳。
  • 新聞標(biāo)簽:用戶在瀏覽文章時,對感興趣的想做收藏,可以使用本 API,提取出關(guān)鍵信息,生成對應(yīng)的標(biāo)簽,可供用戶下次想繼續(xù)瀏覽收藏的文章時,不用打開文章,便可通過生成的標(biāo)簽快速了解到文章的核心內(nèi)容。

四、API 說明

① 關(guān)鍵詞提取接口
  • 可用于從新聞和郵件里,提取出關(guān)鍵字后便于用戶快速獲取新聞和郵件的主題。關(guān)鍵字可以為有意義的實體,比如,人名,電影,也可以非實體的關(guān)鍵詞匯,如,上課、考研。
  • 關(guān)鍵詞提取主要接口:
接口名功能描述
ResponseResult getKeywords(String requestData, int requestType);同步接口,可用于從新聞和郵件里,提取出關(guān)鍵字后便于用戶快速獲取新聞和郵件的主題
ResponseResult getKeywords(final String requestData, final int requestType, final OnResultListener listener);異步接口,可用于從新聞和郵件里,提取出關(guān)鍵字后便于用戶快速獲取新聞和郵件的主題
void init(Context context, OnResultListener listener, boolean isLoadModel);綁定NLU服務(wù)必須調(diào)用初始化服務(wù),使用多個nlu服務(wù)接口時,只需要調(diào)用一次,異步接口
void destroy(Context context);解綁服務(wù),初始化過就在銷毀時需要解綁,讓資源及時釋放
② 接口輸入值說明
  • requestData 的 json 格式如下:
參數(shù)名是否必選類型說明
titlefalseString文章的標(biāo)題,字符數(shù)不超過100
bodytrueString文章的正文,字符數(shù)不超過5000
numbertrueint需抽取的關(guān)鍵字個數(shù),數(shù)值在1到20之間
callPkgfalseString調(diào)用者名稱
callTypefalseint調(diào)用者類型:
0:普通應(yīng)用(默認(rèn))
1:快應(yīng)用
callVersion
callState
false
false
String
int
調(diào)用者版本號。
調(diào)用者狀態(tài):
-1:未知(默認(rèn))
0:前臺
1:后臺
  • requestType 表示請求類型,取值可以從 ohos.ai.nlu.NluRequestType 選擇:
類型說明
static final intREQUEST_TYPE_LOCAL=0,本地請求
③ 接口返回值說明
  • ResponseResult 中 responseResult 為 Json 字符串,體現(xiàn)關(guān)鍵字提取的結(jié)果:
參數(shù)名是否必選類型說明
codetrueint結(jié)果碼。取值為:
0:成功
1:系統(tǒng)正在初始化
2:參數(shù)錯誤
3:系統(tǒng)忙
4:系統(tǒng)異常
5:任務(wù)超時
6:其它錯誤
messagetrueString錯誤信息
keywordstrueJSONArray關(guān)鍵字列表,按照權(quán)重的順序返回
  • 參考示例如下:
{"code":0,"message":"成功","keywords":["上課","一起"]}

五、開發(fā)流程

  • 在使用關(guān)鍵字提取 API 時,將實現(xiàn)關(guān)鍵字提取的相關(guān)的類添加至工程:
import ohos.ai.nlu.ResponseResult;// 接口返回的結(jié)果類import ohos.ai.nlu.NluClient;// 接口服務(wù)類import ohos.ai.nlu.NluRequestType;// 接口請求類型import ohos.ai.nlu.OnResultListener;// 異步函數(shù),執(zhí)行成功的回調(diào)結(jié)果類import ohos.ai.nlu.util.NluError;// 接口返回碼
  • 使用 NluClient 靜態(tài)類進行初始化,通過異步方式獲取服務(wù)的連接:
    • context:應(yīng)用上下文信息,應(yīng)為 ohos.aafwk.ability.Ability 或 ohos.aafwk.ability.AbilitySlice 的實例或子類實例。
    • listener:初始化結(jié)果的回調(diào),可以傳 null。
    • isLoadModel:是否加載模型,如果傳 true,則在初始化時加載模型;如果傳 false,則在初始化時不加載模型。
NluClient.getInstance().init(context, new OnResultListener<Integer>(){@Overridepublic void onResult(Integer result){// 初始化成功回調(diào),在服務(wù)初始化成功調(diào)用該函數(shù)}}, true);
  • 調(diào)用獲取關(guān)鍵詞提取方法得到分析結(jié)果,同一個接口提供了同步和異步兩個方法,開發(fā)者可根據(jù)自己需要選擇。
    • 同步:title 為可選參數(shù) ,不填的時候只分析正文 body:
String requestData= "{number:2,body:'今天我們一起去上課吧',title:'一起去上課'}";ResponseResult respResult = NluClient.getInstance().getKeywords(requestData, NluRequestType.REQUEST_TYPE_LOCAL);if (null != respResult){// 獲取接口返回結(jié)果,參考接口文檔返回使用String result = respResult.getResponseResult();}
    • 異步:
// 待分析文本String requestData= "{number:2,body:'今天我們一起去上課吧',title:'一起去上課'}";// 調(diào)用接口NluClient.getInstance().getKeywords(requestData, NluRequestType.REQUEST_TYPE_LOCAL,new OnResultListener<ResponseResult>(){@Overridepublic void onResult(ResponseResult respResult){// 異步返回if(null != respResult && NluError.SUCCESS_RESULT == respResult.getCode()){// 獲取接口返回結(jié)果,參考接口文檔返回使用String result = respResult.getResponseResult();}}});
  • 使用結(jié)束調(diào)用 destroy() 方法釋放進程資源,如果持續(xù)使用建議在進程結(jié)束時釋放,釋放后需要重復(fù)“NluClient 靜態(tài)類進行初始化”才能再次使用。

總結(jié)

以上是生活随笔為你收集整理的HarmonyOS之AI能力·关键字提取的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。