Data-writing

대본으로 놀아보기 #2 대본 태깅 및 탐색적 자료분석

JAY-GO 2020. 1. 4. 10:09
반응형
드라마 W 대본을 활용한 데이터 분석 및 활용

※ 실제 구현 코드는 github상의 jupyter notebook을 참고하시기 바랍니다.

 


이전 포스팅에서 한글파일로 되어있는 대본을 사용 가능한 테이블 형식으로 변환 하였습니다.

 

이번에는 대본의 문장을 태깅하여 이중 명사를 활용하여 자료분석을 수행 해보고자 합니다.

 


1. 데이터 불러오기

 이전 포스팅에서 저장했던 대본을 불러와서 사용 합니다. 테이블 형식으로 저장되어 있기 때문에 내용과 인물등이 구분되어 활용하기 편한 상태입니다.

 

2. 문자 태깅 및 명사 추출

 문장을 활용하기 위해서는 문장의 형태소 분석을 통해 각 형태소에 맞는 정보를 입히는 태깅 작업이 필요 합니다. 한글문장의 경우 파이썬에서는 일반적으로 공개된 것중에는 KoNLPy를 많이 사용 합니다.

 

 형태소 분석을 및 태깅을 위해 여러가지 형태소 분석기가 제공되며 해당 분석기는 같은 목적을 가졌으나 조금씩 결과물에 차이가 있습니다. 3가지 형태소 분석기(Komoran, Twitter, Hannanum)를 적용하여 명사를 카운팅한 결과는 아래와 같습니다.

 3가지 형태소 분석기로 같은 문장에 대하여 같은 명령을 수행하였음에도 결과에 차이가 나는것을 볼 수 있습니다. 각 형태소 분석기 마다 형태소를 분류하는 방식의 차이로 인해 명사를 판단함에있어 차이가 발생하고 있습니다.

 

 어느것이 절대적으로 앞선다고 판단할 수 없어 3가지 형태소 분석기의 카운팅을 평균화 하여 결과를 안정화 시켜 사용 합니다. 결과 리스트를 보면 '것, 거, 수' 등 실제로 명사로서 인정하기 어려운 것들이 존재 합니다. 이것들은 리스트에서 제거하고 결과를 활용할 것입니다.

3가지 분석기 평균
불인정 명사 제거 후

 

 

3. 워드클라우드

 위에서 추출한 명사 카운팅을 바탕으로 단어의 비중을 눈으로 확인하기 위항 워드클라우드를 그려 보겠습니다. 위에서 표 형태로 보던 것보다 좀 더 직관적으로 단어의 비중을 파악할 수 있습니다.

4. 탐색적 자료분석

 명사에 대한 분석 이외에도 테이블로 주어진 자료에 대하여 다양한 분석을 해볼 수 있습니다. 이를 바탕으로 자료가 가진 특성 및 관계들에 대한 아이디어를 도출할 수 있습니다.

 

 가. 등장인물의 수

  대본에는 어떤 등장인물들이 등잘하는지 알아볼 수 있습니다. 2명이 동시에 하는 대사를 고려하면 총 32명의 인물이 등장 합니다.

array(['MC', '캐스터', '해설', '가족들', '강철모', '강철부', '아이들', '앵커', '기자', '경감',
       '전문가', '현석', '강철', '철호', '자막', '연주', '석범', '김간호사', '간호사1', '간호사2',
       '박교수', '수봉', '선미/윤희', '성무', '연주/수봉', '선미', '일동', '웨이터', '의사1',
       '매니저', '구급대원', '윤희', '소희', '도윤'], dtype=object)

 

 나. 대사의 길이

  대사들의 길이가 어떻게 분포하고 있는지 궁금 합니다. 얼마나 긴 대사를 소화할까요? 그리고 대사들의 길이는 어떤 분포를 보일까요? 대사의 길이에 대한 시스토 그램을 보면 최대 약 180자의 대사가 최대치이고 평균적으로 50자 이내의 대사가 대부분을 차지함을 알 수 있습니다.

  이를 수치적으로 보면 아래와 같습니다.

summary of content length
max : 167
min : 2
mean : 33.976133651551315
std : 29.041125819143765

 

 다. 인물별 대사의 비중

  그렇다면 각 인물별도 대사의 지분은 어떻게 될까요? 이를 통해 극을 이끌어 가는 주요 인물을 알 수 있지 않을까요?

 인물의 대사 횟수를 보면 아래와 같습니다. 이를통해 보면 주인공은 '연주' 이고, 주요 인물은 '수봉', '박교수', '강철' 등이 되겠네요.

연주     139
수봉      62
박교수     41
강철      28
캐스터     25
소희      19
웨이터     14
석범      13
해설      13
기자      13
Name: act, dtype: int64

  대사의 길이를 기준으로 보면 어떨까요? 역시 '연주', '수봉', '박교수' 등이 주요 인물임을 알 수 있습니다. '강철'은 대사 횟수에 비해 길이가 짧은거 보면 이름답게 말수가 적은 과묵한 사람인가봅니다.

 라. 사용한 단어(명사)의 종류

  한 대본에 사용된 명사는 몇종류나 될까요? 2040자 생각보다 많은 종류의 명사가 사용되고 있음을 알 수 있습니다.

2040

 

마치며

 이번 포스팅에서는 대본 테이블의 대사를 형태소 분석기로 태깅하고 명사를 추출하여 활용하는 과정 및 대본에 대한 간략한 탐색적 자료분석을 해 보았습니다.

 

 다음 포스팅에서는 인물, 대사를 바탕으로 상호관계를 알아보기 위한 관계 분석 및 대사의 감성 분석을 해보도록 하겠습니다.

반응형