HarmonyOS之AI能力·關鍵字提取
在日常生活中充滿了各種各樣的信息,這些信息千變萬化。文本語言作為信息傳遞的一種載體,同樣面臨有用信息和無用信息糅雜在一起的問題。關鍵字提取幫助用戶在眾多文本信息中快速提取出關鍵信息和核心內容,節省時間提高效率。

關鍵字提取 API 提供了一個提取關鍵字的接口,通過該 API 可以在大量信息中提取出文本想要表達的核心內容,可以是具有特定意義的實體,如:人名,地點,電影等,也可以是一些基礎但是在文本中很關鍵的詞匯。
通過該 API 可以對提取的關鍵字按照在文本中所占權重由高到低排序。排序越靠前,權重越高,對文本的核心內容提取的越準確。
當前只支持中文語境。
關鍵字提取標題文本限制在 100 個字符以內,正文文本限制在 5000 個字符以內,關鍵詞提取個數小于等于20。文本為 UTF-8 格式,格式錯誤不會報錯,但分析結果會不正確。
Engine 支持多用戶同時接入,但是不支持同一用戶并發調用同一個特性。如同一個特性被同一進程同一時間多次調用,則返回系統忙錯誤;不同進程調用同一特性,則同一時間只有一個進程業務在處理,其他進程進入隊列排隊。
游記摘要:本 API 可以從用戶編輯的游記長文本中提取出能反應出其核心思想的關鍵詞匯,關鍵詞按關鍵到相對非關鍵的權重順序輸出,幫助用戶快速從長文本中提取出關鍵信息,快速給游記文章關鍵信息選擇對應的標簽上傳。
新聞標簽:用戶在瀏覽文章時,對感興趣的想做,可以使用本 API,提取出關鍵信息,生成對應的標簽,可供用戶下次想繼續瀏覽的文章時,不用打開文章,便可通過生成的標簽快速了解到文章的核心內容。
可用于從新聞和郵件里,提取出關鍵字后便于用戶快速獲取新聞和郵件的主題。關鍵字可以為有意義的實體,比如,人名,電影,也可以非實體的關鍵詞匯,如,上課、考研。
關鍵詞提取主要接口:
requestData 的 json 格式如下:
requestType 表示請求類型,取值可以從 ohos.ai.nlu.NluRequestType 選擇:
ResponseResult 中 responseResult 為 Json 字符串,體現關鍵字提取的結果:
參考示例如下:
{ "code":0, "message":"成功", "keywords":[ "上課", "一起" ] }
1
2
3
4
5
6
7
8
在使用關鍵字提取 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;// 接口返回碼
1
2
3
4
5
使用 NluClient 靜態類進行初始化,通過異步方式獲取服務的連接:
context:應用上下文信息,應為 ohos.aafwk.ability.Ability 或 ohos.aafwk.ability.AbilitySlice 的實例或子類實例。
listener:初始化結果的回調,可以傳 null。
isLoadModel:是否加載模型,如果傳 true,則在初始化時加載模型;如果傳 false,則在初始化時不加載模型。
NluClient.getInstance().init(context, new OnResultListener
1
2
3
4
5
6
調用獲取關鍵詞提取方法得到分析結果,同一個接口提供了同步和異步兩個方法,開發者可根據自己需要選擇。
同步:title 為可選參數 ,不填的時候只分析正文 body:
String requestData= "{number:2,body:'今天我們一起去上課吧',title:'一起去上課'}"; ResponseResult respResult = NluClient.getInstance().getKeywords(requestData, NluRequestType.REQUEST_TYPE_LOCAL); if (null != respResult) { // 獲取接口返回結果,參考接口文檔返回使用 String result = respResult.getResponseResult(); }
1
2
3
4
5
6
7
異步:
// 待分析文本 String requestData= "{number:2,body:'今天我們一起去上課吧',title:'一起去上課'}"; // 調用接口 NluClient.getInstance().getKeywords(requestData, NluRequestType.REQUEST_TYPE_LOCAL,new OnResultListener
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
使用結束調用 destroy() 方法釋放進程資源,如果持續使用建議在進程結束時釋放,釋放后需要重復“NluClient 靜態類進行初始化”才能再次使用。
AI API
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。