【问题标题】:what is the best way to remove non-ASCII characters from a text Corpus when using Quanteda in R? [duplicate]在 R 中使用 Quanteda 时,从文本语料库中删除非 ASCII 字符的最佳方法是什么? [复制]
【发布时间】:2016-11-06 01:49:54
【问题描述】:

我急需。我有一个已转换为通用语言的语料库,但有些单词没有正确转换为英语。因此,我的语料库有非ASCII字符,例如U+00F8

我正在使用 Quanteda,并且我已经使用以下代码导入了我的文本:

 EUCorpus <- corpus(textfile(file="/Users/RiohBurke/Documents/RStudio/PROJECT/*.txt"), encodingFrom = "UTF-8-BOM")

我的语料库包含 166 个文档。将文档导入 R 后,摆脱这些非 ASCII 字符的最佳方法是什么?

【问题讨论】:

标签: r nlp tm corpus quanteda


【解决方案1】:

试试:

texts(EUCorpus) <- iconv(texts(EUCorpus), from = "UTF-8", to = "ASCII", sub = "")

这会将编码转换为 ASCII,将任何不可翻译的字符(不在 0-127 ASCII 范围内的字符)替换为虚无。

【讨论】:

  • gsub('[^ -~]', '', x) 一种可能更快的方法吗?我正在度假,所以没有 R 来测试自己。
  • 我们如何知道将 UTF-8 转换为 ASCII?详细说明这一点的文件会很有帮助。谢谢!
  • 在终端尝试file mytextfile.txt,这会列出文本文件的已知编码。 stringi中也有一些检测方法,即stri_enc_detect().
  • 我更喜欢使用@TylerRinker 建议的正则表达式来启用额外的操作(例如删除多余的空格),并且我使用十六进制值来提高可读性,即"[^\x20-\x7E] 建议here
猜你喜欢
  • 2014-12-31
  • 2013-08-11
  • 2021-04-02
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 2011-10-03
  • 2010-10-28
  • 2015-05-26
相关资源
最近更新 更多