Опубликовано: 24 сентября 2024 г.
Прежде чем переводить текст с одного языка на другой, необходимо сначала определить, какой язык используется в данном тексте. Раньше для перевода требовалось загрузить текст в облачный сервис, выполнить перевод на сервере, а затем загрузить результаты.
API Language Detector использует логический вывод на устройстве, чтобы вы могли улучшить свою историю конфиденциальности. Хотя можно поставить специальную библиотеку, которая делает это, для ее загрузки потребуются дополнительные ресурсы.
Доступность
- Присоединяйтесь к пробной версии API Language Detector , работающей в Chrome 130–135, чтобы протестировать API на реальных пользователях в рабочей среде. Пробные версии Origin включают эту функцию для всех пользователей вашего источника в Chrome.
- Следите за нашей реализацией в Chrome Status .
- Предложение по API-интерфейсу детектора языка и переводчика открыто для обсуждения .
- Присоединяйтесь к программе ранней предварительной версии, чтобы заранее ознакомиться с новыми встроенными API-интерфейсами искусственного интеллекта и получить доступ к обсуждению в нашем списке рассылки.
Зарегистрируйтесь на пробную версию Origin
Чтобы начать использовать API детектора языка, выполните следующие действия:
- Примите политику Google в отношении запрещенного использования генеративного искусственного интеллекта .
- Перейдите к исходной пробной версии API Language Detector .
- Нажмите «Зарегистрироваться» и заполните форму.
- В поле «Происхождение веб-сайта » укажите идентификатор источника или расширения:
chrome-extension://YOUR_EXTENSION_ID
.
- В поле «Происхождение веб-сайта » укажите идентификатор источника или расширения:
- Чтобы отправить заявку, нажмите «Зарегистрироваться» .
- Скопируйте предоставленный токен и добавьте его на каждую веб-страницу в вашем источнике или файл вашего расширения, для которого вы хотите включить пробную версию.
- Если вы создаете расширение, следуйте инструкциям по пробной версии источника расширений.
- Начните использовать API определения языка .
Узнайте больше о том, как начать работу с пробными версиями Origin .
Добавить поддержку локального хоста
Чтобы получить доступ к API определения языка на localhost
во время пробной версии Origin, вам необходимо обновить Chrome до последней версии. Затем выполните следующие действия:
- Откройте Chrome на одной из этих платформ: Windows, Mac или Linux.
- Перейдите в
chrome://flags/#language-detection-api
. - Выберите Включено .
- Нажмите «Перезапустить» или перезапустите Chrome.
Примеры использования
API детектора языка в первую очередь полезен в следующих сценариях:
- Определите язык входного текста, чтобы его можно было перевести.
- Определите язык входного текста, чтобы можно было загрузить правильную модель для задач, специфичных для языка, таких как обнаружение токсичности.
- Определите язык ввода текста, чтобы его можно было правильно пометить, например, на сайтах социальных сетей.
- Определите язык ввода текста, чтобы можно было соответствующим образом настроить интерфейс приложения. Например, на бельгийском сайте показывать интерфейс только для пользователей, говорящих по-французски.
Используйте API детектора языка
API-интерфейс Language Detector является частью более крупного семейства API-переводчика. Сначала запустите обнаружение функций, чтобы узнать, поддерживает ли браузер API Language Detector.
if ('translation' in self && 'canDetect' in self.translation) {
// The Language Detector API is available.
}
Загрузка модели
Обнаружение языка зависит от модели, которая настроена для конкретной задачи обнаружения языков. Хотя API встроен в браузер, модель загружается по требованию при первой попытке сайта использовать API. В Chrome эта модель очень маленькая по сравнению с другими моделями. Фактически, он уже может присутствовать, учитывая, что эта модель также используется функциями браузера Chrome.
Чтобы проверить, готова ли модель к использованию, вызовите функцию асинхронного translation.canDetect()
. Возможны три варианта ответа:
-
'no'
: текущий браузер поддерживает API детектора языка, но в данный момент его нельзя использовать. Например, потому что на диске недостаточно свободного места для загрузки модели. -
'readily'
: текущий браузер поддерживает API детектора языка, и его можно использовать сразу. -
'after-download'
: текущий браузер поддерживает API детектора языка, но сначала необходимо загрузить модель.
Чтобы запустить загрузку и создать экземпляр детектора языка, вызовите функцию асинхронного translation.createDetector()
. Если ответом на canDetect()
был 'after-download'
, лучше всего прослушивать ход загрузки, чтобы вы могли сообщить пользователю, если загрузка займет некоторое время.
В следующем примере показано, как инициализировать детектор языка.
const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
// The language detector isn't usable.
return;
}
if (canDetect === 'readily') {
// The language detector can immediately be used.
detector = await translation.createDetector();
} else {
// The language detector can be used after model download.
detector = await translation.createDetector();
detector.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
await detector.ready;
}
Запустите детектор языка
API детектора языка использует модель ранжирования, чтобы определить, какой язык с наибольшей вероятностью используется в данном фрагменте текста. Ранжирование — это тип машинного обучения, цель которого — упорядочить список элементов. В этом случае API Language Detector ранжирует языки от самой высокой до самой низкой вероятности.
Функция detect()
может возвращать либо первый результат, наиболее вероятный ответ, либо перебирать ранжированных кандидатов с уровнем достоверности. Он возвращается в виде списка объектов {detectedLanguage, confidence}
. Уровень confidence
выражается как значение от 0.0
(самая низкая достоверность) до 1.0
(самая высокая достоверность).
const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
Демо
Предварительный просмотр API Language Detector в нашей демонстрации . Введите текст, написанный на разных языках, в текстовом поле.
Усилия по стандартизации
API-интерфейс Language Detector был перенесен в группу сообщества W3C Web Incubator после того, как соответствующее предложение получило достаточную поддержку. API является частью более крупного предложения API перевода .
Команда Chrome запросила отзыв у группы технической архитектуры W3C и попросила Mozilla и WebKit высказать свои позиции по стандартам.
Поделитесь своим отзывом
Если у вас есть отзывы о реализации Chrome, сообщите об ошибке Chromium . Поделитесь своим мнением о форме API Language Detector API, прокомментировав существующую или открыв новую проблему в репозитории API перевода GitHub .