Wykryj język

Ukończone

Interfejs API wykrywania języka sztucznej inteligencji 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 możliwość jest przydatna w przypadku magazynów zawartości przechowujących dowolne teksty, których język nie jest znany. Inny scenariusz może obejmować czatbota. Jeśli użytkownik rozpocznie sesję z czatbotem, wykrywanie języka może służyć do określenia używanego języka i umożliwienia skonfigurowania odpowiedzi bota w odpowiednim języku.

Wyniki analizy możesz przeanalizować w celu ustalenia, który język jest używany w wejściowym dokumencie. 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 i tekst do przeanalizowania. Opcjonalnie możesz podać countryHint , aby zwiększyć wydajność przewidywania.

{
    "kind": "LanguageDetection",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
              {
                "id": "1",
                "text": "Hello world",
                "countryHint": "US"
              },
              {
                "id": "2",
                "text": "Bonjour tout le monde"
              }
        ]
    }
}

Usługa zwróci odpowiedź JSON zawierającą wynik dla każdego dokumentu w treści żądania, w tym przewidywany język i wartość wskazującą poziom ufności przewidywania. Poziom ufności to wartość z zakresu od 0 do 1 z wartościami bliżej 1 jest wyższym poziomem ufności. Oto przykład standardowej odpowiedzi JSON mapowania na powyższe żądanie JSON.

{   "kind": "LanguageDetectionResults",
    "results": {
        "documents": [
          {
            "detectedLanguage": {
              "confidenceScore": 1,
              "iso6391Name": "en",
              "name": "English"
            },
            "id": "1",
            "warnings": []
          },
          {
            "detectedLanguage": {
              "confidenceScore": 1,
              "iso6391Name": "fr",
              "name": "French"
            },
            "id": "2",
            "warnings": []
          }
        ],
        "errors": [],
        "modelVersion": "2022-10-01"
    }
}

W naszym przykładzie wszystkie języki wykazują pewność siebie 1, głównie dlatego, że tekst jest stosunkowo prosty i łatwy do zidentyfikowania języka.

Jeśli przekażesz dokument z wielojęzyczną zawartością, usługa będzie działać nieco inaczej. Jeśli dokument zawiera zawartość w wielu językach, zwracany jest język najczęściej występujący, lecz z mniejszą dodatnią oceną, co odzwierciedla niewielką siłę tej oceny. W poniższym przykładzie dane wejściowe są mieszanką języka angielskiego, hiszpańskiego i francuskiego. Analizator używa analizy statystycznej tekstu, aby określić dominujący język.

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

Poniższy przykład przedstawia odpowiedź dla tego przykładu w wielu językach.

{
    "documents": [
        {
            "id": "1",
            "detectedLanguage": {
                "name": "Spanish",
                "iso6391Name": "es",
                "confidenceScore": 0.9375
            },
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2022-10-01"
}

Ostatnim warunkiem, który należy wziąć pod uwagę, jest to, że istnieje niejednoznaczność co do zawartości językowej. Ten 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 rezultacie odpowiedź dla nazwy języka i kodu ISO będzie wskazywać (nieznany), a wartość wyniku zostanie zwrócona jako 0. W poniższym przykładzie pokazano, jak wygląda odpowiedź.

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