Stemming e completamento degli stem su una frase
Considera la seguente frase come nostro documento per questo esercizio:
"In a complicated haste, Tom rushed to fix a new complication, too complicatedly."
Questa frase contiene le stesse tre forme della parola "complicate" viste nell'esercizio precedente. La differenza qui è che anche se chiamassi stemDocument() su questa frase, verrebbe restituita senza eseguire lo stemming di alcuna parola. Prenditi un momento per provarlo in console. Assicurati di includere i segni di punteggiatura.
Questo succede perché stemDocument() tratta l'intera frase come una sola parola. In altre parole, il nostro documento è un vettore di caratteri di lunghezza 1, invece che di lunghezza n, dove n è il numero di parole nel documento. Per risolvere il problema, prima rimuoviamo la punteggiatura con la funzione removePunctuation() che hai visto qualche esercizio fa. Poi applichiamo strsplit() a questo vettore di caratteri di lunghezza 1 per portarlo a lunghezza n, quindi unlist(), e infine procediamo con lo stemming e il ri-completamento.
Non preoccuparti se non è chiarissimo: vediamolo passo dopo passo!
Questo esercizio fa parte del corso
Text mining con Bag-of-Words in R
Istruzioni dell'esercizio
Il documento text_data e il dizionario di completamento comp_dict sono già caricati nel tuo workspace.
- Rimuovi la punteggiatura in
text_datausandoremovePunctuation(), assegnando arm_punc. - Chiama
strsplit()surm_punccon l'argomentosplitimpostato a" ". Annida il tutto dentrounlist(), assegnando an_char_vec. - Usa di nuovo
stemDocument()per eseguire lo stemming delle parole inn_char_vec, assegnando astem_doc. - Crea
complete_docri-completando il documento stemmato constemCompletion()e usandocomp_dictcome corpus di riferimento.
stem_doc e complete_doc sono come ti aspettavi?
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Remove punctuation: rm_punc
rm_punc <- ____
# Create character vector: n_char_vec
n_char_vec <- unlist(___(___, split = " "))
# Perform word stemming: stem_doc
stem_doc <- ___
# Print stem_doc
stem_doc
# Re-complete stemmed document: complete_doc
complete_doc <- ___
# Print complete_doc
complete_doc