서베이몽키는 Gold계정에서 주관식 문항의 핵심 키워드를 추출해주는 텍스트분석 기능을 제공하고 있습니다.

그런데, 서베이몽키 텍스트분석은 우리글의 특성을 고려하지 않아 표본수가 증가하게 되면 질문내용과는 무관한 조사와 서술어의 출현빈도가 높아지는 한계가 있습니다. R이 제공하는 word cloud 패키지를 이용하면 이러한 한계를 여느 정도 극복하는 것이 가능합니다.

우선 R에서 word cloud를 생성하기 위해서는 wordcloud 패키지 외에 한국어 관련 작업을 원활하게 하기 위해 KoNLP 패키지를 설치해야 합니다. 설치가 정상적으로 이루어지지 않는다면 JAVA가 최신 버전인지 확인해 보시기 바랍니다.

이제 받고 싶은 선물에 대한 응답을 가지고 word cloud를 만들어 보겠습니다. 디렉토리 지정 후 KoNLP 패키지와 word cloud 패키지를 활성화합니다.

 

파일을 우선 txt라고 명명한 변수에 넣은 후 명사형 응답만을 선택하여 wish라는 변수에 다시 넣어 주었습니다. Wish 변수를 리스트업 해보면 나이키나이로 인식되는 것처럼 의도하지 않은 결과가 나오는 것을 확인할 수 있습니다.

 

이런 문제가 제거하기 위해 사전에 원하는 명사형을 등록해 줍니다 

☞ R에서 사용자가 많지 않아 삭제되면서 mergeUserDic(data.frame("명사로 등록할 단어","ncn")) 명령은 더 이상 사용할 수 없습니다.대체 명령어는 buildDictionary(ext_dic = "woorimalsam", user_dic=data.frame("명사로 등록할 단어","ncn"),replace_usr_dic = T)입니다. 그런데 문제는 이 명령어를 적용해도 단어가 등록되지 않는 오류가 발생한다는 점입니다. 아마 버그가 있는 것으로 판단되는데 해결될 때까지는 이 과정은 생략하고 wordcloud를 만들면 됩니다. 당분간 buildDictionary 명령 대신 단어를 수정하는 등의 조치를 취해 wordcloud에 나타날 수 있도록 원본 텍스트 데이터를 수정하는 수고를 하셔야 할 것같습니다.    

 

단어 등록 후 wish 변수를 다시 나열해본 결과, “나이로 구분되던 나이키가 나이키하나로 인식되는 것을 확인할 수 있습니다.   

 

무의미한 단어를 제거하기 위해 두 개 이상인 단어만 선택했습니다.

 

다음으로 그 외 의미 없는 단어들을 변수에서 제거해 주었습니다.

 

불필요한 단어를 제거한 후에는 word cloud를 생성합니다.

 

word cloud를 생성한 결과는 아래와 같습니다.

R을 이용해 word cloud를 생성해 본 결과 확실히 우리글에 적합한 결과를 도출할 수 있음을 알 수 있습니다. 그러나, 필요한 단어를 등록하고 불필요한 단어를 제거하는 등, 주관식 문항을 코딩 하는 정도의 수고까지는 아니더라도 데이터를 정제하는 과정은 반드시 필요합니다. 만약 데이터의 표본수, 사례수가 많아진다면 의외로 손이 많이 갈 수도 있을 것 같습니다. 코딩요원을 투입해 주관식 문항을 처리하는 기존 방법을 대체하기 보다는 보완적인 방법으로 R word cloud를 사용할 수 있을 것으로 보입니다 

 

'R기어가기' 카테고리의 다른 글

6. R로 차트 만들기 ①  (0) 2017.08.05
5. 테이블!! R로 다시 만들기  (0) 2017.07.13
4. R을 이용한 IPA 산점도 작성  (0) 2017.01.13
3. 테이블! R로 만들기  (0) 2017.01.07
1.R! 파일을 열다  (0) 2016.07.02
Posted by dooka
,