我需要使用R来检测许多短文本的语言。 我正在使用textcat包,它找到了许多(比如说30个)欧洲人 语言是每个文本之一。但是,我知道我的文本是法语或英语(或者更常见的是,由textcat处理的语言的一小部分)。
如何在调用textcat函数时添加这些知识?
谢谢,
答案 0 :(得分:2)
此可能有效。据推测,您希望将语言选择限制为英语或法语,以降低错误分类率。如果没有已知所需结果的示例文本,我无法测试下面的方法。但是,它似乎将语言选择限制为英语和法语。
my.profiles <- TC_byte_profiles[names(TC_byte_profiles) %in% c("english", "french")]
my.profiles
my.text <- c("This is an English sentence.",
"Das ist ein deutscher Satz.",
"Il s'agit d'une phrase française.",
"Esta es una frase en espa~nol.")
textcat(my.text, p = my.profiles)
# [1] "english" "english" "french" "french"
答案 1 :(得分:0)
您还可以使用内置的ECIMCI_profiles实现高分类准确度。
呼叫
textcat(my.text, p = ECIMCI_profiles)
并可选择将其与Mark Miller的答案中的%in%
代码行结合起来。
包ECIMCI_profiles
的{{1}}数据库使用更大的最大n-gram大小1000(与textcat
或TC_byte_profiles
dbs不同的400。