使用textcat包在R中进行语言检测:如何限制为几种语言



我需要检测许多短文本的语言,使用R。我使用的是textcat软件包,它可以在许多(比如30个)欧洲人中找到其中一个语言是每一种文字的一种。但是,我知道我的文本要么是法语,要么是英语(或者,更一般地说,是textcat处理的语言的一小部分)。

如何在调用textcat函数时添加这些知识?

谢谢,

这个可能有效。假设您希望将语言选择限制为英语或法语,以减少错误分类率。如果没有已知所需结果的示例文本,我就无法测试下面的方法。然而,它似乎确实将语言选择限制为英语和法语。

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"

您还可以使用内置的ECIMCI_profiles实现高分类精度。

电话

textcat(my.text, p = ECIMCI_profiles)

,并可选择将其与Mark Miller的答案中的%in%行代码组合。

textcatECIMCI_profiles数据库使用了更大的最大n-gram大小为1000(不像TC_byte_profilesTC_char_profiles dbs的400)。

最新更新