Yerleşik yapay zeka ile dil algılama

Yayınlanma tarihi: 24 Eylül 2024, Son güncelleme: 20 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 Gönderim Amacı

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.

Language Detector API, istemci tarafında çalışır. Bu sayede kullanıcı gizliliğini koruyabilirsiniz. Bunu yapan belirli bir kitaplığı göndermek mümkün olsa da indirmek için ek kaynaklar gerekir.

Dil algılama ne zaman kullanılır?

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 metnin doğru şekilde etiketlenmesini sağlayabilirsiniz (ör. online sosyal ağ sitelerinde).
  • 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

Başlayın

Dil Tanımlayıcı API'si, Chrome 138 kararlı sürümünden itibaren kullanılabilir. Tarayıcının Language Detector API'yi destekleyip desteklemediğini görmek için özellik algılama özelliğini çalıştırın.

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

Donanım gereksinimlerini inceleyin

Dil Tanımlayıcı ve Çevirmen API'leri, masaüstünde yalnızca Chrome'da çalışır.

Prompt API, Summarizer API, Writer API ve Rewriter API, aşağıdaki koşullar karşılandığında Chrome'da çalışır:

  • İşletim sistemi: Windows 10 veya 11; macOS 13 veya üzeri (Ventura ve sonraki sürümler) ya da Linux. Android, iOS ve ChromeOS için Chrome, Gemini Nano tarafından desteklenen API'lerimiz tarafından henüz desteklenmiyor.
  • Depolama alanı: Chrome profilinizi içeren birimde en az 22 GB.
  • GPU: 4 GB'tan fazla VRAM
  • : Sınırsız veri veya sınırsız bağlantı.
  • GPU: 4 GB'tan fazla VRAM
  • : Sınırsız veri veya sınırsız bağlantı.

Bu şartlar, geliştirme süreciniz ve oluşturduğunuz özellikleri kullanan kullanıcılarınız için geçerlidir.

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österilemiyor.
  • "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
// ...

API oyun alanı

API oyun alanımızda Language Detector API'yi deneyin. Metin alanına farklı dillerde yazılmış metin girin.

Standartlaştırma çalışması

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

Language Detector API ile neler oluşturduğunuzu görmek isteriz. Web sitelerinizi ve web uygulamalarınızı X, YouTube ve LinkedIn'de bizimle paylaşın.

Chrome'un uygulanmasıyla ilgili geri bildiriminiz varsa Chromium hata bildiriminde bulunun.