Używanie asocjacji słów
Innym sposobem analizowania relacji między słowami jest funkcja findAssocs() z pakietu tm. Dla dowolnego słowa findAssocs() oblicza jego korelację z każdym innym słowem w TDM lub DTM. Wyniki mieszczą się w przedziale od 0 do 1. Wynik równy 1 oznacza, że dwa słowa zawsze występują razem w dokumentach, natomiast wynik bliski 0 oznacza, że dane terminy rzadko pojawiają się w tym samym dokumencie.
Pamiętaj, że obliczenia w findAssocs() są wykonywane na poziomie dokumentu. Oznacza to, że dla każdego dokumentu zawierającego szukane słowo brane są pod uwagę inne terminy z tych konkretnych dokumentów. Dokumenty niezawierające szukanego terminu są pomijane.
Aby użyć findAssocs(), przekaż TDM lub DTM, szukany termin oraz minimalną korelację. Funkcja zwróci listę wszystkich pozostałych terminów, które osiągają lub przekraczają podany próg.
findAssocs(tdm, "word", 0.25)
Minimalne wartości korelacji są często stosunkowo niskie ze względu na różnorodność słownictwa. Nie zdziw się, jeśli wartość 0.10 wskaże silne powiązanie między parą terminów.
Tweety o kawie zostały oczyszczone i zorganizowane w obiekt tweets_tdm na potrzeby tego ćwiczenia. Wyszukasz asocjację terminu, przetransformujesz wyniki za pomocą list_vect2df() z pakietu qdap, a następnie stworzysz wykres przy użyciu kodu ggplot2 z przykładowego skryptu.
To ćwiczenie jest częścią kursu
Eksploracja tekstu metodą Bag-of-Words w R
Instrukcje do ćwiczenia
- Utwórz obiekt
associations, używającfindAssocs()natweets_tdm, aby znaleźć terminy powiązane z "venti", które spełniają minimalny próg0.2. - Wyświetl terminy powiązane z "venti", wypisując
associationsdo konsoli. - Utwórz
associations_df, wywołująclist_vect2df(), przekazującassociations, a następnie ustawiająccol2na"word"icol3na"score". - Uruchom kod
ggplot2, aby utworzyć wykres punktowy wartości asocjacji.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Create associations
___ <- ___(___, ___, ___)
# View the venti associations
___
# Create associations_df
___ <- ___(___, ___, ___)
# Plot the associations_df values
ggplot(associations_df, aes(score, word)) +
geom_point(size = 3) +
theme_gdocs()