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 skryptuscriptCode
: 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.