brunch

You can make anything
by writing

C.S.Lewis

by 김민환 Sep 09. 2020

내가 쓴 글들을 보니 내가 보인다

내 브런치 글로 워드 클라우드를 만들어봤다.

"너는 같은 단어나 표현을 많이 쓰는 것 같아."


언젠가 아내가 내 브런치 글을 읽고 나서 해준 말이다.

가급적 비슷한 단어나 표현을 안 쓸려고 한다고 생각했는데, 공유를 해줘도 내가 쓴 글인지도 모르고 제대로 읽지도 않는 불량 독자이긴 하지만 제삼자의 입장에서 그렇게 느낀다면 어느 정도 그렇다고 볼 수 있을 것 같았다.


글을 좀 살펴봤으나 잘 모르겠다.

제 머리를 못 깎는다고, 자기 생각을 자신의 손으로 적어나간 글에 뭔가 불필요한 패턴이나 반복이 있다는 것을 알기는 쉽지 않을 것 같았다.

기술의 힘을 빌려서 찾아보기로 했다.




텍스트 데이터를 분석하는 방법 중 하나가 워드 클라우드(Word Cloud)를 만들어 보는 것이다.

빈도수(많이 사용된)가 높은 단어는 크게 표시하고 차차 빈도수가 적어지는 글자를 조금씩 줄여서 이미지로 보여주는 방식이다.

이렇게 보면, 가장 많이 쓰인 단어, 언급된 단어들을 쉽게 확인할 수 있다.

본격적이고 정량적인 텍스트 데이터 분석에 앞에서 미리 데이터를 설명해볼 수 있는 방법이라 많이 사용된다.

워드 클라우드로 시각화된 이미지 들은 누구나 한 번쯤 봐왔을 것이다.


워드 클라우드를 만들기 위해서는 크게 3가지 절차가 필요하다.


1. 텍스트 데이터 준비

2. 필요에 따라 단어(명사, 형용사, 긍정/부정 등의 감성어)를 추출

3. 빈도수에 따른 시각화


내 브런치 글을 분석하기 위해서 우선 브런치 글들을 모아야 했다.




내가 쓴 글이지만 인터넷상의 글이므로, 글을 모으는 방식은 두 가지가 있다.

첫 번째는 일일이 복사하고 붙여 넣기를 하는 것이다.

몇 개 안 되는 글이지만 나의 정신건강을 위해 그 방법은 쓰지 않기로 했다.


두 번째는 프로그램이나 직접 코드를 만들어서 내가 쓴 글을 컴퓨터가 자동으로 긁어오는 크롤링(crawling, 또는 스크래핑(scraping)이라고도 한다) 하는 것인데, 나는 이 방법을 택했다.


크롤링을 하기 위해서 먼저 확인해야 할 것이 있다.

자동 프로그램(로봇) 등으로 해당 서비스에 있는 텍스트를 긁어가도 되는지이다.

국제 규약(?)으로 모든 서비스에는 '도메인/robots.txt'라는 파일에 검색엔진 등의 자동화 프로그램이 페이지 내용을 가져가도 되는지 적어 놓게 된다.

서비스 운영주체가 허용하지 않는 경우에 함부로 홈페이지 내용을 긁어가면 안 된다.


https://brunch.co.kr/robots.txt
User-agent: *
Allow: /


브런치는 다행히 모든 하위 디렉터리에 대해 이러한 용도의 접근을 허용하고 있다고 나와있다.




나는 파이썬(python)이라는 프로그래밍 언어로 코딩을 해서 내 브런치 텍스트를 제목, 소제목, 본문 내용을 따로 나누어 수집했다.

글 하나 본문을 못 읽어온 것이 확인 되었다.

수집한 결과를 보니 <자발적 주말 출근> 글 하나 본문을 못 가져왔다.

페이지 소스코드를 추적해서 가져오는 방식이라 인용방식으로 시작하거나, 중간에 인용문으로 처리된 부분들은 잘 못 가져온 것 같다. 이 글까지 가져오도록 소스코드를 수정할까 하다가 별로 중요한 글도 아니고 하나쯤 빠진다고 큰 문제 생기는 것 아니니 그냥 진행하기로 했다. 나머지는 다 잘 가져왔으니 그걸로 된 거다.


제목, 소제목, 본문을 모아 놓고 명사만 추출해서 각각 워드 클라우드를 그려봤다.

먼저 '제목'으로만 그려본 워드 클라우드다.

내 브런치 글 '제목'으로 그려본 워드 클라우드

제일 큰 글씨가 '고객'이다. 누가 대행사 아니랄까봐!

근데 찬찬히 보니, 내가 쓴 <좋은 고객, 나쁜 고객, 이상한 고객>이 이렇게 한가운데에 '고객'이 큰 글씨로 들어가게 한 것 같다. 아무튼.

그다음에는 '출근', '직업', '생각' 등의 글씨들이 눈에 띈다.

좀 재미있게 해석해 본다면, '고객을 많이 상대하며 생각 많은 직장인(출근)이 쓴 글' 정도가 될 것 같다.


이번에는 '소제목'으로 그려봤다.

내 브런치 글 '소제목'으로 그려본 워드 클라우드

'회의', '사람', '동료', '아이' 등이 눈에 띈다.

이 역시 나를 조금은 엿볼 수 있는 단어들이다.


마지막으로 '본문'으로 그려본 워드 클라우드다.

내 브런치 글 '본문'으로 그려본 워드 클라우드

내용이 많으니 좀 빼곡하게 나온다.

본문 내용이다 보니 '생각한다.'라는 표현을 많이 써서 '생각'이라는 단어가 많이 추출된 것 같다.

아내 말이 딱 맞았다.


소제목의 '걸까', 본문의 '얼마' 등은 명사가 아닌데 추출되었다.

이러한 것들은 나중에 걸러서(빼고) 다시 그려볼 수 있을 것 같다.




안 그래도 회사에서 쓸 크롤링 소스가 필요했는데, 아내의 충고(?) 덕분에 재미있는 분석도 해보고 공부도 된 것 같다. 역시 아내의 말을 잘 들으면 자다가도 떡이 나온다.

매거진의 이전글 "회원님에게 꼭 맞는 채용공고를 찾았어요."
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari