如何找到复合词,删除它们之间的空格并在我的语料库中替换它们?

时间:2015-12-17 07:31:02

标签: r text-mining corpus

我有很多复合术语,比如你好世界,早安,晚安......我想在我的语料库中找到它们,然后将它们替换为helloWorld,goodMorning,goodNight。所以通过这种方式我可以保留他们的概念。 我可以一个接一个地做,但由于有许多复合术语,它非常繁琐。我需要用R语言来做这件事。

1 个答案:

答案 0 :(得分:0)

如果所有复合词仅由空格分隔,则可以使用gsub

> x = c("hello World", "good Morning", "good Night")
> y = gsub(pattern = " ", replacement = "", x = x)
> print(y)
[1] "helloWorld"  "goodMorning" "goodNight"  

您始终可以向pattern参数添加更多模式。详细了解R herehere中的正则表达式。

修改

  

@ user4241750:是的,但我只想对特定化合物这样做   术语(有很多)并非所有语料库中的术语   语料库中的许多其他术语

如果您知道要更改的所有特定复合词,则可以在docs[[j]]上指定。假设你想要改变的唯一条款是"简单的部分"和#34;早上好":

terms.to.change = c("simple parts","good morning")
for (j in seq(corpus)) {
  positions.to.change = which(docs[[j]] %in% terms.to.change)
  docs[[j]][positions.to.change] <- gsub(" ", "", docs[[j]][positions.to.change])
}