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 .