MediaPipe Language Detector görevi, bir metin parçasının dilini belirlemenizi sağlar. Bu talimatlarda, web ve JavaScript uygulamaları için Language Detector'ı nasıl kullanacağınız gösterilmektedir. Bu talimatlarda açıklanan kod örneği GitHub'da mevcuttur.
Bu görevin nasıl çalıştığını görmek için demoyu inceleyebilirsiniz. Bu görevin özellikleri, modelleri ve yapılandırma seçenekleri hakkında daha fazla bilgi için Genel Bakış bölümüne bakın.
Kod örneği
Language Detector'ın örnek kodu, bu görevin JavaScript'te eksiksiz bir uygulamasını referansınız için sağlar. Bu kod, bu görevi test etmenize ve kendi dil algılama özelliğinizi oluşturmaya başlamanıza yardımcı olur. Örneği yalnızca web tarayıcınızı kullanarak görüntüleyebilir, çalıştırabilir ve düzenleyebilirsiniz.
Kurulum
Bu bölümde, geliştirme ortamınızı ve kod projelerinizi özellikle Language Detector'ı kullanacak şekilde ayarlamayla ilgili temel adımlar açıklanmaktadır. Platform sürümü gereksinimleri de dahil olmak üzere MediaPipe görevlerini kullanmak için geliştirme ortamınızı ayarlama hakkında genel bilgi edinmek istiyorsanız Web için kurulum kılavuzu başlıklı makaleyi inceleyin.
JavaScript paketleri
Language Detector kodu, @mediapipe/tasks-text paketi üzerinden kullanılabilir. Bu kitaplıkları, platform kurulum kılavuzunda verilen bağlantılardan bulup indirebilirsiniz.
Aşağıdaki komutu kullanarak yerel hazırlama için gerekli paketleri aşağıdaki kodla yükleyebilirsiniz:
npm install @mediapipe/tasks-text
Bir sunucuya dağıtım yapmak istiyorsanız kodu doğrudan HTML sayfanıza eklemek için jsDelivr gibi bir içerik yayınlama ağı (CDN) hizmeti kullanabilirsiniz.
<head>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
crossorigin="anonymous"></script>
</head>
Model
MediaPipe Language Detector görevi için bu görevle uyumlu, eğitilmiş bir model gerekir. Dil Algılayıcı için kullanılabilen eğitilmiş modeller hakkında daha fazla bilgi edinmek istiyorsanız görev genel bakışının Modeller bölümüne bakın.
Bir model seçip indirin ve proje dizininizde saklayın:
<dev-project-root>/app/shared/models
Modelin yolunu, aşağıda gösterildiği gibi baseOptions nesnesi modelAssetPath parametresiyle belirtin:
baseOptions: {
modelAssetPath: `/app/shared/models/language_detector.tflite`
}
Görevi oluşturma
Görevi çıkarım çalıştırmaya hazırlamak için Language Detector LanguageDetector.createFrom...() işlevlerinden birini kullanın. Eğitilmiş model dosyasına göreli veya mutlak bir yolla erişmek için createFromModelPath() işlevini kullanabilirsiniz. Aşağıdaki kod örneğinde createFromOptions() işlevinin kullanımı gösterilmektedir. Görevleri yapılandırma hakkında daha fazla bilgi için Yapılandırma seçenekleri başlıklı makaleyi inceleyin.
Aşağıdaki kodda bu görevin nasıl oluşturulacağı ve yapılandırılacağı gösterilmektedir.
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();
Yapılandırma seçenekleri
Bu görev, Web ve JavaScript uygulamaları için aşağıdaki yapılandırma seçeneklerine sahiptir:
| Seçenek Adı | Açıklama | Değer aralığı | Varsayılan değer |
|---|---|---|---|
maxResults |
En yüksek puanlı dil tahminlerinden döndürülecek isteğe bağlı maksimum sayıyı ayarlar. Bu değer sıfırdan küçükse mevcut tüm sonuçlar döndürülür. | Pozitif sayılar | -1 |
scoreThreshold |
Model meta verilerinde (varsa) sağlanan tahmini puan eşiğini geçersiz kılan eşiği ayarlar. Bu değerin altındaki sonuçlar reddedilir. | Herhangi bir kayan öğe | Ayarlanmadı |
categoryAllowlist |
İzin verilen dil kodlarının isteğe bağlı listesini ayarlar. Boş değilse dil kodu bu kümede olmayan dil tahminleri filtrelenir. Bu seçenek, categoryDenylist ile birlikte kullanılamaz. İkisinin birlikte kullanılması hataya neden olur. |
Tüm dizeler | Ayarlanmadı |
categoryDenylist |
İzin verilmeyen isteğe bağlı dil kodu listesini ayarlar. Boş değilse dil kodu bu kümede olan dil tahminleri filtrelenir. Bu seçenek categoryAllowlist ile birlikte kullanılamaz ve ikisinin birlikte kullanılması hataya neden olur. |
Tüm dizeler | Ayarlanmadı |
Verileri hazırlama
Dil Algılayıcı, metin (string) verileriyle çalışır. Görev, belirtekleştirme ve tensör ön işleme dahil olmak üzere veri girişi ön işlemesini gerçekleştirir.
Tüm ön işleme işlemleri detect işlevi içinde gerçekleştirilir. Giriş metninin önceden ek olarak ön işlenmesine gerek yoktur.
const inputText = "The input text for the detector.";
Görevi çalıştırma
Dil Algılayıcı, çıkarımları tetiklemek için detect işlevini kullanır. Dil algılama için bu, giriş metninin olası dillerini döndürme anlamına gelir.
Aşağıdaki kodda, görevi kullanarak işlemenin nasıl yürütüleceği gösterilmektedir:
// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);
Sonuçları işleme ve görüntüleme
Dil Algılayıcı görevi, dil tahminlerinin listesini ve bu tahminlerin olasılıklarını içeren bir LanguageDetectorResult çıktısı verir. Aşağıda, bu görevden elde edilen çıkış verilerine ilişkin bir örnek gösterilmektedir:
LanguageDetectorResult:
LanguagePrediction #0:
language_code: "fr"
probability: 0.999781
Bu sonuç, modelin giriş metni üzerinde çalıştırılmasıyla elde edildi:"Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent.".
Bu görevin sonuçlarını işlemek ve görselleştirmek için gereken kodun örneğini örnekte bulabilirsiniz.