设置将文本文件读入 tm Corpora 的编码
set encoding for reading text files into tm Corpora
正在使用 tm Corpus 加载一堆文档我需要指定编码。
所有文档均采用 UTF-8 编码。如果通过文本编辑器打开内容没问题,但语料库内容充满了奇怪的符号(indicioâ.,'sœs ....)
源文本为西班牙语。 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(documents[1]):
.. ..$ 语言:字符 "en"
如何指定 "UTF-8"、"Latin1" 或任何其他编码以避免出现奇怪的符号?
此致
从 "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)))
似乎没有必要使用 quanteda 包(除了一些奇怪的行为在转换为 TM VCorpora 时丢失文件名)
files <- DirSource(directory = "C:/Users/john/Documents/",encoding ="UTF-8" )
mycorpus<- VCorpus(x=files)
现在编码正确了。
正在使用 tm Corpus 加载一堆文档我需要指定编码。
所有文档均采用 UTF-8 编码。如果通过文本编辑器打开内容没问题,但语料库内容充满了奇怪的符号(indicioâ.,'sœs ....) 源文本为西班牙语。 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(documents[1]):
.. ..$ 语言:字符 "en"
如何指定 "UTF-8"、"Latin1" 或任何其他编码以避免出现奇怪的符号?
此致
从 "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)))
似乎没有必要使用 quanteda 包(除了一些奇怪的行为在转换为 TM VCorpora 时丢失文件名)
files <- DirSource(directory = "C:/Users/john/Documents/",encoding ="UTF-8" )
mycorpus<- VCorpus(x=files)
现在编码正确了。