지난 포스팅에 이어 이번 포스팅에서 사회 연결망 분석 방법을 적용하여 아마존 구매후기를 분석합니다. 예제 역시 지난 포스팅에 이어 2살 아기 장난감 선물 중에서 동물 스티커를 계속 적용해보겠습니다.
1. library
R 패키지 중에서 igraph를 이용합니다. igraph를 이용한 보다 상세한 네트워크 작성방법은 아래 공식 웹사이트를 참고하기 바랍니다.
2. 사회 연결망 분석
사회 연결망 분석, Social Network Analysis는 그래프 이론을 사용하여 사회 구조를 탐색하는 사회 과학 연구 방법 중 하나입니다. 주로 네트워크 구조적 특성을 측정하고 분석하는데 이용합니다. 텍스트 마이닝에서 이러한 사회 연결망 분석 방법을 차용하여 주요 단어(node 혹은 vertex)의 연결(link 혹은 edge)을 통해 해당 문서가 어떤 의미를 담고 있는지 파악하는데 적용되며, 이런 의미에서 흔히 의미망 분석이라고도 합니다.
3. 의미망 분석 구현
단어-문서 행렬을 행렬의 곱셈을 이용하여 동시출현행렬(Co-occurence Matrix)로 변경합니다. 빈도수 기준 상위 30개 단어만 이용하겠습니다.
inw.bracelet <- as.matrix(tdm)
word.count <- rowSums(inw.bracelet)
word.order <- order(word.count, decreasing=TRUE)
freq.words <- inw.bracelet[word.order[1:30], ]
co.matrix <- freq.words %*% t(freq.words)
net <- graph.adjacency(co.matrix,weighted=T,mode="directed")
net.bracelet <- simplify(net)
plot(net.bracelet,layout=layout.fruchterman.reingold, vertex.size=20, vertex.color= "white", edge.arrow.size=0.5)
여러 가지 옵션 값을 이용하여 노드와 링크 형태를 변경할 수 있습니다. 아래 옵션 값은 참고만 하기 바라며, 자세한 내용은 igraph 공식 웹사이트를 이용하기 바랍니다.
# layout : layout.random, layout.circle, layout.kamada.kawai, layout.sprint, layout.lgl, layout.mds, layout.svd
# edge : edge.color, edge.width,edge.arrow.size, edge.arrow.width, edge.arrow.mode, edge.lty, edge.label.family, edge.label.font,edge.label.color
# vertex : vertex.size, vertex.color,vertex.shape,vertex.frame.color, vertex.label, vertex.label.font, vertex.label.dist, vertex.label.color,vertex.label.cex,vertex.label.family,vertex.label.degree
4. 중심성 측정 : 연결 중심성
네트워크 내 중심성을 계측하는 방법은 여러 가지가 있습니다만, 그중 연결 중심성은 상위 단어 중 다른 단어와 직접적으로 가장 많이 연결된 단어를 측정하는 것으로 측정 결과로 나타난 단어는 해당 네트워크에서 가장 중요한 단어라고 할 수 있습니다. 아래 R code는 연결 중심성을 측정한 후, 연결 중심성이 가장 높은 3개 단어는 붉은색으로 표시하여 구현한 것입니다.
V(net.bracelet)$dc <- degree(net.bracelet)
k_dc_top_three <- head(sort(degree(net.bracelet), decreasing=TRUE), n=3)
V(net.bracelet)$color <- ifelse(V(net.bracelet)$dc >= k_dc_top_three [3], "tomato", "white")
plot(net.bracelet)
분석 결과에서 확인할 수 있는 바와 같이 연결 중심성이 가장 높은 단어는 book, reusable, pictures입니다.
구체적인 계측 값은 연결 중심성을 계측한 후, 저장한 객체 명인 k_dc_top_three을 불러오면 되며, 아래와 같은 구체적인 계산 값을 확인할 수 있습니다.
k_dc_top_three
book reusable pictures
42 34 34
'교육' 카테고리의 다른 글
동시 출현 네트워크 분석 │귀멸의 칼날 │의미망 분석 │네이버 영화평 (0) | 2021.05.29 |
---|---|
귀멸의 칼날 : 무한열차편 │감성분석 │네이버 영화 │R 텍스트 마이닝 (0) | 2021.05.28 |
2살 장난감 선물 아마존 추천 │구매후기 │텍스트 마이닝 (0) | 2021.05.26 |
KoNLP 설치 순서 │2023년 9월 업데이트 │scala-library-2.11.8.jar 오류 해결 방법 │R 4.3.1 (Window 11 기준) (0) | 2021.05.21 |
무료 전자책 배포 │이커머스, 파괴적 혁신 진화하다 (0) | 2020.12.11 |