Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API детектора языка — это экспериментальный веб-API, который позволяет определять язык текста с помощью модели, встроенной в #REF!, из кода JavaScript на веб-сайте или в расширении браузера.
Подробное содержимое:
- Введение
- Использование API детектора языка с API переводчика
- Доступность API детектора языка
- Преимущества API детектора языка
- Альтернативы API детектора языка
- Заявление об отказе от ответственности
- Доступность модели
- Включение API детектора языка
- См. рабочий пример
- Использование API детектора языка
- Проверьте, включен ли API детектора языка.
- Проверьте, можно ли использовать модель (availability())
- Создание нового сеанса (create())
- Мониторинг хода загрузки модели (монитор)
- Запуск API детектора языка (detect())
- Общие сведения о оценках достоверности
- Уничтожение сеанса (destroy())
- Обратная связь
- См. также
Введение
Вводные сведения об API детектора языка см. в следующих разделах:
- API-интерфейсы детектора языка и переводчика
- Объяснение API-интерфейсов переводчика и детектора языка
Использование API детектора языка с API переводчика
Чтобы упростить перевод предоставленного пользователем текста на другой язык, используйте API детектора языка вместе с API переводчика.
Дополнительные сведения об API переводчика см. в статье Перевод текста с помощью API переводчика.
Доступность API детектора языка
API детектора языка доступен в качестве предварительной версии для разработчиков на каналах #REF! Canary или Dev, начиная с версии 147.0.3897.0. Чтобы скачать канал предварительной версии #REF! (бета-версия, разработка или Canary), перейдите в раздел Стать участником программы предварительной оценки #REF!.
Преимущества API детектора языка
API детектора языка использует модель обнаружения языка, которая выполняется на том же устройстве, где используются входные и выходные данные модели (то есть локально). Этот подход имеет следующие преимущества по сравнению с облачными решениями:
Снижение стоимости: Использование облачной службы обнаружения языка не связано с затратами.
Независимость сети: Помимо начальной загрузки модели, при использовании этого API для определения языков не возникает задержки в сети, и api также можно использовать, когда устройство находится в автономном режиме.
Улучшенная конфиденциальность: Входные данные в модель никогда не покидают устройство и не собираются для обучения других моделей ИИ.
Модель обнаружения языка загружается при первом использовании API в #REF!, а затем используется на всех веб-сайтах в браузере. Доступ к модели осуществляется через простой веб-API, который не требует знаний о сторонних платформах и не требует опыта в области искусственного интеллекта (ИИ) или машинного обучения (ML).
Альтернативы API детектора языка
Вы можете отправлять сетевые запросы в облачные службы обнаружения языков с более сложными возможностями. См. документацию по языку ИИ Azure.
В качестве альтернативы на устройстве API запроса используется более настраиваемые сценарии с моделью небольшого языка, встроенной в #REF!. См . статью Запрос встроенной языковой модели с помощью API запроса.
Заявление об отказе от ответственности
Как и другие модели машинного обучения, модель обнаружения языка в #REF! потенциально может давать результаты, которые являются неточными или ненадежными для определенных входных данных, таких как короткий текст или отдельные слова.
Доступность модели
При первом вызове API детектора языка требуется начальное скачивание модели. Вы можете отслеживать скачивание модели с помощью параметра монитора при создании нового сеанса API детектора языка. См . раздел Мониторинг хода загрузки модели (монитор) ниже.
Включение API детектора языка
Чтобы использовать API детектора языка в #REF!, установите флаг следующим образом:
В #REF! перейдите по адресу
edge://versionи убедитесь, что вы используете #REF! версии 147.0.3897.0 или более поздней, например канал Предварительной версии Canary или Dev microsoft Edge.Чтобы скачать канал предварительной версии #REF! (бета-версия, разработка или Canary), перейдите в раздел Стать участником программы предварительной оценки #REF!.
В этой версии #REF! откройте новую вкладку или окно и перейдите по адресу
edge://flags.В текстовом поле Флаги поиска в верхней части окна начните вводить API веб-платформы обнаружения языка:
В списке указан следующий флаг:
API веб-платформы обнаружения языка
В этой записи отображается
#edge-language-detection-apiedge://flags/#edge-language-detection-api(ссылка на ).
В разделе API веб-платформы обнаружения языка выберите Включено.
В правом нижнем углу отображается кнопка Перезапустить .
Нажмите кнопку Перезапустить .
См. рабочий пример
Чтобы просмотреть API детектора языка в действии и просмотреть существующий код, который использует этот API, выполните следующие действия:
Включите API детектора языка, как описано выше.
В #REF! Canary или Dev перейдите на тестовую площадку API детектора языка в новом окне или вкладке.
В информационном баннере в верхней части проверка состояние: изначально отображается: API на устройстве и модель доступна.
В текстовом поле Текст для анализа можно при необходимости изменить текст.
Нажмите кнопку Определить язык .
Модель начинает определять язык текста.
Выходные данные создаются в разделе ответа страницы.
Выходные данные отображаются:
- Имя обнаруженного языка.
- Процент определенности языка.
См. также:
- /built-in-ai/ — исходный код и файл сведений для демонстрации встроенных игровых площадок ИИ.
Использование API детектора языка
В следующих разделах описывается использование API детектора языка.
Проверьте, включен ли API детектора языка.
Перед использованием API детектора языка в коде веб-сайта проверка, что API включен, проверив наличие LanguageDetector объекта:
if (!LanguageDetector) {
// The Language Detector API is not available.
} else {
// The Language Detector API is available.
}
Проверьте, можно ли использовать модель (availability())
API детектора языка можно использовать, если модель и среда выполнения модели были загружены #REF!.
Чтобы проверка, можно ли использовать 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 параметр . Это позволяет #REF! при необходимости скачивать дополнительные ресурсы для повышения точности. Коды языков должны быть в формате 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;
}
});
}
});
Запуск API детектора языка (detect())
После создания сеанса модели можно определить язык текста. 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()
Чтобы уничтожить сеанс путем вызова 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();
Отправка отзывов
Мы заинтересованы в изучении:
- Диапазон сценариев, для которых планируется использовать API детектора языка.
- Все проблемы, возникающие с API или моделью обнаружения языка.
- Будут ли полезны другие встроенные API для конкретных задач.
Чтобы отправить отзыв о своих сценариях и задачах, которые вы хотите выполнить, добавьте комментарий к проблеме обратной связи API детектора языка.
Если вы заметили какие-либо проблемы при использовании API, сообщите об этом в репозитории.
Вы также можете принять участие в обсуждении разработки API детектора языка в репозитории рабочей группы веб-машинного обучения W3C.
См. также
- Перевод текста с помощью API переводчика
- Запрос встроенной языковой модели с помощью API запроса
- Суммирование, запись и перезапись текста с помощью API-интерфейсов помощи по написанию
- Исправление грамматики и орфографии с помощью API Proofreader
Получение #REF!:
- Станьте участником программы предварительной оценки #REF! — скачайте канал предварительной версии #REF! (бета-версия, разработка или Canary).
Github:
документация по #REF!:
Репозиторий демонстраций:
- Тестовая площадка API детектора языка
- /built-in-ai/ — исходный код и файл сведений для демонстрации встроенных игровых площадок ИИ.