데이터이야기

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

소셜 웹 빅 데이터 #2

데이터 이야기
작성자
dataonair
작성일
2014-11-24 00:00
조회
8276


[5회] 소셜 웹 빅 데이터 #2



그럼 지난 회에 이어, 이번 회에서는 본격적으로 소셜 웹 빅데이터를 분석하는 방법을 알아보겠습니다. 아래 그림과 같이 통상적인 절차는 ‘분석 목적의 선정/분석 대상 출처의 선정/분석 대상 범위의 선정/분석 대상 데이터의 선정/분석 방법의 선정/분석의 수행/분석 결과의 해석’과 같은 절차로 진행됩니다. 이때 항상 중요한 것은 분석 목적의 선정입니다. 왜냐하면 분석 목적이 불분명하면 이후 모든 작업이 방향성을 잃게 됩니다. 이러한 과정에서 특히 분석을 위한 데이터의 확보 혹은 공급이 매우 중요합니다. 그리고 소셜 웹 데이터의 특성상 텍스트 기반의 분석이 이루어지므로 텍스트 분석이 근간이 되는 언어자원(불용어, 유의어, 동의어, 감성어, 개체명 등에 대한 사전들을 포함한)을 잘 정제하는 것이 분석의 품질을 확보하는 데에 있어서 매우 중요합니다.

이번 회에서는 가장 먼저 데이터를 확보하는 방법을 자세히 알아 보겠습니다.



dbin_335.jpg

웹 콘텐츠의 수집

비정형 텍스트 빅데이터는 어디에서 어떻게 확보할 수 있을까요 우선 웹 상의 콘텐츠를 수집하여 확보할 수 있습니다. 웹 상의 콘텐츠는 이미 알려진 것 처럼 웹 페이지, 게시판의 게시물과 댓글, 페이스북 및 트위터와 같은 공개된 소셜 네트워크 서비스들과 이들을 통해 공유된 다양한 문서 파일(아래한글, 워드, 엑셀, 파워포인트, PDF 등과 같은 오피스 문서)들을 말합니다.

이들을 수집하기 위해서는 크롤러라는 수집기를 이용할 필요가 있습니다. 크롤러(Crawler)는 웹 브라우저가 웹 표준 프로토콜인HTTP를 이용하여 웹 서버로부터 콘텐츠를 수신하여 화면에 보여주는 것처럼, 이를 흉내내서 정해진 URL의 서버로부터 콘텐츠를 수신하여 수집합니다. 일반적인 웹 사이트나 웹 상의 게시판 및 블로그들의 콘텐츠는 이러한 방식을 이용해서 수집할 수 있습니다.

dbin_336.jpg

한편 페이스북이나 트위터와 같은 소셜 네트워크 서비스들의 경우는 콘텐츠 접근을 위한 고유의 API를 제공합니다. 그래서 이러한 경우는 해당 API(일반적으로는 Restful 기반의 Open API)를 이용해서 콘텐츠를 수집합니다.

dbin_337.jpg

다만, 이러한 수집 작업을 할 때는 수집하는 측에서 고려해야 할 사항이 있습니다. 일반적으로 수집하는 작업은 일시에 해당 서비스에 네트워크 트래픽과 관련한 부담을 줄 수가 있습니다. 그래서 수집을 계획할 때 수집 대상이 되는 서비스의 부담을 최소화할 수 있도록 해야 합니다. 그렇지 않으면 수집 대상 서비스가 수집을 위한 접근을 차단할 수도 있습니다. 특히나 일부 API들의 경우에는 특정 기준을 초과하는 접근을 사전에 제한하기도 합니다. 하지만 이러한 작업들은 매우 복잡하기 때문에 전문적인 수집기를 사용하는 것이 좋습니다. 필자가 근무하는 비정형 빅데이터 전문 업체인 솔트룩스의 경우 소셜 웹 빅데이터를 수집하는 전문 도구인 토네이도를 개발하여 공급하고 있습니다.

dbin_338.jpg

토네이도의 경우 클라이언트/서버 구조의 수집 메커니즘을 가지고 있습니다. 토네이도는 일반적인 웹 수집보다는 조금 더 고급화된 기능을 제공합니다. Focused Crawling이라는 기능입니다. 이는 웹 사이트의 콘텐츠로부터 원하는 부분만을 선택하여 수집할 수 있도록 도와주는 기능입니다. 이를 위해서는 우선 토네이도 클라이언트 도구인 워크벤치를 이용하여 수집 시나리오에 맞추어 수집을 위한 규칙(어떤 URL에서, 어떤 영역을, 어떻게 수집할 것인지 등)을 생성을 합니다. 그리고 수집 서버에게 해당 규칙을 전달하면, 토네이도 서버는 규칙에 따라 자동으로 콘텐츠 수집을 수행하게 됩니다.

dbin_339.jpg

또한, 토네이도에서는 RSS에 기반한 수집을 도와주기도 합니다. 통상적으로 웹 콘텐츠 수집을 할 때 목표로 하는 웹 콘텐츠의 URL(수집 Seed)을 지정해 줘야 합니다. 그런데 블로그나 뉴스와 같이 계속해서 콘텐츠가 증가하는 서비스들의 경우는 RSS라는 서비스를 제공하여 새롭게 생성된 콘텐츠가 어떤 것들이 있는지를 알려줍니다. 토네이도의 경우는 이러한 RSS를 수신하여 자동으로 목표로 하는 웹 콘텐츠를 찾아서 수집할 수 있는 기능을 제공하고 있습니다.



텍스트 데이터의 추출

웹으로부터 콘텐츠가 수집되었다 하더라도, 이렇게 수집한 콘텐츠를 바로 텍스트 분석에 사용할 수 있는 것은 아닙니다. 일반적으로 수집된 콘텐츠들은 순수한 텍스트 데이터가 아니기 때문입니다. 이러한 용도를 위해서 사용하는 도구가 문서필터입니다. 문서필터는 오픈 소스 문서 필터를 사용하는 경우도 있지만, 전문적인 문서필터로는 국내에서는 사이냅소프트의 문서필터가 유명합니다. 사이냅소프트의 문서필터의 경우 다양한 오피스 문서로부터 텍스트 데이터(Full Text)를 추출하는 역할을 담당합니다. 이미 많은 검색엔진과 텍스트분석에서 활용되는 제품입니다.

dbin_340.jpg

이러한 과정을 통해서 텍스트 데이터를 추출하고 나면 이제 본격적으로 텍스트 분석을 위한 준비가 된 것입니다. 그럼 다음 회에서는 본격적으로 텍스트 데이터를 분석하는 과정을 살펴보도록 하겠습니다.




출처 :한국데이터베이스진흥원

제공 : 데이터전문가 지식포털 DBguide.net