Text Analysis

Text Analysis의 시작

김아다만티움 2021. 11. 23. 22:45

*본 게시물은 21-2학기 연세대학교 일반대학원 온라인데이터수집과분석(이상엽 교수님) 수업 내용을 정리한 것입니다.

 

  온라인에서 데이터를 '수집'하는 것을 배웠으니 이제는 '분석'을 해야합니다.

  그러기 위해서는 Text Analysis에 대해 먼저 배워야 합니다. (이 수업은 언론홍보영상학과에서 열렸기 때문에 비전공자로써 교수님께서 수업시간에 text analysis를 사회과학적으로 설명해주시는 것이 매우 인상깊었습니다.)

 

  Text Analysis란 말 그대로 텍스트를 분석하는 것입니다. 분석 '방법'에는 크게 2가지가 있습니다.

하나, 사람이 manually하게 분석하는 것
둘, 컴퓨터를 이용해서 분석하는 것입니다.

  이 수업도 그렇고 NLP도 그렇고 모두 '컴퓨터'를 통해 text를 분석하게 됩니다. 

 

  그렇다면 text는 '왜'분석하는 것일까요? 의외로 목적에 대해서는 생각을 못 해보셨을 것 같습니다 ㅎㅎ 텍스트 분석의 목적은 풀고자 하는 문제에 유용하게 쓰일 수 있는 정보를 찾기/추출하기 위해서입니다. 이때 추출할 수 있는 정보로는 문서의 주제(topic), 감성분석 결과(sentiment analysis) 등등이 있습니다. 

 

이를 보다 사회과학적으로 이야기하면...

  텍스트 분석의 목적은 풀고자 하는 문제인 연구문제의 해결, 혹은 가설을 지지하기 위한 검증을 위해서입니다.
이 목적을 달성하기 위해 text data를 사용하게 됩니다. 

 

  실은 컴퓨터를 이용한 텍스트 분석은 어렵습니다.(교수님께서 어렵다고 표현을 하셨습니다^^;)

따라서 다음의 step들을 따를 필요가 있습니다. 

단계 설명 예시
1. 연구 문제, 가설 수립   우선 '전제'가 필요합니다. 즉 풀고자 하는 연구 문제 혹은 가설이 있어야 합니다. 이 문제, 가설은 변수(독립변수, 종속변수, 조절변수, 매개변수...) 들을 포함하고 있습니다  
2. 텍스트 수집
(web scraping)
  이러한 변수들의 관계 파악을 위해서는 변수들에 대한 데이터가 필요합니다. 때문에 데이터 수집을 거치게 됩니다. 
  이 수업에서는 온라인에 있는 text를 '수집'하는 것을 다룹니다. 이를 위해서는 web scraping 기법들이 필요합니다.
<web scraping 테크닉 사용>
-뉴스 기사, 블로그 포스트, 댓글, 리뷰 등 수집 가능
3. 텍스트 전처리
(text preprocessing)
  웹에 존재하는 text 데이터들을 단순히 '모았다고' 분석을 바로 할 수는 없습니다. 이 데이터들은 raw한 text 데이터이기 때문입니다. 따라서 분석하기에 적합한 형태로 만드는 전처리 과정이 필요합니다.  <전처리 단계: 영어>
1) text cleaning(기호 등 제거)
2) case conversion(대소문자 변경)
3) tokenization(토큰화)
4) POS tagging(품사태깅)
5) removing stopwords(불용어 제거)
6) lemmatization / stemming
4. 문서 vectorization   컴퓨터는 태초에 계산기로 태어났습니다. 즉, 컴퓨터의 '말'은 숫자입니다. 때문에 사실은 ^^; 전처리 과정 이후에 text를 숫자로 만들어주는, 즉 벡터로 만들어주는 vectorization 과정이 또 필요합니다.
  이 vectorize를 해주는 도구는 '기계학습 알고리즘'입니다. 후에 다룹니다. 
<Maching Learning based techs.>
ㅇ Text Classification
ㅇ Sentiment Analysis
4-1. vectorization을
하지 않는 경우? 
  물론 전처리 이후에 vector화를 거치지 않고 바로 분석하는 것도 가능합니다. 빈도분석, 네트워크 분석이 대표적인 예입니다. 다만 vector화를 해서 얻을 수 있는 정보들보다는 한정된 정보들을 얻는 방법들이긴 합니다. <Non ML based techs.>
ㅇKeyword frequency
ㅇtext Network analysis
  (=semantic network analysis)