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

3

我需要使用R语言检测许多短文本的语言。我正在使用textcat包,该包可以找到每个文本中哪种欧洲语言(例如30种)是它的语言之一。但是,我知道我的文本是法语或英语(或更一般地说,是textcat处理的语言子集之一)。

当调用textcat函数时,我应该如何添加这些知识呢?

谢谢!


请考虑添加您希望分类的示例文本。 - Mark Miller
2个回答

3

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

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"

0

您也可以使用内置的ECIMCI_profiles实现高分类准确性。

调用

textcat(my.text, p = ECIMCI_profiles)

并可选择与Mark Miller的答案中的%in%代码行相结合。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接