다음을 통해 공유


언어 감지를 사용하는 방법

언어 감지 기능은 텍스트를 평가하고 문서가 작성된 언어를 나타내는 언어 식별자를 반환할 수 있습니다.

언어 감지는 언어를 알 수 없는 임의의 텍스트를 수집하는 콘텐츠 저장소에 유용합니다. 이 분석의 결과를 구문 분석하여 입력 문서에서 사용된 언어를 판별할 수 있습니다. 또한 응답에서는 모델의 신뢰도를 반영하는 0과 1사이의 점수를 반환합니다.

언어 감지 기능은 다양한 언어, 변형, 방언 및 일부 지역 또는 문화권 언어를 감지할 수 있습니다.

개발 옵션

언어 감지를 사용하려면 분석을 위해 구조화되지 않은 원시 텍스트를 제출하고 애플리케이션에서 API 출력을 처리합니다. 분석은 데이터에 사용되는 모델에 대한 추가 사용자 지정 없이 있는 그대로 수행됩니다. 언어 감지를 사용하는 방법에는 두 가지가 있습니다.

개발 옵션 설명
Language Studio Language Studio는 등록 시 Azure 계정 및 고유한 데이터 없이 텍스트 예제와 엔터티 링크 설정을 시도할 수 있는 웹 기반 플랫폼입니다. 자세한 내용은 Language Studio 웹 사이트 또는 Language Studio 빠른 시작을 참조하세요.
REST API 또는 클라이언트 라이브러리(Azure SDK) REST API 또는 다양한 언어로 제공되는 클라이언트 라이브러리를 사용하여 언어 감지를 애플리케이션에 통합합니다. 자세한 내용은 언어 감지 빠른 시작을 참조하세요.
Docker 컨테이너 사용 가능한 Docker 컨테이너를 사용하여 이 기능을 온-프레미스에 배포합니다. 이러한 Docker 컨테이너를 사용하면 규정 준수, 보안 또는 기타 운영상의 이유로 서비스를 데이터에 더 가깝게 가져올 수 있습니다.

데이터 처리 방법 결정(선택 사항)

언어 감지 모델 지정

기본적으로 언어 감지는 텍스트에서 사용 가능한 최신 AI 모델을 사용합니다. 특정 모델 버전을 사용하도록 API 요청을 구성할 수도 있습니다.

입력 언어

평가할 문서를 제출할 때 언어 감지는 텍스트가 지원되는 언어로 작성되었는지 여부를 확인하려고 합니다.

사용 빈도가 낮은 언어로 표현된 콘텐츠가 있는 경우, 언어 감지 기능을 사용하여 코드가 반환되는지 확인할 수 있습니다. 감지할 수 없는 언어에 대한 응답은 unknown입니다.

데이터 제출

언어 감지에 Docker 컨테이너를 사용할 수 있으므로 온-프레미스에서 API를 사용할 수 있습니다.

요청을 받으면 분석이 수행됩니다. 언어 감지 기능을 동기적으로 사용하는 것은 상태 비저장입니다. 계정에 데이터가 저장되지 않으며, 결과가 응답에서 즉시 반환됩니다.

이 기능을 비동기적으로 사용하는 경우 요청이 수집된 시간부터 24시간 동안 API 결과를 사용할 수 있으며 응답에 표시됩니다. 이 기간이 지나면 결과가 제거되고 더 이상 검색할 수 없습니다.

언어 감지 결과 가져오기

언어 감지에서 결과를 가져올 때 애플리케이션에 결과를 스트리밍하거나 로컬 시스템의 파일에 출력을 저장할 수 있습니다.

언어 감지는 ISO 15924 표준에 따른 ISO 639-1 이름, 사람이 읽을 수 있는 이름, 신뢰도 점수, 스크립트 이름 및 스크립트 코드와 함께 제출하는 각 문서마다 하나의 주요 언어를 반환합니다. 긍정 점수 1은 분석의 가능한 가장 높은 신뢰도 수준을 나타냅니다.

모호한 콘텐츠

일부 경우에는 입력에 따라 언어를 명확하게 구분하는 것이 어려울 수 있습니다. countryHint 매개 변수를 사용하여 ISO 3166-1 alpha-2 국가/지역 코드를 지정할 수 있습니다. 기본적으로 API는 "US"를 기본 국가 힌트로 사용합니다. 이 동작을 제거하려면 이 값을 빈 문자열 countryHint = ""로 설정하여 이 매개 변수를 다시 설정할 수 있습니다.

예를 들어 "communication"은 영어와 프랑스어 모두에 공통적이며, 제한된 컨텍스트로 제공되는 경우 응답은 "US" 국가/지역 힌트를 기반으로 합니다. 텍스트의 원본이 힌트로 제공될 수 있는 프랑스에서 온 것으로 알려진 경우입니다.

참고 항목

콘텐츠가 모호하면 신뢰도 점수가 낮아질 수 있습니다. 응답의 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의 출력에는 길이가 12자 이상이고 지원되는 언어 및 스크립트 목록과 일치하는 문서의 scriptCode 속성 값이 포함됩니다. 스크립트 검색은 카자흐어 또는 힌디어와 같이 두 개 이상의 스크립트로 언어를 음역하거나 쓸 수 있는 사용자에게 도움이 되도록 설계되었습니다.

이전에는 언어 감지가 다양한 언어, 방언 및 지역 변형으로 된 문서의 언어를 감지하도록 설계되었지만 "로마자 표기"로 제한되었습니다. 로마자 표기는 텍스트를 하나의 쓰기 시스템에서 로마어(라틴어) 스크립트로 변환하는 것을 의미하며, 많은 인도-유럽어를 갑지하는 데 필요합니다. 그러나 키릴 자모, 페르시아-아랍어 및 라틴어 스크립트로 작성할 수 있는 카자흐어와 같이 여러 스크립트로 작성된 다른 언어도 있습니다. 데바나가리 스크립트를 지원하는 키보드의 가용성이 제한되어 있기 때문에 사용자가 라틴어 스크립트에서 음역된 힌디어와 같이 둘 이상의 스크립트에서 언어를 선택하거나 음역해야 하는 경우도 있습니다.

따라서 스크립트 검색에 대한 언어 감지의 확장된 지원은 다음과 같이 작동합니다.

입력

{ 
    "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" 
    } 
}

서비스 및 데이터 제한

분당 및 초당 보낼 수 있는 요청의 크기와 수에 대한 내용은 서비스 제한 문서를 참조하세요.

참고 항목