การตรวจจับภาษาธรรมชาติสำหรับการเดินทาง
การติดตั้ง:
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 หรือสูงกว่า
อัลกอริทึมขึ้นอยู่กับโมเดลภาษา Trigram ซึ่งเป็นกรณีเฉพาะของ N-grams เพื่อทำความเข้าใจความคิดโปรดตรวจสอบ whitepaper ต้นฉบับ Cavnar และ Trenkle '94: การจัดหมวดหมู่ข้อความที่ใช้ N-Gram '
มันขึ้นอยู่กับปัจจัยต่อไปนี้:
rate ในฐานรหัสดังนั้นจึงสามารถนำเสนอเป็นพื้นที่ 2D ที่มีฟังก์ชั่นเกณฑ์ที่แยกออกเป็นพื้นที่ "เชื่อถือได้" และ "ไม่น่าเชื่อถือ" ฟังก์ชั่นนี้เป็นไฮเพอร์โบลาและดูเหมือนว่าต่อไปนี้:
สำหรับรายละเอียดเพิ่มเติมโปรดตรวจสอบบทความบล็อกบทนำสู่ห้องสมุด Rust Whatlang และอัลกอริทึมการระบุภาษาธรรมชาติ
มิกซ์
Whatlanggo เป็นอนุพันธ์ของฟรังก์ (JavaScript, MIT) โดย Titus Wormer
ขอบคุณ Greyblake (Potapov Sergey) สำหรับการสร้าง Whatlang-Rs จากที่ที่ฉันได้รับความคิดและอัลกอริทึม