語言偵測 API 是一個實驗性的網頁 API,允許你利用 Microsoft Edge 內建的模型,從你網站或瀏覽器擴充功能中的 JavaScript 程式碼中,偵測文字語言。
詳細內容:
- 簡介
- 使用語言偵測器 API 搭配翻譯器 API
- 語言偵測器 API 的可用性
- 語言偵測器 API 的優點
- 語言偵測器 API 的替代方案
- 免責聲明
- 模型可用性
- 啟用語言偵測器 API
- 請參考工作範例
- 使用語言偵測器 API
- 檢查語言偵測器 API 是否啟用
- 請確認該型號是否能 (可用性 () )
- 建立一個新會話 (建立 () )
- 監控模型下載進度 (監控)
- 執行語言偵測器 API (偵測 () )
- 理解信心分數
- 摧毀一場會話 (摧毀 () )
- 傳送意見反應
- 另請參閱
簡介
關於語言偵測器 API 的入門資訊,請參見:
使用語言偵測器 API 搭配翻譯器 API
為了方便將使用者提供的文字翻譯成其他語言,請將語言偵測器 API 與翻譯器 API 結合使用。
想了解翻譯器 API,請參考: 用翻譯器 API 翻譯文字。
語言偵測器 API 的可用性
語言偵測器 API 從 147.0.3897.0 版本起,作為開發者預覽版可於 Microsoft Edge Canary 或 Dev 頻道提供。 若要下載 Microsoft Edge (Beta、開發版或 Canary) 的預覽頻道,請前往 「成為 Microsoft Edge Insider」。
語言偵測器 API 的優點
語言偵測器 API 使用語言偵測模型,運行於同一裝置,該裝置的輸入與輸出 (本地) 。 此方法相較於雲端解決方案有以下優點:
降低成本: 使用雲端語言偵測服務是免費的。
網路獨立性: 除了初始模型下載外,使用此 API 偵測語言時不會有網路延遲,且在裝置離線時也能使用。
提升隱私: 輸入到模型的資料不會離開裝置,也不會被收集來訓練其他 AI 模型。
語言偵測模型會在 Microsoft Edge 首次使用 API 時下載,隨後在瀏覽器中的所有網站共享。 該模型透過簡單的網頁 API 存取,無需第三方框架知識,也不需要人工智慧 (AI) 或機器學習 (機器學習) 專業知識。
語言偵測器 API 的替代方案
你可以將網路請求傳送到具備更先進功能的雲端語言偵測服務;請參閱 Azure AI 語言文件。
作為裝置端替代方案,Prompt API 提供更多自訂情境,內建於 Microsoft Edge 的小型語言模型;請參見 Prompt,一個內建 Prompt API 的語言模型。
免責聲明
與其他機器學習模型一樣,Microsoft Edge 的語言偵測模型可能對某些輸入(如短文字或單字)產生不準確或不可靠的結果。
模型可用性
網站首次呼叫語言偵測器 API 時,需先下載模型。 你可以在建立新的語言偵測器 API 會話時,使用監控選項來監控模型下載;詳見下方 「監控模型下載進度 (監控) 」。
啟用語言偵測器 API
要在 Microsoft Edge 中使用語言偵測器 API,請設定旗標如下:
在 Microsoft Edge 中,請前往
edge://version,並確保你使用的是 Microsoft Edge 的 147.0.3897.0 版本或更新版本,例如 Microsoft Edge 的 Canary 或 Dev 預覽頻道。若要下載 Microsoft Edge (Beta、開發版或 Canary) 的預覽頻道,請前往 「成為 Microsoft Edge Insider」。
在該版本的 Microsoft Edge 中,開啟一個新分頁或視窗,然後前往
edge://flags。在頂端的 搜尋旗標 文字框中,開始輸入 「語言偵測網頁平台 API」:
以下旗幟列出:
語言偵測網頁平台 API
本條目顯示
#edge-language-detection-api連結至edge://flags/#edge-language-detection-api) 的 (。
在 語言偵測網頁平台 API 中,選擇 啟用。
右下角 顯示一個重新啟動 按鈕。
點擊 重新啟動 按鈕。
請參考工作範例
要查看語言偵測器 API 的運作,以及查看使用此 API 的現有程式碼:
啟用上述語言偵測器 API。
在 Microsoft Edge Canary 或 Dev 中,請在新視窗或分頁中進入 語言偵測器 API 的遊樂場 。
在最上方的資訊橫幅中,查看狀態:最初顯示: 裝置上可用的 API 與型號。
在「 文字分析 」視窗中,你可以選擇性地更改文字內容。
點擊 偵測語言 按鈕。
模型開始偵測文本的語言。
輸出會在頁面的回應區產生。
輸出顯示:
- 偵測到的語言名稱。
- 哪種語言的確定性百分比。
另請參閱:
- /built-in-ai/ - 內建 AI 遊樂場示範的原始碼與說明文件。
使用語言偵測器 API
接下來的章節將介紹使用 Language Detector API。
檢查語言偵測器 API 是否啟用
在使用網站程式碼中的語言偵測器 API 前,請先檢查該 API 是否啟用,並測試該物件的存在 LanguageDetector :
if (!LanguageDetector) {
// The Language Detector API is not available.
} else {
// The Language Detector API is available.
}
請確認該模型是否可用於 (availability())
語言偵測器 API 可在 Microsoft Edge 下載模型與執行時使用。
要檢查該 API 是否可用,請呼叫 availability():
const availability = await LanguageDetector.availability();
if (availability == "unavailable") {
// The model is not available.
}
if (availability == "downloadable" || availability == "downloading") {
// The model can be used, but it needs to be downloaded first.
}
if (availability == "available") {
// The model is available and can be used.
}
建立一個新的 (create())
建立會話會指示瀏覽器將語言偵測模型載入記憶體,以便使用該模型。 在偵測語言之前,請先用以下 create() 方法建立一個新的工作階段:
// Create a Language Detector session.
const session = await LanguageDetector.create();
若要自訂模型會話,您可以將選項傳入方法:create()
// Create a Language Detector session with options.
const session = await LanguageDetector.create({
expectedInputLanguages: ["en", "es", "fr"]
monitor: monitorProgress
});
可用選項包括:
| 選項 | 描述 |
|---|---|
expectedInputLanguages |
一堆語言代碼。 如果你需要偵測某些語言以符合你的使用情境,請將它們納入 expectedInputLanguages 選項中。 這讓 Microsoft Edge 能在必要時下載額外資源,以提升準確性。 語言代碼應採用BCP 47格式 ("en" 例如英語、 "es" 西班牙語或 "fr" 法語) 。 |
monitor |
這個功能用來監控模型下載進度。 請參閱下方 「監控模型下載進度 (監控) 」。 |
監控模型下載進度 (monitor)
你可以透過這個 monitor 選項追蹤模型下載進度。 當模型尚未完全下載到將使用的裝置時,這很有用,可以提醒網站用戶應該等待。
// Create a Language Detector session with the monitor option to monitor the
// model download.
const session = await LanguageDetector.create({
monitor: m => {
// Use the monitor object argument to add a listener for the
// downloadprogress event.
m.addEventListener("downloadprogress", event => {
// The event is an object with the loaded and total properties.
if (event.loaded == event.total) {
// The model is fully downloaded.
} else {
// The model is still downloading.
const percentageComplete = (event.loaded / event.total) * 100;
}
});
}
});
(detect()) 執行語言偵測器 API
建立模型會話後,你可以偵測文字語言。 語言偵測器 API 提供 detect() 偵測語言的方法:
// Create a Language Detector session.
const session = await LanguageDetector.create();
// Detect the language of the text.
const results = await session.detect(someUserText);
// Use the results.
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely.
console.log(result.detectedLanguage, result.confidence);
}
該 detect() 方法回傳一個承諾,該承諾解析為一組語言偵測結果。 每個結果都是一個具有以下性質的物件:
| 屬性 | 描述 |
|---|---|
detectedLanguage |
例如,檢測到的語言的BCP 47語言標籤 ("en" 英語、 "es" 西班牙語或 "und" 未確定) 。 |
confidence |
介於0.0到1.0之間的數值,表示偵測的置信水準。 數值越高表示信心越高。 |
結果依信心度由高至低排序,最可能的語言排在前。 結果陣列的最後一項總是未 確定 的語言, ("und") 。
undetermined陣列中的成員代表該文本不使用模型已知任何語言的百分比信心度。
理解信心分數
語言偵測器 API 回傳的信賴分數具有以下特性:
範圍: 每個信心分數為介於0 (最低信心) 到1 (最高信心) 之間的數字,包含在內。
排序結果: 結果依置信度由高至低排序。
低信心過濾: 信心度極低的語言會自動被過濾掉,以減少雜訊。 低信心 通常低於1%,或比「未確定」類別更低。
分數總和: 所有信心分數的總和可能小於1,因為結果中省略了低機率語言。
摧毀一場 (destroy())
偵測到語言後,摧毀會話。 這讓瀏覽器知道你不再需要語言模型,這樣模型就能從記憶體中卸載。
你可以用兩種不同的方式摧毀一場遊戲:
- 透過使用這個
destroy()方法。 - 透過使用
AbortController.
詳情如下。
透過呼叫銷毀會話 destroy()
要用 session 呼叫來摧毀一個 session destroy()LanguageDetector :
const session = await LanguageDetector.create();
// Later, destroy the session by using the destroy method.
session.destroy();
透過以下方式銷毀一個會話 AbortController
要透過建立 AbortController 物件來銷毀會話,請建立一個 LanguageDetector 會話,然後呼叫 abort():
// Create an AbortController object.
const controller = new AbortController();
// Create a Language Detector session and pass the
// AbortController object by using the signal option.
const session = await LanguageDetector.create({
signal: controller.signal
});
// Later, perhaps when the user interacts with the UI, destroy the session by
// calling the abort() function of the AbortController object.
controller.abort();
傳送意見反應
我們有興趣了解:
- 你打算使用 Language Detector API 的各種情境。
- 你遇到的 API 或語言偵測模型問題。
- 是否還有其他針對特定任務的內建 API 會有用。
若要針對你的情境和想完成的任務發送回饋,請在 語言偵測器 API 回饋問題中添加評論。
如果你發現使用 API 時有任何問題,請向倉庫回報。
你也可以參與 W3C 網路機器學習工作小組倉庫中關於語言偵測器 API 設計的討論。
另請參閱
- 使用 Translator API 進行文字翻譯
- 用 Prompt API 來提示內建語言模型
- 使用 Writing Assistance API 摘要、撰寫及重寫文字
- 使用 Proofreader API 正確文法與拼字
取得 Microsoft Edge:
- 成為 Microsoft Edge Insider - 下載Microsoft Edge (Beta、開發版或 Canary) 預覽頻道。
GitHub:
Azure docs:
Demos repo:
- 語言偵測器 API 遊樂場
- /built-in-ai/ - 內建 AI 遊樂場示範的原始碼與說明文件。