在get_sentences中搜索句子

  • 本文关键字:搜索 句子 sentences get r
  • 更新时间 :
  • 英文 :


我正在分析一些亚马逊评论。在我分析的当前步骤中,我想采用低于两颗星的评论中写的句子。我已经这样做了,应用了get句子,并编写了这个函数,以便在句子中搜索单词并仅打印出包含所有单词的单词:

ricerca <- function(sentences,keyword){
found <- lapply(sentences, function(x) grep(keyword, x, value = TRUE))
found <-found[lengths(found) > 0]
return(found)

句子是这样写的:

> class(frasi_negative)
[1] "get_sentences"           "get_sentences_character" "list"                   
> frasi_negative[1:2]
[[1]]
[1] "Auricolari comodissimi."                                                                                  
[2] "Restano incollati alle orecchie e non cadono in nessuna situazione."                                      
[3] "Suono limpido, pulito."                                                                                   
[4] "Bassi consistenti."                                                                                       
[5] "La durata della batteria è più che soddisfacente (io li ho usati anche per 4 ore di fila senza problemi)."
[6] "Decisamente soddisfatto."                                                                                 
[7] "Li ricomprerei."                                                                                          
[8] "Amazon perfetta come al solito."                                                                          
[9] "AGGIORNAMENTO RECENSIONE!!!!!"                                                                            
[10] "- Dopo un mese di utilizzo non è più possibile ricaricare le cuffie."                                     
[11] "Non danno più segni di vita."                                                                             
[12] "Delusissimo."                                                                                             
[13] "Non mi sarei mai aspettato una fine così."                                                                
[14] "Peccato perché il prodotto era praticamente perfetto."                                                    
[[2]]
[1] "Al mio cellulare (Xiaomi Redmi Note 5) si mostrano singolarmente, separate, quando cerco di connetterle."                                                   
[2] "O si connette alla destra, o alla sinistra, e in ogni caso il suono poi esce dalle casse del cellulare (nonostante aver dato alle cuffie tutti i permessi)."
[3] "Non capisco perché, data che la prima connessione era andata come si deve; spente e riaccese, hanno iniziato a comportarsi così."                           
[4] "Ho provato a riavviare sia loro che cellulare, a rimetterle nella scatoletta e ritoglierle, ma il problema persiste."                                       
[5] "Non penso c'entri il mio cellulare (mai avuto problemi con prodotti simili), in ogni caso effettuo reso con rimborso."           

当我尝试搜索一个单词时,它似乎有效(即使输出真的很糟糕(:

> found<-ricerca(frasi_negative, "qualità")
> found[1:3]
[[1]]
[1] "Pessima qualità."                                                                                                                                                                               
[2] "La qualità delle chiamate telefoniche è assolutamente pessima (il proprio interlocutore non riceve in modo chiaro la nostra voce, dunque, risultano inutilizzabili come aurocolari telefonici)."
[[2]]
[1] "imbarazzanti non so la gente qui come fanno a dargli 5 stelle, l'unica cosa che mi viene in mente e che non hanno mai provato un paio di cuffie decenti, qualità dell audio pessima si sente basso e male , l'unica cosa buona e che la batteria si comporta bene - a distanza di 20 cm ogni tanto si scollegano provato con piu dispositivi sicuramente richiedo il rimborso davvero pessime"
[[3]]
[1] "La qualità costruttiva è ottima, l'accoppiamento è avvenuto in maniera facile ed immediata, e la durata è ottima."

但是当我尝试搜索几个单词时(如示例c("quality","bad")(,它只搜索第一个单词,并得到很多警告。

我不知道如何调整此功能,因此提前感谢大家。

库:感伤者

更新: 感谢您的回答,但似乎在你们发布的两个函数中,它都会输出包含两个单词中至少一个的所有句子。我只想看看那些包含两者的。有没有办法做到这一点?

下面的函数应该遍历输入的关键字向量:

ricerca <- function(sentences,keywords){
for(i in 1:length(keywords){
found <- lapply(sentences, function(x) grep(keywords[i], x, value = TRUE))
found <-found[lengths(found) > 0]
return(found)
}
}

我希望这有帮助!

尝试使用paste作为一个字符串组合keyword

ricerca <- function(sentences,keyword){
found <- lapply(sentences, function(x) 
grep(paste0(keyword, collapse = "|"), x, value = TRUE))
found <-found[lengths(found) > 0]
return(found)
}

最新更新