더북(TheBook)

 

icon_solution 이 장에서 다루는 내용

 

우리는 때때로 온갖 종류의 텍스트 문서에서 원천 데이터를 확보한다. 텍스트 문서는 정형 문서(HTML, XML, CSV, JSON 파일)와 비정형 문서(플레인 텍스트, 사람이 읽을 수 있는 텍스트)로 나눈다. 비정형 데이터는 프로세싱 소프트웨어가 데이터 의미를 추론해야 하므로 가장 다루기 힘든 데이터 소스로 꼽힌다.

 

앞에서 언급한 데이터는 모두 사람이 읽을 수 있는 형태다. 필요하다면 텍스트 편집기(윈도에서는 Notepad, 리눅스에서는 gedit, 맥 OS X에서는 TextEdit)를 사용해서 텍스트 파일을 열어 눈으로 읽고 손으로 편집할 수 있다. 다른 도구를 사용할 수 없는 상황일 때는 표현 구조에 관계없이 텍스트 문서를 텍스트로 취급하고, 파이썬의 문자열 함수를 사용해서 내용을 살펴보면 된다(‘UNIT 04. 기본 문자열 함수 이해하기’에서 자세히 알아보았다).

 

운이 좋게도 아나콘다는 이를 해결할 수 있는 몇 가지 훌륭한 모듈을 제공한다. BeautifulSoup, csv, json, nltk는 두렵게만 보이는 텍스트 분석을 아주 흥미롭게 만들어 준다. “실체가 필요 이상으로 늘어나서는 안 된다.”는 오컴의 면도날(Occam’s razor) 원칙에 따라, 우리는 이미 있는 도구를 다시 새로 만들지 말아야 한다. 이는 텍스트 처리 도구뿐만 아니라 아나콘다 패키지에도 해당한다.

 

가장 간단한 정형 데이터의 사례로 ‘텍스트 데이터 다루기’를 시작해 보자. 그리고 자연어 처리 기법을 사용해서 비정형 데이터를 구조화하는 방법도 알아보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.