在R中使用Quanteda时,从文本语料库中删除非ASCII字符的最佳方法是什么?
我急需帮助。我有一个语料库,我已经把它转换成一种通用语言,但有些单词没有正确地转换成英语。因此,我的语料库具有非ASCII字符,如在R中使用Quanteda时,从文本语料库中删除非ASCII字符的最佳方法是什么?,r,nlp,tm,corpus,quanteda,R,Nlp,Tm,Corpus,Quanteda,我急需帮助。我有一个语料库,我已经把它转换成一种通用语言,但有些单词没有正确地转换成英语。因此,我的语料库具有非ASCII字符,如U+00F8 我正在使用Quanteda,我已使用以下代码导入我的文本: EUCorpus <- corpus(textfile(file="/Users/RiohBurke/Documents/RStudio/PROJECT/*.txt"), encodingFrom = "UTF-8-BOM") EUCorpus试试: text(EUCorpus)您可以
U+00F8
我正在使用Quanteda,我已使用以下代码导入我的文本:
EUCorpus <- corpus(textfile(file="/Users/RiohBurke/Documents/RStudio/PROJECT/*.txt"), encodingFrom = "UTF-8-BOM")
EUCorpus试试:
text(EUCorpus)您可以使用iconv完成此操作。有关详细信息,请参见此答案:gsub('[^-~]','',x)
是一种可能更快的方法吗?我在度假,所以没有R来测试我自己。我们怎么知道如何从UTF-8转换成ASCII?详细说明这一点的文件会有所帮助。谢谢在终端上尝试file mytextfile.txt
,它列出了文本文件的已知编码。stringi中也有一些检测方法,即stri_enc_detect()
。我更喜欢使用@Tylerlinker建议的正则表达式来实现额外的操作(如删除额外的空格),并使用十六进制值来提高可读性,即“[^\x20-\x7E]
texts(EUCorpus) <- iconv(texts(EUCorpus), from = "UTF-8", to = "ASCII", sub = "")