워드클라우드 생성기로 시각화 이미지 만드는 법
페이지 정보
작성자 Odelia 작성일25-12-06 14:21 조회25회 댓글0건본문
금광에서 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 채굴(마이닝)을 하면 금이 나오지만 텍스트에서 마이닝을 하면 의미나 혹은 직관(insight)이 도출된다는 생각으로 하는 것이 텍스트마이닝이다. 채굴 방법은 문장을 문법적 기능이 다른 단어들을 쪼개 가며 분석하는 방식(semantic parsing)이 있고 한 주머니에 모든 단어들을 다 집어넣고 분석하는 방식(bag of words)이 있다고 한다. 어느 방식을 취하든 1. R 프로그램이 텍스트를 개별 단어로 쪼개는 일이 먼저 진행되고 (tokenizing)2. 텍스트에서 의미가 별로 없는 단어나 부호 등을 제거하는 작업 3. 단어의 빈도수를 파악하는 작업 (count)4. 그 결과를 시각화 하는 작업 (word crowd)작업의 순으로 진행이 된다. 본질적으로 문장을 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 읽어보지도 않고 기계적으로 분류하여 빈도수를 따져보는 것만으로 무슨 의미 있는 작업을 할 수 있을까 회의가 들기 마련이다. 그렇지만 그렇게 단정적으로 말할 사안은 아니다. 용도에 따라 유의미한 작업이 될 수도 있다. 예를 들어, 기업의 사이트에 올라온 클레임들을 텍스트마이닝 해보면 거기서 도출되는 다빈도어들은 우리 회사 제품/서비스에 어떤 문제가 있다는 것에 대해직관적인 정보를 얻을 수 있다.당연히 섬세한 뉘앙스를 캡쳐해내기는 힘들 것이다. 장점은 수많은 데이터를 순식간에 분석해낼 수 있다는 점이다. 그렇다면, 대통령 취임연설은 어떨까?21대 대통령 취임 연설 전문을 텍스트마이닝 하여 워드크라우딩 해보았다. 1. 데이터 저장address 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 <- read.table("C:/Class/2025-1/데이터저널리즘/address.txt", fill=TRUE)먼저 전문을 워드패드나 문서장에 텍스트(txt) 파일로 저장하고 그것을 R로 불러와 address라는 객체 이름으로 저장한다. 2. 패키지 설치 그 다음에는 필요한 패키지들 설치한다. 트위터 등 SNS에서 가져올 경우 등을 대비해 유사한 패키지들을 가급적 많이 집어 넣었는데 경우에 따라 더 필요할 수도 있고 아닐 수도 있다:#패키지 설치install.packages(c("devtools", "rjson", "bit64", "httr"))library(devtools)library(rjson) #rjson 설치에서 에러나면 Rtools 설치library(bit64)library(httr) if(require(DBI)) library(DBI) else install.packages("DBI")if(require(twitteR)) library(twitteR) else install.packages("twitteR")if(require(curl)) library(curl) else install.packages("curl")if(require(RCurl)) library(RCurl) else install.packages("RCurl")if(require(RJSONIO)) library(RJSONIO) else install.packages("RJSONIO")if(require(stringr)) library(stringr) else install.packages("stringr")if(require(RJDBC)) library(RJDBC) else install.packages("RJDBC")if(require(httr)) library(httr) else install.packages("httr")if(require(streamR)) library(streamR) 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 else install.packages("streamR")if(require(base64enc)) library(base64enc) else install.packages("base64enc")if(require(devtools)) library(devtools) else install.packages("devtools") 3. 텍스트 리스트 데이터의 벡터 변환 데이터를 R로 가져오면 이건 리스트 데이터로 인식이 된다. 이를 벡터로 바꿀 필요가 있다. 그 전에 우선 한글 텍스트를 변환하기 위해 패키지 두개가 필요한데 KoNLP와 tm 패키지이다. if(require(KoNLP)) library(KoNLP) else install.packages ("KoNLP")if(require(tm)) library(tm) else install.packages("tm") if를 사용한 위 두 줄 문장은 해당 패키지가 있으면 library로 불러오고 없으면 install.packages로 설치하라는 말이다. 패키지 설치 후, 리스트 데이터를 벡터로 전환하기 위해 unlist라는 함수를 사용한다:address.text <- unlist(address,use.names = F)(만약 트위터에서 메시지를 가져온다면 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 sapply를 쓸 수 있다:tweets.text <- sapply(tweets, function(x) x$getText())그런데 머스크가 트위터를 인수한 이후 예전에는 1주일치는 가져다 분석에 쓸 수 있었는데 그것 마저도 막아버린 듯하다.) 4. 데이터의 정제(cleaning)벡터로 바꾼 데이터도 다 분석에 쓰는 것이 아니라 의미가 없는 불필요한 단어, 부호들이 많아서 이를 제거해야 한다. 이를 위해 tolower, gsub등 함수를 사용하는데 전자는 영문 대문자를 소문자로 바꾸는 것이고 gsub( )는 ( )안의 앞의 것을 뒤의 것으로 바꾸라는 함수다. 뒤의 자리에 “”를 집어 넣으면 따옴표 사이에 아무 것도 없으니 제로 상태, 즉 앞의 것을 지우는 기능이 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 실행된다. 아래는 다양한 불필요 텍스트들을 제거한 경우이다:address.text <- tolower(address.text) #영문 대문자를 소문자로address.text <- gsub("RT","", address.text) #rt 단어 없애기address.text <- gsub("@ \\ w+","", address.text) #@user name 없애기address.text <- gsub("[[:punct:]]","", address.text) #punctuation 없애기address.text <- gsub("[|\t{2,}]","", address.text) #tab 문장들 없애기address.text <- gsub("^ ","", address.text) #문장이 시작되는 공백문자없애기address.text <- gsub(" $","", address.text) #마지막 공백문자 없애기address.text <- gsub("\n","", address.text) #\n 없애기 5. 말뭉치 만들기 텍스트를 정제한 뒤에는 말뭉치를 만든다. 앞에서 말한 bag of words방식을 쓰기 위해 단어들을 모두 한 자루에 쓸어 담는다 생각하면 된다.address.text.corpus <- Corpus(VectorSource(address.text)) 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 #말뭉치(corpus) 만들기 address.text.corpus <- tm_map (address.text.corpus, function(x)removeWords(x,stopwords())) #말뭉치 조정(=클리닝) 위에서 Corpus가 말뭉치를 만드는 함수이고 tm_map( )은 ( ) 안에 데이터 이름과 추가 함수를 지정하여 추가적으로 데이터 클리닝을 하는 것이다. 6. 워드크라우드텍스트마이닝 결과를 시각화 하기 위해 두개 패키지가 더 필요한데 wordcloud와 RColorBrewer이다. #word cloud install.packages("wordcloud")library(wordcloud)Install.packages(“RColorBrewer”) library(RColorBrewer)함수는 wordcloud를 써서 아래와 같이 코딩하여 실행하면 그림과 같은 결과가 나온다.( )안에 워드클라우드 모양을 지정하는 다양한 추가 함수들에 대해 알아두면 좋을 것이다. 아래에 그 추가 함수들의 기능을 덧붙여 두었다. 원래 ??wordcloud를 run하면 R이 이를 다 알려준다: 결과적으로 워드클라우드 워드 클라우드 생성기 만들기 사이트 워드아트 크라우드 보니, “국민의” “우리” “나라” “이제” “만들겠습니다”라고 나온다. 이 다빈도어를 통해 새 대통령의 의도를 이렇게 도출하는 것이 텍스트 마이닝이다.










지붕공사.info
사업자번호 : 314-14-70834