集编码读取文本文件到TM语料库(set encoding for reading text file

2019-10-28 16:29发布

加载大量的使用TM语料库我需要指定编码文件。

所有文件都是UTF-8编码。 如果通过文本编辑器双头呆内容是确定的,但文集的内容充满了奇怪的符号(indicioâ,“国有企业....)原文是西班牙语。 ES_es

library(tm)
cname <- file.path("C:", "Users", "john", "Documents", "texts")
docs <- Corpus(DirSource(cname), encoding ="UTF-8")

> Error in Corpus(DirSource(cname), encoding = "UTF-8") : 
  unused argument (encoding = "UTF-8")

编辑:

从语料我注意到越来越STR(文献[1]):

.. .. $语言:字符 “一”

我怎么可以指定,例如“UTF-8”,在“latin1”或任何其他的编码,以避免奇怪的符号?

问候

Answer 1:

从“C:”很明显,你使用的是Windows,它假设一个Windows-1252编码(在大多数系统),而不是UTF-8。 你可以尝试读取文件作为字符,然后设置Encoding(myCharVector) <- "UTF-8" 。 如果输入的编码是UTF-8这应该会导致系统识别并正确显示UTF-8字符。

或者这会工作,但它也使TM不必要的:

require(quanteda)
docs <- corpus(textfile("C:/Users/john/Documents/texts/*.txt", encoding = "UTF-8"))

然后你就可以使用例如看到文本:

cat(texts(docs)[1:2])

他们应该有编码比特集和正确显示。 然后,如果你愿意,你可以用得到这些进入TM:

docsTM <- Corpus(VectorSource(texts(docs)))


Answer 2:

似乎有(转换为TM VCorpora时,除了一些奇怪的行为失去了文件名)没有必要使用quanteda包

files <- DirSource(directory = "C:/Users/john/Documents/",encoding ="UTF-8" )
mycorpus<- VCorpus(x=files)

现在的编码是正确的。



文章来源: set encoding for reading text files into tm Corpora