클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

Orange 9 - 영화 리뷰 데이터로 텍스트 분류하는 실습해보기 본문

인공지능/머신러닝

Orange 9 - 영화 리뷰 데이터로 텍스트 분류하는 실습해보기

huenuri 2024. 9. 14. 11:16

늦었지만 새벽 루틴도 실천했고 이제 다시 아침 공부를 시작해볼 것이다. 오늘은 아침을 먹지 않을 것이고(먹는 날은 별로 없지만) 점심 때까지 열심히 공부해보자. 조금 전에 승차권 예매도 했고 이제 아침 공부를 하는 일만 남아있다.
이번에는 조금 전에 학습했던 텍스트 마이닝을 실습하는 시간을 갖기로 하자.


 
 
 

텍스트 분류하는 실습해보기

영화 인사이드 아웃2의 영화 리뷰를 가져와서 이 리뷰에 대한 평점을 분석해볼 것이다. 먼저 텍스트 패키지를 설치해준다.

 
 
그런 다음 Corpus 파일을 하나 만들고 영화 리뷰를 다음과 같이 작성한다. 10개의 리뷰를 작성하는데 긍정과 부정이 모두 섞이도록 한다.
 
 

1. 영화 리뷰 데이터 가져와서 분석하기

 

 

 
Corpus Viewer에도 연결해주는데 1에서 10까지 내용이 잘 보이는지 확인한다. 이제 워드 클라우드를 만들어볼 것이다. 원래는 단어를 형태소 단위로 쪼개고 분석을 해야 하지만 오렌지에서는 이러한 위젯을 제공하고 있다.
 

 
원래는 수업 시간에 만든 파일을 가지고 정리하려고 했는데 이미 분석이 끝난 내용을 보여주고 있어서 그냥 처음부터 새로운 파일에서 작업을 하기로 했다.
뷰어에서 전체 데이터를 Ctrl + A로 선택한 후에 워드 클라우드로 확인해본다.
 


 
 
 

2. 텍스트 클라우드로 확인해보기

 
이 분석을 보니 별로 중요하지 않은 단어들도 많이 등장하고 있음을 볼 수 있다. 이제 분석 작업을 진행해야 한다.
 
 

 
stopwords도 표시하고 Regexp에서 영문자, 숫자, _만 가져오도록 설정한다. 이것은 특수문자를 제거해주는 기능이다.
 
 

 

 
조금 전보다 더 정확해짐을 볼 수 있다. 


 
 
 
 

3. 불용어 처리하기

텍스트 문서를 작성하고 이 단어를 불용어로 처리해준다.

 
반복되는 중요하지 않은 단어를 만들어주었다.
 
 

 
이제는 텍스트를 벡터화하는 작업을 해보자.


 
 
 

4. Bag of Words 분석하기

 

 

 
감성 분석 결과가 나오고 있다. 이렇게 bag of words로 토큰화를 진행해보았다. 이제 감성 분석을 해볼 것이다.


 
 

4. 감성분석

아직까지는 감성분석을 하는데 한국어를 많이 지원하고 있지 않아 우리는 Multi에서 Korean에서 바꾸어 감성분석을 진행해보았다.
 
 

 
숫자가 들어갈수록 감성이 들어간 단어로 인식한다. 
 
 

 
조금 전보다 감정의 변화가 확실히 보인다. 이러한 감성 분석을 통해 영화 리뷰 데이터가 들어왔을 때 긍정인지 부정인지 학습할 수 있다.


 
 
 

 


 
 

학습을 마치고

이렇게 영화 리뷰 데이터를 가지고 감성 분석을 진행해보았다. 뒤에 갈수록 선생님이 각 파일에 대한 설명을 써주시지 않아 내가 한번 넣어보았다. 수업 시간에는 정말 바쁘게 만드느라 무슨 내용인지도 모르고 실습했는데, 복습을 하며 다시 처음부터 만드니 정말 좋았다.
머신러닝이 무엇인지 조금 알 것 같다.