【发布时间】:2014-07-27 21:30:58
【问题描述】:
好的,所以我正在尝试让 R 读取句子,提取二元组,并将所有这些二元组合并到一个 csv 中。现在我有代码可以提取一个句子的二元组:
sentence=gsub('[[:punct:]]','', sentence)
sentence=gsub('[[:cntrl:]]','', sentence)
sentence=gsub('\\d+','', sentence)
sentence=tolower(sentence)
words<- strsplit(sentence, "\\s+")[[1]]
New=NULL
for(i in 1:length(words)-1){
New[i]=paste(words[i],words[i+1])
}
New=as.matrix(New)
colnames(New)<-"Bigrams"
但是,我希望能够导入一个包含不同句子的 csv,并让前一行代码为每个句子提取二元组,然后将它们合并到一个 csv 文件中。我开始编写代码(如下),但它不正确。我将非常感谢我能得到的任何帮助。 R 中的自然语言处理相当新。
library(tm)
library(plyr)
library(stringr)
data<-read.csv("file.csv")
sentences=as.vector(data$text)
bigrams<-function(sentences){
bigrams2<-mlply(sentences,function(sentence){
sentence=gsub('[[:punct:]]','', sentence)
sentence=gsub('[[:cntrl:]]','', sentence)
sentence=gsub('\\d+','', sentence)
sentence=tolower(sentence)
words<- strsplit(sentence, "\\s+")[[1]]
New=NULL
for(i in 1:length(words)-1){
New[i]=paste(words[i],words[i+1])
}
New=as.matrix(New)
colnames(New)<-"Bigrams"
New
})
merge(bigrams2,all=TRUE)
}
谢谢!
【问题讨论】: