단어 연관성 사용하기
tm 패키지의 findAssocs() 함수로 단어 관계를 살펴볼 수도 있어요. 특정 단어에 대해 findAssocs()는 TDM 또는 DTM의 모든 다른 단어와의 상관관계를 계산합니다. 점수 범위는 0에서 1 사이예요. 1은 두 단어가 문서에서 항상 함께 등장함을 의미하고, 0에 가까울수록 같은 문서에 함께 나타나는 일이 드물다는 뜻입니다.
findAssocs()의 계산은 문서 단위로 이루어진다는 점을 기억하세요. 즉, 검사 대상 단어가 포함된 각 ‘문서’에서만 그 문서에 있는 다른 단어들이 연관된 것으로 계산돼요. 검색어가 없는 문서는 무시됩니다.
findAssocs()를 사용하려면 TDM 또는 DTM, 검색할 단어, 최소 상관계수를 전달하세요. 함수는 최소 임계값을 충족하거나 초과하는 모든 다른 단어 목록을 반환합니다.
findAssocs(tdm, "word", 0.25)
단어의 다양성 때문에 최소 상관계수는 비교적 낮은 값을 쓰는 일이 많아요. 0.10 만으로도 강한 쌍별(term pair) 연관이 보일 수 있어도 놀라지 마세요.
커피 관련 트윗은 이미 tweets_tdm으로 정리되어 있어요. 이번 연습에서는 연관 단어를 검색하고, qdap의 list_vect2df()로 결과를 가공한 다음, 예제 스크립트의 ggplot2 코드로 플롯을 만듭니다.
이 연습은 강의의 일부입니다
R로 배우는 Bag-of-Words 텍스트 마이닝
연습 안내
tweets_tdm에서findAssocs()를 사용해 "venti"와 연관되며 최소 임계값0.2를 만족하는 단어를 찾아associations를 생성하세요.- 콘솔에
associations를 출력해 "venti"와 연관된 단어를 확인하세요. list_vect2df()를 호출해associations를 전달하고,col2를"word",col3를"score"로 설정하여associations_df를 만드세요.- 예제의
ggplot2코드를 실행해 연관 값의 도트 플롯을 그리세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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()