Web için dil algılama kılavuzu

MediaPipe Dil Dedektörü görevi, bir metin parçasının dilini tanımlamanıza olanak tanır. Bu talimatlarında, web ve JavaScript uygulamaları için Dil Algılayıcı'nın nasıl kullanılacağı gösterilmektedir. Bu talimatlarda açıklanan kod örneğini şu adreste bulabilirsiniz: GitHub'a gidin.

Bu görevi, demo. Özellikler, modeller ve yapılandırma seçenekleri hakkında daha fazla bilgi Bu görev hakkında daha fazla bilgi için Genel Bakış'ı inceleyin.

Kod örneği

Dil Dedektörü örnek kodu, bu dilin tam bir uygulamasını sağlar görevi aşağıda bulabilirsiniz. Bu kod, görevi test etmenize kendi dil dedektörü özelliğinizi oluşturmaya başlayın. Bu projeleri görüntüleyebilir, çalıştırabilir, değerini değiştirin ve Dil Algılayıcı örnek kodu yalnızca web tarayıcınızı kullanarak.

Kurulum

Bu bölümde, geliştirme ortamınızı ve ayarlarınızı yönetmeyle ilgili ve Dil Dedektörü'nü kullanmak için özel olarak kod projeleri içerir. Şu konularda genel bilgi için: dahil olmak üzere MediaPipe görevlerini kullanmak için geliştirme ortamınızı daha fazla bilgi için Web için kurulum kılavuzu.

JavaScript paketleri

Dil Algılayıcı kodu, @mediapipe/tasks-text paketinden yararlanın. Bu kitaplıkları, şurada sağlanan bağlantılardan bulup indirebilirsiniz: platform Kurulum kılavuzu.

Yerel hazırlık için gerekli paketleri aşağıdaki kodla yükleyebilirsiniz kullanabilirsiniz:

npm install @mediapipe/tasks-text

Sunucuya dağıtım yapmak istiyorsanız içerik yayınlama yöntemini kullanabilirsiniz. ağ (CDN) hizmeti kullanarak (ör. jsDelivr) aşağıdaki gibi kodu doğrudan HTML sayfanıza ekleyin:

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

Model

MediaPipe Dil Dedektörü görevi bu görevi görebilir. Dil Dedektörü için eğitilmiş mevcut modeller hakkında daha fazla bilgi için göreve genel bakış Modeller bölümü.

Bir model seçip indirin ve ardından bu modeli proje dizininizde depolayın:

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

baseOptions nesnesi modelAssetPath ile modelin yolunu belirtin parametresini kullanın:

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

Görevi oluşturma

Şu işlemler için Dil Dedektörü LanguageDetector.createFrom...() işlevlerinden birini kullanın: çıkarımları yapmaya hazır hale getirebilirsiniz. createFromModelPath() kullanabilirsiniz işlevi, eğitilen model dosyasına giden göreli veya mutlak bir yolla Kod aşağıdaki örnekte, createFromOptions() işlevinin kullanımı gösterilmektedir. Daha fazla bilgi edinmek için bkz. Yapılandırma seçenekleri.

Aşağıdaki kod, bu görevin nasıl oluşturulacağını ve yapılandırılacağını gösterir.

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 için aşağıdaki yapılandırma seçeneklerine sahiptir uygulamalar:

Seçenek Adı Açıklama Değer Aralığı Varsayılan Değer
maxResults İsteğe bağlı maksimum puanlı dil tahmini sayısını dön. Bu değer sıfırdan küçükse tüm kullanılabilir sonuçlar döndürülür. Pozitif sayılar -1
scoreThreshold Şu kriterde sağlanan tahmini geçersiz kılan bir tahmin puanı eşiğini belirler: model meta verileri (varsa). Bu değerin altındaki sonuçlar reddedilir. Herhangi bir kayan nokta Ayarlanmadı
categoryAllowlist İsteğe bağlı, izin verilen dil kodlarının listesini ayarlar. Boş değilse dil kodu bu kümede olmayan dil tahminleri filtrelendi. Bu seçenek birlikte kullanılamaz categoryDenylist ve her iki sonucu da kullanmak hataya neden olur. Tüm dizeler Ayarlanmadı
categoryDenylist İzin verilmeyen dil kodlarının isteğe bağlı listesini ayarlar. Eğer Dil kodu bu kümede bulunan boş olmayan dil tahminleri filtrelenir çıkar. Bu seçenek categoryAllowlist ve kullanılması bir hatayla sonuçlanır. Tüm dizeler Ayarlanmadı

Verileri hazırlama

Dil Algılayıcı, metin (string) verileriyle çalışır. Görev, projenin yürütülmesi sırasında ve tensör ön işlemesi dahil olmak üzere veri girişi ön işlemesi. Tüm ön işlemler, detect işlevi içinde gerçekleştirilir. Gerek yok ek ön işleme yöntemini kullanabilirsiniz.

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

Görevi çalıştırma

Dil Dedektörü, çıkarımları tetiklemek için detect işlevini kullanır. Dil için bu, giriş metni için olası dillerin döndürülmesi anlamına gelir.

Aşağıdaki kod, görevle işlemin nasıl yürütüleceğini gösterir model:

// 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, aşağıdakilerden oluşan bir LanguageDetectorResult çıktısı verir: olasılıklarını ve bunların olasılıklarını ortaya koyabilir. İlgili içeriği oluşturmak için kullanılan aşağıda bu görevdeki çıkış verilerinin bir örneği gösterilmektedir:

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

Bu sonuç, giriş metninde model çalıştırılarak elde edilmiştir: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."

Sonuçları işlemek ve görselleştirmek için gereken koda daha fazla bilgi için Web örnek uygulaması.