Yerleşik yapay zeka ile dil algılama

Yayınlanma tarihi: 24 Eylül 2024, Son güncelleme: 1 Mayıs 2025

Açıklayıcı Web Uzantılar Chrome Durumu Amaç
GitHub Bayrak arkasında Chrome 137 beta Bayrak arkasında Chrome 137 beta Görünüm Deneme yapma niyeti

Metni bir dilden başka bir dile çevirmeden önce, metinde hangi dilin kullanıldığını belirlemeniz gerekir. Önceden, çeviri için metnin bir bulut hizmetine yüklenmesi, çevirinin sunucuda yapılması ve ardından sonuçların indirilmesi gerekiyordu.

Dil Tanımlayıcı API'si, gizlilik hikayenizi iyileştirebilmeniz için cihaz üzerinde çıkarım kullanır. Bunu yapan belirli bir kitaplığı göndermek mümkün olsa da indirmek için ek kaynaklar gerekir.

Başlayın

API'yi üretim ortamındaki gerçek kullanıcılarla test etmek için Chrome 132 ile 138 arasında çalışan Language Detector API kaynak denemesine katılın. Kaynak denemeleri, Chrome'da kaynağınızdaki tüm kullanıcılar için bu özelliği etkinleştirir.

Kaynak denemesine kaydolma

Dil Tanımlayıcı API'sini kullanmaya başlamak için aşağıdaki adımları uygulayın:

  1. Google'ın Üretken Yapay Zeka Yasaklanan Kullanım Politikası'nı kabul edin.
  2. Language Detector API kaynak denemesi sayfasına gidin.
  3. Register'ı (Kaydol) tıklayın ve formu doldurun.
    • Web kaynağı alanına kaynağınızı veya uzantı kimliğinizi (chrome-extension://YOUR_EXTENSION_ID) girin.
  4. Göndermek için Kaydol'u tıklayın.
  5. Sağlanan jetonu kopyalayıp deneme sürümünün etkinleştirilmesini istediğiniz kaynaktaki veya uzantınızın dosyasındaki her web sayfasına ekleyin.
  6. Dil Algılama API'yi kullanmaya başlayın.

Kaynak denemelerini kullanmaya başlama hakkında daha fazla bilgi edinin.

localhost için destek ekleme

Kaynak denemesi sırasında localhost'te Language Detection API'ye erişmek için Chrome'u en son sürüme güncellemeniz gerekir. Ardından, aşağıdaki adımları uygulayın:

  1. Şuraya git: chrome://flags/#language-detection-api.
  2. Etkin'i seçin.
  3. Yeniden başlat'ı tıklayın veya Chrome'u yeniden başlatın.

Örnek kullanım alanları

Dil Tanımlayıcı API'si özellikle aşağıdaki senaryolarda yararlıdır:

  • Giriş metninin dilini belirleyerek metnin çevrilmesini sağlayın.
  • Giriş metninin dilini belirler. Böylece, toksisite algılama gibi dile özgü görevler için doğru model yüklenebilir.
  • Giriş metninin dilini belirleyerek (ör. online sosyal ağ sitelerinde) doğru şekilde etiketlenmesini sağlayın.
  • Giriş metninin dilini belirleyerek uygulamanın arayüzünü buna göre ayarlayabilirsiniz. Örneğin, Belçika'daki bir sitede yalnızca Fransızca konuşan kullanıcılarla alakalı arayüzü göstermek için

Language Detector API'yi kullanma

Dil Tanımlayıcı API, Translator API'nin daha büyük ailesinin bir parçasıdır. Öncelikle, tarayıcının Language Detector API'yi destekleyip desteklemediğini görmek için özellik algılama işlemini çalıştırın.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

Model indirme

Dil algılama, dil algılamayla ilgili özel görev için hassas ayarlanmış bir modele bağlıdır. API tarayıcıya yerleştirilmiş olsa da model, bir site API'yi ilk kez kullanmaya çalıştığında isteğe bağlı olarak indirilir. Chrome'da bu model, diğer modellere kıyasla çok küçüktür. Bu model diğer Chrome özellikleri tarafından kullanıldığı için zaten mevcut olabilir.

Modelin kullanıma hazır olup olmadığını görmek için asenkron LanguageDetector.availability() işlevini çağırın ve elde edilen promise'i inceleyin. Üç olası yanıt vardır:

  • "unavailable": İstenen seçenekler desteklenmiyor veya modele istem gönderilemiyor.
  • "downloadable": İstek desteklenir ancak oturum oluşturmadan önce ek indirme işlemleri yapmanız gerekir. Bu indirmeler dil modelini veya hassas ayarı içerebilir.
  • "downloading": İstek destekleniyor ve indirme işlemi devam ediyor. Oturum oluşturmadan önce indirme işleminin tamamlanması gerekir.
  • "available": İstek desteklenir ve oturum oluşturabilirsiniz.

İndirme işlemini tetiklemek ve dil algılayıcıyı örneklemek için asenkron LanguageDetector.create() işlevini çağırın. availability() için yanıt 'downloadable' veya 'downloading' ise indirme işleminin ilerleme durumunu dinlemeniz önerilir. Böylece, indirme işleminin uzun sürmesi durumunda kullanıcıyı bilgilendirebilirsiniz.

Aşağıdaki örnekte, dil algılayıcının nasıl başlatılacağı gösterilmektedir.

const availability = await LanguageDetector.availability();

let detector;
if (availability === 'unavailable') {
  // The language detector isn't usable.
  return;
}
if (availability === 'available') {
  // The language detector can immediately be used.
  detector = await LanguageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await LanguageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded * 100}%`);
      });
    },
  });
  await detector.ready;
}

Dil algılayıcıyı çalıştırma

Language Detector API, belirli bir metin parçasında büyük olasılıkla hangi dilin kullanıldığını belirlemek için bir sıralama modeli kullanır. Sıralama, amacın bir öğe listesini sıralamak olduğu bir makine öğrenimi türüdür. Bu durumda Dil Algılayıcı API'si, dilleri olasılık düzeyine göre en yüksekten en düşüğe doğru sıralar.

detect() işlevi, ilk sonucu (en olası yanıtı) döndürebilir veya güven düzeyine göre sıralanmış adaylar arasında iterasyon yapabilir. Bu, {detectedLanguage, confidence} nesnesi listesi olarak döndürülür. confidence seviyesi, 0.0 (en düşük güven) ile 1.0 (en yüksek güven) arasında bir değer olarak ifade edilir.

const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

Demo

Language Detector API'yi demomuzda önizleyebilirsiniz. Metin alanına farklı dillerde yazılmış metin girin.

Standartlaştırma çalışması

İlgili teklif yeterli destek aldıktan sonra Dil Tanımlayıcı API'si W3C Web Incubator Topluluk Grubu'na taşındı. API, daha büyük bir Translation API teklifinin bir parçasıdır.

Chrome ekibi, W3C Teknik Mimari Grubu'ndan geri bildirim istedi ve Mozilla ile WebKit'ten standartlarla ilgili görüşlerini sordu.

Görüşlerinizi paylaşın

Chrome'un uygulanmasıyla ilgili geri bildiriminiz varsa Chromium hata bildiriminde bulunun. Mevcut bir yorumu yorumlayarak veya Translation API GitHub deposunda yeni bir sorun açarak Language Detector API'nin API şekliyle ilgili geri bildirimlerinizi paylaşın.