Deteksi bahasa alami untuk Go.
Instalasi:
go get -u github.com/abadojack/whatlanggoContoh Penggunaan Sederhana:
package main
import (
"fmt"
"github.com/abadojack/whatlanggo"
)
func main () {
info := whatlanggo . Detect ( "Foje funkcias kaj foje ne funkcias" )
fmt . Println ( "Language:" , info . Lang . String (), " Script:" , whatlanggo . Scripts [ info . Script ], " Confidence: " , info . Confidence )
} package main
import (
"fmt"
"github.com/abadojack/whatlanggo"
)
func main () {
//Blacklist
options := whatlanggo. Options {
Blacklist : map [whatlanggo. Lang ] bool {
whatlanggo . Ydd : true ,
},
}
info := whatlanggo . DetectWithOptions ( "האקדמיה ללשון העברית" , options )
fmt . Println ( "Language:" , info . Lang . String (), "Script:" , whatlanggo . Scripts [ info . Script ])
//Whitelist
options1 := whatlanggo. Options {
Whitelist : map [whatlanggo. Lang ] bool {
whatlanggo . Epo : true ,
whatlanggo . Ukr : true ,
},
}
info = whatlanggo . DetectWithOptions ( "Mi ne scias" , options1 )
fmt . Println ( "Language:" , info . Lang . String (), " Script:" , whatlanggo . Scripts [ info . Script ])
}Untuk detail lebih lanjut, silakan periksa dokumentasinya.
Pergi 1,8 atau lebih tinggi
Algoritma ini didasarkan pada model bahasa Trigram, yang merupakan kasus khusus N-gram. Untuk memahami idenya, silakan periksa Whitepaper Cavnar dan Trenkle '94: kategorisasi teks berbasis N-gram '.
Ini didasarkan pada faktor -faktor berikut:
rate dalam basis kode.Oleh karena itu, dapat disajikan sebagai ruang 2D dengan fungsi ambang batas, yang membagi menjadi area yang "andal" dan "tidak dapat diandalkan". Fungsi ini adalah hiperbola dan sepertinya yang berikut:
Untuk detail lebih lanjut, silakan periksa Artikel Blog Pengantar Perpustakaan Rust Whatlang dan Algoritma Identifikasi Bahasa Alami.
Mit
Whatlanggo adalah turunan dari Franc (JavaScript, MIT) oleh Titus Wormer.
Terima kasih kepada Greyblake (Potapov Sergey) yang telah membuat Whatlang-R dari tempat saya mendapatkan ide dan algoritma.