Yerleşik yapay zeka ile dil algılama

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

Açıklayıcı Web Uzantılar Chrome Durumu Amaç
MDN Chrome 138 Chrome 138 Görünüm Kargoya verme amacı

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

Language Detector API, istemci tarafında çalıştığı için 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?

Language Detector API, öncelikle aşağıdaki senaryolarda yararlıdır:

  • Giriş metninin dilini belirleyerek çevrilmesini sağlar.
  • Giriş metninin dilini belirleyerek zehirli içerik algılama gibi dile özgü görevler için doğru modelin yüklenmesini sağlar.
  • Giriş metninin dilini belirleyerek doğru şekilde etiketlenmesini sağlar. Örneğin, online sosyal ağ sitelerinde.
  • Giriş metninin dilini belirleyerek uygulamanın arayüzünün buna göre ayarlanmasını sağlar. Ö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

Language Detector API, 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ılamayı çalıştırın.

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

Donanım gereksinimlerini inceleyin

Geliştiriciler ve Chrome'da bu API'leri kullanarak özellikleri çalıştıran kullanıcılar için aşağıdaki şartlar geçerlidir. Diğer tarayıcıların farklı işletim gereksinimleri olabilir.

Dil Algılayıcı ve Çeviri API'leri masaüstündeki Chrome'da çalışır. Bu API'ler mobil cihazlarda çalışmaz. 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'yu kullanan API'ler tarafından henüz desteklenmemektedir.
  • Depolama alanı: Chrome profilinizi içeren birimde en az 22 GB.
  • GPU: Kesinlikle 4 GB'tan fazla VRAM.
  • : Sınırsız veri veya ölçülmeyen bağlantı.

Gemini Nano'nun tam boyutu biraz farklılık gösterebilir. Mevcut boyutu öğrenmek için chrome://on-device-internals adresini ziyaret edip Model durumu'na gidin. Model boyutunu belirlemek için listelenen Dosya yolunu açın.

Model indirme

Dil algılama, dilleri algılama görevi için ince ayar yapılmış bir modele bağlıdır. API tarayıcıda yerleşik 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ığından zaten mevcut olabilir.

Modelin kullanıma hazır olup olmadığını görmek için eşzamansız LanguageDetector.availability() işlevini çağırın ve sonuçta elde edilen sözü inceleyin. Üç olası yanıt vardır:

  • "unavailable": İstenen seçenekler desteklenmiyor veya modele istem gönderilemiyor.
  • "downloadable": İstek destekleniyor ancak oturum oluşturabilmeniz için ek indirme işlemleri yapmanız gerekiyor. Bu indirmeler arasında dil modeli veya ince ayar yer alabilir.
  • "downloading": İstek destekleniyor ve indirme işlemi devam ediyor. Oturum oluşturulmadan önce indirme işleminin tamamlanması gerekir.
  • "available": İstek desteklenir ve oturum oluşturabilirsiniz.

İndirme işlemini tetiklemek ve dil algılayıcıyı başlatmak için eşzamansız LanguageDetector.create() işlevini çağırın. availability() yanıtı 'downloadable' veya 'downloading' ise indirme ilerleme durumunu dinlemeniz önerilir. Böylece, indirme işlemi uzun sürerse 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 metinde hangi dilin kullanılma olasılığının en yüksek olduğunu belirlemek için bir sıralama modeli kullanır. Sıralama, makine öğrenimi türlerinden biridir. Amaç, öğe listesini sıralamaktır. Bu durumda, Dil Algılama API'si dilleri en yüksek olasılıktan en düşük olasılığa doğru sıralar.

detect() işlevi, ilk sonucu, en olası yanıtı döndürebilir veya sıralanmış adayları güven düzeyine göre yineleyebilir. Bu, {detectedLanguage, confidence} nesnelerinin listesi olarak döndürülür. confidence düzeyi, 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 playground

API deneme alanımızda Language Detector API ile denemeler yapın. Metin alanına farklı dillerde yazılmış metinler girin.

Standartlaştırma çalışması

Chrome Ekibi, W3C Teknik Mimari Grubu'ndan geri bildirim istedi ve Mozilla ile WebKit'ten standartlar konusundaki görüşlerini paylaşmalarını rica etti.

Görüşlerinizi paylaşın

Dil Algılama API'si ile neler geliştirdiğinizi görmek istiyoruz. Web sitelerinizi ve web uygulamalarınızı X, YouTube ve LinkedIn'de bizimle paylaşın.

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