Saya baru saja membuka halaman web di Google Chrome, dan berbunyi "Halaman ini dalam bahasa Jepang, apakah Anda ingin menerjemahkannya?".
Meminta terjemahan mungkin akan mengirim konten ke Google, tetapi bagaimana bahasa diidentifikasi di tempat pertama? Apakah ini dilakukan secara lokal, di browser? Atau apakah ini juga mengirim halaman ke Google? Jika demikian, haruskah saya tidak diminta izin terlebih dahulu? Halaman itu sendiri tidak memiliki markup untuk menunjukkan bahasa, dan itu adalah halaman intranet internal, sehingga saya sama sekali tidak yakin bahwa Google harus memiliki akses ke kontennya.
Jawaban:
Browser Chrome dapat mengidentifikasi, atau setidaknya menebak, bahasa halaman dengan melihat sejumlah faktor halaman:
Ini dapat dilakukan secara lokal tanpa koneksi internet lebih lanjut atau pelaporan ke Google.
Terjemahan konten pasti akan mengirim konten halaman ke server Google untuk terjemahan.
sumber
chrome.dll
baru - baru ini? Itu besar! Saya belum melihat melalui kode (besar-besaran) baru-baru ini, tetapi tidak diragukan lagi ada fungsi atau dua built-in untuk deteksi bahasa (tidak terlalu sulit).Fungsi ini disebut
DeterminePageLanguage
. Ada dalam filecomponents/translate/core/language_detection/language_detection_util.cc
Chrome terlebih dahulu memeriksa atribut HTML
lang
dan jika tidak ada, periksaContent-Language
header HTTP . Kemudian mendapat prediksi daricld3
.The Compact Bahasa Detector v3 (atau CLD3) adalah model jaringan saraf untuk identifikasi bahasa. Status README:
Jadi pada dasarnya, mereka mengunduh salinan dari sekelompok situs web dan membayar seseorang untuk melihat teks di situs web tersebut dan mengatakan bahasa apa yang digunakan. Selanjutnya mereka membagi teks menjadi n-gram (grup n huruf) dan sebagainya dan menggunakan jaringan saraf untuk mempelajari pemetaan antara distribusi n-gram dan bahasa.
Jadi sekarang mereka memiliki 2 variabel:
language
yang diatur dari HTML atau header (ingat bahwa atribut HTML diutamakan jika keduanya ada)cld_language
yang merupakan prediksi berdasarkan frekuensi kelompok huruf pada halamanLalu kami mencapai serangkaian pernyataan jika ini (Saya telah mengedit bagian di mana mereka mengirim data analitik tentang ketidakcocokan bahasa)
CLD3 kecil dan dijalankan secara lokal. Bahkan, ini open source dan mereka mendistribusikan model pra-terlatih (meskipun kode untuk melatih model dan data yang mereka gunakan tidak tersedia). Anda dapat menggunakannya dalam proyek Anda.
Bahkan ada binding Python (tidak resmi dan tidak terawat) untuk kode C ++ asli (Anda harus menginstal Cython )
sumber