Распознавание языка с помощью встроенного ИИ

Опубликовано: 24 сентября 2024 г., Последнее обновление: 20 мая 2025 г.

Объяснитель Веб Расширения Статус Хрома Намерение
GitHub За флагом Chrome 137 бета За флагом Chrome 137 бета Вид Намерение отправить

Прежде чем переводить текст с одного языка на другой, необходимо сначала определить, какой язык используется в данном тексте. Раньше перевод требовал загрузки текста в облачный сервис, выполнения перевода на сервере, а затем скачивания результатов.

API Language Detector работает на стороне клиента, что означает, что вы можете защитить конфиденциальность пользователя. Хотя можно предоставить специальную библиотеку, которая делает это, для ее загрузки потребуются дополнительные ресурсы.

Когда использовать определение языка

API-интерфейс определения языка в первую очередь полезен в следующих сценариях:

  • Определите язык входного текста, чтобы его можно было перевести.
  • Определите язык входного текста, чтобы можно было загрузить правильную модель для задач, специфичных для конкретного языка, например, для обнаружения токсичности.
  • Определите язык вводимого текста, чтобы его можно было правильно маркировать, например, на сайтах социальных сетей.
  • Определите язык вводимого текста, чтобы интерфейс приложения можно было настроить соответствующим образом. Например, на бельгийском сайте, чтобы отображать только интерфейс, соответствующий пользователям, говорящим по-французски.

Начать

API Language Detector доступен в стабильной версии Chrome 138. Запустите функцию обнаружения, чтобы узнать, поддерживает ли браузер API Language Detector.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

Ознакомьтесь с требованиями к оборудованию.

API-интерфейсы определения языка и переводчика работают только на настольных компьютерах в Chrome.

Prompt API, Summarizer API, Writer API и Rewriter API работают в Chrome при соблюдении следующих условий:

  • Операционная система : Windows 10 или 11; macOS 13+ (Ventura и выше); или Linux. Chrome для Android, iOS и ChromeOS пока не поддерживаются нашими API, поддерживаемыми Gemini Nano.
  • Хранилище : не менее 22 ГБ на томе, содержащем ваш профиль Chrome.
  • Графический процессор : строго более 4 ГБ видеопамяти.
  • Сеть : Неограниченные данные или безлимитное соединение.
  • Графический процессор : строго более 4 ГБ видеопамяти.
  • Сеть : Неограниченные данные или безлимитное соединение.

Эти требования существуют для вас в процессе разработки и для ваших пользователей, которые работают с создаваемыми вами функциями.

Модель скачать

Определение языка зависит от модели, которая точно настроена для конкретной задачи определения языков. Хотя API встроено в браузер, модель загружается по запросу при первой попытке сайта использовать API. В Chrome эта модель очень мала по сравнению с другими моделями. Она может уже присутствовать, так как эта модель используется другими функциями Chrome.

Чтобы проверить, готова ли модель к использованию, вызовите асинхронную функцию LanguageDetector.availability() и проверьте полученное обещание. Возможны три ответа:

  • "unavailable" : запрошенные параметры не поддерживаются или модель не может быть запрошена.
  • "downloadable" : Запрос поддерживается, но необходимы дополнительные загрузки, прежде чем вы сможете создать сеанс. Эти загрузки могут включать языковую модель или тонкую настройку.
  • "downloading" : запрос поддерживается, и идет загрузка, которую необходимо завершить перед созданием сеанса.
  • "available" : запрос поддерживается, и вы можете создать сеанс.

Чтобы запустить загрузку и создать экземпляр детектора языка, вызовите асинхронную функцию LanguageDetector.create() . Если ответ на availability() был 'downloadable' или 'downloading' , лучше всего прослушивать ход загрузки, чтобы вы могли сообщить пользователю, если загрузка займет время.

В следующем примере показано, как инициализировать детектор языка.

const availability = await LanguageDetector.availability();

let detector;
if (availability === 'unavailable') {
  // The language detector isn't usable.
  return;
}
if (availability === 'available') {
  // The language detector can immediately be used.
  detector = await LanguageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await LanguageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded * 100}%`);
      });
    },
  });
  await detector.ready;
}

Запустите детектор языка

API Language Detector использует модель ранжирования для определения того, какой язык, скорее всего, используется в данном фрагменте текста. Ранжирование — это тип машинного обучения, целью которого является упорядочение списка элементов. В этом случае 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-площадка

Поэкспериментируйте с API Language Detector в нашей игровой площадке API . Введите текст, написанный на разных языках, в текстовую область.

Усилия по стандартизации

Команда Chrome запросила обратную связь от Технической архитектурной группы W3C и поинтересовалась позицией Mozilla и WebKit по их стандартам.

Поделитесь своим отзывом

Мы хотим увидеть, что вы создаете с помощью API Language Detector. Поделитесь с нами своими веб-сайтами и веб-приложениями на X , YouTube и LinkedIn .

Если у вас есть отзывы о реализации Chrome, отправьте сообщение об ошибке Chromium .