Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция распознавания языка может оценить текст и вернуть идентификатор языка, указывающий, на каком языке написан документ.
Определение языка полезно для магазинов контента, собирающих произвольный текст, язык которого неизвестен. Вы можете проанализировать результаты этого анализа, чтобы определить, какой язык используется во входном документе. Ответ также содержит оценку от 0 до 1, указывающую на достоверность модели.
Функция "Распознавание языка" может обнаруживать широкий спектр языков, их наречий, диалектов и некоторых региональных или национальных языков.
Варианты разработки
Чтобы использовать обнаружение языка, вы отправляете необработанный неструктурированный текст для анализа и обрабатываете выходные данные API в приложении. Анализ выполняется на условиях "как есть", без дополнительной настройки используемой модели для ваших данных. Существует три способа использования обнаружения языка:
Вариант разработки | Описание |
---|---|
Azure AI Foundry | Azure AI Foundry — это веб-платформа, которая позволяет вам использовать связывание сущностей с текстовыми примерами и собственными данными при регистрации. Дополнительные сведения см. на веб-сайте Azure AI Foundry или документации по Azure AI Foundry. |
REST API или клиентская библиотека (пакет SDK для Azure) | Интегрируйте обнаружение языка в приложения с помощью REST API или клиентской библиотеки, доступной на различных языках. Дополнительные сведения см. в кратком руководстве по обнаружению языка. |
Контейнер Docker | Используйте доступный контейнер Docker, чтобы развернуть эту функцию локально. Эти контейнеры Docker позволяют разместить службу ближе к данным, чтобы обеспечивать безопасность, соответствие требованиям и пользоваться другими операционными преимуществами. |
Определение способа обработки данных (необязательно)
Выбор модели распознавания языка
По умолчанию при распознавании языка в тексте будет использоваться последняя доступная модель ИИ. Вы также можете настроить запросы API для использования определенной версии модели.
Языки ввода
При отправке документов для оценки, функция распознавания языка попытается определить, был ли текст написан на каком-либо из поддерживаемых языков.
Если содержимое на менее распространенном языке, вы можете попробовать применить распознавание языка, чтобы узнать, вернет ли эта функция код. Для языков, которые невозможно распознать, ответ — unknown
.
Отправка данных
Совет
Вы можете использовать для распознавания языка контейнер Docker, чтобы использовать API в локальной среде.
Анализ выполняется при получении запроса. При синхронном использовании функции распознавания языка она работает без сохранения состояния. Никакие данные в учетной записи не сохраняются, а все результаты немедленно возвращаются в ответе.
При асинхронном использовании этой функции результаты API доступны в течение 24 часов с момента приема запроса и указываются в ответе. По истечении этого периода результаты очищаются и больше не будут доступны для извлечения.
Получение результатов распознавания языка
При получении результатов от функции распознавания языка можно передать результаты в приложение или сохранить выходные данные в файл в локальной системе.
Обнаружение языка возвращает один преобладающий язык для каждого документа, который вы отправляете, а также имя ISO 639-1 , удобочитаемое пользователем имя, оценка достоверности, имя скрипта и код скрипта в соответствии со стандартом ISO 15924. Положительная оценка 1 означает наивысший уровень достоверности анализа.
Неоднозначное содержимое
В некоторых случаях неоднозначность языков на основе входных данных может быть трудно устранить. Используйте параметр countryHint
, чтобы указать код страны или региона в формате ISO 3166-1 alpha-2. По умолчанию API использует "US" как указание страны по умолчанию. Чтобы удалить такое поведение, можно сбросить этот параметр, установив вместо этого значения пустую строку countryHint = ""
.
Например, термин "коммуникация" распространен в английском и французском языках, а если задан ограниченный контекст, ответ будет основан на подсказке страны/региона "США". Если известно, что источник текста находится во Франции, такие данные можно использовать в качестве указания.
Примечание.
Неоднозначное содержимое может привести к снижению показателей достоверности.
Ответ countryHint
применим только в том случае, если оценка достоверности меньше 0,8.
Входные данные
{
"documents": [
{
"id": "1",
"text": "communication"
},
{
"id": "2",
"text": "communication",
"countryHint": "fr"
}
]
}
Во втором документе модель распознавания языка имеет больше контекста, чтобы принять более обоснованное решение, так как она содержит свойство countryHint
в вышеуказанном вводе. Это вернет следующие выходные данные.
Выходные данные
{
"documents":[
{
"detectedLanguage":{
"confidenceScore":0.62,
"iso6391Name":"en",
"name":"English"
},
"id":"1",
"warnings":[
]
},
{
"detectedLanguage":{
"confidenceScore":1.0,
"iso6391Name":"fr",
"name":"French"
},
"id":"2",
"warnings":[
]
}
],
"errors":[
],
"modelVersion":"2022-10-01"
}
Если анализатору не удается выполнить синтаксический анализ входных данных,он возвращается (Unknown)
. Например, если вы отправите текстовую строку, состоящую только из чисел.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
Содержание на разных языках
Содержимое на нескольких языках в одном документе возвращает язык, который представлен наиболее широко, но с более низким положительным рейтингом. Рейтинг отражает минимальную силу оценки. В следующем примере входные данные — сочетание английского, испанского и французского языков. Анализатор подсчитывает число знаков в каждом сегменте, чтобы определить преобладающий язык.
Входные данные
{
"documents": [
{
"id": "1",
"text": "Hello, I would like to take a class at your University. ¿Se ofrecen clases en español? Es mi primera lengua y más fácil para escribir. Que diriez-vous des cours en français?"
}
]
}
Выходные данные
Итоговые выходные данные состоят из преобладающего языка, с оценкой не менее 1.0, что указывает на менее надежный уровень достоверности.
{
"kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Spanish",
"iso6391Name": "es",
"confidenceScore": 0.97,
"script": "Latin",
"scriptCode": "Latn"
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
}
Имя скрипта и код скрипта
Примечание.
- Обнаружение скриптов в настоящее время ограничено выбором языков.
- Обнаружение скрипта доступно только для текстовых входных данных, длина которых превышает 12 символов.
Обнаружение языка обеспечивает возможность обнаружения нескольких сценариев на язык в соответствии со стандартом ISO 15924. В частности, распознавание языка возвращает два свойства, связанные со скриптом:
-
script
: удобочитаемое пользователем имя идентифицированного скрипта -
scriptCode
: код ISO 15924 для идентифицированного скрипта
Выходные данные API включают значение свойства scriptCode
для документов, длина которых составляет не менее 12 символов и которые соответствуют списку поддерживаемых языков и алфавитов. Обнаружение скриптов предназначено для пользователей, язык которых может быть транслитерирован или написан в нескольких сценариях, таких как язык Казаха или Хинди.
Ранее обнаружение языка было разработано для определения языка документов на разнообразных языках, диалектах и региональных вариантах, но было ограничено романизацией. Романизация относится к преобразованию текста из одной системы записи в римский (латинский) скрипт, и необходимо обнаружить многие индо-европейские языки. Однако существуют другие языки, написанные на нескольких сценариях, таких как казах, которые могут быть написаны на кириллице, Персо-арабском и латинском скриптах. Существуют и другие случаи, когда пользователи могут выбрать или им необходимо транслитерировать свой язык в более чем одном алфавите, например, переводить хинди в латиницу из-за ограниченной доступности клавиатур, поддерживающих деванагари.
Следовательно, расширенная поддержка обнаружения языка для обнаружения скриптов ведет себя следующим образом:
Входные данные
{
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput": {
"documents": [
{
"id": "1",
"text": "आप कहाँ जा रहे हैं?"
},
{
"id": "2",
"text": "Туған жерім менің - Қазақстаным"
}
]
}
}
Выходные данные
Результирующий результат состоит из преобладающего языка, а также имени скрипта, кода скрипта и оценки достоверности.
{
"kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Hindi",
"iso6391Name": "hi",
"confidenceScore": 1.0,
"script": "Devanagari",
"scriptCode": "Deva"
},
"warnings": []
},
{
"id": "2",
"detectedLanguage": {
"name": "Kazakh",
"iso6391Name": "kk",
"confidenceScore": 1.0,
"script": "Cyrillic",
"scriptCode": "Cyrl"
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-12-01"
}
}
Ограничения службы и данных
Сведения о размере и числе запросов, которые можно отправлять в минуту и секунду, см. в статье об ограничениях службы.