Wprowadzenie do stemmingu i uzupełniania rdzeni
Kolejnym przydatnym krokiem w przetwarzaniu tekstu jest stemming i uzupełnianie rdzeni. Stemming sprowadza wyrazy do wspólnego rdzenia, co ułatwia porównywanie dokumentów. Na przykład rdzeniem słów „computational", „computers" i „computation" jest „comput". Ponieważ jednak „comput" nie jest prawdziwym słowem, chcemy odtworzyć wyrazy tak, aby wszystkie te formy wskazywały na rozpoznawalne słowo – na przykład „computer". Ten krok odtwarzania nazywa się uzupełnianiem rdzeni.
Pakiet tm udostępnia funkcję stemDocument(), która sprowadza słowa do ich rdzeni. Funkcja ta przyjmuje wektor znaków i zwraca wektor znaków albo przyjmuje obiekt PlainTextDocument i zwraca obiekt PlainTextDocument.
Na przykład:
stemDocument(c("computational", "computers", "computation"))
zwraca "comput" "comput" "comput".
Do odtworzenia rdzeni z powrotem do znanych słów użyjesz funkcji stemCompletion(). Przyjmuje ona wektor znaków oraz słownik uzupełnień. Słownik uzupełnień może być wektorem znaków lub obiektem Corpus. W naszym przykładzie słownik uzupełnień musi zawierać słowo „computer", aby wszystkie wystąpienia „comput" mogły zostać prawidłowo odtworzone.
To ćwiczenie jest częścią kursu
Eksploracja tekstu metodą Bag-of-Words w R
Instrukcje do ćwiczenia
- Utwórz wektor o nazwie
complicate, który zawiera słowa "complicated", "complication" i "complicatedly" – właśnie w tej kolejności. - Zapisz wersję
complicatepo stemmingu do obiektu o nazwiestem_doc. - Utwórz
comp_dictzawierający jedno słowo: "complicate". - Utwórz
complete_text, stosując funkcjęstemCompletion()dostem_doc. Odtwórz wyrazy, używająccomp_dictjako korpusu referencyjnego. - Wyświetl
complete_textw konsoli.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create complicate
complicate <- ___
# Perform word stemming: stem_doc
stem_doc <- ___
# Create the completion dictionary: comp_dict
comp_dict <- ___
# Perform stem completion: complete_text
complete_text <- ___
# Print complete_text
complete_text