Udostępnij za pośrednictwem


Jak używać wykrywania języka

Funkcja wykrywania języka może oceniać tekst i zwracać identyfikator języka wskazujący język, w jakim został napisany dokument.

Wykrywanie języka jest przydatne w przypadku magazynów zawartości, które zbierają dowolny tekst, gdzie język jest nieznany. Wyniki analizy możesz przeanalizować w celu ustalenia, który język jest używany w wejściowym dokumencie. Odpowiedź zwraca również wynik z zakresu od 0 do 1, który odzwierciedla pewność modelu.

Funkcja wykrywania języka może wykrywać szeroką gamę języków, wariantów, dialektów i niektórych języków regionalnych lub kulturowych.

Opcje programowania

Aby użyć wykrywania języka, przesyłasz nieprzetworzone tekst bez struktury do analizy i obsługujesz dane wyjściowe interfejsu API w aplikacji. Analiza jest wykonywana zgodnie z rzeczywistym użyciem, bez dodatkowego dostosowania modelu używanego na danych. Istnieją trzy sposoby korzystania z wykrywania języka:

Opcja programowania opis
Studio językowe Language Studio to platforma internetowa, która umożliwia wypróbowanie łączenia jednostek z przykładami tekstowymi bez konta platformy Azure i własnych danych podczas tworzenia konta. Aby uzyskać więcej informacji, zobacz witrynę internetową language Studio lub przewodnik Szybki start dla programu Language Studio.
Interfejs API REST lub biblioteka klienta (Zestaw Azure SDK) Integrowanie wykrywania języka z aplikacjami przy użyciu interfejsu API REST lub biblioteki klienta dostępnej w różnych językach. Aby uzyskać więcej informacji, zobacz przewodnik Szybki start dotyczący wykrywania języka.
Kontener platformy Docker Użyj dostępnego kontenera platformy Docker, aby wdrożyć tę funkcję lokalnie. Te kontenery platformy Docker umożliwiają przybliżenie usługi do danych ze względów zgodności, zabezpieczeń lub innych powodów operacyjnych.

Określanie sposobu przetwarzania danych (opcjonalnie)

Określanie modelu wykrywania języka

Domyślnie wykrywanie języka będzie używać najnowszego dostępnego modelu sztucznej inteligencji w tekście. Możesz również skonfigurować żądania interfejsu API tak, aby używały określonej wersji modelu.

Języki wejściowe

Po przesłaniu dokumentów do oceny wykrywanie języka podejmie próbę ustalenia, czy tekst został napisany w dowolnym z obsługiwanych języków.

Jeśli masz zawartość wyrażoną w rzadziej używanym języku, możesz wypróbować funkcję wykrywania języka, aby sprawdzić, czy zwraca kod. Odpowiedź dla języków, których nie można wykryć, to unknown.

Przesyłanie danych

Napiwek

Do wykrywania języka można użyć kontenera platformy Docker, aby można było używać lokalnego interfejsu API.

Analiza jest wykonywana po odebraniu żądania. Korzystanie z funkcji wykrywania języka synchronicznie jest bezstanowe. Żadne dane nie są przechowywane na Twoim koncie, a wyniki są zwracane natychmiast w odpowiedzi.

W przypadku korzystania z tej funkcji asynchronicznie wyniki interfejsu API są dostępne przez 24 godziny od momentu pozyskiwania żądania i są wskazywane w odpowiedzi. Po upływie tego okresu wyniki są czyszczone i nie są już dostępne do pobierania.

Pobieranie wyników wykrywania języka

Po otrzymaniu wyników z wykrywania języka można przesyłać strumieniowo wyniki do aplikacji lub zapisywać dane wyjściowe w pliku w systemie lokalnym.

Wykrywanie języka zwróci jeden dominujący język dla każdego przesyłanego dokumentu, wraz z nazwą ISO 639-1 , nazwą czytelną dla człowieka, oceną ufności, nazwą skryptu i kodem skryptu zgodnie ze standardem ISO 15924. Wynik dodatni 1 wskazuje najwyższy możliwy poziom ufności analizy.

Zawartość niejednoznaczna

W niektórych przypadkach może być trudno odróżnić języki w oparciu o dane wejściowe. Możesz użyć parametru countryHint , aby określić kod kraju/regionu ISO 3166-1 alfa-2 . Domyślnie interfejs API używa wartości "US" jako domyślnej wskazówki dotyczącej kraju. Aby usunąć to zachowanie, możesz zresetować ten parametr, ustawiając tę wartość na pusty ciąg countryHint = "" .

Na przykład "komunikacja" jest powszechna zarówno dla języka angielskiego, jak i francuskiego, a jeśli jest podana z ograniczonym kontekstem, odpowiedź będzie oparta na wskazówce "USA" kraju/regionu. Jeśli pochodzenie tekstu jest znane z francji, które można podać jako wskazówkę.

Uwaga

Niejednoznaczna zawartość może spowodować obniżenie współczynników ufności. Wartość countryHint w odpowiedzi ma zastosowanie tylko wtedy, gdy współczynnik ufności jest mniejszy niż 0,8.

Dane wejściowe

{
    "documents": [
        {
            "id": "1",
            "text": "communication"
        },
        {
            "id": "2",
            "text": "communication",
            "countryHint": "fr"
        }
    ]
}

W drugim dokumencie model wykrywania języka ma dodatkowy kontekst, aby lepiej oceniać, ponieważ zawiera countryHint właściwość we powyższych danych wejściowych. Spowoduje to zwrócenie następujących danych wyjściowych.

Wyjście

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

Jeśli analizator nie może przeanalizować danych wejściowych, zwraca wartość (Unknown). Przykładem jest przesłanie ciągu tekstowego składającego się wyłącznie z liczb.

{
    "documents": [
        {
            "id": "1",
            "detectedLanguage": {
                "name": "(Unknown)",
                "iso6391Name": "(Unknown)",
                "confidenceScore": 0.0
            },
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2023-12-01"
}

Zawartość w języku mieszanym

Zawartość w języku mieszanym w tym samym dokumencie zwraca język z największą reprezentacją w zawartości, ale z niższą pozytywną oceną. Ocena odzwierciedla marginalną siłę oceny. W następującym przykładzie dane wejściowe stanowią mieszankę języków angielskiego, hiszpańskiego i francuskiego. Analizator zlicza znaki w każdym segmencie w celu ustalenia dominującego języka.

Dane wejściowe

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

Wyjście

Wynikowe dane wyjściowe składają się z dominującego języka, z wynikiem mniejszym niż 1,0, co wskazuje słabszy poziom ufności.

{
    "kind": "LanguageDetectionResults",
    "results": {
        "documents": [
            {
                "id": "1",
                "detectedLanguage": {
                    "name": "Spanish",
                    "iso6391Name": "es",
                    "confidenceScore": 0.97,
                    "script": "Latin",
                    "scriptCode": "Latn"
                },
                "warnings": []
            }
        ],
        "errors": [],
        "modelVersion": "2023-12-01"
    }
}

Nazwa skryptu i kod skryptu

Uwaga

  • Wykrywanie skryptów jest obecnie ograniczone do wybierania języków.
  • Wykrywanie skryptu jest dostępne tylko dla danych wejściowych tekstowych, które są większe niż 12 znaków.

Wykrywanie języka umożliwia wykrywanie więcej niż jednego skryptu na język zgodnie ze standardem ISO 15924. W szczególności funkcja wykrywania języka zwraca dwie właściwości związane ze skryptami:

  • script: czytelna dla człowieka nazwa zidentyfikowanego skryptu
  • scriptCode: kod ISO 15924 dla zidentyfikowanych skryptów

Dane wyjściowe interfejsu API zawierają wartość scriptCode właściwości dla dokumentów o długości co najmniej 12 znaków lub większej oraz odpowiada liście obsługiwanych języków i skryptów. Wykrywanie skryptów jest przeznaczone dla użytkowników, których język może być transliterowany lub napisany w więcej niż jednym skrypcie, takim jak kazachski lub język hindi.

Wcześniej wykrywanie języka było przeznaczone do wykrywania języka dokumentów w wielu różnych językach, dialektach i wariantach regionalnych, ale było ograniczone przez "Romanizacja". Romanizacja odnosi się do konwersji tekstu z jednego systemu pisania do skryptu rzymskiego (łacińskiego) i jest konieczne do wykrycia wielu języków indoeuropejskich. Istnieją jednak inne języki, które są napisane w wielu skryptach, takich jak Kazach, które można pisać w cyrylicach, perso-arabskich i łacińskich skryptach. Istnieją również inne przypadki, w których użytkownicy mogą wybrać lub są zobowiązani do transliteracji języka w więcej niż jednym skrypcie, takich jak transliteracja języka hindi w skrypcie łacińskim, ze względu na ograniczoną dostępność klawiatur, które obsługują skrypt Devanagari.

W związku z tym rozszerzona obsługa wykrywania skryptów przez wykrywanie języka działa w następujący sposób:

Dane wejściowe

{ 
    "kind": "LanguageDetection", 
    "parameters": { 
        "modelVersion": "latest" 
    }, 
    "analysisInput": { 
        "documents": [ 
            { 
                "id": "1", 
                "text": "आप कहाँ जा रहे हैं?" 
            }, 
            { 
                "id": "2", 
                "text": "Туған жерім менің - Қазақстаным" 
            } 
        ] 
    } 
} 

Wyjście

Wynikowe dane wyjściowe składają się z dominującego języka wraz z nazwą skryptu, kodem skryptu i współczynnikiem ufności.

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

Limity usług i danych

Aby uzyskać informacje na temat rozmiaru i liczby żądań, które można wysłać na minutę i sekundę, zobacz artykuł Dotyczący limitów usług.

Zobacz też