Обнаружение естественного языка для GO.
Установка:
go get -u github.com/abadojack/whatlanggoПростой пример использования:
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 ])
}Для получения более подробной информации, пожалуйста, проверьте документацию.
Идти на 1,8 или выше
Алгоритм основан на моделях языка триграмм, что является конкретным случаем N-граммов. Чтобы понять эту идею, пожалуйста, проверьте оригинальную категоризацию текста на основе n-грамма.
Он основан на следующих факторах:
rate в базе кода.Следовательно, он может быть представлен как 2D -пространство с пороговыми функциями, которые разматывают его в «надежные» и «не надежные» области. Эта функция является гиперболой, и она выглядит как следующая:
Для получения более подробной информации, пожалуйста, проверьте статью в блоге, введение в алгоритмы библиотеки Rust Watlang и естественного языка.
Грань
Whatlanggo - это производная франка (JavaScript, MIT) Титуса Уормера.
Благодаря Greyblake (Potapov Sergey) за создание Whatlang-RS, откуда я понял идею и алгоритмы.