텍스트 마이닝
딕셔너리와 Collections모듈 이용해서 텍스트마이닝 프로그램 만들기
from collections import defaultdict
from collections import Counter
from collections import OrderedDict
text='''
대한민국 헌법 표제 및 제1조에 따라 공식 국호는 대한민국(大韓民國)이며, 역본 및 정부령에 따라 정식 영문으로는 'Republic of Korea라 하는데, 통상적으로는 "South Korea"가 자주 사용된다.
1950년 1월 16일 제정된 국무원고시 제7호 「국호및일부지방명과지도색에관한건」[24]에 따라 약칭은 대한(大韓) 및 한국(韓國)으로 정해져 있다. 영문 약칭 및 통칭으로는 Korea를 쓰며, 국가코드로는 KR, KOR이 사용된다. 대외적으로는 북한과의 구분을 위하여 'Republic of Korea'와 'South Korea'를 병용한다. 국가별 리스트를 일람할 때는 편의상 K를 앞으로 따 와서 'Korea, Republic of' 또는 'Korea, South'로 적기도 한다.
그러다 2002년 한일 월드컵 이후로 줄임말인 '한국'보다 공식 국호인 '대한민국'으로 표기하는 경우도 많아졌다. 오늘날에는 생소하게 느끼겠지만 2002년 이전만 하더라도 '한국'보다 '대한민국'이라고 칭하는 게 도리어 어색했다. 법전이나 교과서 등의 공적 문서에서나 이따금 보이는 표현이었다. 그런데 월드컵 8강전 대한민국 대 스페인 경기부터 방송에서 '대한민국'이란 국호를 표기하기 시작했고, 점차 사용하는 빈도가 높아졌다. 2002 부산 아시안 게임까지는 '한국'과 '대한민국' 두 개의 단어가 병용되다가, 2004 아테네 올림픽부터는 '대한민국'이라는 국호가 자리잡았다.
'''
<내용 출처: 대한민국 - 나무위키 (namu.wiki)>
text_mining=text.split()
word_count=defaultdict(lambda:0)
word_count2=0
for word in text_mining:
word_count[word]+=1
word_count2 +=1
print(word_count)
print(word_count2)
결과: defaultdict(<function <lambda> at 0x000001A88A42C430>, {'대한민국': 2, '헌법': 1, '표제': 1, '및': 4, '제1조에': 1, '따라': 3, '공식': 2, '국호는': 1, '대한민국(大韓民國)이며,': 1, '역본': 1, '정부령에': 1, '정식': 1, '영문으로는': 1, "'Republic": 2, 'of': 2, 'Korea라': 1, '하는데,': 1, '통상적으로는': 1, '"South': 1, 'Korea"가': 1, '자주': 1, '사용된다.': 2, '1950년': 1, '1월': 1, '16일': 1, '제정된': 1, '국무원고시': 1, '제7호': 1, '「국호및일부지방명과지도색에관한건」[24]에': 1, '약칭은': 1, '대한(大韓)': 1, '한국(韓國)으로': 1, '정해져': 1, '있다.': 1, '영문': 1, '약칭': 1, '통칭으로는': 1, 'Korea를': 1, '쓰며,': 1, '국가코드로는': 1, 'KR,': 1, 'KOR이': 1, '대외적으로는': 1, '북한과의': 1, '구분을': 1, '위하여': 1, "Korea'와": 1, "'South": 1, "Korea'를": 1, '병용한다.': 1, '국가별': 1, '리스트를': 1, '일람할': 1, '때는': 1, '편의상': 1, 'K를': 1, '앞으로': 1, '따': 1, '와서': 1, "'Korea,": 2, 'Republic': 1, "of'": 1, '또는': 1, "South'로": 1, '적기도': 1, '한다.': 1, '그러다': 1, '2002년': 2, '한일': 1, '월드컵': 2, '이후로': 1, '줄임말인': 1, "'한국'보다": 2, '국호인': 1, "'대한민국'으로": 1, '표기하는': 1, '경우도': 1, '많아졌다.': 1, '오늘날에는': 1, '생소하게': 1, '느끼겠지만': 1, '이전만': 1, '하더라도': 1, "'대한민국'이라고": 1, '칭하는': 1, '게': 1, '도리어': 1, '어색했다.': 1, '법전이나': 1, '교과서': 1, '등의': 1, '공적': 1, '문서에서나': 1, '이따금': 1, '보이는': 1, '표현이었다.': 1, '그런데': 1, '8강전': 1, '대': 1, '스페인': 1, '경기부터': 1, '방송에서': 1, "'대한민국'이란": 1, '국호를': 1, '표기하기': 1, '시작했고,': 1, '점차': 1, '사용하는': 1, '빈도가': 1, '높아졌다.': 1, '2002': 1, '부산': 1, '아시안': 1, '게임까지는': 1, "'한국'과": 1, "'대한민국'": 1, '두': 1, '개의': 1, '단어가': 1, '병용되다가,': 1, '2004': 1, '아테네': 1, '올림픽부터는': 1, "'대한민국'이라는": 1, '국호가': 1, '자리잡았다.': 1})
140
ord_word_count=OrderedDict(sorted(word_count.items(), key=lambda t: t[1], reverse=True))
value=0
for k,v in ord_word_count.items():
print(k,v)
value+=v
print(value)
결과:
및 4
따라 3
대한민국 2
공식 2
'Republic 2
of 2
사용된다. 2
'Korea, 2
2002년 2
월드컵 2
'한국'보다 2
헌법 1
표제 1
제1조에 1
국호는 1
대한민국(大韓民國)이며, 1
역본 1
정부령에 1
정식 1
영문으로는 1
Korea라 1
하는데, 1
통상적으로는 1
"South 1
Korea"가 1
자주 1
1950년 1
1월 1
16일 1
제정된 1
국무원고시 1
제7호 1
「국호및일부지방명과지도색에관한건」[24]에 1
약칭은 1
대한(大韓) 1
한국(韓國)으로 1
정해져 1
있다. 1
영문 1
약칭 1
통칭으로는 1
Korea를 1
쓰며, 1
국가코드로는 1
KR, 1
KOR이 1
대외적으로는 1
북한과의 1
구분을 1
위하여 1
Korea'와 1
'South 1
Korea'를 1
병용한다. 1
국가별 1
리스트를 1
일람할 1
때는 1
편의상 1
K를 1
앞으로 1
따 1
와서 1
Republic 1
of' 1
또는 1
South'로 1
적기도 1
한다. 1
그러다 1
한일 1
이후로 1
줄임말인 1
국호인 1
'대한민국'으로 1
표기하는 1
경우도 1
많아졌다. 1
오늘날에는 1
생소하게 1
느끼겠지만 1
이전만 1
하더라도 1
'대한민국'이라고 1
칭하는 1
게 1
도리어 1
어색했다. 1
법전이나 1
교과서 1
등의 1
공적 1
문서에서나 1
이따금 1
보이는 1
표현이었다. 1
그런데 1
8강전 1
대 1
스페인 1
경기부터 1
방송에서 1
'대한민국'이란 1
국호를 1
표기하기 1
시작했고, 1
점차 1
사용하는 1
빈도가 1
높아졌다. 1
2002 1
부산 1
아시안 1
게임까지는 1
'한국'과 1
'대한민국' 1
두 1
개의 1
단어가 1
병용되다가, 1
2004 1
아테네 1
올림픽부터는 1
'대한민국'이라는 1
국호가 1
자리잡았다. 1
140