Я хочу сравнить два текста по сходству, поэтому мне нужна простая функция, чтобы четко и в хронологическом порядке перечислить слова и фразы, встречающиеся в обоих текстах.эти слова / предложения должны быть выделены или подчеркнуты для лучшей наглядности)
на основе идей @joris Meys, я добавил массив для разделения текста на предложения и подчиненные предложения.
вот какэто выглядит так:
textparts <- function (text){
textparts <- c("\\,", "\\.")
i <- 1
while(i<=length(textparts)){
text <- unlist(strsplit(text, textparts[i]))
i <- i+1
}
return (text)
}
textparts1 <- textparts("This is a complete sentence, whereas this is a dependent clause. This thing works.")
textparts2 <- textparts("This could be a sentence, whereas this is a dependent clause. Plagiarism is not cool. This thing works.")
commonWords <- intersect(textparts1, textparts2)
commonWords <- paste("\\<(",commonWords,")\\>",sep="")
for(x in commonWords){
textparts1 <- gsub(x, "\\1*", textparts1,ignore.case=TRUE)
textparts2 <- gsub(x, "\\1*", textparts2,ignore.case=TRUE)
}
return(list(textparts1,textparts2))
Однако иногда это работает, иногда нет.
Я бы хотел получить такие результаты:
> return(list(textparts1,textparts2))
[[1]]
[1] "This is a complete sentence" " whereas this is a dependent clause*" " This thing works*"
[[2]]
[1] "This could be a sentence" " whereas this is a dependent clause*" " Plagiarism is not cool" " This thing works*"
, тогда какя не получаю результатов.