요약
빡대가리 독타가 형태소를 고려 안 해서 워드 클라우드에 형태소 분석기 추가함.
빅-데이터로 갤에 올라온 제목들을 개선된 워드 클라우드로 분석한 결과 여기 갤주는 스카디로 사료됨.
워드 클라우드 글을 몇 번 올리면서 이상하다고 생각했음
아니 근데 시발은 제목 생각할 때 치트키가 맞긴함. 대충 무슨 말을 붙여도 어울리고 사용 빈도가 높은 건 맞기는 한데 다른 키워드들을 씹어먹고 쟤네가 전면에 나올 정도는 아닐 것 같았음.
예전에 본문 글 긁다가 실패했다고 했는데 그 때 그래도 일부는 긁는데 성공했었음
이걸 가지고 워드 클라우드를 한 번 만들고 나니 좀 이상하더라고.
난 처음에 LM7 관련 글이 겁나 많이 올라온 줄 알았는데 그게 아니라 중간에 내용 도배글이 하나가 있더라고
LM7 그는 꼴림의 신인가? LM7 그는 꼴림의 신인가? ... (후략)
이 글이었는데 워드 클라우드는 쟤를
'LM7 그는' '꼴림의 신인가?'
'신인가 LM7', '그는 꼴림의' ...
이런 식으로 지 멋대로 나눠서 해석하더라고.
그런데 여기서 생각을 해 보니까 워드클라우드가 평소에 단어 단위를 어떻게 끊는지를 그다지 생각을 하지 않고 있었음
내가 만든 워드 클라우드의 초기 알고리즘은 아래와 같았음
(제목 글들을 긁어 온다.) -> 제목1(띄어쓰기)제목2(띄어쓰기)제목3 ... 형태로 하나의 긴 문자열을 만든다. -> 워드클라우드 라이브러리가 분석 및 이미지 생성
띄어쓰기를 하나의 단위로 제목들을 나누고 있었는데 문장 내에서도 띄어쓰기들이 있겠지만 크게 신경을 쓰지 않았음 어차피 요소별로 띄어쓰기를 했을테니까.
이제 여기서 나의 안일함이 드러남.
문장의 요소를 띄어쓰기로 나누는 순간 '스킨'이라는 키워드는 '스킨도', '스킨을', '스킨들' 이런 조사가 묶여있는 다른 키워드 (사실은 아직 키워드는 아닌) 들에게 분할 납치 되어버리는 거임.
물론 영어에서는 그래도 비교적 의미가 명확한 단위대로 나뉘지만 우리는 의미가 있는 부분 + 조사 형태로 묶이기 때문엥 조사별로 다르게 집계가 되는 것을 피할 수가 없음.
이러면 유리해지는 친구들은 조사가 붙지 않는 아니 근데 시발 진짜처럼 이니시에이팅 하고 띄어쓰는 친구들임.
요약하면 스킨 같은 단어는 제목에 따라서 분산되서 집계되지만 쟤네는 후보 단일화가 이루어지기 때문에 자연스럽게 워드 클라우드에서도 이 갤의 트렌드는 아니 근데 시발 진짜라고 분석되고 있었다는 것임.
문제 상황은 이제 고등학교 국어 과정의 정수 형태소를 구분 하는 문제가 되어버렸음.
아니 솔직히 어지간한 국어잘알이 아니면 형태소에서 점수가 타노스 당하게 되잖아. 인간도 이런데 하물며 컴퓨터는 이걸 어떻게 해결하냐고?
놀랍게도 이걸 해결하려는 사람들이 있다. 그것도 생각보다 꽤 다양하다.
기술적인 부분은 거르고 그 사람들의 성과를 먼저 한번 구경해보자.
꼬꼬마 | 코모란 | 트위터 | 한나움 | Mecab |
('시트', 'NNG'), ('랑', 'JC'), ('툴', 'UN'), ('박스', 'NNG'), ('랑', 'JC'), ('땡', 'MAG'), ('커', 'VV'), ('ㄴ', 'ETD'), ('웹', 'NNG'), ('동시', 'NNG'), ('에', 'JKM'), ('탭', 'NNG'), ('에', 'JKM'), ('띄우', 'VV'), ('어', 'ECS'), ('주', 'VXV'), ('는', 'ETD'), ('앱', 'UN'), (',', 'SP'), ('명일', 'NNG'), ('방주', 'NNG'), ('도우미', 'NNG'), | ('시트', 'NNG'), ('랑', 'JKB'), ('툴', 'NNP'), ('박스', 'NNP'), ('랑', 'JKB'), ('땡', 'NNG'), ('크', 'VA'), ('어', 'EC'), ('ㄴ', 'JX'), ('웹', 'NNG'), ('동시', 'NNG'), ('에', 'JKB'), ('탭', 'NNG'), ('에', 'JKB'), ('띄우', 'VV'), ('어', 'EC'), ('주', 'VX'), ('는', 'ETM'), ('앱,', 'NA'), ('명일', 'NNP'), ('방주', 'NNG'), ('도우미', 'NNP'), | ('시트', 'Noun'), ('랑', 'Josa'), ('툴박스', 'Noun'), ('랑', 'Josa'), ('땡컨웹', 'Noun'), ('동시', 'Noun'), ('에', 'Josa'), ('탭', 'Noun'), ('에', 'Josa'), ('띄워주는', 'Verb'), ('앱', 'Noun'), (',', 'Punctuation'), ('명', 'Noun'), ('일방', 'Noun'), ('주', 'Noun'), ('도우미', 'Noun'), ('\n', 'Foreign'), | ('시트', 'N'), ('랑', 'J'), ('툴박스', 'N'), ('랑', 'J'), ('땡컨웹', 'N'), ('동시에', 'M'), ('탭', 'N'), ('에', 'J'), ('띄우', 'P'), ('어', 'E'), ('주', 'P'), ('는', 'E'), ('앱,', 'N'), ('명일방주', 'N'), ('도우미', 'N'), | ('시트', 'NNG'), ('랑', 'JC'), ('툴', 'NNP'), ('박스', 'NNG'), ('랑', 'JKB'), ('땡', 'MAG'), ('컨', 'NNP'), ('웹', 'NNG'), ('동시', 'NNG'), ('에', 'JKB'), ('탭', 'NNG'), ('에', 'JKB'), ('띄워', 'VV+EC'), ('주', 'VX'), ('는', 'ETM'), ('앱', 'NNG'), (',', 'SC'), ('명일', 'NNG'), ('방주', 'NNG'), ('도우미', 'NNG'), |
('이야압', 'UN'), ('회전', 'NNG'), ('회오리', 'NNG'), | ('이야압', 'NA'), ('회전', 'NNP'), ('회오리', 'NNG'), | ('이야압', 'Noun'), ('회전', 'Noun'), ('회', 'Noun'), ('오리', 'Noun'), ('\n', 'Foreign'), | ('이야압', 'N'), ('회전회오리', 'N'), | ('이', 'MM'), ('야압', 'NNG'), ('회전', 'NNG'), ('회오리', 'NNG'), |
이 표 모바일에서 어떻게 보일지 좀 걱정인데 아무튼 형태소 분석기들의 결과임.
난 여기서 트위터 분석기가 마음에 들었음. 툴박스, 땡컨웹, 이런 단어들을 잘 나눴기 때문임 회/오리 명/일방/주 같은 것들은 아쉽긴 하지만 다른 분석기들의 성능을 보면 트위터가 최선인 듯 싶었음.
그런데 트위터 분석기는 한 가지 치명적인 문제가 있었는데 사용자 사전 등록이 너무 어려움.
사용자 사전 혹은 사용자 말묶음이 뭐냐면 방금 처럼 명/일방/주 처럼 나누는 것을 분석기보고 명일방주는 고유명사다! 라고 알려주기 위해 입력하는 단어와 형태소들의 데이터임.
이걸로 주요한 키워드들을 명일방주 고유 태그나 못 해도 명사들을 추가하려고 했는데 쟤는 jar을 뜯어서 고쳐야 하는데 내가 자바는 거의 할 줄을 모름.
아니 것보다 난 애초에 컴퓨터 관련 전공도 아니야.
그래도 헤딩으로 해 보려고 했지만 너무 지지부진하길래 포기하고 그 다음으로 마음에 들었던 코모란을 쓰기로 했음.
코모란은 텍스트 파일 형태로 사용자 사전을 입력하는 함수가 있어서 적절한 형식만 맞춰서 입력만 해 주면 됨.
그러면 명/일방/주 처럼 나누진 것도 어허 씁 이건 명일방주야 라고 사전을 넣어주기만 하면 '고유명사 명일방주' 라고 인식을 하게됨.
이제 워드 클라우드 생성의 알고리즘에 한 과정이 더 추가가 되었음
제목 수집 -> 형태소 분석 -> (선택과정 : 남길 형태소 형태 (태그) 필터링) -> 문자열로 묶어서 워드 클라우드 라이브러리에 입력 -> 예쁜 워드 클라우드
그리고 형태소 분석기의 유무, 필터링 과정에 따른 차이는 아래의 같은 시일의 워드 클라우드를 보고 확인하면 됨
데이터: 23시 기준 1~15 페이지 제목
1. 기존에 하던 워드 클라우드만 사용
왠일로 아니가 크지 않지만 근데 시발이 눈에 띈다.
2. 형태소 분석을 한 후 명사 동사 형용사 등을 남기고 워드 클라우드
사실 기존에 비하면 이미 만족스러운 수준까지 올라오기는 했는데 라벨(그라벨) 스티(모스티마) 등을 제대로 못 나눔.
3. 사용자 사전을 가지고 형태소 분석을 한 후 명사 동사 형용사 등을 남기고 워드 클라우드
핲붕이 그라벨 모스티마 등이 제대로 집계되기 시작함.
이쯤 하고 형용사들은 없어도 괜찮지 않을까 싶어서 한 번 빼 봄
4. 형태소 분석을 한 후 명사형만 남기고 워드 클라우드
보고싶다가 왜 안 걸러졌는지 모르겠지만 좀 더 의미가 명료해졌다.
5. 사용자 사전을 가지고 분석을 한 후 명사형만 남기고 워드 클라우드
그리고 이게 내가 할 수 있는 모든 것을 다 쏟아부은 워드 클라우드
아무래도 최신 갤떡은 오늘 마무리 되는 협약, 스카디 스킨, 그리고 분노할 만한 모종의 일인 듯 하다.
중간에 한 번 말했지만 나는 전공이 컴퓨터 쪽이 아님. 그래도 헤딩을 해서 이런 재밌는 것들을 해 볼수 있으니 혹시 프로그래밍을 동경하거나 관심이 있는 사람이 있다면 지금 당장 시작해 보는 게 어떨까?
뻘글 읽어줘서 고맙고 다들 협약 잘 마무리 하고 돌아오는 화람지심 이벤트도 잘 즐길 수 있으면 좋겠다.
스키디 스킨 존나 시발추
압도적인 스카디의 향연
빅브라더추 - dc App
스카디! 스카디!
워드 클라우드 추
응애
왤케 고수임
실루엣 뭐냐 아무리 생각을 해봐도 뭔지를 모르겠다
바이비크
아직 한섭에 없는 년이라서 못알아본거였네
스카디추