빅데이터/Python

[파이썬] 카카오톡 대화 내용 분석 2: 대화방에서 가장 많이 사용되는 단어

young 2019. 11. 25. 10:21
반응형

카카오톡 PC에서 대화 내용을 내보내기하여 받은 .txt 파일을 분석한다.

추출한 챗 로그 텍스트 파일은 2019년 11월 기준으로 아래처럼 생겼다. 몇 년 전과 달라졌다.

 

대화방에서 많이 사용되는 단어를 띄어쓰기를 기준으로 split하여 추출하기 때문에, 단어 뒤에 조사가 주로 붙는 한국어에 아주 적합한 코딩은 아니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Most Frequently Used Words
 
import re
from collections import Counter
 
words = []
 
with open(r'C:\Users\카카오톡 대화 내용 텍스트 파일.txt''r', encoding='utf-8') as f:
    for line in f:
        m = re.search(r"^.*?\[\d\d:\d\d\]\s*(.+)$", line)
 
        if m:
            words.extend(re.split(r"\s+", m.group(1)))
 
for word, freq in Counter(words).most_common(10):
    print("{0:10s} : {1:3d}".format(word, freq))

 

결과 예는 아래와 같다.

1
2
3
4
5
6
7
8
9
10
ㅋㅋ         : 471
아          : 351
근데         : 334
ㅋㅋㅋ        : 261
ㄹㅇ         : 260
ㅇㅇ         : 250
Photo      : 207
ㅋㅋㅋㅋㅋ      : 199
난          : 191
ㅋㅋㅋㅋ       : 178

+ 2020년 4월 기준, 채팅 내용(메모장 파일)에서 시간 부분이 '[12:51]'에서 '[오전 12:51]' 형식으로 바뀜.

이에 따라 정규표현식을 "^\[(.+\]?)\[\w+.\d\d:\d\d\]\s*.+$" 로 수정해야함

 

반응형