我使用googleLanguageR
从数据框架的文本列中自动检测文本语言。对于一个特定的句子,我做以下操作:
library(googleLanguageR)
gl_auth("credential.json")
gl_translate_detect(df[[45, 'text']])
,其中text
是数据帧df
中的一列。45
是我想检测语言的行号。"credential.json"是来自Google的私有API密钥。
给出相应的检测语言作为输出。但是,我想申请包含英语和德语混合文本的整个文本列,并将它们分开。
我试了如下:
gl_translate_detect(df[['text']])
但是给了我:
Error in nchar(string) : invalid multibyte string, element 13
我的想法是提供一个语料库来检测数据框架上的底层语言。
它不能被矢量化。我们可以使用rowwise
library(dplyr)
df %>%
rowwise %>%
mutate(out = tryCatch(gl_tranlsate_detect(text),
error = function(e) NA_character_))
或使用lapply
循环遍历'text'列中的每个元素并应用函数
lapply(df$text, gl_translate_detect)