【问题标题】:Keeping Turkish characters with the text mining package for R使用 R 的文本挖掘包保留土耳其语字符
【发布时间】:2018-06-05 06:34:56
【问题描述】:

首先让我说我仍然是 R 的初学者。 目前我正在尝试使用 tm 包对土耳其文本进行基本文本挖掘技术。 但是,我遇到了在 R 中显示土耳其语字符的问题。

这就是我所做的:

docs <- VCorpus(DirSource("DIRECTORY", encoding = "UTF-8"), readerControl = list(language = "tur"))
writeLines(as.character(docs), con="documents.txt")

我的想法是,将语言设置为土耳其语并将编码设置为 UTF-8(这是文本文件的原始编码)应该可以显示土耳其语字符 İ、ı、ğ、Ğ、ş 和 Ş可能的。相反,输出将这些字符分别转换为 I、i、g、G、s 和 S,并将其保存为无法显示这些字符的 ANSI 编码。

writeLines(as.character(docs), con="documents.txt", Encoding("UTF-8"))

还保存不带 ANSI 编码字符的文件。

这似乎不仅仅是输出文件的问题。

writeLines(as.character(docs[[1]])

例如,生成的行应为“Okul ve cami açılışları umutları artırdı”,但改为“Okul ve cami açilislari umutlari artirdi”

读完后:UTF-8 file output in R 我还尝试了以下代码:

writeLines(as.character(docs), con="documents.txt", Encoding("UTF-8"), useBytes=T)

这并没有改变结果。

所有这些都在 Windows 7 上使用最新版本的 R 和 RStudio。

有没有办法解决这个问题?我可能遗漏了一些明显的东西,但我们将不胜感激。

【问题讨论】:

  • 你能用write.table(..., fileEncoding = "UTF-8")代替吗?
  • 感谢您的回复。可悲的是,这会产生相同的结果。示例行现在读取 "\", \"\", \"Okul ve cami açilislari umutlari artirdi\", \"\", \" 使用的确切代码(取自此处:stat.ethz.ch/R-manual/R-devel/library/utils/html/…):write.table(as.character(docs), file = "documents.txt", append = FALSE, quote = TRUE, sep = " ", eol = "\n", na = "NA", dec = ".", row.names = TRUE, col.names = TRUE, qmethod = c("escape", "double"), fileEncoding = "UTF-8")跨度>

标签: r encoding utf-8 tm


【解决方案1】:

这是我保持土耳其字符完整的方法:

  1. 在 RStudio 中打开一个新的 .Rmd 文件。 (RStudio -> 文件 -> 新文件 -> R Markdown)
  2. 复制并粘贴包含土耳其语字符的文本。
  3. 使用编码保存 .Rmd 文件。 (RStudio -> 文件 -> 使用编码保存.. -> UTF-8)
  4. 您的文档 encoding = "UTF-8")
  5. yourdocument
  6. 完成此步骤后,您可以创建语料库
  7. 例如从 tm 包中的 VectorSource() 开始。
  8. 土耳其语字符将按原样显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-21
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多