【问题标题】:Transforming emoji text in R在 R 中转换表情符号文本
【发布时间】:2017-08-10 11:40:57
【问题描述】:

在 R 中进行一些文本挖掘。我有一个包含 25k 个文档的语料库。我目前正在清理我的语料库,并且作为过程的一部分,我正在翻译成小写字母。我的实现:

createCorpus <- function(corpusData){
    aCorpus <- Corpus(DataframeSource(corpusData))
    ...
    aCorpus <- tm_map(aCorpus,content_transformer(tolower))
}

但是,对于任何包含表情符号的文档文本,我都会收到以下错误。请注意,我已经删除了 actual 文本。

FUN 中的错误(内容(x),...):无效输入“...” 'utf8towcs'

现在,我尝试添加str_replace_all(aCorpus$content,"[^[:graph:]]", " ") 之前 转换为小写,如this answer 中所建议的那样。这会产生与上面完全相同的错误,几乎就像它实际上没有做任何事情一样。

我也按照here 的建议尝试了tm_map(aCorpus, function(x) iconv(enc2utf8(x), sub = "byte")),这会产生错误:

enc2utf8(x) 中的错误:参数不是字符向量

我觉得str_replace_all() 是正确的方法,但我一定做错了什么?如何删除所有表情符号字符以便清理我的语料库?

编辑为了澄清,传递给函数的参数是单列数据框,其中每一行都是一个单独的文档。

【问题讨论】:

    标签: r emoji corpus


    【解决方案1】:

    我设法解决了这个问题:

    tm_map(aCorpus, function(x) iconv(enc2utf8(x$content), sub = "byte"))
    

    代替:

    tm_map(aCorpus, function(x) iconv(enc2utf8(x), sub = "byte"))
    

    问题是我必须直接引用语料库的内容,而不仅仅是语料库本身。通过使用x$content 而不仅仅是x 作为参数来实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 2020-10-22
      相关资源
      最近更新 更多