Tag Archives: migratory

Scraping & PDF Extraction

Final Project로 꽤 Data-intensive한 작업을 하고 있음.

미국 국회의 법률, 국회 기록들과 회사 PR 자료, 그리고 Think Tank들의 보고서들을 최대한 긁어 모아서 NLP를 사용해서 서로 간에 influence를 주고 받는 고리가 보이는 것이 있는지 추적하는 프로젝트. 사실 NLP를 통해서 그런 연결고리가 나타날 것이라는 것은 순전히 우리의 가설이고 -_- 나중에 까봤는데 random이고 그러면 졸업할 수 있을라나 -_-;

아무튼 내가 맡은 파트는 Data Scraping & Text Extraction인데, 분량이 너무 많아서 좀 빡세다. 이제 긁는 것은 대강 다 했는데, Think Tank들은 보고서가 주로 PDF로 나오기 때문에 PDF에서 text를 또 뽑아 내야 한다. Scraping은 network이 bottleneck이고, PDF Extraction은 CPU가 bottleneck이다. 그래서 지금 PDF 추출은 EECS의 컴터 한 대를 빌려서 거기에 PDF 파일들을 다 올려놓고 스크립트를 돌리는 중. 지금까지 긁은 데이터 양은 약 30GB+ 정도 되는데 plain text로 추출 되었을 때는 어느 정도 될지 모르겠다. Think tank들의 웹사이트가 저마다 제각각이라서 사이트마다 scraper를 조금씩 바꿔주느라 좀 애먹었다.

Gopal이 NLP 파트를 맡아서 이미 처리된 데이터 조금을 가지고 샘플로 이런저런 알고리즘을 돌려보고 있는데, 그것도 엄청 CPU-intensive 한 듯. Scraping이 끝나면 조만간 나도 NLP 파트에 참여해야 할 듯.

프로젝트가 잘 마무리 되면 좋겠는데, 잘 되면 우리나라 정치/정책들에도 한 번 적용해 볼 수 있을까 생각해 보고 있다. 물론 한글이라서 -_- 훨씬 힘들긴 (이라고 쓰고 불가능이라고 읽..) 하겠지만.

우리가 지금 사용하고 있는 Dataset과 라이브러리들을 대강 정리해 둔다. For the record.