young
is this it
young
전체 방문자
오늘
어제
  • 분류 전체보기 (143)
    • 웹_프론트엔드 (1)
      • 로드맵 챌린지 (73)
      • Svelte (2)
      • React (6)
      • JavaScript (8)
      • TypeScript (2)
      • HTML+CSS (5)
    • 웹_백엔드 (0)
      • Django (0)
    • 빅데이터 (33)
      • R (30)
      • Python (2)
    • 기타 (11)
      • git (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 보안취약점
  • 암호화
  • owasp
  • ggplot
  • bem
  • 버전관리
  • ggmap()
  • 대칭키
  • rstudio지도정보
  • vcs
  • css후처리기
  • 구글맵api
  • css네이밍
  • 공개키
  • 태스크러너
  • ssl
  • form
  • 웹보안
  • Regex
  • 인증

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
young

is this it

[파이썬] 카카오톡 대화 내용 분석 1: 대화방에서 가장 많이 뜨는 유저
빅데이터/Python

[파이썬] 카카오톡 대화 내용 분석 1: 대화방에서 가장 많이 뜨는 유저

2019. 11. 24. 18:25
반응형

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

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

 

대화방에서 사용자가 출현한 횟수를 기준으로 하기 때문에 글자 수와는 상관이 없다.

아무 글자나 치고 엔터만 눌러대면 1등이다.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Most Frequent Username
import re
from collections import Counter
 
words = []
with open(r'./KakaoTalk_카카오톡 챗 파일.txt', 'r', encoding='utf-8') as f:
    for line in f:
        m = re.search(r"^\[(.+\]?)\[\w+.\d\d:\d\d\]\s*.+$", line)
        if m:
            words.extend(re.split(r"\]\s+", m.group(1)))
 
words = [v for v in words if v]
total = sum(Counter(words).values())
 
for word, freq in Counter(words).most_common(50):
    print("{0:10s} : {1:3d} ({2} %)".format(word, freq, round(freq / total * 100, 2)))
print("{0:10s} : {1:3d} ({2} %)".format('------- 합 계', total, round(total / total * 100, 2)))
 
 

결과는 아래처럼 [ 이름 : 등장횟수 (백분율, 소수점 둘째자리까지) ] 으로 나온다.

1
2
3
4
5
6
7
펭수다        : 5753 (27.31 %)
박재영        : 2482 (10.54 %)
뽀로로        : 2184 (8.49 %)
김 명중       : 1976 (7.13 %)
번개맨        : 1470 (5.04 %)
뚝딱이        : 1449 (4.73 %)
------- 합 계 : 15314 (100.0 %)
cs

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

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

반응형

'빅데이터 > Python' 카테고리의 다른 글

[파이썬] 카카오톡 대화 내용 분석 2: 대화방에서 가장 많이 사용되는 단어  (1) 2019.11.25
    '빅데이터/Python' 카테고리의 다른 글
    • [파이썬] 카카오톡 대화 내용 분석 2: 대화방에서 가장 많이 사용되는 단어
    young
    young

    티스토리툴바