You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
func isEnglish(text string) bool {
if len(isEnglishDetector.Languages) == 0 {
fmt.Println("* Init English detector ...")
isEnglishDetector = langdetdef.NewWithDefaultLanguages()
}
if isEnglishDetector.GetClosestLanguage(text) == "english" {
return true
}
return false
}
func main() {
fmt.Println(isEnglish("do not care about quantity"))
fmt.Println(isEnglish("V jeho jednomyslném schválení však brání dlouhodobý nesouhlas dvojice zmíněných států. „Slyším tak často z Polska a Maďarska, že nemají problém s právním státem, až bych skoro čekala, že to dokážou tím, že pro to zvednou ruku,“ prohlásila. (ČTK)*"))
fmt.Println(isEnglish("Jesteśmy przekonani, że właśnie taki rodzaj dziennikarstwa najlepiej pomaga rozumieć to, co dzieje się dookoła nas i stanowi najbardziej wartościowy wkład w rozwój demokracji oraz wartości obywatelskich"))
}
OUTPUT:
Init English detector ...
true
true
true
The text was updated successfully, but these errors were encountered:
that's interesting. Actually the confidence for English, German and French for your snippets is quite high, which means, these languages share similarities and to distinguish them, you would need to set a higher minimum confidence.
If you print the confidence by using GetLanguages rather than GetClosestLanguage , you will see this:
Option 1
Increase the Minimum confidence to let's say 85 --> now it will correctly return:
english
undefined
undefined
This will work well, if your detector should only detect English and you don't care about Czech so much.
Option 2
Add the Czech language to the detector. I did so by using a random Wikipedia article, copied it in a text file and analysed it using the library. See also the Readme on how to do that. The result will be:
English detector fails when checking czech text:
package main
import (
"fmt"
"github.com/chrisport/go-lang-detector/langdet"
"github.com/chrisport/go-lang-detector/langdet/langdetdef"
)
var isEnglishDetector langdet.Detector
func isEnglish(text string) bool {
if len(isEnglishDetector.Languages) == 0 {
fmt.Println("* Init English detector ...")
isEnglishDetector = langdetdef.NewWithDefaultLanguages()
}
}
func main() {
fmt.Println(isEnglish("do not care about quantity"))
fmt.Println(isEnglish("V jeho jednomyslném schválení však brání dlouhodobý nesouhlas dvojice zmíněných států. „Slyším tak často z Polska a Maďarska, že nemají problém s právním státem, až bych skoro čekala, že to dokážou tím, že pro to zvednou ruku,“ prohlásila. (ČTK)*"))
fmt.Println(isEnglish("Jesteśmy przekonani, że właśnie taki rodzaj dziennikarstwa najlepiej pomaga rozumieć to, co dzieje się dookoła nas i stanowi najbardziej wartościowy wkład w rozwój demokracji oraz wartości obywatelskich"))
}
OUTPUT:
true
true
true
The text was updated successfully, but these errors were encountered: