한국어 뉴스 데이터로 딥러닝 시작하기 - 1. 한국어 위키피디아 덤프 다운로드 받기



한국어 뉴스 데이터로 딥러닝 시작하기 



뉴스 데이터를 이용하여 간단하게 딥러닝 알고리즘으로 

classification 하는 과제를 수행해보고자 한다. 


 자연어를 처리하기 위해서는 단어나 문서를 vector로 변환을 해야 하는데

이러한 변환 과정을 word embedding이라고 한다. 


최근 deep learning에서는 word embedding을 위해서

 word2vec, doc2vec 모델을 주로 사용하기 때문에 

doc2vec 모델로 진행해보려고 한다. 




1. training data 수집 





doc2vec model 훈련을 위해서는 형태소 태깅된 데이터가 필요하다. 

일단 한국어 위키를 다운받아 형태소 태깅을 진행하려고 한다. 


위키피디아는 정기적으로 덤프 파일로 릴리즈 한다. 

언어마다 릴리즈 주기가 다르긴 하지만 

한국어 덤프 파일은 한달에 한두번 릴리즈되고 있으니 참고하자.  



한국어 위키 덤프 다운로드 사이트 바로가기


https://ko.wikipedia.org/wiki/%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC:%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C




덤프 사이트에 직접 접속하려면 아래 주소로 가면 날짜별로 디렉토리가 있고 
그 안에 덤프 파일들이 있다. 

https://dumps.wikimedia.org/kowiki/



덤프 파일들 종류는 아래와 같다. 


pages-articles.xml.bz2

 - 일반 문서의 최신 버전만이 묶여 있고, 전체 편집 역사는 들어있지 않습니다. 대부분의 이용자는 이 파일을 이용하면 됩니다.

pages-current.xml.bz2 - 모든 문서의 최신 버전이 묶여 있습니다.

pages-full.xml.bz2/7z - 모든 문서(토론 포함)의 최신 버전이 묶여 있습니다.

pages-meta-history.xml.bz2 - 모든 문서의 모든 편집 내역이 묶여 있습니다.

abstract.xml.gz - 문서 요약을 묶어놓았습니다.

all_titles_in_ns0.gz - 문서 제목만을 묶어놓았습니다.





최신 버전의 문서만 필요하니 pages-articles.xml.bz2를 다운받는다. 

 
# wget "https://dumps.wikimedia.org/kowiki/20161201/kowiki-20161201-pages-articles.xml.bz2"
--2016-12-07 15:42:15--  https://dumps.wikimedia.org/kowiki/20161201/kowiki-20161201-pages-articles.xml.bz2
Resolving dumps.wikimedia.org (dumps.wikimedia.org)... 208.80.154.11, 2620:0:861:1:208:80:154:11
Connecting to dumps.wikimedia.org (dumps.wikimedia.org)|208.80.154.11|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 473196956 (451M) [application/octet-stream]
Saving to: ‘kowiki-20161201-pages-articles.xml.bz2’

100%[=====================================================================================================================================>] 473,196,956 1.93MB/s   in 3m 58s

2016-12-07 15:46:19 (1.90 MB/s) - ‘kowiki-20161201-pages-articles.xml.bz2’ saved [473196956/473196956]





위키 데이터는 xml로 되어 있기 때문에 

이 안에서 본문만 추출하기 위해서는 parsing이 필요하다. 

다음 포스팅에서는 위키 데이터 파싱하는 법을 이어서 설명하겠다. 




참고로 공백이나 형태소 단위로 토큰화된 한국어 위키 덤프 데이터 (문장만 포함)는 아래 github에 올려두었다. 

앞으로 진행되는 다른 연재 자료들도 계속 추가할 예정이니 필요하신 분은 watch를 걸어주셍 : ) 


github 바로가기 


 https://github.com/roboreport/doc2vec-api/












  • xtalxlr 2019.02.18 15:25 ADDR 수정/삭제 답글

    doc2vec을 쓸 일이 있었는데 글이 도움이 많이 되었습니다. 감사합니다!

    • adana 2019.04.12 11:51 신고 수정/삭제

      도움이 되었다니 다행이네요. 좋은 하루 되세요 : )