Wykrywanie języka

Ukończone

Wskazówka

Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .

Interfejs API wykrywania języka platformy Azure ocenia dane wejściowe tekstu, a dla każdego przesłanego dokumentu zwraca identyfikatory języka z wynikiem wskazującym siłę analizy.

Ta funkcja jest przydatna w przypadku magazynów zawartości, które zbierają dowolny tekst, gdzie język jest nieznany. Inny scenariusz może obejmować aplikację czatu. Jeśli użytkownik rozpoczyna sesję z aplikacją, wykrywanie języka może służyć do określenia używanego języka i umożliwienia skonfigurowania odpowiedzi aplikacji w odpowiednim języku.

Możesz przeanalizować wyniki tej analizy, aby określić, który język jest używany w dokumencie wejściowym. Odpowiedź zwraca również wynik, który odzwierciedla pewność modelu (wartość z zakresu od 0 do 1).

Wykrywanie języka może pracować z dokumentami lub pojedynczymi frazami. Należy pamiętać, że rozmiar dokumentu musi zawierać się poniżej 5120 znaków. Limit rozmiaru jest na dokument, a każda kolekcja jest ograniczona do 1000 elementów (identyfikatorów). W tym miejscu pokazano przykład prawidłowo sformatowanego ładunku JSON, który można przesłać do usługi w treści żądania, w tym kolekcję dokumentów , z których każdy zawiera unikatowy identyfikator oraz tekst do przeanalizowania.

Na przykład poniższy kod w języku Python analizuje dwa (krótkie) dokumenty, aby wykryć język, w którym zostały napisane.

# Assumes code to create TextAnalyticsClient is above...

# Example text to analyze
documents = ["Hello World!", "Bonjour le monde!"]

# Detect language
response = client.detect_language(documents=documents)
for doc in response:
    print(f"Document: {doc.id}")
    print(f"\tPrimary Language: {doc.primary_language.name}")
    print(f"\tISO6391 Name: {doc.primary_language.iso6391_name}")
    print(f"\tConfidence Score: {doc.primary_language.confidence_score}")

Odpowiedź zawiera wynik dla każdego dokumentu w żądaniu, w tym przewidywany język i wartość wskazującą poziom ufności przewidywania. Poziom ufności to wartość z zakresu od 0 do 1, przy czym wartości bliższe 1 oznaczają wyższy poziom ufności. Oto przykład odpowiedzi z poprzedniego kodu.

Document: 0
        Primary Language: English
        ISO6391 Name: en
        Confidence Score: 0.9
Document: 1
        Primary Language: French
        ISO6391 Name: fr
        Confidence Score: 0.98

W naszym przykładzie oba języki wykazują wysoki poziom ufności, głównie dlatego, że tekst jest stosunkowo prosty i łatwy do zidentyfikowania.

Jeśli spróbujesz wykryć język dokumentu, który zawiera wielojęzyczną zawartość, na przykład I know a cool AI developer. He has a certain je ne sais quoi!odpowiedź może odzwierciedlać pewną niejednoznaczność. Zawartość języka mieszanego w tym samym dokumencie zwraca język z największą reprezentacją w zawartości, ale z niższą pozytywną oceną odzwierciedlając marginalną siłę tej oceny.

Ostatnim warunkiem, który należy wziąć pod uwagę, jest to, że istnieje niejednoznaczność co do zawartości językowej. Scenariusz może wystąpić, jeśli przesyłasz zawartość tekstową, której analizator nie może przeanalizować, na przykład z powodu problemów z kodowaniem znaków podczas konwertowania tekstu na zmienną ciągu. W związku z tym odpowiedź dla nazwy języka i kodu ISO zostanie zwrócona jako (unknown) , a wartość wyniku zostanie zwrócona jako 0.