Udhëzues për zbulimin e gjuhës për ueb

Detyra e Detektorit të Gjuhës MediaPipe ju lejon të identifikoni gjuhën e një teksti. Këto udhëzime ju tregojnë se si ta përdorni Detektorin e Gjuhës për aplikacionet e uebit dhe JavaScript. Shembulli i kodit i përshkruar në këto udhëzime është i disponueshëm në GitHub .

Mund ta shihni këtë detyrë në veprim duke parë demonstrimin . Për më shumë informacion rreth aftësive, modeleve dhe opsioneve të konfigurimit të kësaj detyre, shihni Përmbledhjen .

Shembull kodi

Kodi shembull për Language Detector ofron një implementim të plotë të kësaj detyre në JavaScript për referencën tuaj. Ky kod ju ndihmon të testoni këtë detyrë dhe të filloni ndërtimin e funksionit tuaj të detektorit të gjuhës. Mund ta shikoni, ekzekutoni dhe modifikoni shembullin duke përdorur vetëm shfletuesin tuaj të internetit.

Konfigurimi

Ky seksion përshkruan hapat kryesorë për konfigurimin e mjedisit tuaj të zhvillimit dhe projekteve të kodit posaçërisht për të përdorur Language Detector. Për informacion të përgjithshëm mbi konfigurimin e mjedisit tuaj të zhvillimit për përdorimin e detyrave të MediaPipe, duke përfshirë kërkesat e versionit të platformës, shihni udhëzuesin e konfigurimit për Web .

Paketat JavaScript

Kodi i Detektorit të Gjuhës është i disponueshëm përmes paketës @mediapipe/tasks-text . Mund t'i gjeni dhe shkarkoni këto biblioteka nga lidhjet e dhëna në udhëzuesin e Konfigurimit të platformës.

Mund të instaloni paketat e kërkuara me kodin e mëposhtëm për konfigurimin lokal duke përdorur komandën e mëposhtme:

npm install @mediapipe/tasks-text

Nëse doni të vendosni në një server, mund të përdorni një shërbim të rrjetit të shpërndarjes së përmbajtjes (CDN), siç është jsDelivr , për të shtuar kod direkt në faqen tuaj HTML, si më poshtë:

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

Model

Detyra MediaPipe Language Detector kërkon një model të trajnuar që është i pajtueshëm me këtë detyrë. Për më shumë informacion mbi modelet e trajnuara të disponueshme për Language Detector, shihni seksionin Modelet e përmbledhjes së detyrës.

Zgjidhni dhe shkarkoni një model dhe më pas ruajeni atë brenda direktorisë së projektit tuaj:

<dev-project-root>/app/shared/models

Specifikoni shtegun e modelit me parametrin e objektit baseOptions modelAssetPath , siç tregohet më poshtë:

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

Krijo detyrën

Përdorni një nga funksionet Language Detector LanguageDetector.createFrom...() për të përgatitur detyrën për ekzekutimin e inferencave. Mund të përdorni funksionin createFromModelPath() me një shteg relativ ose absolut për në skedarin e modelit të trajnuar. Shembulli i kodit më poshtë demonstron përdorimin e funksionit createFromOptions() . Për më shumë informacion mbi konfigurimin e detyrave, shihni Opsionet e konfigurimit .

Kodi i mëposhtëm tregon se si të ndërtohet dhe konfigurohet kjo detyrë.

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

Opsionet e konfigurimit

Kjo detyrë ka opsionet e mëposhtme të konfigurimit për aplikacionet Web dhe JavaScript:

Emri i opsionit Përshkrimi Diapazoni i Vlerave Vlera e parazgjedhur
maxResults Cakton numrin maksimal opsional të parashikimeve të gjuhës me rezultatet më të larta që duhen kthyer. Nëse kjo vlerë është më e vogël se zero, kthehen të gjitha rezultatet e disponueshme. Çdo numër pozitiv -1
scoreThreshold Cakton pragun e rezultatit të parashikimit që mbivendos atë të dhënë në meta të dhënat e modelit (nëse ka). Rezultatet nën këtë vlerë refuzohen. Çdo noton Nuk është vendosur
categoryAllowlist Cakton listën opsionale të kodeve të gjuhëve të lejuara. Nëse nuk është bosh, parashikimet gjuhësore, kodi i gjuhës i të cilave nuk është në këtë grup, do të filtrohen. Ky opsion është reciprokisht ekskluziv me categoryDenylist dhe përdorimin e të dy rezultateve në një gabim. Çdo varg Nuk është vendosur
categoryDenylist Cakton listën opsionale të kodeve të gjuhëve që nuk lejohen. Nëse nuk është bosh, parashikimet e gjuhëve, kodi i gjuhës i të cilave është në këtë grup, do të filtrohen. Ky opsion është reciprokisht ekskluziv me categoryAllowlist dhe përdorimin e të dy rezultateve në një gabim. Çdo varg Nuk është vendosur

Përgatitni të dhënat

Detektori i Gjuhës punon me të dhëna teksti ( string ). Detyra trajton përpunimin paraprak të të dhënave hyrëse, duke përfshirë tokenizimin dhe përpunimin tenzor. I gjithë përpunimi paraprak trajtohet brenda funksionit detect . Nuk ka nevojë për përpunim paraprak shtesë të tekstit hyrës paraprakisht.

const inputText = "The input text for the detector.";

Ekzekuto detyrën

Detektori i Gjuhës përdor funksionin detect për të shkaktuar përfundime. Për zbulimin e gjuhës, kjo do të thotë kthimi i gjuhëve të mundshme për tekstin e futur.

Kodi i mëposhtëm tregon se si të ekzekutohet përpunimi me modelin e detyrës:

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

Trajtoni dhe shfaqni rezultatet

Detyra Language Detector jep një rezultat LanguageDetectorResult që përbëhet nga një listë parashikimesh gjuhësore së bashku me probabilitetet për këto parashikime. Më poshtë tregohet një shembull i të dhënave të daljes nga kjo detyrë:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

Ky rezultat është marrë duke ekzekutuar modelin në tekstin hyrës: "Il ya beaucoup de bouches qui parlent et fort peu de têtes qui pensent." .

Për një shembull të kodit të nevojshëm për të përpunuar dhe vizualizuar rezultatet e kësaj detyre, shihni shembullin .