在R中创建一个包含西班牙文本的语料库

4

我试图对西班牙语文本进行一些文本挖掘和词云可视化。实际上我有9个不同的 .txt 文件,但这里只发布一个文件以供复制。

"我们阿根廷国民代表大会的代表们,按照由包含各省的意愿和选举召集的普通制宪会议预先达成的协议,旨在建立国家联盟,巩固正义,稳定内部和平,提供共同安全保障,促进人民福利并确保自由的好处,为了我们自己、我们的后代以及所有想要居住在阿根廷土地上的全世界的人们:恳求上帝的保护——上帝是所有理性和正义的源泉——我们颁布、制定并确立本宪法,适用于阿根廷国家。"

这个文件保存为 .txt 格式。以下是我生成正确编码的术语-文档矩阵的幼稚尝试。当我检查时,我没有得到原始文件中的文本(例如,“constitución”变成了“constitucif3n”)。我是文本挖掘的新手,知道解决方案可能涉及各种相互依存的调整,所以我想在这里询问而不是搜索4个小时。提前感谢。

#Generate Term-Document-Matrix

#Convert Text to Corpus and Clean
cleanCorpus <- function(corpus) {
  corpus.tmp <- tm_map(corpus, removePunctuation)
  corpus.tmp <- tm_map(corpus.tmp, stripWhitespace)
  corpus.tmp <- tm_map(corpus.tmp, tolower)
  corpus.tmp <- tm_map(corpus.tmp, removeWords, stopwords("spanish"))
  return(corpus.tmp)
}

generateTDM <- function(path) {
  cor.tmp <- Corpus(DirSource(directory=path, encoding="ISO8859-1"))
  cor.cl <- cleanCorpus(cor.tmp)
  tdm.tmp <- TermDocumentMatrix(cor.cl)
  tdm.s <- removeSparseTerms(tdm.tmp, 0.7)
}

tdm <- generateTDM(pathname)
tdm.m <- as.matrix(tdm)

关于 generateTDMcleanCorpus 函数所在的信息可能很有用。它们似乎不是 tm 的一部分。 - jbaums
1
嘿,你说得对。现在将添加 cleanCorpus 的代码。generateTDM 也是一个自定义函数 - 代码如上所示。 - cavaunpeu
啊,是的,藏在明处! - jbaums
将文件转换为UTF-8(例如使用iconv)可能会解决问题 - 至少如果您在UTF-8语言环境中。 - Vincent Zoonekynd
@VincentZoonekynd 什么是UTF-8语言环境?我正在使用RStudio编写R代码。 - cavaunpeu
1个回答

1

回答:确保原始文本文件采用UTF-8编码。为此,我不得不在Mac上更改TextEdit中的保存首选项。这使一切都可以无缝工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接