You need to enable JavaScript to run this app. 如何为TXT文件段落间添加空行以适配Quanteda的corpus_reshape命令
优惠活动
大模型
产品
解决方案
定价
更多

如何为TXT文件段落间添加空行以适配Quanteda的corpus_reshape命令

解决方案

方案1:不修改原始TXT文件,直接在R中处理(更推荐)

该方案无需改动原始文件,直接在语料库构建环节适配corpus_reshape的段落识别规则,避免误操作损坏原始数据:

  • 第一步:安装依赖包并批量读取所有TXT文件
install.packages(c("quanteda", "readtext", "stringr"))
library(readtext)
library(quanteda)
library(stringr)

# 替换为你存放TXT文件的文件夹路径,编码不对可尝试改为GBK
txt_data <- readtext("你的TXT文件夹路径/*.txt", encoding = "UTF-8")
  • 第二步:提取正文内容并替换换行符,适配段落识别规则
    corpus_reshape默认以连续两个换行符\n\n作为段落边界,我们只需把正文内的单个换行符替换为双换行符即可:
txt_data$text <- str_replace_all(txt_data$text,
                                 # 匹配Body到End of Document之间的正文内容
                                 "(?s)(?<=Body\\n)(.*?)(?=\\nEnd of Document)",
                                 # 把正文内的单个换行替换为双换行
                                 function(m) str_replace_all(m, "\\n", "\\n\\n"))
  • 第三步:构建语料库并拆分段落
# 构建全文语料库
news_corpus <- corpus(txt_data)
# 按段落拆分,每个段落为独立文档
para_corpus <- corpus_reshape(news_corpus, to = "paragraphs")

方案2:批量修改TXT文件,给正文段落加空行

如果需要修改原文件适配其他工具的识别规则,可以用该方案,操作前务必备份所有原始TXT文件:

library(stringr)

# 替换为原始TXT文件夹路径
origin_dir <- "原始TXT文件夹路径"
# 替换为修改后文件的存储路径,不要直接覆盖原文件
output_dir <- "修改后TXT存储路径"
dir.create(output_dir, showWarnings = FALSE)

# 获取所有TXT文件路径
txt_list <- list.files(origin_dir, pattern = "\\.txt$", full.names = TRUE, ignore.case = TRUE)

# 批量处理每个文件
for (file_path in txt_list) {
  # 读取文件内容
  content <- readLines(file_path, encoding = "UTF-8", warn = FALSE)
  content <- paste(content, collapse = "\n")
  
  # 替换正文内的单换行符为双换行符
  modified_content <- str_replace_all(content,
                                      "(?s)(?<=Body\\n)(.*?)(?=\\nEnd of Document)",
                                      function(m) str_replace_all(m, "\\n", "\\n\\n"))
  
  # 写入新文件
  writeLines(modified_content, con = file.path(output_dir, basename(file_path)), useBytes = TRUE)
}

注意事项

  • 若你部分文件的正文边界标记和示例不同,只需调整正则表达式中的Body和End of Document为对应标记即可
  • 读取文件出现乱码时,可把代码中的encoding = "UTF-8"替换为encoding = "GBK"尝试

内容的提问来源于stack exchange,提问作者lwe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 18:54:03