Wikipedia 기사의 단어를 계산해 보았습니다.

Wikipedia 기사 데이터의 단어를 계산합시다.



전회 투고한 다양한 기사의 단어를 계산하는 프로그램을 만들어 보았습니다. 의 프로그램을 이용해 Wikipedia의 기사에 어떤 단어가 나오고 있는지 집계해 보았습니다.

Wikipedia 기사 데이터 얻기



Wikipedia:데이터베이스 다운로드 에서 기사 데이터를 다운로드할 수 있습니다.jawiki-latest-abstract.xml.gz 가 기사 데이터가 되기 때문에 이것을 다운로드합니다. 기사 작성 현재 최신 버전은 2019년 1월 10일 갱신분입니다.
사이즈는 1.83 GB였습니다 (디카이)

카운트 해보기



다양한 기사의 단어를 계산하는 프로그램을 만들어 보았습니다. 의 프로그램에서 단어를 계산해 봅니다.

프로그램 사용법



이 프로그램의 사용법은
python count_word.py -i (inputするファイル) -o (結果出力ファイル)

같은 느낌으로 사용할 수 있습니다. 결과 출력이 없어도 작동합니다.
또한 결과의 출력 파일을 지정하여 단어를 검색할 수도 있습니다. 그 때는
python count_word.py -s (結果ファイル)

갈 수 있습니다.

그대로 파일 뭉클거야?



부쩍
태그 투성이라도 제대로 카운트 할 수 있도록 만들었다 (해야합니다)

계산할 단어의 품사 선택



이번은 싹둑 명사에만 짜서 보았습니다.

카운트 해보면



7~8분 걸렸습니다^^;
xml 형식이었기 때문에 BeautifulSoup에서도 사용하면 조금 빨라질지도 (?

결과를 살펴보기



그래프는 이런 느낌이 되었습니다.

타이틀로 발언했다든가 쓰고 있는 것은 보지 않았던 것으로 해 ☆

빈번한 단어 (명사만) 베스트 20입니다. 제목에도 쓰여진 대로 총 단어수는 3천511만5천4백23단어로, 종류는 백24만2천칠십종이었습니다 👏

그리고 그래프입니다만・・・ 「외부」라든지 「각주」는 기사의 내용이 아닌 단어가 상위에 있군요. 이 근처의 단어를 제거하고 한 번 더 그래프를 출력해 봅시다.

특정 단어 삭제



delword.py
delword = input("削除したい単語をスペース区切りで(skip:0):")
if delword == '0':
    pass
else:
    delword = delword.split('  ')
    for word in delword:
        del count_dic[word]

이런 느낌의 처리를 추가했습니다. 또 삭제 후의 파일을 보존하고 싶은 경우도 -s 옵션으로 지정 가능합니다.

이제 앞의 결과에서 문서 내용과 관련이 있는 것 같은 단어를 지워 보겠습니다.
py count_word.py -s wiki_result/wiki_count_noun
...
削除したい単語をスペース区切りで(skip:0):外部 リンク 脚注 関連 項目 概要 参考文献 出典 その他 年月日

그래프는 이쪽

뭐 이런 걸까 정도의 결과에 둥글게 되었습니다.

결과 파일



여기 에 있습니다.

끝에



단순히 카운트만 하면 이런 느낌일까라는 느낌의 결과가 되었습니다. 미안해, 미안해. m (._.) m

결과를 출력 한 파일 (카운트 한 dict를 json으로 출력 한 것만)이 38MB도 있었던 것은 놀라움

좋은 웹페이지 즐겨찾기