ÎncepețiÎncepe gratuit

Stemming și completarea rădăcinilor într-o propoziție

Să considerăm următoarea propoziție ca document pentru acest exercițiu:

"In a complicated haste, Tom rushed to fix a new complication, too complicatedly."

Această propoziție conține aceleași trei forme ale cuvântului "complicate" pe care le-am văzut în exercițiul anterior. Diferența constă în faptul că, dacă ai apela stemDocument() direct pe această propoziție, funcția ar returna propoziția neschimbată, fără să aplice stemming niciunui cuvânt. Încearcă în consolă să te convingi – nu uita să incluzi și semnele de punctuație.

Acest lucru se întâmplă deoarece stemDocument() tratează întreaga propoziție ca pe un singur cuvânt. Cu alte cuvinte, documentul nostru este un vector de caractere cu lungimea 1, în loc de lungimea n, unde n reprezintă numărul de cuvinte din document. Pentru a rezolva această problemă, eliminăm mai întâi semnele de punctuație cu funcția removePunctuation(), pe care ai învățat-o câteva exerciții mai devreme. Apoi aplicăm strsplit() pe vectorul de lungime 1 pentru a obține un vector de lungime n, îl transformăm cu unlist(), după care procedăm la stemming și recompletare.

Nu-ți face griji dacă pare complicat. Vom parcurge procesul pas cu pas!

Acest exercițiu face parte din cursul

Text Mining cu Bag-of-Words în R

Vezi cursul

Instrucțiuni pentru exercițiu

Documentul text_data și dicționarul de completare comp_dict sunt încărcate în spațiul tău de lucru.

  • Elimină semnele de punctuație din text_data folosind removePunctuation() și atribuie rezultatul variabilei rm_punc.
  • Apelează strsplit() pe rm_punc cu argumentul split setat la " ". Imbrichează aceasta în interiorul lui unlist() și atribuie rezultatul variabilei n_char_vec.
  • Folosește din nou stemDocument() pentru a aplica stemming pe n_char_vec și atribuie rezultatul variabilei stem_doc.
  • Creează complete_doc recompletând documentul cu stemming aplicat folosind stemCompletion() și comp_dict ca și corpus de referință.

Sunt stem_doc și complete_doc ce te-ai așteptat să obții?

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
Editează și rulează codul