[빅데이터 환경에서의 개인정보보호 ]


1. 개인정보보호 이슈


빅데이터 환경에서는 다양한 경로를 통해 개인의 취미나 기호, 건강상태 혹은 구매이력 등 개인의 민감한 정보들이  취합되고 있어 개인정보가 이용자 동의 없이 수집되거나, 보유업체에 의해 남용되는 사례를 막아야 할 필요성이  증가하고 있습니다.  특히, 기업의 경우에는 고객에게 서비스 고도화 및 맞춤형서비스를 제공하기 위해 정밀한 고객정보가 필요하나  이는 자칫 개인정보 유출사고와 같은 문제가 발생할 수 있습니다.


빅데이터의 프라이버시 침해 문제가 발생하고 있는데 실제로 빅데이터의 이용 및 활용에 있어서 프라이버시를  침해하여 문제화된 사례가 발생하고 있습니다. 종래는 개인정보보호법에 의해 개인정보를 보호하면 프라이버시의  문제는 그다지 사회적으로 크게 발생하지 않았는지도 모르지만, 새로운 패러다임으로서 빅데이터의 비즈니스가  활발하게 전개됨으로써, 반드시 개인정보가 아니라고 생각되는 정보로부터 프라이버시의 침해가 발생하는 사태가  발생하고 있습니다.


빅데이터 환경에서의 프라이버시가 쟁점이 되는 사례 를 살펴보면, 쿠키정보를 활용한 온라인 맞춤광고 사례,  구매정보를 활용한 고객 신분, 성향 분석 사례, SNS 및 위치정보를 활용한 맞춤형 광고 사례, 검색정보를 활용한  독감 트랜드 서비스 사례, 모바일 이용자 정보를 활용한 광고플랫폼 등의 사례가 있습니다.  그리고 빅데이터를 이용한 비즈니스 운영시스템 개선 사례, 의료 데이터를 활용한 질병 예측 사례,  범죄 데이터베이스를 이용한 범죄감시시스템 구축 사례, 제3자 쿠키차단 기능 무력화 논쟁 소위 쿠키 게이트 사례  등이 있습니다.


SNS 및 위치정보를 활용한 맞춤형 광고 사례와 범죄 데이터베이스를 이용한 범죄감시시스템 구축 사례와 관련하여,  개인의 위치정보와 프라이버시의 보호관계를 살펴보면, 개인의 위치정보는 개인이 존재하는 공간에 대한 정보로  이를 종합적으로 분석하면 어떤 특정인에 대한 일거수일투족을 파악할 수 있는 주요한 사적 영역의 개인정보에  해당합니다. 특히 핸드폰, 스마트폰 등 휴대용 통신장비가 보편화되어 있는 현대사회에서 개인의 위치정보의  노출 가능성은 그 어느 때보다 높지만 이것을 기존의 프라이버시보호의 법리를 적용하여 보호하는 것에  여러 가지 한계가 있습니다.  빅데이터의 비즈니스화에 따른 프라이버시 침해 사례를 유형화 하면, 개인정보가 악용된 사례, 제3의 사업자에게  노출된 사례, 불특정다수의 일반인에게 노출된 사례, 특정의 일반인에게 노출된 사례 등으로 나눌 수 있습니다.




빅데이터 환경 내 발생 가능한 개인정보 침해위협을 개인정보 생명주기에 따라 분류 해보겠습니다. 




먼저 수집단계의 침해유형에는 사용자가 인지하지 못하는 소프트웨어 등을 이용하여 개인정보를 수집하거나  개인정보가 포함된 콘텐츠를 크롤링하여 개인정보 수집하는 부적절한 개인 정보를 수집하는 유형,  개인정보 소유자의 접속정보를 지속적으로 수집 및 분석하거나 허가 없이 개인 위치 정보 수집하는 동의 없는  사생활 모니터링 유형, 상업적 목적 혹은 관리 편의성을 이유로 불필요한 개인정보 수집, 정당한 목적 없이  민감정보를 수집하는 불필요한 개인정보 수집과 같은 유형이 있습니다. 저장 및 관리 단계의 침해유형에는  개인정보가 저장된 데이터베이스/시스템의 관리 소홀로 인한 데이터베이스/시스템 미보호 유형, 시스템 불법침입  및 실수로 개인 정보 유출이나, 권한 오류로 개인정보 유출 및 노출하는 부주의로 인한 개인정보 노출과 같은  유형이 있습니다.

           

이용 및 제공 단계의 침해유형에는 사용자 동의 없이 구매내역 들을 분석하여 맞춤형 서비스에 이용하거나  사용자 이동경로를 분석하여 악의적 목적에 사용하는 부적절한 분석 유형, 사전동의를 거치지 않고  상품 광고나 광고성 정보를 제공하거나 사용자 동의 없는 개인정보 제3자 제공으로 광고성 스팸메일, SMS문자,  전화를 발송하는 동의 없는 광고성 정보 제공 유형이 있습니다.  그리고 마지막으로 파기 단계의 침해유형에는 보유기간 경과 후에도 개인정보 및 위치정보 파기 하지 않거나  개인정보가 저장된 하드디스크의 저장 정보를 삭제하지 않고 방치하는 보유기간 이후에도 미파기 유형,  파기 권한을 가지지 않은 자가 개인정보를 임의로 파기하거나 관리자의 실수로 개인정보를 파기하는  불법적 개인정보 파기 유형이 있습니다.






2. 개인정보보호 방법


프라이버시보호 를 위해 어떻게 해야 하는지 알아볼까요? 개인데이터의 안전하고 안심한 활용을 도모하기 위해서는  종래의 개인정보보호의 대책에 더하여 프라이버시보호를 위한 대책이 필요합니다. 개인정보를 포함한 데이터를  취급하는 경우, 우선 개인정보보호법을 준수하는 것이 필수적이며 기업 내에 구축한 개인정보보호 매니지먼트  시스템에 따라서 데이터를 취급해야 합니다. 또 이들 개인정보보호대책에 더하여 빅데이터 비즈니스에 있어서  프라이버시 보호를 견고한 것으로 하기 위하여 프라이버시 바이 디자인의 사고방식과 그것에 기초한 프라이버시  보호를 위한 대책을 철저히 하고, 데이터의 안전하고 안심한 활용을 위하여 노력을 기울여야 할 것입니다.

‘프라이버시 바이 디자인’이란 앤 카부키안에 의하여 주장된 개념으로서, 프라이버시 정보를 취급하는 모든  측면에 있어 프라이버시 정보가 적절하게 취급되는 환경을 ‘사전적(事前的)’으로 만드는 것을 의미합니다.   이 ‘프라이버시 바이 디자인’이란 개념은 정부나 기업은 설계 단계에서부터 기술적으로 프라이버시를 보호하는  구조의 구축을 추진해 가는 것이 필요하며 최초 단계에서부터 확실히 프라이버시를 보호하는 것이 요구됩니다.


프라이버시보호를 위한 조직과 체제를 구축할 필요가 있습니다. 이와 동시에 빅데이터 비즈니스에 있어서  프라이버시보호방침을 정하고 사원이 준수할 수 있도록 해야 합니다. 또한 프라이버시 보호방안에 관하여 기업의  고객에게 정보를 공개함과 동시에 계속적인 개선노력을 해야 합니다.  프라이버시보호를 위해 기업은 정보통신 시스템 및 스마트정보시스템 총괄본부 등과 같은 부서에서 프라이버시  보호책임자를 선임해야 하고 프라이버시 보호책임자의 감독아래 빅데이터 비즈니스에서 프라이버시 보호방침 즉  가이드라인을 설정해야 합니다. 그리고 프라이버시 보호방침을 시작으로 하는 프라이버시 보호에 관한  각종 시책, 각종결정은 프라이버시 보호책임자의 책임아래 빅데이터 비즈니스에 연계된 사원에게 철저하게  주지시키며 프라이버시 보호책임자는 적절하게 프라이버시 보호에 각종 시책이 실시되는 여부를 정기적으로  점검하고 또 운영의 개선책을 마련하기 위하여 노력해야 합니다. 사원은 각 개인이 프라이버시 보호방침을  준수해야 합니다.



빅데이터 이용 및 활용하는 각각의 프로세스 에서 프라이버시 보호방침 즉, 가이드라인을 상세히 하고  각 프로세스에서 구체적인 프라이버시 보호대책을 정하며, 그러한 대책이 적절하게 실시되도록 노력해야 합니다.  빅데이터 이용 및 활용 프로세스는 먼저 빅데이터 취득, 변환, 축적, 분석 및 활용, 폐기 및 반환과정으로  진행됩니다. 먼저 취득, 변환 단계에서는 고객의 데이터를 취득하는 경우 고객이 언제, 어디서, 어떻게 수집한  데이터인가를 확인하고, 데이터의 취득이 적절한가 여부를 확인해야 합니다. 또한 고객으로부터 데이터를  취득함에 있어서 취득일, 취득방법 등을 기록하고, 사전에 데이터의 이용목적을 특정하여 고객과 합의하고,  이용목적의 달성에 필요이상의 데이터를 취득하지 않으며, 개인정보나 프라이버시에 관한 정보가 반드시  이용목적의 달성에 필요하지 않는 경우 익명화나 가명화 하는 등의 가공처리를 통해 데이터를 보관할 것 등을  고려해야 합니다.

빅데이 터의 축적 단계에서는 데이터를 보관함에 있어서 취급자를 한정하고, 시스템으로 액세스제어를 부가해야  합니다. 그리고 데이터에 대한 처리 즉 갱신, 삭제, 복제 등을 하거나, 기록을 남길 것 등을 고려해야 합니다.  분석 및 활용 단계에는 분석을 하는 경우에 분석담당자를 한정해야 하며, 분석을 하는 경우에 사전에 특정한  이용목적의 범위를 초과하지 않아야 합니다. 그리고 개인을 특정하는 목적으로 분석 하지 않도록 주의해야  합니다.  폐기 및 반환 단계에서는 데이터의 취득 시 데이터 제공자와 데이터의 보관기간, 폐기방법에 관해서 합의하고  그것을 준수해야 합니다.

사원에 대한 프라이버시 보호교육을 지속적이고 계속적으로 하고, 의식의 보급계발에 힘써야 합니다. 먼저 기업에서는 개인정보보호의 매니지먼트를 구축하고, 개인정보보호에 관한 사내교육이 의무화되며,  사원 전원이 개인정보보호에 관하여 학습하고 이해를 충분히 할 수 있도록 합니다. 사원을 위해서는 사원이  빅데이터 비즈니스에 연계된 때에 프라이버시의 관점에서 배려해야 할 내용을 정리하고 종합한 텍스트나 매뉴얼을  작성하고, 빅데이터 비즈니스에 연계된 사원은 프라이버시 보호에 관하여 학습하고 충분히 이해할 수 있도록  합니다.  프라이버시 보호 강화 모임을 정례적이고 장기적으로 개최함이 바람직합니다. 모임에는 빅데이터를 취급하는  다른 부서나 그룹회사를 포함하여 프라이버시에 관한 정례적인 연구회, 검토모임, 워킹그룹 등이 있고  프라이버시에 관한 비즈니스 동향, 제도동향 등에 관해서 정보공유를 하고, 프라이버시를 보호하기 위한 대책  등에 관하여 검토합니다.



[빅데이터 환경에서의 보안 ]


1. 빅데이터 보안 이슈


빅데이터 서비스는 대규모 데이터를 안정적으로 수집, 저장, 처리하기 위해 대부분은 분산처리 및 병렬처리  방식을 취하고 있습니다.  빅데이터의 생성에서부터 서비스에 이르기까지 세 단계로 나누어 보안이슈와 대책이 필요합니다. 즉, 빅데이터  소스를 통해 생산되는 데이터를 수집하는 과정, 분산처리 및 병렬처리를 위해 데이터의 분산 저장 및 운영하는  과정, 데이터 분석 및 2차 데이터 생성을 통해 서비스로 재사용되는 과정에서 보안이슈와 대책이 필요합니다.

다양한 경로를 통해 생성, 수집되는 빅데이터들은 곧 다양한 경로의 보안위협을 의미합니다. 최근 장시간에 걸쳐  목적을 가지고 공격하는 지능형 지속 위협(APT, Advanced Persistent Threat) 등이 발생하면서 빅데이터 생성 및  수집 과정에서 데이터 신뢰성 및 무결성에 대한 우려가 높아지고 있습니다. 따라서 이를 해결하기 위해 다양한  연구가 진행되고 있으며, 전자서명, 다양한 필터링 기법, 스팸메일방지, 피싱방지 등의 기술들이 적용되고  있습니다.

빅데이터가 생성되어 저장, 분석되어 서비스로 제공되기까지의 일련의 과정 중 가장 보안에 주의해야 하는  구간이 바로 빅데이터의 저장 및 운영 구간입니다. 다양한 경로를 통해 생성, 수집된 데이터를 처리, 저장,  운영하는 구간은 외부로부터의 공격뿐 아니라 내부로부터의 위협에도 노출될 수 있기 때문입니다.



2. 보안 방법


다양한 사용자를 수용하는 클라우드 컴퓨팅을 활용하는 빅데이터는 다양한 공격자에게 노출될 수 있습니다.  따라서 인가된 사용자를 식별하기 위한 사용자 인증은 필수 보안 요소입니다. 그리고 최근에는 사용자 중심의  인증방식이 사용되고 있는데 이는 최근 클라우드 컴퓨팅 환경에서 각 시스템마다 반복적으로 인증을 실시하거나  인증을 위함입니다. SSO(Single Sign-On), SAML(Security Assertion Markup Languege) 등의 인증방식이 있습니다.

 

데이터 운영의 안정성을 보장하기 위해, 접근제어(AC) 및 침입차단시스템(IDS), 침임탐지시스템(IPS)  방화벽 등 네트워크 보안 및 웹 보안을 구축해야 합니다. 분산, 병렬 처리되는 클라우드 컴퓨팅의 특성상 주로  웹 기반 인터페이스를 통해 데이터가 전송되므로 SSL/TLS 기반의 https 등의 활용과 알려진 공격 이외의  공격까지 탐지하기 위해 애플리케이션 단위의 트래픽 탐지가 가능한 침입차단 시스템 또는 침입탐지시스템을  도입할 필요가 있습니다.

데이터의 기밀성을 확보하기 위해 데이터는 반드시 암호화해야 합니다. 고의적인 내부 공격이나 외부공격을 통해  데이터가 노출되더라도 암호를 해독하지 않는 이상 원본데이터를 얻을 수 없도록 하여 노출에 대한 위험을  낮출 수 있습니다. 하지만 모든 데이터의 암호화는 많은 시간과 자원을 요구하므로 기업에서 비효율적인 면이  없지 않습니다. 따라서 기업 내부의 보안 정책 및 데이터의 중요도에 따라 차별을 두어 적용하는 것이 좋습니다.   분산된 데이터의 무결성을 보장해야 합니다. 이는 빅데이터는 하둡과 같은 맵 리듀스분산처리 프레임워크를 통해  여러 개의 데이터로 분산처리되고 연산 효율을 위해 병렬 저장되며 이후 분산 저장된 데이터를 분석하여  2차 데이터를 생성할 때, 빅데이터로부터 생성된 2차 데이터에 대해 신뢰성을 제공하기 때문입니다.


데이터의 가용성 및 복구에 대한 대책이 있어야 합니다. 인가된 사용자는 언제든지 원하는 데이터에 접근할 수  있어야 하는데 이는 실시간으로 대량 생산되는 데이터를 처리하기 위해 분산된 시스템을 이용하는 빅데이터의   저장과 운영 때문입니다. 그리고 재해나 물리적 침입으로부터 안전하고 서비스가 지속될 수 있도록 백업 및  복구에 대한 물리적 보안도 제공되어야 합니다.  빅데이터 분석 과정은 중요한데 빅데이터를 산업별, 부서별 각 필요와 요구에 따라 분석하는 과정은 빅데이터  서비스를 위해 반드시 거쳐야 하는 절차입니다. 이 과정에서 이전의 암호화 등을 통해 데이터의 기밀성과  익명화 과정을 거쳤다고 해도 사용자가 원하는 데이터를 추출하기 위해 데이터의 복호화 등 데이터 복구 과정을  수행하여야 합니다. 

따라서 분석 및 2차 데이터에서도 프라이버시 침해 및 데이터의 기밀성이 노출될 위험이  있습니다. 즉, 2차 데이터 생성시 반드시 프라이버시 보호를 위해 익명화 및 암호화기법 등이 도입되어야 합니다.  기업의 입장에서 많은 데이터 분석을 위해 암호화 및 복호화 작업을 거치는 것은 비능률적이므로 이를 보다  효율적으로 처리하기 위해 최근 암호화된 상태에서 키워드를 통한 검색을 할 수 있는 키워드기반 검색기법  (Keyword Search), 프라이버시를 보호하면서 데이터를 분석하는 PPDM(Privacy Preserving Data Mining)기법 등이   연구되고 있습니다.

클라우드 형태로 분산, 병렬 운영되는 데이터 웨어하우스로부터 정책을 결정하거나 분석결과를 통해 서비스를  제공받는 사용자의 입장에서 데이터의 무결성 및 가용성은 반드시 고려되어야 하는 중요한 요소입니다.  따라서 빅데이터 자체에 대한 신뢰성 및 가용성 확보를 위해 산업별, 기업별 주요 데이터에 대한 별도의  보안기법 적용 및 위험관리가 필요합니다. 이 밖에도 분석 및 처리 과정을 통해 얻어진 2차 생성 데이터의  소유에 관한 이슈가 있습니다.






[전략적 기업경영을 위한 빅데이터 분석 활용사례 ]


1. 빅데이터 분석 사례


전략적 기업경영을 위해  다양한 기업들이 빅데이터를 어떻게 분석, 활용하고 있는지를 살펴본 후, 좀 더 구체적인 사례를 통해 빅데이터  분석이 전략적 기업경영을 위해 어떻게 활용될 수 있는지를 알아보도록 하겠습니다. 지금부터 실제 기업이  빅데이터를 분석한 몇 가지 사례에 대해 살펴보도록 하겠습니다. 먼저 미국의 물류업체 UPS가 있습니다. 미국의  물류업체인 UPS는 빅데이터 분석을 통해 차량 및 물품 위치에 기반한 배송 경로 및 시간을 관리하였습니다. 이를  통해 최단 거리, 최소 시간 운행 경로 관리를 할 수 있었으며, 5년간 트럭배송 경로를 1억 6천만 km감소할 수  있었습니다. 다음은 독일의 IT 기업 T Mobile의 빅데이터 분석 활용 사례입니다. T Mobile은 미국 내 가입자   3천만 명의 일일 통화 및 송수신 데이터 170억 건을 빅데이터 분석 모델인 Tribe Calling Circle Model로  분석하였습니다. 이러한 분석을 바탕으로 이탈 징후를 보이는 영향력이 큰 고객에 맞춤형의 추가 혜택을 제공하여  이탈 방지의 선제적 활동을 수행하였습니다. 그 결과로, 2011년 2사분기에는 1사분기 대비 고객이 50%만 이탈하는  결과가 발생하였습니다. 다음은 미국의 소비재 유통기업인 P&G의 빅데이터 분석 활용 사례입니다. P&G는 실시간  제품 판매 데이터 및 공급망 재고 수준, 광고 지출 정보 등의 데이터를 제공하는 Business Sphere 시스템을  개발하였습니다. 이러한 시스템 개발을 통해 매주 월요일에 CEO 및 글로벌 리더들이 모여 실시간 글로벌 데이터에  기반하여 경영활동을 평가하고 비즈니스 관련 의사결정을 신속하게 수행하고 있습니다. 


스웨덴의 자동차 제조회사인 볼보 역시 빅데이터를 분석하고 활용하고 있습니다. 볼보는 새로 출시된 자동차의  결함 여부를 차량에 부착된 센서 데이터를 분석하여 조기 감지하였습니다. 그래서 기존의 50만대 판매 시점에  발견할 수 있었던 결함을 1천대 판매 시점에 조기에 발견하여 불량발생을 사전에 예방할 수 있었습니다.  마지막으로 살펴볼 사례는 스페인의 패션 의류 유통업체인 ZARA입니다. ZARA는 수요와 관련한 빅데이터 기반의 재고  및 생산의 최적화를 달성하고 있습니다. 과잉생산 및 할인을 지양하고 분석적으로 재고를 관리하는 무재고 운영  정책을 원칙으로 하여 전 세계 매장의 판매 및 재고 데이터를 분석하여 최대 매출을 창출할 수 있는 재고 최적 분배  시스템을 개발했습니다. 최적의 분배시스템을 이용하여 제품별 수요예측, 매장별 판매추이분석, 진열된 상품수가  판매량에 미치는 영향을 분석하여 데이터 기반으로 의사결정을 내리며 82개국 5,572개 이상의 매장을 보유하고  일주일에 2번씩 연간 1만 5천 개 신상품을 출시하는 무재고 운영정책이 시스템의 사용을 통해 가능해졌습니다.





2. 사례 연구


전략적 기업경영을 위한 빅데이터 사례연구를 해보도록 합시다. 함께 살펴볼 내용은 기술의 융복합에  대한 체계적인 이해와 발생 가능한 패턴을 예측하기 위해, 대용량의 특허 데이터에 대한 빅데이터 분석을 수행한  활용 사례입니다. 기술융복합은 최근 많은 산업 분야에서 경쟁이 심화되고 시장이 포화되면서 지속적인 성장을 위해  혁신적인 기술이 필요해짐에 따라 날로 그 중요해지고 있습니다.  따라서 기술융복합은 기술혁신과 경제성장에  중요하게 인식되고 있으며, 기술융복합을 체계적으로 이해하고 앞으로 발생 가능한 패턴을 예측하는 것이  중요합니다. 삼극특허는 기술융복합의 이해와 예측을 위해서 유럽특허청(European Patent Office, EPO), 일본특허청 (Japan Patent Office, JPO), 미국특허청(United States Patent and Trademark Office,USPTO)에 동시에 출원된  특허로 이를 분석하였습니다. 그리고 삼극 특허는 다른 특허보다 가치가 높은 것으로 알려져 있습니다. 삼극특허는  특허와 인용, IPC, 청구항, 그리고 출원인 정보 등 다양한 정보가 제공되고 이들 정보가 연결되어 처리될 경우에는  그 양이 급속히 증가할 수 있기 때문에 여전히 일반적인 환경에서는 쉽게 분석하기 어려운 대용량 데이터로 고려될  수 있습니다. 분석에 이용된 삼극특허는 OECD에서 제공하는 2013년 1월 기준의 데이터로 889,709건이며, 각 특허는  다수의 IPC 즉, 국제특허분류를 가질 수 있어서 삼극특허가 갖는 전체 IPC는 18,902,800건에 달합니다. 이러한  IPC 데이터에는 유럽특허청, 일본특허청, 미국특허청 등의 데이터가 혼재되어 있지만 전체 특허 및 전 영역의 기술간  융복합 패턴을 보고자 했기 때문에 별도의 구분 없이 분석을 진행했습니다. 이때 IPC의 해석을 위해서 WIPO에서  제공하는 2013년 1월 기준의 IPC 정의를 사용하였습니다. 분석에 사용된 데이터는 최초 우선권 신청 연도 기준으로,  1955년부터 2011년까지의 특허를 포함하고 있습니다. 분석을 위하여 전체 특허데이터를 1990년대 이전, 2000년대  이전, 그 이후로 나누어 기술융복합 패턴의 변화를 살펴 보았습니다.

대용량의 특허 데이터에 대 빅데이터 분석
분석은 총 3 단계로 진행되었습니다. 1단계에서는 Raw Data인 대용량 특허데이터를 오픈소스 빅데이터 기술을  활용하여 가공하였고, 2단계에서는 기술융복합패턴 추출을 위해 연관분석을 활용하였습니다. 최종적으로 3단계에서는  이전 단계의 결과를 바탕으로 기술융복합 네트워크를 구축하여 기술융복합 패턴을 이해하고 동시에 기술융복합  패턴을 예측하였습니다. 분석환경으로 사용되는 오픈소스 분석 플랫폼은 하둡 클러스터를 사용하였으며,  64bit CentOS 6.3이 설치된 네임노드 1대, 데이터노드 3대로 이뤄져 있습니다. 각 서버에는 아파치 하둡 1.0.4와  피그 0.10.1을 설치하였으며, 그리고 분석을 위한 오픈소스 통계 소프트웨어 프로그램인 R 3.0.1 64 bit와 필요  패키지들을 설치하였습니다. 하둡과 맵리듀스 프레임워크 기반의 오픈소스 분석 플랫폼에서, 하둡은 대용량  삼극특허데이터가 일반적인 환경의 단일 컴퓨터에서 계산이 어렵기 때문에 사용되었으며, 맵리듀스 프레임워크는  다수의 컴퓨터를 연결한 클러스터에서의 데이터처리를 위해 사용되었습니다. 

분석도구
사용된 분석도구로는 피그 라틴, R, FP-growth 등이 있습니다. IPC 동시발생과 같은 관계 데이터 처리에 효과적인  맵리듀스 기반의 고급수준 데이터처리언어인 피그 라틴을 사용하여 특허데이터를 전처리를 하고자 했습니다. 또한  처리된 데이터의 분석을 위해서는 오픈소스 통계분석도구인 R을 사용했습니다. 대용량 IPC 동시발생 데이터에서  빈번하게 발생하는 패턴을 발견하기 위해서는 연관성 규칙을 활용하고자 하였습니다. 이는 대용량 데이터에 적합한   FP-tree 구조로 데이터를 생성하여 FP-growth 알고리즘을 사용하였으며, 오픈소스로 공개된 FP-growth라는  프로그램을 별도로 사용하였습니다. 연관분석에는 Apriori 알고리즘과 FP-Growth(Frequent Pattern-Growth)  알고리즘을 사용할 수 있는데, 큰 규모의 데이터에는 FP-Growth 알고리즘이 더 효율적인 것으로 알려져 있습니다.  데이터 처리를 통하여 각 기간별로 얻어진 각 특허가 갖는 IPC 동시발생 데이터에 FP-growth 알고리즘을  적용하였습니다. 한 특허에 동시에 출현하는 IPC의 패턴을 관찰하는데 사용되었으며, 분석의 편의를 위하여 아이템을  2개로만 한정했습니다. 

각 기간별 분석결과를 바탕으로 연관분석 결과를 하였습니다. 이때 보다 효과적으로 기술융복합 패턴을 관찰하기  위하여 패턴의 Item이 네트워크의 Node가 되고, 패턴의 Support가 Node 간 Link의 Weight가 되도록 하여  IPC 동시발생 네트워크를 만들어 각 기간별 패턴을 살펴보았습니다. 그리고, 각 기간별 패턴을 아래 그림과 같이  하나의 네트워크로 표현하는 것이 필요하기 때문에, 각 기간별 노드들의 Link에 다른 가중치를 적용한 후 얻어지는  조정된 Link의 Weight을 사용하였습니다. 연관분석 결과 기반 IPC 동시발생 네트워크는 다음과 같습니다. 연관분석을  통해 발견된 IPC 동시발생 네트워크를 바탕으로, 향후 발생할 수 있는 기술융복합 패턴을 예측하기 위해서   Link Prediction을 사용하였습니다. Link Prediction이란, 관측된 네트워크에서 노드 간 연결 정보를 바탕으로 향후  발생할 수 있는 연결을 예측하는 방법입니다. Link Prediction을 위해서, 만들어진 네트워크의 노드 간 유사도를  측정하여 잠재적인 연결을 발견하였습니다. 결과 보기 버튼을 클릭하여 네트워크에 나타난 각각의 Link로 예측된  기술융복합 패턴을 살펴보시기 바랍니다.






지금까지 살펴본 네트워크를 분석한 결과, 주로 의약품 관련 기술을 중심으로 호흡기, 혈액, 감각기관 장애와  유전자공학, 펩티드, 헤테로고리화합물 관련 기술들의 융복합이 예측되었습니다. 또한 근육장애, 성적장애와  항감염약, 헤테로고리화합물, 펩티드를 포함한 의료제제 관련 기술들의 융복합이 예측되었습니다. 그리고 항종양제제  관련 기술로 유전자치료법, 항원과 항체를 포함하는 의료제제 관련 기술 융복합이 예측되었습니다. 이러한 결과를  R&D 경영에 활용하여, 기술혁신과 경제성장에 기여할 수 있을 것으로 기대됩니다.






[의료 · 통신 산업에서의 빅데이터 활용과 사례연구 ]


최근 의료 산업에서 빅데이터의 필요성이 부각되고 있는 이유에 대해 살펴본 후 구체적인 의료 산업에서의  빅데이터 활용 사례에 대해 알아보겠습니다. 그리고 모빌리티의 확산으로 통신 빅데이터의 활용도가  높아짐으로써 통신 업계가 어떻게 빅데이터를 활용하고 있는지 사례를 통해 살펴 보도록 하겠습니다. 



1. 의료 산업에서의 빅데이터 활용과 사례연구


의료 산업이 기존의 치료 중심에서 예방, 건강관리 중심으로 이행됨에 따라 질병발생 가능성 예측과  개인 맞춤형 의료 서비스의 중요성이 점차 증대되고 있습니다.  한편으로는 건강검진 자료, 질병 자료, 기존에 종이 차트에 기록했던 인적사항, 병력, 건강상태, 진찰,  입/퇴원기록 등 환자의 모든 정보를 전산화하여 입력, 관리, 저장하는 형태인 전지의무기록, 유전체 분석  데이터 등의 바이오 센싱, 의료 영상 등을 중심으로 데이터가 급증하고 있는 추세입니다.   높은 잠재력을 지닌 의료 산업의 빅데이터는 다양한 경로로 수집, 저장되고 있습니다. 또한 기본적인 의무  기록 뿐만 아니라 환자들의 병원 서비스 이용 데이터, 유전자 데이터 등과 같은 수많은 데이터가 모두 높은  활용 가치를 지닌 데이터로 볼 수 있습니다. 특히 생체 신호 감지 기술, 웨어러블 컴퓨터 기술의 상용화 등  의료-IT 융합 기술의 발전으로 인해 데이터의 축적 및 서비스 모델 개발이 가속화되고 있는 추세입니다.  특히 의료 산업에서 빅데이터를 활용함으로써 질병예방에 따른 의료비 절감, 의료기관의 운영비용 절감,  오류 및 부정에 따른 손실비용 절감 등의 경제적 효과를 기대할 수 있으며, 이로 인해 의료 산업에서의  빅데이터 활용이 활발히 진행되고 있습니다.




●  의료 산업의 빅데이터에 대한 니즈와 활용 방안


 인구고령화와 만성질환 유병률이 증가함에 따라 의료비 문제와 의료서비스의 접근성 및 질에 관한 문제가  제기되면서 많은 국가에서 IT와 의료기술을 접목한 헬스케어 서비스를 도입하고 있습니다.  이처럼 헬스케어 서비스를 통해 생산되는 건강정보 관련 빅데이터의 관리와 활용에 대한 논의가 활발하게  진행되고 있는 상황에서 일반인, 의료서비스 전문가, 연구자, 기업, 정책전문가의 보건 의료 빅데이터에 대한   니즈와 주요 관심, 관련 데이터, 활용방안은 어떠한지 살펴보겠습니다.





건강한 삶과 최적의 보건의료 서비스에 주된 관심을 갖는 일반인과 관련된 데이터는 건강검진자료와 개인건강기록 등이 있으며, 이러한 데이터는  전염 예방과 관리 및 맞춤형 의료 서비스 제공을 위한 보건 의료 빅데이터 서비스 개발에 활용될 수 있습니다.  의료 서비스의 질적 향상과 의료기관의 생산성 증대 및 비용 절감에 관심을 갖는 의료기관과 관련된 데이터로는  환자 임상 진료자료, 건강검진자료, 기관 의료 데이터 등이 있으며, 이러한 데이터들은 의료기관 간 데이터 및  서비스의 연계와 통합을 위해 활용될 수 있습니다. 질병의 원인 규명과 진단, 그리고 그 치료법의 개발과  맞춤형 의료 연구, 건강 서비스 장비 개발에 관심을 갖는 사업자 및 연구자의 경우 그 관련 데이터들은  환자임상진료데이터나 생체정보측정데이터 등이 되며, 이러한 데이터들은 유전체 데이터를 활용한 질병  예방·진단·처방·관리뿐만 아니라 빅데이터를 활용한 신약 개발을 지원하는데에 활용될 수 있습니다.  마지막으로 보건의료정책전문가의 주된 관심은 예방중심의 의료, 만성질환 관리, 치료 보장성 강화 등이며,  이들과 관련된 데이터는 지역사회 건강조사, 건강보험청구자료, 개인소득자료 등입니다. 이러한 데이터들을  활용하여 질병예방관리 시스템 개발을 지원할 수 있습니다.




의료 산업에서 빅데이터를 어떻게 활용할 수 있는지 좀 더 구체적으로 알아 보겠습니다. 
빅데이터를 통해 의약품의 부작용 및 오남용에 조기 대응 할 수 있습니다.  즉, 빅데이터는 의약폼의 부작용 및 오남용 사례를 수집하고 분석하여, 국민 복지와 건강을 위협하는 의약품  오남용과 부작용을 조기에 발견하고, 또 이에 조기 대응할 수 있도록 정보를 제공해 주고 있습니다.

빅데이터 활용을 통해 성장할 수 있는 의료 분야로 u-Health와 관련된 실시간 모니터링과 진료지원시스템 이  있습니다. 즉, 원격 모니터링을 통해 개별 환자들의 심전도, 혈당, 보호자 피드백을 실시간으로 수집,  전송하고 통합적으로 분석하여 환자들의 입원일수와 응급실 방문 횟수를 감소시킬 수 있습니다.  예를 들어 센서를 통해 지속적으로 환자의 움직임을 관찰하여 혼자 사는 환자들이 평소와 다른 움직임을  보이거나 움직임을 보이지 않을 경우와 같은 응급상황에 대비할 수 있게 됩니다.  현재의 진료지원시스템은 의사들이 처방한 검사와 치료 절차에 대한 분석을 바탕으로 정해진 가이드라인에 따라  의약품의 부작용을 권고하는 수준입니다. 그러나 향후 진료지원시스템에 빅데이터를 좀 더 활발히 활용한다면  의약품을 처방 받은 환자들의 치료 효능이 지속적으로 관찰, 기록, 분석될 수 있습니다.  또한 환자 개개인의 의료기록에 기반을 둔 의학 관련 문헌 검색이 가능하며, 환자 특성에 맞는 치료 옵션이  추천될 수도 있습니다. 뿐만 아니라 의료 이미지들의 픽셀 분석을 통해 육안으로 찾아내기 힘든 정도로  작은 크기의 특이 정보들을 찾아내 제공할 수도 있습니다. 

    

유전자 연구 및 생명공학



유전자 연구와 생명공학은 방대한 데이터 분석이 필요하기 때문에 대표적인 빅데이터 연구 분야로 언급되어 왔습니다.  한 사람의 DNA 염색체 하나를 이미지 파일로 바꾸면 약 750MB[메가바이트]에 이르고 유전자 변이까지 감안하면  약 1GB[기가바이트]가 됩니다. 이를 전세계 68억 인구로 환산하면 6억 8000만PB[페타바이트]에 달하는  분량입니다.  이처럼 방대한 데이터 분석이 필요한 유전자 연구 및 생명공학 분야에 하둡이 표준 도구로 자리매김하였습니다.  하둡을 이용하면 각 데이터를 쪼개서 처리한 뒤 다시 합치는 과정을 거치기 때문에 비용을 낮추면서도  효과적인 연구 수행이 가능합니다. 하둡의 이용으로 정보 수집 속도가 2009년에 비해 10배 이상 빨라졌고,  분석 시간도 수 년에서 수 주 정도로 급속히 단축되었습니다. 이는 분산병렬처리가 가능한 하둡을 분석 과정에  최대 95% 수준까지 적용함으로써 가능해진 것입니다. 



● 활용 사례 :  뇌경색증과 동반되는 질환의 연관성 분석

의료 산업에서 빅데이터를 실제 어떻게 활용하고 있는지 좀 더 구체적인 사례를 통해  알아 보겠습니다. 뇌경색증과 동반되는 질환의 연관성 분석을 위해 2000년에서 2007년 사이에 국내 A의료원에  입원한 환자 중 주진단이 뇌경색증인 만 18세 이상의 2,267명의 환자 진단 데이터를 가지고 데이터 마이닝  분석을 수행한 사례입니다. 이 사례에서는 실증적 임상 자료 분석을 통하여 뇌경색증과 흔히 동반되는 질환을  파악하였고, 연관 규칙 마이닝을 활용하여 셋 이상의 여러 질환들 간의 연관성을 분석하였습니다.  
분석의 목적은 뇌경색증과 함께 다른 질환이 동반된 경우의 대상자에게 적절한 물리치료를 제공하는데 필요한  기초 자료를 제공하는 것이었습니다. 

분석 절차를 좀 더 상세히 설명하자면, 먼저 뇌경색증 환자가 진단받은 동반 질환을 모두 추출한 후,  데이터 정제 과정을 거쳐 연관 규칙 마이닝 기법 중 Apriori 모델링을 적용하여 연관 규칙을 생성하고  그 중에서 의미 있는 규칙을 찾아내는 과정을 거쳤습니다.


Apriori 모델링


Apriori 모델링을 적용한 결과 지지도 10% 이상, 신뢰도 95% 이상인 연관규칙은 총 7가지로 나타났습니다.  그 중에서 지지도가 높은 다섯 가지의 동반 질환에 대해 살펴 보면, 뇌경색증과 함께 본태성 고혈압이 동반되는  경우가 45.9%의 지지도로 모든 규칙 중 가장 높게 나타났습니다. 인슐린-비의존성 당뇨병과 지단백질 대사  장애 및 기타 지혈증이 뇌경색증과 동반된 경우는 지지도가 각각 20% 이상으로 나타났고, 본태성 고혈압과  인슐린-비의존성 당뇨병이 함께 뇌경색증과 동반된 경우는 13,7%, 본태성 고혈압과 지단백질 대사 장애 및  기타 지혈증이 복합적으로 뇌경색증과 동반된 경우는 그 지지도가 13.2%로 나타났습니다.  모든 규칙에서 신뢰도는 99∼100%로 매우 높게 나타났습니다.  뇌경색증과 동반되는 질환 사이의 연관성을 시각화하기 위해 웹노드를 이용하여 그래프를 생성한 결과입니다.




뇌경색증은 본태성 고혈압, 전정기능의 장애, 편마비, 대뇌혈관 질환에서의 뇌혈관 증후군, 지단백질 대사  장애 및 기타 지혈증, 인슐린-비의존 당뇨병, 위염 및 십이지장염, 뇌혈관 질환의 후유증과 연관되는 것으로  나타났으며 그 중에서 본태성 고혈압과 연관성이 가장 높았습니다. 뇌경색증, 인슐린-비의존 당뇨명,  지단백질 대사 장애 및 기타 지혈증, 본태성 고혈압은 서로 연결되어 상호 연관되는 질환인 것으로  나타났습니다.






2. 통신 산업에서의 빅데이터 활용과 사례연구



● 통신산업에서의 빅데이터 활용


모빌리티의 확산

스마트폰을 필두로 한 모빌리티의 확산은 이동 통신 업체들에게 새로운 자산을 제공하고 있습니다.  바로 스마트폰이 쏟아내는 방대한 정보들이 그것입니다. 오늘날 개개인들은 정부, 기업 등이 의도적으로  유도하지 않아도 자발적으로 스마트폰을 소지하고 다니며 위치정보 등 다양한 데이터들을 쏟아내고 있습니다.  이러한 데이터를 분석, 활용하면 개인 및 지자체의 삶과 질을 윤택하게 할 수 있는 서비스들을 개발하거나,  공공기관과 협력하여 빅데이터 프로젝트 수행 시 보다 합리적인 의사 결정을 내릴 수 있습니다. 통신 산업에서의 빅데이터 확산에 스마트폰과 소셜네트워크서비스(SNS)의 활성화가 상당한 기여를 했다고  볼 수 있습니다. 이를 통해 통신 산업의 빅데이터가 급속히 발달하였고 최근에는 관광 산업, 공공부문까지  통신 빅데이터의 활용도가 확장되고 있는 걸로 보아 통신 업계가 향후 빅데이터 시장을 선도할 수 있을지  주목되고 있습니다.




국내 통신 업계의 빅데이터 활용



국내 통신업계의 빅데이터 활용은 우리나라의 3대 이동통신사 SK텔레콤, KT, LG U+가 선두하고 있습니다.  국내 3대 통신사들은 각기 3社 3色을 가지고 차별화를 꾀하며 빅데이터를 다방면으로 활용하고 있습니다.  예를 들면, SK텔레콤은 빅데이터가 주목받기 전부터 빅데이터를 활용했던 빅데이터 활용의 ‘원조'라  할 수 있으며, KT는 공공부문과의 협업을 통해 기업의 문제뿐만 아니라 나아가 사회적 문제까지 해결하고  있고, LG U+는 고객 데이터 분석을 통해 고객이 원하는 편익을 정확하게 제공하는 것을 목표로 하고 있습니다.


● 활용사례 : 국내 이동 통신 업체의 고객분류를 위한 예측

통신 사업에서 실제로 빅데이터를 어떻게 활용하고 있는지를 구체적인 사례를 통해 살펴보겠습니다.  여기서는 사례 연구로 국내 이동 통신 업체의 고객분류를 위한 예측 모델 설계 사례를 소개해 드리겠습니다.  이 사례에서는 국내 이동 통신 업체의 고객 2000명을 우수 고객과 비우수 고객으로 분류하였습니다.  즉 월 150회 이상 통화하는 고객 그룹을 '우수 고객'으로, 월 150회 이하로 통화하는 고객그룹을  '비우수 고객'으로 분류한 것입니다. 그리고 이들 고객의 기본 정보 및 통화 관련 정보 20개를 분석에 변수로  고려하였습니다. 주요 변수로는 성별, 나이, 네트워크 사이즈, 인터넷 서비스 사용호수, M to M 발신호수,  M to L 발신호수, 일반호수, 총기간, 주중총 기간, 주말총 기간, 기본요금, 월 데이터 요금, EZI 호수,  마일리지 등이 있습니다. 

이 연구에서는 고객분류 예측 모형 설계를 위해 인공신경망과 로지스틱 회귀분석 모형을 고려하였고,  전체 고객의 자료를 1000개의 훈련 집합과 1000개의 검증 집합으로 구분하였습니다.  이러한 분석 모형을 적용한 결과, 인공신경망을 이용할 경우 최대 93.1%의 적중률을 보였으며 로지스틱  회귀분석의 경우 최대 88.4%의 적중률을 보였습니다. 이를 통해, 다수의 변수 중에서 고객의 특정 속성을  인공신경망에 적용함으로써 우수, 비우수 고객의 유형을 추출할 수 있었으며, 우수 고객과 비우수 고객을 구 분함으로써 마케팅 표적을 세분화하여 효율적인 마케팅 전략수립이 가능해졌습니다.





[공공부문에서의 빅데이터 활용과 사례연구 ]


1. 공공부문에서의 빅데이터 활용


최근 국가 안전 및 위험관리, 치안, 의료, 교육, 복지, 환경 등 공공부문에서의 빅데이터 분석과 활용에 대한  실제 수요가 크게 증가하고 있습니다.  국내 공공기관의 경우 기상청의 웨비게이션(Weavigation), 서울시의 올빼미버스와 민원 정보 분석 시스템,  한국석유공사의 오피넷 등 여러 공공기관에서 빅데이터를 활용하고 있습니다. 또한, 미국의 Pillbox, FBI의  범인 검거 체계, 탈세 및 사기 범죄 예방 시스템, 샌프란시스코의 범죄 예방 시스템, 밀라노의 지능형 교통  정보 시스템, 싱가포르의 출입국관리소 정보 분석 시스템 등 세계 각국의 공공기관에서도 다양한 방법으로  빅데이터를 활용하고 있습니다. 

빅데이터는 소규모 데이터가 발견하거나 예측하기 힘든 상황을 예측하는데 큰 도움을 줍니다. 예컨대,  공공부문에서 '흔하게 일어나지 않는' 사건이나 상황, 또는 낮은 분포를 갖는 인구집단이 겪게 되는 상황을  예측하는데 도움을 줄 수 있습니다. 뿐만 아니라 공공관리, 정책결정, 정보공개, 부패방지, 범죄예방,  군사 및 안보, 질병관리, 기상예측 등과 같은 다양한 분야에서 기본적인 공적 가치를 증진시키는 데에  기여할 수 있습니다.


향후 공공부문에서 빅데이터 활용 이 어떠한 방향으로 이루어져야 하는지 알아 봅시다. 첫째, 국민 삶의 질  향상을 위해 과거 및 현재의 데이터 분석을 통하여 국가 사회 전 분야의 미래 트렌드를 예상하고 이에 맞는  국가 정책 수립을 지원할 수 있어야 합니다. 또한, 다양한 데이터 분석을 통해 자연재해, 안보, 치안,  의료 산업 등에서 스마트한 대민 서비스 개발이 이루어질 수 있도록 활용되어야 합니다. 예를 들어,  검색 데이터를 통한 구글의 독감 이동 분석, 약 검색 데이터를 통해 질병의 분포 및 증가 현황 등을 분석하는  Pillbox 등은 빅데이터 분석을 통해 생각지 못한 대민 서비스 개발이 가능하다는 것을 보여주고 있습니다. 

즉, 향후 공공부문에서의 빅데이터 활용을 통해 기술 중심의 대민 서비스가 아닌, 데이터를 통한 국민이  중심이 되는 대민 서비스 개발이 가능해야 합니다.  셋째, 데이터에 기반한 과학적인 정책 방향제시를 통해 미래를 대비하는 선제적 국가정책 수립을 지원할 수  있어야 합니다. 마지막으로 국가안전을 위협하는 테러 등과 같은 글로벌 요인뿐만 아니라 전 지구적으로  발생하는 재난 재해 등을 예방할 수 있는 잠재된 정보까지 도출할 수 있어야 합니다. 



공공부문에서의 빅데이터 활용은 공적 가치를 증진시키는 데에 기여할 수 있으며 향후 활발한 역할이  기대되고 있지만 긍정적인 측면만 가지고 있는 것이 아니라 부정적인 측면 도 가지고 있음을 유의해야 합니다.  공공부문에서의 빅데이터 활용 시 가장 큰 문제로 생각되는 것 중 하나는 개인정보의 보호 문제입니다.   빅데이터의 편익이 개인의 특성을 고려하는 맞춤형 서비스의 제공에서 도출되는 만큼 개인에 대한 상세한  정보가 유출될 위험성은 동시에 증대될 수밖에 없습니다. 개인의 사생활 침해 문제에 대한 해결 방안으로는  개인의 사생활을 감시하는 결과를 초래하는 위치정보 등의 목적 외 활용을 엄격히 규제하고, 이미 제공된  정보가 추후에 상업적으로 이용되는 경우 언제든지 파기하도록 할 수 있는 법적 규제가 필요합니다

이 때문에 개인정보를 담고 있는 각종 데이터를 익명화하는 빅데이터 정보보호법 제정이 요구되고 있습니다.  공공부문에서의 빅데이터 활용 시 또 다른 문제는 잘못된 정보가 범람할 수 있다는 점입니다.  빅데이터는 그 자체로서 정확성과 객관성을 보장해 줄 수 없고, 규모가 큰 데이터라고 해서 좋은 데이터가  될 수는 없습니다. 특히 질병과 관련된 많은 정보들은 그 진위나 효과가 가려지지 않는 상황에서 활용되는  경우 큰 위험을 유발할 가능성이 있습니다. 이러한 측면을 예방하기 위해 데이터를 악용하거나 오용하는 것을  감시하고 감독하는 기구나 시스템을 개발하고, 통계분석의 절차와 결과를 공론화하며, 자료의 구조와  분석방법 등의 공개를 의무화하여 신뢰성과 타당성을 제고하고, 데이터 분석가의 분석역량을 강화하는 등의  대책 마련이 필요합니다.



2. 활용사례 :  도로 안전 시설물의 효과 분석


도로 안전 시설물의 효과 분석을 위해,  시설물 설치 전과 설치 후의 1년치 사고 자료를 입수하여 데이터 마이닝 분석을 수행한 사례입니다.  이러한 분석을 하게 된 이유는 도로의 안전성에 대한 관심과 투자가 늘면서 도로안전시설물의 설치가  확대되었고 시설물 설치 타당성에 대한 근거를 마련하기 위한 시설물 설치효과 평가방법의 개발에 대한  필요성이 증가하고 있기 때문이었습니다. 그러나 지금까지의 시설물 설치 효과는 주로 설치 전과 후의  사고건수를 단순히 비교하여 제시되어 왔지만 한계가 있었습니다. 

따라서 개선지점의 교통환경적 특성, 교통안전 개선사업이 실행된 지역적 특성과 설치된 시설물 특성에 따라  사고 감소의 변화를 확인하고자 데이터 마이닝 분석을 수행하였습니다.  또한 1,044개 지점의 시설물 설치 전과 후의 1년 사고 자료를 입수하여, 지역 구분, 도로형태, 신호 유·무,  개선시설, 개선 전후의 사고율 변화 데이터를 산출하여 의사결정나무 분석인 CART 분석을 수행하였습니다.


분석결과, 수도권과 서울시는 안전사업 개선에 의한 효과(사고감소율)가 비슷한 동질성 지역으로 나타났으며,  6대 광역시는 사고감소율이 수도권과 서울시보다 크게 나타난 지역임을 확인하였습니다.  지역 내 도로형태에 따라 사고감소율이 다르게 나타났고 수도권의 경우에는 교차로의 형태에 따라 시설물  개선효과가 다르게 나타났습니다. 그리고 광역시의 경우에는 신호교차로, 비신호교차로에 따라 시설 개선  효과가 다르게 나타난 것을 확인하였습니다. 





●  유사사례 : 심야버스 노선 서울시 '이번엔 택시'


지난 해 빅데이터를 활용해 심야버스 노선 최적화에  성공한 서울시가 이번에는 빅데이터를 활용해 택시와 승객을 연결하는 시스템을 개발하고 있는 것으로  알려졌습니다. 택시 서비스의 낮은 품질은 서울시민의 가장 큰 불만 중 하나라는 판단 때문입니다.  서울시는 이 문제를 해결하기 위해 빅데이터를 활용하기로 했습니다. 택시에 승객이 많이 있는 위치를  안내해 공차율을 줄이고, 승차거부 등의 문제를 해결하겠다는 의지입니다. 승객에게는 택시가 많이 있는  위치를 안내해줍니다.  이를 위해 서울시는 모든 택시에 탑재돼 있는 운행기록계(Digital Telegragh, DTG) 데이터 분석을  시도했습니다. 연간 1300억건에 달하는 방대한 데이터다. 이를 날씨, 지역, 시간 등의 각종 변수와  종합 분석해 패턴을 찾아내는 목이 목표입니다. 분석이 성공하면 승객들은 조금 더 쉽게 택시를 타고, 택시기사는 공차율을 줄일 수 있을 것으로 서울시는 전망하고 있습니다.






[제조업에서의 빅데이터 활용과 사례연구 ]


1. 제조업에서의 빅데이터


제조업 특징과 빅데이터 특징

제조업은 생산효율을 높이기 위해, 방대하고 다양한 데이터를 확보해야 합니다. 또한 모니터링 장비를 통해 실시간  데이터를 빠르게 수집해야 합니다. 이는 빅데이터의 특징 3V, 즉 Volume(규모), Variety(다양성),  Velocity(속도)라는 특징을 가장 잘 담고 있다고 할 수 있습니다. 이처럼 빅데이터 특징을 가장 잘 담고 있기  때문에 제조업에서의 빅데이터 활용은 활발하게 이루어지고 있습니다.  제조업의 특성을 앞서 간략히 살펴보았는데요. 각 특성에 대해서 자세히 알아보겠습니다.



 제조업의 특성 중 데이터의 방대한 양을 추구하는 측면에서 살펴보면 제조업은 다른 산업과 비교할 수 없을 정도로 상당한 데이터를  보유하고 있습니다. 2009년 미국 기업들의 데이터 보유현황을 산업별로 비교한 결과에 따르면, 가장 많은 데이터를  보유하고 있는 분야는 966페타바이트의 데이터를 보유한 단일품목제조 산업분야였습니다. 또한, 화학처리 등과  같은 제조 산업분야도 694페타바이트로 17개 비교 산업 군중 4번째로 많은 데이터를 보유하고 있었습니다.


제조업이 다른 산업보다 데이터 수집에서 더 앞설 수 있는 이유는 무엇일까요? 제조업은 설계∙생산 과정의 자동화  및 제조실행시스템을 도입하였습니다. 이를 통해 제조공정의 효율성을 높이기 위해 생성된 데이터를 분석하고,  그 결과를 활용하였기 때문에 데이터 수집에서 앞설 수 있었습니다. 또한, 많은 제조업체들이 데이터 수집을 위해  전사적 자원관리 시스템을 도입하는 등 많은 노력을 기울였고, 생산효율성을 파악하기 위해서 제조 영업데이터,  고객데이터 등을 바탕으로 제조요청일, 영업일수 등을 예측할 수 있도록 많은 데이터를 축적해왔습니다.  제조업의 특성 중 데이터의 다양화를 추구하는 측면에서 살펴보겠습니다.  데이터의 다양화에서 제조업은 다른  사업에 비해 우위에 있습니다. 제조업의 경우 제조공정, 물류, 판매, 사후관리 등의 수많은 과정에서 다양한  데이터들이 발생하게 됩니다. 이러한 데이터들을 각 과정에 맞게 사용할 수도 있지만, 이를 복합적으로 분석하고  결합하여 또 다른 새로운 정보를 파악할 수도 있게 됩니다.  제조업의 특성 중 빠른 데이터 수집 측면에서 살펴보겠습니다. 제조기업은 공정 및 물류상황 등을 실시간으로  모니터링 할 수 있는 장비들을 운영 개선하여 실시간으로 데이터를 수집 및 분석할 수 있는 시스템을  구축하였습니다. 이를 통해 과거에 비해 상당히 빠른 속도로 데이터를 수집할 수 있게 되어 활용이 용이해지고   활용도도 높아졌습니다.



제조장비 데이터

빅데이터 3V 특징을 잘 담고있는 제조업에서는 과연 어떻게 빅데이터를 적용하고 있을까요? 바로 제조 장비  데이터에 빅데이터 분석을 적용하고 있습니다. 제조 장비 데이터 란 제조 장비에서 발생하는 장비 로그 데이터와  같이 생산과정에서 발생하는 데이터입니다. 이 데이터는 제조 장비 자체에서 발생하기도 하고, 장비에 센서를  부착하여 수집하기도 합니다. 센서를 통해 얻어지는 데이터는 보통 주변의 환경이나 상황, 날씨 등 다양한  유형으로 존재합니다. 이렇게 수집된 제조 장비 데이터는 빅데이터 분석에 활용함으로써 생산의 효율성 향상,  생산의 비용 절감, 장비의 기능 향상 등 다양한 효과를 창출하고 있습니다. 제조 장비 데이터는 여타 데이터들에 비교적 규칙성을 가진 데이터입니다. 따라서 SNS 분석과 같은 분야보다  상대적으로 노력은 적게 드는 반면에 정확하고 객관적인 정보 추출이 가능합니다. 이런 특징을 가진 데이터를  정형화 데이터라고 합니다.  제조업은 제조 장비 데이터 외에 수요와 공급 관련 기업 내 데이터들을 통합한 통합 운영 데이터에도 빅데이터  분석을 적용하고 있습니다.  



통합 운영 데이터 

새로운 가치를 창출하기 위해 기존 제조 데이터와 제조 운영에  간접적인 영향을 미치는 세일즈, 마케팅, 물류 등 기업 내∙외부의 다양한 데이터들을 통합시킨 것입니다.





2. 사례 : 마이크론 테크놀로지




마이크론 테크놀로지는 세계적인 반도체 기업입니다. 이 기업은 제조 장비 빅데이터를 이용해 수백억 원대의  비용절감 효과를 거둔 사례가 있다고 합니다. 





먼저 반도체 생산 공정을 알아보겠습니다. 마이크론 테크놀로지의 반도체 생산공정은 복잡한데요. 25개의 웨이퍼가  담겨진 ‘랏’이 장비의 ‘로드포트’로 이송되면 ‘클러스터 로봇1’은 랏에 담긴 웨이퍼를 순차적으로 하나씩  꺼내어 ‘에어락’에 집어넣습니다. 에어락으로 이동된 웨이퍼는 다시 ‘클러스터 로봇2’에 의해 클러스터 챔버로  이송되어 작업됩니다. 장비에서 실제적인 작업이 이뤄지는 곳이 바로 클러스터 챔버인 것입니다. 이 챔버에서는  화학적 물질이 웨이퍼에 증착되거나 열처리가 이뤄지는 등 다양한 작업이 진행됩니다. 일반적으로 이러한 챔버  장비는 한 챔버에 하나의 웨이퍼가 할당돼 작업을 하는데 장비에 따라서 웨이퍼가 각각의 프로세스 챔버를  순차적으로 이동하며 작업이 이뤄지는 경우도 있고 각 장비 내 클러스터 챔버들이 동일한 프로세스로 이뤄져 여러  클러스터 챔버 중 하나의 챔버에서만 프로세스되는 경우도 있습니다. 프로세스를 마친 웨이퍼는 다시 에어락을  거쳐 로드포트으로 이동하고 25개 웨이퍼가 모두 작업을 마쳐 랏으로 되돌아오면 랏은 다시 다른 장비로  이송됩니다. 반도체 생산 공정을 알아보았는데요. 반도체 웨이퍼 프로세스의 경우 한 장비에서 다양한 작업이  이뤄지고 작업의 시간도 제품의 종류나 요구사항마다 다릅니다. 마이크론 테크놀로지는 이렇게 다양한 제품을  처리하는 과정에서 생성된 장비 데이터를 분석해 부품을 어떤 순서로 유입하는가에 따라 생산 시간이 불규칙하게  변화하는 것을 파악했습니다. 그리하여 처리시간을 최소화할 수 있는 부품 유입 순서를 조합해 최적화된 생산  공정을 도출해낼 수 있었습니다. 



데이터 분석 방법

마이크론 테크놀로지는 데이터를 분석할 때 전형적인 비정형 데이터 분석방법을 응용했습니다. 비정형 데이터  분석방법이란 텍스트로 구성된 반도체 장비에서 발생하는 로그 데이터를 분석해서 패턴을 찾는 방법으로  실시간으로 분석하는 것이 포인트입니다. 기존처럼 단지 기계고장이 있거나 문제가 발생된 후에 분석하지 않고,  실시간으로 장비가 효율적으로 작업을 진행하고 있는지 분석하는 것입니다. 이처럼 실시간으로 의사결정을  지원하기 위해 마이크론 테크놀로지는 애널리틱스 방식을 사용하였습니다. 애널리틱스는 의미 있는 데이터  포인트를 실시간으로 파악해 정형화한 다음 이를 수학적 알고리즘을 통해 실시간으로 의사결정을 지원하는  방식입니다. 



로그 분석 방법

반도체 장비에서 발생한 로그 데이터를 분석할 때 마이크론 테크놀로지는 프로세스 마이닝이란 방법을  사용하였습니다. 프로세스 마이닝이란 각 이벤트가 다른 이벤트와 순차적인 상관관계로 이뤄진 작업에서 작업이  일어난 시간과 형태를 로그로 분석하여 각 작업의 상관관계를 분석하는 로그 데이터 분석 방법입니다. 

그럼 각 작업의 상관관계는 어떻게 분석할까요? 프로세스 마이닝은 로그의 이벤트 정보를 바탕으로 사건과 사건의  관계를 파악합니다. 그리고 그러한 사건들의 상관관계를 바탕으로 하여 작업들이 어떤 순서로 이뤄지고 있는지를  수학적 알고리즘으로 유추하는 것입니다.

마이크론 테크놀로지에서는 실제 데이터로 유추한 작업서와 Petri Net으로 파악된 이론적 최적의 작업진행순서를   비교해서 클러스터 내 웨이퍼 작업과 로봇의 움직임을 모니터링하고 이를 바탕으로 장비들의 작업을 최적화하여  생산성을 향상할 수 있는 아이디어를 도출하였습니다.



Petri Net모델 은 서로 직렬-병렬 형태의 상관관계를 가지는 여러 작업을 논리적 모델로 구현한 방식입니다.  이를 통해 장비가 최적의 상황으로 운영될 것을 이론적으로 모델링하고, 실제 로그데이터를 실시간으로  분석하였습니다. 그리고 로봇의 이상적인 움직임과 실제 움직임의 차이를 분석함으로써 작업에서 장비가  최대효율을 낼 수 있도록 하였습니다.




[금융업에서의 빅데이터 활용과 사례연구 ]


금융업에서 빅데이터를  어떻게 활용하고 있는지를 살펴 보기 위해, 먼저 국내 금융권에서 빅데이터 활용에 대한 동향을 파악하고,  카드 회사와 보험사, 은행 각 분야에서의 사례를 알아보겠습니다. 그리고 지능정보연구에서 발간한 다중모델을  이용한 자동차 보험 고객의 이탈예측에 대한 연구 논문을 통해 국내 자동차 보험사의 빅데이터 분석 사례를  살펴보겠습니다.



1. 금융산업에서의 빅데이터


많은 금융업체가 빅데이터 기술을 소비자 대출과 보험, 금융사기 방지 등 다양한 분야에서 활용하고 있습니다.  국내 금융권 가운데 카드, 보험사는 이미 신규 고객 개발, 마케팅 활용, 보험사기 방지 등 위험관리에 빅데이터를  적극 활용하고 있습니다. 국내 은행과 증권사들도 개인정보 보호와 IT보안 강화로 빅데이터 활용을 주저하다가  마케팅 분야에서 시범적으로 빅데이터 기술을 도입해 활용하기 시작했습니다.


기존 카드회사 들은 마케팅 목적에 맞추어서 고객을 발굴해 왔습니다. 하지만 최근에는 고객의 요구에 만족하는  ‘맞춤 마케팅’을 수행합니다. 맞춤 마케팅은 고객과 업종별 전체 결제정보에 기반을 둔 이용규모 변화, 카드사용,  패턴 등을 다양하게 담고 있는 빅데이터를 이용합니다. 이 빅데이터 자료를 바탕으로 매출정보에 대한 트렌드를  파악한 후 개인별 단기 이용성향 패턴을 찾아내어 수행하는 것입니다. 


보험사 에서도 빅데이터를 활용하고 있는데 국내 보험사의 경우 빅데이터를 이용하여 보험사기방지에 주로 이용하고,  국외 보험사의 경우 보험 상품혁신, 마케팅 활용 등 국내보다 좀 더 광범위한 분야에서 사용되고 있습니다.  대표적으로 ‘UBI(Usage Based Insurance : 운전습관 맞춤 보험)자동차보험’을 들 수 있습니다.


UBI (Usage Based Insurance : 운전습관 맞춤 보험)자동차보험은 자동차 운전자의 운전습관 및 행태에 따라 보험료를  차등 적용하는 보험입니다. 미국, 영국 등 주요국에서 사용하고 있는데요. 자동차 보험의 전통적인 요율 산정 기준  외에 차량에 부착된 ‘텔레매틱스(Telematics)' 라는 장치를 통해 보험가입자의 실제 주행거리를 포함하여 주행속도,  급 코너링, 급가속, 급제동, 주행시간대, 주행도로 종류 등 전반적인 운전습관 및 행태와 관련된 데이터를 종 합적으로 모니터링하고 이에 따라 보험료율을 책정합니다.


도코모 원타임 보험 ’은 일본의 NTT도코모와 도쿄해상이 공동으로 출시한 보험입니다. 이는 휴대전화에서 수집하는  위치 정보, SNS 데이터 등을 활용하여 빅데이터를 통해 일상생활 상황에 부합하는 보험 상품을 산출하고 이를  자동 이메일 시스템을 통해 각 고객에 맞게 판매하거나 권유하는 마케팅입니다.


은행
은행은 개인정보보호법 등 해결해야 하는 여러 가지 문제가 남아 있어 아직은 국내보다는 해외에서 많은 빅데이터 활용사례를 확인할 수 있습니다. 국내에서는 어떻게 빅데이터를 활용하는지 몇 가지 사례를 알아볼까요? 




국내은행인 기업은행에서는 인터넷과 소셜 미디어 상에서 은행 이미지나 활동 등에 대하여 고객 감성 분석을 합니다. 이를 통해  마케팅 및 은행 평판 관리에 활용하는 방안을 수립하고 있는 정도로 빅데이터를 활용하고 있습니다. 




기타 하나은행이나 우리은행에서는 각각의 보안시스템에 기록된 로그를 대상으로 빅데이터를 분석할 계획을 가지고  있으며 이를 통해 로그 통합분석 보안성향상 프로젝트를 계획하는 단계에 있습니다.




국외은행에서는 빅데이터를 어떻게 활용했을까요? 씨티그룹의 경우 빅데이터를 활용해 대출심사 정확도를  제고했습니다. 신용도가 낮은 특정 고객을 선별한 후 대출과 신용카드 발부 여부를 결정했습니다. 이는 법인고객의  대출상환가능여부를 판단하는 정확도를 50% 이상 향상시켰습니다. 



BoA(Bank of America : 뱅크오브아메리카)의 경우, 캐시 프로 모바일 개발하였는데, 이는 자영업자를 대상으로 자금관리를 지원해주는 상품입니다. 소셜 미디어  분석을 통해 고객 성향을 파악 후 이를 상품 개발에 반영했으며 실시간 디지털 마케팅 및 리스크에 대한 조기 경보  체계에도 활용했습니다.





 2. 사례 : 국내 자동차 보험사의 빅데이터 분석


2006년 지능정보연구에서 이제식 외 1명이 발표한 ‘다중모델을 이용한 자동차 보험 고객의 이탈예측에 대한 연구’  논문에 근거하여 고객이탈 예측을 위해 국내 자동차보험사가 고객 빅데이터를 분석한 사례를 살펴보겠습니다. 


국내 자동차보험사들은 금융과 보험간의 규제완화, 보험요율의 자율화, 외국 보험업체의 국내진출 등으로 인해  경쟁이 심화되었습니다. 결국 신규고객 확보에 대한 비용증가와 기업부담이 가중되었고 기존고객의 이탈문제가  보험업체의 중요한 이슈로 부각되었습니다. 이에 따라 국내 자동차 보험사들은 고객 예측모델 등을 통해 고객의  이탈방지를 위해 다양한 노력을 하고 있습니다.  고객 예측모델은 고객이탈 방지에 대한 노력을 더 효과적이고, 효율적으로 지원하는데요. 이 연구에서는 국내  자동차 보험사의 고객이탈 예측 문제를 다루고 있고, ‘보험가입 고객 중 보험만료일 시점으로부터 3개월 이내에  재가입을 하지 않은 고객’을 이탈고객으로 정의하였습니다. 

           

그리고 예측모델을 위해 실험데이터를 구축하였습니다. 110만 건의 고객데이터로부터 30,000건을 추출하여  학습데이터(Training Data), 검증데이터(Validation Data), 평가데이터(Test Data)로 분할한 것인데요. 모델의  학습과 검증을 위해 분할하였고 고객의 성별, 연령, 보험 가입 경력, 전계약사, 차량 연식, 납입 방법, 수납 형태,  고객 직업, 보험 종목, 차종 약칭, 보험기간 내 사고여부, 대인담보 가입여부, 이탈여부 등을 포함한 46개의  속성으로 구성되었습니다. 



데이터 구축 후 분석을 위해 다중 알고리즘을 사용하는 다중 모델을 적용하였는데요. 이 연구에서는 이탈고객  예측의 정확도 향상을 위해 단일 예측 알고리즘을 사용하지 않은 것입니다. 다중모델은 판별모델, 기본모델 그리고  지원모델로 명명된 3개의 단위모델로 구성되어있습니다. 판별모델은 새로운 입력사례가 주어졌을 때, 이 사례를  기본모델과 지원모델 중 어떤 모델을 사용해서 예측하는 것이 적합한지를 결정해 주는 모델로 하나의 입력사례에  대해서, 판별모델의 판별결과에 따라 예측을 수행할 모델이 결정됩니다. 기본모델은 해당 문제영역에 있어서  대부분의 문제들을 처리하기 위한 모델로 본 연구에서는 사전에 생성한 단일모델들 중 가장 좋은 성능을 보인  모델을 기본모델로 선정하였습니다. 마지막으로 지원모델은 기본모델이 잘못 예측하는 영역에 대해 예측을  수행하는 모델로 기본모델이 예측에 실패한 사례만을 가지고 만들었습니다.



이것은 자동차보험 가입고객 이탈예측을 위한 DyMos 다중모델의 흐름도인데요. 판별모델로 C5.0 의사결정나무  모델이 사용되었고, 기본모델로 사례기반추론 모델이 사용되었으며, 지원모델로 인공신경망 모델이 사용되었습니다.  평가데이터에 의하면 단일모델의 예측성능은 사례기반추론 모델이 65.6%로 가장 높았고 인공신경망 모델이 64.5%,  C5.0 의사결정나무 모델이 63.2%인 반면, 다중모델의 적중률은 71.7%로서, 단일모델에서 가장 좋은 성능을 보여준 사 례기반추론 모델의 적중률 보다 6.1% 포인트 높았습니다. 이는 이탈고객 예측의 정확도 향상을 위해 다중 모델을  적용하는 이유를 알 수 있는 결과값입니다. 

예측을 수행할 적합한 모델을 결정하는 판별모델은 어떤 기준으로 선택하는지 알아보겠습니다. 판별모델은  학습데이터(10,000건)와 검증데이터(10,000건)를 대상으로 예측을 수행한 예측 값과 실제 값을 비교하여 예측적중  여부 속성을 생성하고, 이를 목표속성으로 하여 결정됩니다. 이 기준에 따라 DyMos 다중모델의 흐름도에서는 C5.0  의사결정나무 모델이 사용되었습니다.




● 유사사례
방대한 데이터를 저장하고 가공하는 기술이 가능해지면서 금융권의 빅데이터 활용 영토도 넓어지고 있습니다.  특히 카드사의 빅데이터 기술이 눈에 띄게 정교해지고 있는데요. 국내 금융권의 빅데이터 활용은 카드사를  중심으로 활발하게 진행되고 있습니다. 신한카드는 상품 개발단계부터 빅데이터를 활용했습니다. 빅데이터를  기초로 고객이 선호하는 혜택을 특화 서비스로 구성한 게 특징입니다. 삼성카드는 최근 빅데이터를 기반으로  회원에게 할인과 포인트 적립 등 맞춤형 혜택을 자동으로 연결해 주는 상품을 선보였고 국민카드는 고객 위치에  가까운 가맹점 혜택을 선별적으로 제공해주는 '실시간 마케팅 서비스'에 위치기반 서비스를 활용하고 있습니다.


(출처: 알리바바 빅뱅 '빅데이터에 빠진 카드사' 데일리안 2014. 12. 09)






[소셜 네트워크 분석의 개념 ]


소셜 네트워크 분석의 정의, 특징,  현황, 표현하는 방식 등 개요를 짚어보고 소셜 네트워크 분석을 위해 사용되는 방법인 연결성과 밀도에  대하여 알아보겠습니다


1. 개요


개인적인 인간관계가 확산되어 형성된 사람들 사이의 연결된 네트워크인  사회 연결망을 분석하는 것을 소셜 네트워크 분석이라고 합니다. 소셜 네트워크 분석 툴이 유용한  경우는 어떤 것이 있을까요? 소셜 네트워크 분석 툴은 사회구조와 상호의존성을 파악할 경우나 개인,  그룹, 기관의 작업 패턴을 검토할 경우 유용합니다. 소셜 네트워크 분석의 역할은 다양한 출처에서   데이터를 취합하고, 관계를 분석하고, 관계의 영향, 질, 효능을 평가하는 것 모두를 포함합니다.  어떤 사람들이 관계망의 기능에 중요한 역할을 담당하는지, 어떤 하위 그룹이 있는지, 특정 관계망에  어떤 전체적인 연결 관계가 있는지 등을 분석하여 관계의 패턴과 개인 사이의 상대적인 위치를  보여 주는 것입니다. 


소셜 네트워크 분석 현황 에 대해서 살펴보겠습니다. 소셜 네트워크 분석 이론이 최근 각광을 받고  있는데요. 소셜 네트워크 분석 이론은 오랜 역사를 가진 분야로 IT 기술의 발전에 따라 관심을 받고  있습니다. 통신 및 온라인 소셜 미디어나 게임 및 유통업체에서 특히 관심을 보이고 있습니다.  소셜 네트워크 분석은 일반인도 익숙하게 접할 수 있습니다. 단적인 예로 Facebook 등에서 친구들의  관계를 그래프 형태로 보여주는 것을 생각하시면 되는데 일부 소셜 미디어 검색 및 관리 기능을 갖고  있는 솔루션이나 웹 페이지에서 이러한 기능을 보여주고 있습니다. 그리고 최근 한국에서는  정치권에서의 관심으로 많이 활용하려는 노력이 보이고 있습니다. 소셜 네트워크 분석은 어떻게  표현할까요? 일반적으로 사회 네트워크 분석에서는 분석하고자 하는 데이터를 행렬로 표현합니다.  행과 열이 만나는 셀에 특정 값을 입력하여 행과 열사이의 관계를 나타내는 것인데요. 개체와 개체간의  관계가 존재하면 1, 존재하지 않으면 0을 입력합니다. 다음 행렬을 한 번 보죠. A행과 C열이 만나는  셀에 1이 입력되어 있죠. 그러면 그래프가 다음과 같이 그려지는 것입니다. 이 방식은 매우 정밀한  결과를 제공할 수 있다는 장점이 있습니다.




2. 소셜 네트워크 분석에 사용되는 방법


연결성과 밀도

지금부터는 사회 네트워크 분석에 사용되는 방법에 대해서 살펴보겠습니다. 일반적으로 사용하는  방법은 연결성과 밀도입니다. 소셜 네트워크 분석은 특정 사람들이 네트워크 기능에 얼마나 중요한  역할을 하는지를 분석하고 네트워크의 전체적인 연결관계를 분석합니다. 그리고 네트워크의 고립관계도  분석하는 기법입니다. 이를 위해 사람간의 관계가 어떻게 맺어지는지를 파악하는 연결성과  전체 네트워크에서 사람들 사이의 연결된 정도를 나타내는 밀도를 사용합니다. 


연결성 분석 은 개인이 가지는 인기도, 사회적 성향, 고립도 등의 그룹 내에서 가지는  연결 성향을 파악할 수 있습니다. 이 분석 결과는 개인의 그룹 내 성향을 나타냅니다. 그래서 이 자료를  기반으로 교수자 또는 교회 리더자가 그룹 구성원 개인의 장점을 부각시킬 수 있고, 단점을 보완하여  전체 그룹을 이끌어가는 지표로써 사용할 수 있습니다. 다음은 밀도에 대하여 알아보겠습니다. 


밀도 는 네트워크에서 구성원들간에 얼마나 많은 관계를 맺고 있는가를 표현하는 개념으로 그룹 전체의 관점에서  구성원들이 얼마나 친밀한 관계를 유지하고 있는지, 그룹 내 고립인원이 있는지를 나타냅니다. 그래서  현재 그룹 전체의 친밀도를 파악하고, 그룹을 이끌어가는 방향성을 고려할 수 있게 됩니다. 그리고  밀도는 구체적으로 포괄성과 연결정도의 개념을 기반으로 측정되는데요. 포괄성은 네트워크에서 연결된  요소의 수를 의미하며 연결정도는 각 점들이 다른 점들과 얼마나 많이 연결되어있는가를 나타냅니다. 



연결성 분석을 위한 그래프 마이닝 기술 을 알아보겠습니다. 그래프 마이닝 기술은  페이스북이나 트위터와 같은 소셜 미디어의 데이터를 표현하는 방법으로 다양한 곳에 활용되는 매우  중요한 기술입니다. 빅데이터 중 가장 큰 빅데이터에 속합니다. 따라서 향후 빅데이터 중 가장 활용도가  높은 표현 형식 중 하나라고 할 수 있습니다. 그래프는 데이터 간의 관계를 표현할 때 사용하는  데이터 구조입니다. 참고로 그래프 마이닝은 데이터 마이닝 기술의 일종으로, 그래프에서 마이닝 기술을  적용하는 기술입니다. 일정 빈도수 이상의 특정 패턴을 찾아내는데요. 그러기 위해서 그래프 마이닝은  점과 선 또는 링크로 구성되었습니다. 점은 데이터 요소에 해당하는 정점으로 예를 들면 고객입니다.  선은 점간의 관계를 표시하는 간선이며 링크는 방향성의 유무를 표현하는 것으로 고객과 고객간의  관계를 나타내는 것입니다. 


그럼 이제 그래프 마이닝 기술로 네트워크 구성원간의 연결 관계를 시각적으로 표현하는 것에 대해서 살펴보겠습니다.



그래프는 ‘점’과 ‘선’으로 표현하는 방법으로써  ‘점’은 네트워크 구성원을 의미하고, ‘선’은 구성원간의 연결을 의미합니다. 그리고 방향 그래프에서  연결정도는 링크로 나타내죠. 링크는 연결의 방향에 따라 인-디그리와 아웃-디그리의 두 가지 개념으로  나누어집니다. 이에 대하여 좀 더 자세하게 살펴볼까요? 인-디그리는 한 점이 다른 점으로부터 화살표를  받는 관계의 정도이고, 의미상으로 볼 때 한 점이 가지는 인기도를 반영하는 지표입니다. 인-디그리가  높다는 것은 그만큼 다른 사람들로부터 정보제공의 ‘인기’를 누리는 것으로 해설됩니다. 아웃-디그리는  반대로 어떤 점이 다른 점에게 화살표를 주는 관계의 정도를 나타냅니다. 각 점이 가지는 인-디그리와  아웃-디그리 값을 분석하여 그 요소가 네트워크에서 가지는 특징을 분석할 수 있습니다.




소셜 네트워크 솔루션 은 여러가지가 있는데요. 



먼저 카이젠 은 미국 소프트웨어 회사로 1998년 설립되어  오피스는 샌프란시스코, 파리와 런던에 위치하고 있습니다. 카이젠은 주로 예측용 분석 소프트웨어를   개발하는데요. 카이젠에 의해서 개발된 인피니트인사이트라는 소프트웨어는 분류, 회귀, 시계열,  제품 추천 및 소셜네트워크 분석에 활용되는  소프트웨어입니다. 





SAS 는 Statistical Analysis System를  줄인 것입니다. 통계분석 소프트웨어 제품군을 개발하는 곳인데요. 비즈니스 인텔리전스, 데이터 관리  및 예측분석과 관련한 제품군을 SAS연구소에서 개발하였습니다. 2002년에는 텍스트 마이너 소프트웨어를  개발하였고, 2010년에는 소셜 미디어 분석, 소셜 미디어 모니터링, 참여와 심리 분석을 위한 도구 등을  개발하였습니다. 





엑스트랙은 핀란드의 소프트웨어 업체로 차세대 고급 분석 솔루션을 개발 및  제공합니다. 관심있는 현상을 예측할 수 있도록 소셜 네트워크에 관한 정보를 포함하여 다양한 분야의  방대한 데이터를 분석할 수 있는 분석 플랫폼을 제품화합니다. 그 외에도 다양한 소프트웨어 제품을  출시하였습니다. 종류는 고객 이탈 방지, 고객 확보, 고객 프로파일링, 서비스 프로모션 등이 있습니다.
           



이디로는 2003년 설립된 아일랜드 소프트웨어 개발 업체로 소셜 네트워크 분석과 빅데이터 분석과  관련한 제품을 출시하고 있습니다. 주력 제품으로는 Idiro SNA 플러스로 이는 소셜 네트워크 분석과  빅데이터 분석 솔루션을 제공하고 있습니다. 





오날리티카는 2009년에 설립된 소프트웨어 개발 업체로서 소셜 네트워크 분석 및 분석을 통한 통찰력을  제공하는 서비스에 초점을 맞추었습니다. 메시지로 구체적인 시기에 특정 주제에서 가장 영향력 있는  사람을 식별하게 하며 영향력 있는 관계자들과의 관계를 확장 할 수 있는 서비스를 제공합니다.   영향력 있는 관계자들에는 언론인, 전문가, 지도자, 블로거 등을 예로 들 수 있습니다. 




유씨아이넷은 사회적 네트워크 데이터의 분석을 위한 시리즈를 제공하고 있습니다.  




파젝은 슬로바니아의 대학에서 만든 프로그램입니다. 네트워크 분석 소프트웨어 프로그램으로 거미를 의미하여 이름 붙여졌습니다.
          





인플로우는 오알지넷과 LLC라는 회사가 제공하는 소셜 네트워크 분석 소프트웨어입니다. 인플로우 3.1은  네트워크 분석과 네트워크 시각화 기능을 제공하고 있습니다. 



지금까지 소셜 네트워크 솔루션들을 살펴보았는데요. 각각 많은 장점들이 있지만 데이터 로딩 속도나 시각화 기능 등의 제약이 있기 때문에  아직 성숙된 시장은 아닌 것으로 판단됩니다. 하지만 급성장하고 있는 분야인 것은 확실합니다. 




[R을 활용한 소셜 네트워크 분석 수행 ]



 R 프로그래밍 언어 패키지 중 i graph패키지를 이용하여 분석을 해볼 텐데요. R프로그램에서 소셜 네트워크를 다루는 패키지는  i graph패키지 말고도 매우 다양합니다. 그러나 모든 패키지를 다룰 필요가 없는 것이 너무 지나치게  이론적인 배경에 집중하다 보면 오히려 소셜 네트워크 분석 수행을 이해하는데 어려움을 느낄 수 있다고  생각합니다. 데이터를 입수해서 이를 소셜 네트워크 그래프로 처리하고 속성에 따라 그래프를 다양하게  처리함으로써 의미 있는 시야를 가지게 되는 것이 중요하다는 것을 기억하며 학습을 시작하세요.



1. 트위터 검색을 통한 사용자간 소셜 네트워크 분석


트위터에서 검색할 용어와 개수

 R을 활용하여 트위터 검색을 통한 소셜 네트워크 분석을 수행하여 보겠습니다. 먼저 트위터에서 검색할  용어와 개수에 대하여 살펴보겠습니다. 1번 박스 안의 search.term <- '#Rstats‘는 twitter API를  통해 트위터에서 검색할 용어를 #Rstats로 정의한다는 것이고 2번 박스 안 search.size <- 50은  최대 검색할 개수를 50개로 제한한다는 것입니다. 3번 박스에서 library(igraph)와 library(twitteR)로  igraph와 twitterR을 설치하고 search.results <- searchTwitter(search.term,n=search.size)로  트위터에서 #Rstats 이라는용어를 가지는 트위터를 50개 찾아 search.results에 저장합니다. 



노드간 관계 네트워크 만들기

4번 박스의 vl <- vector() 줄 바꿔 for (twt in search. results)는 변수인 vl에 백터함수를 할당하여 초기화하고 검색된 결과의 사용자 이름을 가져옵니다.  그리고 + vl <- c(vl,screenName(twt))로 기존의 vl에 검색된 결과의 사용자 이름을 추가하여  새로운 vl벡터를 생성합니다. 이는 소셜 네트워크의 노드 리스트를 만드는 과정에 해당합니다. 

그리고  5번 박스의 vl <- as.data.frame(table(vl)) 줄바꿔 colnames(vl) <- c('user','tweets')로  각 사용자의 노드를 계산하고 데이터에 대한 이름을 제공합니다. 그 후 g <- graph. empty(directed =TRUE) 줄 바꿔 g <- add.vertices(g,nrow(vl),name=as.character(vl$user),  줄바꿔 + tweets=vl $tweets)를 입력하면 변수 g에 노드가 추가되어 노드 간 관계 네트워크가 만들어집니다.



Followers 가져오기

지금부터는 Follower들을 가져와볼텐데요. V(g)$followers <- 0으로 앞에서 정의된 관계 네트워크  g에서 followers들을 초기화합니다. getUser('Biff_Bruise')$getFollowers(n=10)는 특정 사용자의  follower들을 가져오는 스크립트인데요. 특정 사용자인 ‘Biff_Bruise'의 Follower 10명을 가져온다는  의미입니다. for (usr in V(g)) { 줄 바꿔 + tuser <- getUser(V(g)$name[usr+1]) 줄 바꿔 +  print(paste("Getting info on",screenName(tuser)))스크립트로 이름에 의한 사용자의 정보를  가져옵니다. 

+ V(g)$followers[usr+1] <- followersCount(tuser)로 총 follower의 수를 계산합니다.

그리고 + followers.list <- getUser(V(g)$name[usr+1])$getFollowers() 줄 바꿔 + for (tflwr in   followers.list) { 줄 바꿔 + if (screenName(tflwr) %in% V(g)$name) 스크립트를 입력하면  follower들이 많이 접속합니다. 



그래프 그리기
 이제 소셜 네트워크 그래프를 그리기 위한 스크립트를 정리하여 볼 텐데요. 12번 박스 안의 언어는  화살표 끝을 추가하고 13번 박스 안의 언어로 그래프의 레이아웃을 설정합니다. 
그리고 V(g)$size =  log( V(g)$followers ) * 1.8 줄 바꿔 V(g)$label=V(g)$name 줄 바꿔 V(g)$label.cex = 0.6으로  그래프의 크기와 라벨 이름과 사이즈를 지정합니다. 그래프의 크기는 총 follower의 수에 근거해  사이즈를 결정합니다. 다시 말해 노드의 크기는 follower 수의 로그 값에 비례하게 설정한다는  것입니다. 또한 label 이름과 사이즈를 지정합니다. tcolors <- rev(heat.colors(max(V(g)  $tweets))) 줄 바꿔 V(g)$color <- tcolors[ V(g)$tweets ]는 노드의 색이 검색된 결과에 나타난  트위터의 개수를 반영한다는 것을 나타냅니다. E(g)$arrow.size <- 0.3은 화살표 끝을 지정합니다.  그리고 E(g)$curved <- FALSE로 곡선이 없고 E(g)$color <- 'blue‘로 선 색깔이 파란색임이  지정되었습니다. 대칭 연결을 읽기 쉽게 만들어진 것입니다. 그럼 그래프를 살펴볼까요? 




2. 결과보기



이것은 사용자 간의 관계를 확인할 수 있습니다. 그리고 노드의  크기로부터 각 사용자의 Follower의 수를 유추할 수 있고 노드의 색으로부터는 트위터의 개수가 많고  적음을 유추할 수 있습니다. 






[오피니언 마이닝의 개념 ]



수행단계는 긍정, 부정, 중립을 표현하는  단어 정보를 추출하는 단계, 세부 평가 요소와 그것이 가리키는 오피니언의 연결 관계를 포함한 문장을  인식하는 단계, 긍정, 부정, 중립 표현의 수 및 유용한 문장을 추출하여 리뷰 요약을 생성하면  선호도를 분류하는 단계로 되어 있습니다. 이 점을 잘 기억하고 학습을 시작하세요. 



1. 개요


오피니언 마이닝 은 비정형 데이터 마이닝의 유형 중 하나입니다. 오피니언 마이닝은 사람들이 특정 제품 및 서비스를  좋아하거나 싫어하는 이유를 분석하며 어떤 사안에 대해 대중의 관심이나 여론이 실시간으로 어떻게  변하는지 확인합니다. 즉 오피니언의 흐름을 반영하여 주어진 조건과 상황에 따라 그에 맞는 '추천'을  하고자 하는데요. 오피니언 마이닝은 일반적으로 3단계의 의견분류의 과정을 가집니다. 먼저 긍정,  부정, 중립을 표현하는 단어 정보를 추출합니다. 다음으로 세부 평가 요소와 그것이 가리키는  오피니언의 연결 관계를 포함한 문장을 인식합니다. 마지막으로 긍정, 부정, 중립 표현의 수 및 유용한  문장을 추출하여 리뷰 요약을 생성하면 선호도를 분류할 수있습니다. 



2. 수행단계



긍정 및 부정을 표현하는 단어 정보 추출

 의견분류를 하는 세 단계가 즉 오피니언 마이닝의 수행단계가 되는데요. 오피니언 마이닝 각 단계별로  좀 더 자세히 살펴보겠습니다. 먼저 첫번째로 긍정/부정 표현에 해당하는 어휘 정보를 추출하는  단계입니다. 기존에 구축된 사전 등의 리소스를 이용하거나 수작업을 통합니다. 이를 통해 해당  도메인에서 높은 빈도로 긍정/부정을 표현하는 단어들을 확인할 수 있는데요. 아쉽게도 이런 리소스는  영어에 국한되어 있고 한국어에 대해서는 아직 활용할 만한 리소스가 존재하지 않습니다. 또한 학습  데이터에 대한 유용한 통계 정보를 활용하여 긍정 및 부정을 표현하는 어휘 정보를 추출하기도 합니다.  통계 정보를 활용하면 자동으로 어휘 정보를 얻을 수 있는데요. 단, 주어진 특정 도메인에 대해  긍정/부정 표현에 해당하는 단어들을 자동으로 생성하는 것은 쉽지 않습니다. 한국어로 작성한 사용자  별점을 활용하여 긍정 및 부정을 표현하는 단어 정보를 추출할 수도 있는데요. 별점이 아주 높은  리뷰에서는 높은 빈도 즉, 고빈도 단어를 긍정 표현으로 추출합니다. 그리고 사용자 별점이 아주 낮은  리뷰에서는 고빈도 단어를 부정 표현으로 추출할 수 있습니다. 하지만 한국어로 작성된 긍정과 부정에  대한 표현은 자동으로 분석했을 때 정확도는 약 80% 정도록 아주 높지는 않았습니다. 수작업을 최소화  하면서 유용한 어휘별 긍정/부정 감정 정보를 자동으로 생성하는 방법에 대한 연구가 계속 수행되어야  합니다. 



세부 평가요소와 오피니언으로 구성된 문장을 인식

문장을 인식하는 것 또한 무척 중요한데요. 첫 번째 단계에서 구축된 어휘 정보를 사용하여 세부 평가요소와 긍정/부정 표현을  찾게 됩니다. 그리고 규칙기반 방법과 통계기반 방법을 동시에 활용할 수 있습니다. 형용사를 오피니언  단어로 간주하고 긍정/부정을 결정하기 위하여 다양한 규칙 및 통계량을 활용합니다. 문장 단위로  분류하기 위해서 여러가지 방법을 적용할 수 있는데요. 이는 긍정적인 오피니언인지 부정적인  오피니언인지 문장 단위로 분류하기 위함입니다. 그리고 대량의 레이블이 부착된 학습 데이터를  생성하여 다양한 기계학습 알고리즘을 적용하여 학습을 수행합니다.


 규칙기반방법은 사용자에게 개인 신상, 관심 분야, 선호도 등을 질의하여  그 사용자의 정보 프로파일을 획득해 내는 기법입니다. 예를 들어, 우편 번호, 사용하는 컴퓨터의 종류,  취미, 어떤 특정 사항에 대한 선호도 등을 질문하게 되고 이러한 질문들을 통해 그 사람의 프로파일을  획득하게 되는데요. 이러한 정보를 기반으로 고객의 심리 정보와 고객의 선호도 정보에 알맞은 정보 및  상품을 추천 또는 제공하는 방법입니다. 




긍정 부정 표현의 수 및 중요 문장 추출하여 리뷰 요약 생성
마지막으로 긍정/부정 표현의 수 및 중요 문장을 추출하여 리뷰 요약을 생성하는 단계입니다.  각 세부 평가요소에 대한 긍정 표현과 부정 표현의 차를 통하여 사용자들의 선호도를 제시할 수  있는데요. 맛집 리뷰에서 평가요소들을 요약한 표를 그 예로 들 수 있습니다. 특정 맛집의 전체평가,  맛, 서비스, 분위기, 가격, 실재료, 양, 위생, 주차, 대표 메뉴 등 여러 평가요소에 대한 긍정/부정  표현의 비율을 나타냈습니다. 이러한 오피니언 마이닝 결과를 통해 사람들이 맛집의 세부 평가요소에  대하여 좋아하거나 싫어하는 정도를 얻을 수 있습니다. 긍정/부정 표현의 수 및 중요 문장을 추출하여  리뷰 요약을 생성하는 단계는 앞에 제시된 오피니언 마이닝의 결과를 긍정/부정 평가의 정도를 나타낸  것과 요약 형태로 제시될 수 있는데요. 이번에는 세부 평가요소와 관련된 오피니언을 포함하는 문장들  중 유의미한 문장들을 긍정/부정 평가별로 추출하여 중요 문장으로 구성된 리뷰 요약을 생성하는 것에  대해서 살펴보겠습니다. 이 표는 특정 맛집의 평가요소 중 ‘가격’에 대한 리뷰 요약의 예입니다.  긍정 평가와 부정 평가로 나눠 가격에 대한 리뷰를 요약해놨는데요 강조된 텍스트들이 보이시나요?  가격, 만족, 적당, 싼, 비싼, 별로 등등이 있는데요. 강조된 단어는 평가 요소나 오피니언에 속하는  단서 단어들입니다. 리뷰 요약을 할 시에는 사용자들의 리뷰를 대표하면서 유익한 정보를 제공해 줄 수   있어야 하고 읽기 편하고 길지 않아야 합니다. 





[R을 활용한 오피니언 마이닝 수행 ]


1. 텍스트 파일 불러와서 긍정, 부정에 대한 단어 누적하기


R 프로그래밍 언어 패키지 중  twitter R패키지를 이용하여 분석을 해볼 텐데요. 텍스트 파일을 불러와서 긍정, 부정에 대한 단어를  누적하고 이에 대하여 score 부여 및 결과를 보는 것까지 살펴보겠습니다. 


자, 지금부터 힐튼 호텔  평판에 대한 오피니언 마이닝을 수행 하여보겠습니다. 1번 박스 안 언어를 먼저 볼까요?   library(twitteR)라고 되어 있습니다. library는 괄호 안의 파일을 불러오는데요. twitteR을 불러오는  것입니다. twitteR이라는 것은 R 프로그래밍 언어 패키지 중 하나로 twitter API에 접속해서 정보처리를  하는 것입니다. 다음 2번 박스에 hilton.tweets <- searchTwitter("@hilton", n=1500)를 보겠습니다.  우리는 화살표 왼쪽의 함수를 실행해서 얻은 결과를 맨 왼쪽의 변수에 담는다는 것을 알고 있습니다.   

즉, hilton.tweets에는 @hilton을 언급한 내용을 최대 1500개의 message를 가져와서 저장하는 것입니다.  그러나 실제로는 대부분 1500개를 가져오지 못하는데요. 이는 일정시간 동안의 사용량을 접속한 계정인  IP address등으로 파악하여 자동적으로 제한하기 때문입니다. 



텍스트추리기

트위터에서 가져온 텍스트를 추려보겠습니다. 3번 박스를 먼저 보면 library(plyr)라고 되어  있습니다. library는 괄호 안의 파일을 불러오죠. plyr을 불러옵니다. plyr은 데이터를 결합하고 쪼개서  해석 용이한 형태로 만들어 주는 패키지입니다. 즉, 빅데이터를 분석하기 전 분석하기 쉬운 형태로  데이터를 만들기 위한 패키지입니다. 이를 실행하고 hilton.text <- laply(hilton.tweets,  function(t)t$getText())를 입력하면 앞서 hilton을 언급한 내용을 최대 1500개의 message를 가져와서  저장해놓은 hilton.tweet에서 text만을 추출해서 hilton.text에 저장합니다. 추린 텍스트 중에서 이제  긍정 단어와 부정 단어를 찾고 누적해보겠습니다. pos.word=scan("./positive -words.txt",  what="character", comment.char=";“)와 neg.word=scan("./negative-words.txt",what="character",   comment.char=";")는 긍정 단어와 부정 단어에 관련된 영어 관련 파일을 읽어서 pos.word, neg.word에 각각  저장한다는 것입니다. 그리고 pos.words < - c(pos.word,"upgrade") 와 neg.words <- c(neg.word,  "wtf","wait", "waiting","epic fail","mechanical")는 기존 긍정과 부정 단어집에 내용에 따른 별도  정의나 추가 단어를 누적한다는 것입니다. pos.word에 upgrade를, neg.word에 wtf, wait, waiting,  epicfail, mechanical 등을 추가로 누적합니다.  





 2. 긍정 및 부정에 대한 score 부여 및 결과보기


긍정 부정에 대한 score 부여
지금부터는 긍정 단어와 부정 단어들을 이용해서 긍정 및 부정에 대한 score를 부여하는 루틴을  알아보겠습니다. 이는 타이핑을 치지 않고 제공된 파일을 이용해서 직접 loading하여 처리합니다.  7번 박스부터 13번 박스까지 이에 해당하니 참고하세요. 그럼 7번 박스를 보겠습니다. 
score.sentiment   = function(sentences, pos.words, neg.words, .progress='none') 줄 바꿔 {는 score를 부여할 변수와  긍정 단어와 부정 단어들을 할당하고 progress를 표시할 것인지 결정합니다. 이 학습에서는 none으로  하여 표시하지 않도록 합니다. 8번 박스를 보시죠. require(plyr) 줄 바꿔 require(stringr) 줄 바꿔   scores = laply(sentences, function(sentence, pos.words, neg.words) 띄우고 {는 plyr, stringr를  활용하는데요. stringr은 문자를 보다 쉽게 처리하고 작업할 수 있게 해주는 패키지입니다. 긍정,  부정에 따라 score를 변환하도록 합니다. 9번 박스 안의 언어를 보겠습니다. 
sentence =   gsub('[[:punct:]]', '',sentence) 줄 바꿔 sentence = gsub('[[:cntrl:]]', '', sentence) 줄 바꿔  sentence = gsub('\\d+', '', sentence)는 구문점이나 특수기호, 숫자문자열을 빈칸으로 대체하도록  설정합니다. 
그리고 sentence = tolower (sentence) 줄바꿔 word.list = str_split(sentence, '\\s+')줄  바꿔 words = unlist(word.list)는 문장을 단어 리스트로 변환합니다. pos.matches = match(words,  pos.words) 줄 바꿔 neg.matches = match(words, neg.words)는 단어들을 긍정 단어와 부정 단어로  비교하여 개수를 저장합니다. 12번 박스의 언어에서 세번째 네번째 줄을 한 번 볼까요? score =  sum(pos.matches) - sum(neg.matches)는 긍정 단어와 부정 단어 개수의 합을 차감하여 점수를 산출하고  return(score)로 되돌려줍니다. scores.df = data.frame(score=scores, text=sentences) 줄 바꿔  return(scores.df) 줄 바꿔 }는 점수와 문장을 데이터프레임 형태로 되돌려주면 긍정 및 부정에 대한  score 부여가 마무리 해줍니다. 



실행 후 결과
마지막으로 결과 산출을 위해 hist(hilton.scores$score) 실행합니다. 부여한 긍정 및 부정에 대한   score로 히스토그램을 산출합니다. 다음과 같은 히스토그램이 나왔습니다. 여기서 음수는 부정, 0은  중립, 양수는 긍정을 표현합니다. 지금 히스토그램을 보면 빈도수가 가장 높은 것은 0입니다. 하 지만 이는 단어들이 붙어있어 구분을 하지 못해 0으로 처리된 중립이죠. 두 번째로 높은 빈도수를  자랑하는 것이 1이기 때문에 힐튼 호텔 평판에 대한 오피니언 마이닝은 긍정이 더 많음을 알 수  있습니다.










[텍스트 마이닝의 개념 ]


1. 개요


텍스트 마이닝은 비정형 데이터 마이닝의 유형 중 하나입니다. 텍스트 마이닝은 비정형  및 반정형 데이터에 대하여 자연어 처리 기술과 문서 처리 기술을 적용하여 유용한 정보를 추출, 가공하는  목적으로 하는 기술입니다. 실생활에서 만들어 지는 대부분의 자료는 문서 형태입니다. 여러 분야의 논문, 신문  또는 잡지의 기사, 여론조사, 콜센터의 전화 보고서, 이메일, 디지털 형태의 문서 등이 문서 형태를 가지는데요.  문서 형태의 데이터는 기존의 통계분석이나 데이터 마이닝 기법을 적용하기에 부적합한 데이터 형태를 가집니다.   그리고 대부분 텍스트 데이터베이스에 저장된 데이터는 반구조적 데이터입니다. 문서는 제목, 작가, 출판날짜,  길이, 분류 등과 같은 약간의 구조적인 분야들을 포함할 수 있고, 또 문서의 요약, 내용과 같이 크기가 큰  비구조적 텍스트 요소 또한 포함되기 때문입니다. 즉, 반구조적 데이터란 완전하게 구조적이지도 않고 완전하게  비구조적이지도 않은 데이터를 의미합니다. 


텍스트 마이닝의 응용분야 는 다양한데요. 어떤 경우에 응용하는지를 살펴보겠습니다. 과학논문 데이터베이스에서  특정 주제의 논문들을 찾을 경우 텍스트 마이닝을 응용합니다. 그리고 문서로부터 구조화된 정보를 추출하여  데이터베이스화 시키거나 규칙을 찾을 경우, 사용자가 웹 상에서 문서를 찾는 것을 도와줄 때 경우, 대량의  데이터베이스에서 문서의 분류 및 군집화할 경우, 문서 분류정보를 이용하여 문서를 재해석할 경우,  신문/논문/보고서를 요약할 경우, 문서를 번역할 경우, 스팸메일을 여과할 경우, 문서를 여과하거나 추천할 경우,  대표적 키워드나 토픽을 추출할 경우, 질의 응답시스템을 활용할 경우, 설문지 조사의 기타항목을 요약할  경우 등이 있습니다. 




데이터 마이닝과 텍스트 마이닝을 비교 하여 각 특징에 대하여 정리해보겠습니다. 





먼저 데이터마이닝과  텍스트 마이닝은 마이닝할 대상이 다른데요. 데이터마이닝이 수치 또는 범주화된 데이터를 대상으로 적용하는  반면, 텍스트 마이닝은 텍스트를 대상으로 적용합니다. 그리고 구조를 보면 데이터 마이닝이 관계형 데이터 구조를  가지는데 반하여 텍스트 마이닝은 비정형 또는 정형의 텍스트 데이터를 다룹니다. 이 둘은 목적도 다른데요.  데이터 마이닝이 미래 상황 결과의 예견 및 예측을 하는 목적을 가지는 반면, 텍스트 마이닝은 적합한 정보를  획득하고 의미를 정제하고 범주화하는 목적을 가집니다. 그리고 방법으로는 데이터 마이닝이 기계학습 방법을  사용합니다. 텍스트 마이닝은 기계학습 방법을 포함하고 인덱싱, 언어처리, 온톨로지 등의 방법도 적용합니다.  이 중 온톨로지가 낯설을 수 있는데요. 온톨로지는 사람들이 세상에 대하여 보고 듣고 느끼고 생각하는 것에  대하여 서로 간의 토론을 통하여 합의를 이룬 바를 개념적이고 컴퓨터에서 다룰 수 있는 형태로 표현한 모델로,  개념의 타입이나 사용상의 제약조건들을 명시적으로 정의한 기술입니다. 온톨로지는 일단 합의된 지식을 나타내므로  어느 개인에게 국한되는 것이 아니라 그룹 구성원이 모두 동의하는 개념임으로 프로그램이 이해할 수 있어야 하므로  여러 가지 정형화가 존재합니다. 




텍스트 마이닝의 문제점

텍스트 마이닝의 문제점은 크게 두 가지가 있습니다. 하나는 상당히 자연어에 영향을 많이 받는다는 것입니다.  자연어란 사람이 쓰는 말로 한국어, 일본어, 독일어, 영어 등을 의미하는데요. 자연어 중 한글이나 한국어 처리에서  문제가 있는 분야는 광학문자판독, 음성인식 그리고 감성분석 등이 있습니다. 또 하나의 문제점은 분석 결과물  자체로 어떤 성과를 보기 어렵다는 것입니다.이는 분석 결과물 자체를 그대로 비즈니스 모델에 적용해서 뭔가를  만들어 성과를 보기 어렵다는 의미인데요. 워드 클라우드란 단어를 기억하고 가셔야 합니다. 이는 자주 볼 수 있는  분석 결과물 시각화 방법으로 단어들이 둥둥 떠 있고 단어끼리 선을 연결하여 시각화하는 방법입니다.



텍스트 마이닝이 요구하는 기법

텍스트 마이닝은 데이터 마이닝 기법 외에도 자연어 처리 기술 문서 처리 기술 을 추가로 요구합니다. 텍스트로 된  정보원으로부터 필요한 지식을 추출하는데 사용되는 자연어 처리 기술과 문서 처리 기술에 대해서 살펴보겠습니다. 





2. 자연어 처리 기술과 문서 처리 기술



자연어 처리 기술

먼저 자연어 처리 기술부터 알아보겠습니다. 텍스트 마이닝은 자연어 처리 도구에 매우 많이 의존하고 있습니다.  자연어 처리 도구란 자연어를 처리하는데 필요한 소프트웨어 라이브러리들을 의미하는데요. 형태소 분석기,  구문 분석기, 화행 분석기, 대화처리 분석기 등이 있습니다. 이 도구들은 자연어의 특성을 많이 타는 것으로 각  언어별로 다 품질이 다르고, 사전 관리 등 복잡한 문제가 있습니다. 영어권의 경우에는 기술적인 진척이 많고  영어의 특성이 분석이 더 쉽다는 것이 없지 않아 잘 되는 것도 있지만 한글 및 한국어는 어순이 명확하지 않아  아직은 기술적으로 부족하여 분석이 어려운 편입니다. 현재의 자연어 처리 기술은 부족합니다. 텍스트의 내용을  이해할 수 있을 만큼의 정확한 정보를 제공할 수준에 이르지 못하였을 뿐만 아니라, 구문 정보조차도 아주 높은  정확도로 제공하지 못하고 있습니다. 따라서 순수한 자연언어처리 기법을 사용하여 관계를 파악하는 것은  불가능합니다. 그래서 현실성이 있는 수준의 처리만 하여 필요한 정보를 추출하는데요. 구문 정보를 파악하기 위해  현재는 전체 파싱 대신에 부분 파싱 기법을 사용합니다. 파싱이란 컴퓨터에서 컴파일러 또는 번역기가 원시 부호를  기계어로 번역하는 과정의 한 단계로 각 문장의 문법적인 구성 또는 구문을 분석하는 과정입니다. 



자동문서 분류(텍스트 Classification)
문서 처리 기술 중 하나는 자동 문서 분류입니다. 대량의 온라인 문서들과 함께 중요한 텍스트 마이닝 작업으로  주어진 문서에 대해서 그 문서가 속하는 클래스를 결정하는 기술입니다. 자동 문서 분류 절차는 미리 분류된  문서들의 집합을 시험 집합으로 구성한 후 시험 집합은 분류 체계를 구성하기 위해 분석합니다. 그리고 생성된  문서 분류 체계는 다른 온라인 서류들의 분류에 사용됩니다. 일반적으로 문서 공간을 벡터 공간으로 보아 벡터로  문서를 표현합니다. 



문서 처리에 기계학습 방법을 적용하기 위해서 문서를 기계학습에 적합하도록 표현한 것인데요.
이 때, 벡터의 각 요소는 어휘 내의 한 단어가 됩니다. 그리고 비슷한 문서들이 유사한 관련 용어 빈도수들을
갖는다고 기대하기 때문에 빈도수 표에서 유사한 관련 용어 발생에 기초합니다. 이로써 문서들 사이 또는 문서  집합에서의 유사성을 측정할 수 있습니다. 



키워드 기반 연관분석
문서 처리 기술 중 나머지 하나는 키워드 기반 연관분석입니다 키워드 기반 연관분석은 빈번하게 발생하는 키워드의  집합이나 용어에서 연관성이나 상호관계를 발견하는 것입니다. 연관 분석 절차를 살펴보면 먼저 텍스트를 구문분석,  어근분석, 불용어 제거 등의 순서로 전처리를 하고, 연관 마이닝 알고리즘을 가동합니다. 문서데이터베이스에서  각 문서는 트랜잭션으로 볼 수 있고, 문서에서 키워드들의 집합은 트랜잭션에서 항목의 집합으로 생각할 수  있습니다. 그리고 문서 데이터베이스에서 키워드 연관 마이닝 문제는 트랜잭션 데이터베이스에서 품목 연관성  마이닝 문제와 유사합니다. 





[R을 활용한 텍스트 마이닝 수행 ]



1. 텍스트 파일 불러와서 코퍼스(Corpus)로 변환하기  


Corpus

R 프로그래밍 언어 패키지 중 tm패키지를 이해하기 위해서는 코퍼스(Corpus)에 대한  이해가 우선이 되어야 하는데요. 코퍼스(Corpus)는 텍스트 문서들의 집합으로 tm패키지에서 문서를 관리하는  기본 구조입니다. R 프로그래밍의 외부 데이터베이스나 파일로 관리됩니다. 그리고 저장장소를 표시하는 DirSource,  VectorSource, DataframeSource처럼 디렉토리, 백터값, 데이터프레임을 통해 읽어 들여 생성됩니다. 


Tm패키지 설치
R프로그래밍 언어를 활용하여 텍스트 마이닝을 수행해보겠습니다. 먼저 R 프로그래밍 언어 패키지 중  tm패키지를 설치해보겠습니다. 1번 박스 안 언어를 먼저 보겠습니다. library(tm)는 tm패키지를 불러오는  언어입니다. 그리고 R 디렉토리 - library - tm - 텍스트s - txt 폴더 안에 텍스트 마이닝에 필요한 텍스트 파일을  넣습니다. 그 후 두번째 줄에서 txt라는 이름으로 변수를 선언합니다. txt에는 화살표 왼쪽의 함수를 실행해서 얻은  결과를 담는 것입니다. 그럼 이제 우리는 언어를 해석할 수 있습니다. 읽어 들일 문서의 pass정보를 tm/텍스트/txt  디렉토리에서 가져와 txt에 담는다는 것입니다. 자, 그럼 2번 박스를 보죠. 우리는 이제 해석할 수 있습니다.  ovid라는 변수에 1번에서 불러온 텍스트들을 코퍼스(Corpus)로 변환하여 넣는 건데요. 위의 txt를 통해 읽어 들일  디렉토리를 지정하고 라틴어로 된 문서임을 지정하여 읽어 들인다는 의미입니다. 3번 박스의 언어는 읽어 들일  reader의 종류를 확인하는 것입니다. word, pdf,csv 등의 다양한 문서형식을 읽어 들일 수 있습니다. 


디렉토리로부터 읽어 들이기
이제 디렉토리로부터 텍스트 파일을 읽어 들이는 예제를 살펴보겠습니다. 4번 박스의 언어는 reut21578을 변수로  두고 여기에 tm/텍스트s/crude 디렉토리의 파일을 읽어 들이도록 지정합니다. 그리고 reuters라는 변수에 앞의 reut21578을 XML 리더로 읽어 들이도록 합니다. XML 문서로 다양한 태그 및 메타 데이터가 정의되어 있음을 확인할  수 있습니다. 이번에는 벡터소스로부터 텍스트 파일을 읽어 들이는 예제를 살펴보겠습니다 6번 박스에서 Vector  Source를 통해 코퍼스(Corpus)를 생성합니다. 그리고 생성한 코퍼스를 docsCorpus에 지정하고  파일로 저장합니다.   만약 코퍼스를 다른 오브젝트에서 가져온 경우 이를 저장하고자 하면 default working directory에 개별 파일로  저장됩니다. 

tm패키지의 기능인 tm_map을 이용해서 텍스트로 전환
이번에는 xml 문서를 tm패키지의 기능인 tm_map을 이용해서 텍스트로 전환해보겠습니다. 8번 박스를  보면 XML 문서를 tm패키지의 기능인 tm_map을 이용해서 텍스트로 전환합니다. 
as.Plain텍스트  Document는 xml 태그를  제거하고 일반 텍스트 형식으로 변환하는 언어입니다. 9번 박스에서 tolower는 중간의 빈칸을 제거합니다. 10번  박스에서는 stripWhitespace로 대문자를 소문자로 변경하여 사전에 있는 내용과 비교할 수 있도록 표준화 합니다.  한글이나 특수문자가 들어 있는 경우 오류를 발생시키므로 이를 데이터에는 별도로 분리하여 처리하거나 삭제해야  합니다. 11번 박스를 보면 텍스트 마이닝에는 언어별 stop word라는 게 있는데요. 한글에서는 조사가 해당되며  띄어쓰기 등을 통해 확인할 수 있고, 영어의 경우도 띄어쓰기와 시제 등의 내용을 제거합니다. stemDocument는  과거형이나 복수형 표준형으로 변환합니다. 



2. 변형 및 결과보기


 term document matrix 작업

이번에는 term document matrix 작업하는 언어를 살펴 볼 텐데요. 문서 번호와 단어간의 사용여부 또는 빈도수를  이용하여 matrix를 만드는 작업을 term document matrix 작업이라고 합니다. 12번 박스에서 DocumentTermMatrix는   Reuter로 읽어 들이고 변환한 문서를 document term matrix로 dtm을 생성한다는 것입니다. findFreqTerms(dtm,10)는  10회 이상 사용된 단어를 찾는 방법입니다. 만약 findFreqTerms(dtm, 10, 15)로 지정하면 10에서 15회 사이로  사용된 단어가 출력되는 것입니다. 14번 박스에서 findAssocs(dtm,"oil",0.65)은 findAssocs에서 oil과 연관성이  0.65 이상인 단어들이 표시하는 것입니다. 즉, oil과 같이 사용될 확률로 계산이 되는데 이를 통해 무슨 내용이  많이 언급되는지를 알 수 있습니다. 다음을 볼까요? removeSparseTerms(x, sparse)에서 sparse는 최대  sparsity값으로 해당 값까지는 허용되는데요. 즉, removeSparseTerms(tdm, 0.2)라는 것은 0.2를 넘는 경우는  삭제된다는 것입니다. 


워드클라우드

마지막으로 결과를 시각화하기 위해 워드 클라우드를 실행할건데요. 단어의 사용 빈도를 시각적으로 보도록  하겠습니다. 16번 박스 안을 살펴보겠습니다. 워드 클라우드를 불러옵니다. 작업한 것을 m이라는 변수에  실행합니다. 그리고 단어의 빈도를 계산하고 빈도에 의해 내림차순으로 정렬합니다. 그리고 워드 클라우드에  텍스트 크기나 색깔에 관하여 효과를 주는데요. 참고로 +기호는 윗줄과 아랫줄을 연결한다는 의미입니다. 엔터를  눌러 워드 클라우드를 만듭니다. 그럼 단어가 다음과 같이 구름처럼 생깁니다. 단어의 사용 빈도가 가장 높은  것은 가장 큰 글씨인 data, r, mining 등입니다.








[비정형 데이터 마이닝의 개념]



1. 개요


비정형 데이터란 무엇일까요? 비정형 데이터란 그림이나 영상, 음성, 문서처럼 구조화되지 않은 데이터입니다. 일정한 규격이나 형태를 지닌 숫자 데이터와 달리 형태와 구조가 다른 데이터들을 말하는 것입니다. 비정형 데이터는 크게 두 가지 종류로 생각하시면 되는데요. 책, 잡지, 문서, 의료기록과 같은 텍스트 정보, 음성 정보, 영상 정보와 같은 전통적인 데이터 외에 이메일, 트위터, 블로그처럼 모바일 기기와 온라인에서 생성되는 데이터가 있습니다. 기존의 컴퓨터 시스템은 연산과 처리절차가 숫자 데이터 중심으로 설계되어 있기 때문에 이름이나 성별과 같은 문자변수는 숫자로 변환해 처리하는 방법을 주로 사용했습니다. 문자, 숫자, 도표, 그림 등이 포함된 비정형 데이터에 들어있는 정보는 숫자로 변환하는 방법 적용이 어렵습니다.  정보의 관점에서 보면 유형이 불규칙하고 의미를 파악하기 모호해서 기존의 컴퓨터 처리 방식을 적용하기 어려운데요. 그래서 트위터나 블로그처럼 모바일과 온라인에서 생성되는 비정형 데이터에 기존의 컴퓨터 처리 방식을 적용 것은 불가능합니다. 



2. 정형 데이터 마이닝과 비정형 데이터 마이닝



데이터 관리 및 분석과 의미 도출


데이터는 어떻게 관리할까요? 데이터는 사전에 정의된 규칙에 따라 편집되어 데이터베이스에 저장되는 방식으로  관리되어 왔습니다. 그리고 데이터 분석과 의미도출은 규격화된 데이터베이스에 입력된 정제된 데이터의 존재를  전제로 하였습니다. 그래서 비정형 데이터는 아직 규격화되지 않아 분석이 불가능하고 의미를 읽어낼 수 없는  데이터로 판단할 수 있습니다. 그래서 정형 데이터와 달리 비정형 데이터는 데이터의 의미를 분석하는 단계에서  실무자의 관점에서 맥락을 고려한 해석을 거쳐야 했습니다. 비정형 데이터는 저장하는 법도 정형 데이터와 달라  관리자가 다르게 관리해야 했습니다. 정형 데이터에 비해 데이터베이스 관리시스템에서 차지하는 저장 공간이  넓고, 각각의 비정형 데이터를 구분하기 위해서 별도의 태그 정보를 추가해야 했기 때문에 데이터 관리자  입장에서는 정형 데이터에 비해 비정형 데이터를 번거롭게 여겨왔습니다. 그러나 기업 데이터의 80% 이상이  비정형 데이터라는 조사 결과를 감안할 때, 기업 경영에 시사점을 줄 수 있는 주요한 사업 정보와 고객 정보 등이  그 동안 상당 수 제대로 활용되지 못하고 방치되어 왔다고 볼 수 있습니다. 




비정형 데이터 분석기법

데이터 마이닝은 상식적인 예측을 벗어나지 못하는 한계가 있습니다. 데이터베이스에 쌓인 정보는 데이터 관리자의 일정한 시각에 따라 정제된 데이터입니다. 이 데이터의 정제 과정에서 작업자의 일정한 판단 기준이 작용하는데요. 전수 조사가 불가능한 데이터베이스의 태생적 한계로 볼 수도 있습니다. 또한 데이터마이닝으로 분석한 데이터는 데이터 생산자의 숨은 의도를 파악하지 못할 가능성이 높다는 단점이 있는데요 이는 데이터베이스를 구축하는 과정에서 데이터의 맥락이 불가피하게 제거되면서 데이터를 분석하는 과정에서 왜곡이 발생할 수도 있음을 의미합니다. 전수조사와 데이터의 맥락이라는 단어가 낯설 수 있는데요. 전수조사란 표본조사와 반대되는 개념으로 조사 대상 전부를 다 조사하는 것을 의미합니다. 데이터의 맥락이란 데이터가 실제 상황에 따라 가지고 있는 의미를 맥락으로 해석할 수 있기에 나온 단어입니다. 비정형 데이터 분석 기법은 정형 데이터 분석 기법인 데이터 마이닝의 한계를 극복하기 위한 방편으로 꾸준히 발전해 왔는데요. 비정형 데이터를 대상으로 분석하는 기법에는 텍스트 마이닝(Text Mining), 오피니언 마이닝(Opinion Mining), 웹 마이닝(Web mining) 등의 유형이 있습니다. 



[비정형 데이터 마이닝의 유형]



1. 텍스트 마이닝(Text Mining)



개요


텍스트 마이닝(Text Mining)은 텍스트 형태로 이루어진 비정형  데이터들을 자연어 처리 방식을 이용하여 정보를 추출하는 기법입니다. 텍스트 마이닝(Text Mining)을 활용하면 비정형화된 문서에서 정보를 얻을 수 있다는 장점이 있는데요. 예를 들어 텍스트 정보에서 문맥을 파악하거나  텍스트 간 연계를 분석할 수 있습니다. 그리고 텍스트 마이닝(Text Mining)은 텍스트 프로세싱(Text-processing)  기술 및 처리 과정을 포함합니다. 이는 텍스트 기반의 데이터로부터 새로운 정보를 발견할 수 있도록 하며,  정보 검색, 추출, 체계화, 분석 과정을 모두 포함합니다. 



자연어 처리 (Natural Language Processing)


그럼 자연어 처리 방식이란 무엇일까요? 자연어란  우리가 하는 말과 같이 인간이 이해할 수 있는 언어입니다. 이를 기계가 이해할 수 있게 하는 기술을 자연어  처리라고 하는데요. 자연어 처리는 Natural Language Processing을 줄여 NLP라고도 합니다. 다음 그림은  음성인식 및 음성 발화와 연관된 자연어 처리 과정을 나타낸 것인데요. 우선 기계와 인간이 소리로 의사소통을  하기 위해 인간의 음성을 텍스트로 바꾸는 '음성 인식' 기술이 선행됩니다. 음성인식을 통해 인간의 음성을  텍스트로 변환하고 나면 입력된 텍스트를 여러 형태로 분석합니다. 그리고 인간의 음성이 무엇을 나타내는지,  어떠한 의도를 가지고 있는지를 분석한 뒤 사용자가 어떤 대상에 대해 질문을 한 것이라면 검색 등을 활용해  사용자가 원하는 대답을 찾습니다. 이 후 최종적으로 사용자 질문에 대한 답을 문장형태로 만드는  언어 생성과정을 거친 뒤 음성인식과 반대되는 발화기술을 통해 사용자에게 음성으로 전달 됩니다.  이것이 자연어 처리입니다. 




수행단계


텍스트 마이닝(Text Mining)의 수행단계를 알아보겠습니다. 크게 6단계 로 나누는데요. 첫번째는  텍스트 문서 선정 단계입니다. 텍스트 마이닝에서는 데이터베이스 콘텐츠 혹은 텍스트 기반의 문서들이  고려됩니다. 데이터베이스 콘텐츠란 텍스트 마이닝에 주로 사용되는 텍스트 문서를 말합니다. 두번째는 텍스트  전처리 단계입니다. 이 단계에서는 문서 내에 표현되어 있는 단어/구/절에 해당하는 내용을 언어 분석 처리 과정을  통해 가공할 수 있는 데이터로 표현합니다. 세 번째는 의미정보 변환 단계입니다. 이 단계에서는 전처리된  데이터 중 의미 있는 정보를 선별하여 저장합니다. 네 번째 의미정보 추출 단계에서는 복잡한 의미정보의 표현을  단순화하고, 도메인에 적합한 정보를 문서의 의미 데이터로 저장합니다. 다섯번째 단계는 패턴 및 경향 분석  단계입니다. 이 단계에서는 의미 데이터를 기반으로 문서를 자동으로 군집화하거나, 분류하는 등 정보를  재생산합니다. 마지막 여섯번째는 정보표현 및 평가단계입니다. 이 단계는 새롭게 생성된 정보를 사용자에게  시각화 툴로 효과적으로 표현하며, 평가과정을 통해 텍스트 마이닝의 처리과정 중 문제가 되는 부분을 수정 및  보완하여 품질 및 성능을 높이는데 활용됩니다. 






2. 오피니언 마이닝(Opinion Mining)




개요

오피니언 마이닝(Opinion Mining)은 텍스트 마이닝(Text Mining)에서 발전된 분석 기법입니다. 오피니언(Opinion)은  상품평이나 영화 감상평 또는 정치인에 대한 호감도와 같이 특정 주제나 대상에서 보인 사람들의 주관적이고  감정적인 의견인데요. 

오피니언 마이닝(Opinion Mining)은 이런 오피니언이 포함된 빅데이터에서 사용자가 게재한  의견과 감정을 나타내는 패턴을 이용하여 특정 주제에 보인 의견이 긍정(Positive) 인지, 부정(Negative)인지,  중립(Neutral)인지를 찾아냅니다. 이를 통해 선호도를 판별하는 기술이 오피니언 마이닝(Opinion Mining)입니다.


수행단계

일반적으로 오피니언 마이닝(Opinion Mining)은 특징 추출, 의견 분류, 요약 및 전달 3단계로 진행합니다.  특징 추출 단계에서는 데이터에서 의미 있는 요소나 정보로 판단되는 특징들을 추출합니다. 의견 분류 단계에서는  특징 추출 단계에서 추출된 특징과 의견을 표현하는 단어가 데이터에서 어떠한 의미로 사용되었는지를 분석합니다.  요약 및 전달 단계에서는 성향이나 선호도가 밝혀진 오피니언 정보들을 요약하여 사용자에게 전달합니다.  그럼 오피니언 마이닝(Opinion Mining)에서 긍정이나 부정 또는 중립의 의견을 분류하는 과정을 좀 더 구체적으로  살펴볼까요? 먼저 긍정, 부정, 중립을 표현하는 단어 정보를 추출합니다. 다음으로 세부 평가 요소와 그것이  가리키는  오피니언의 연결 관계를 포함한 문장을 인식합니다. 마지막으로 긍정, 부정, 중립 표현의 수 및 유용한  문장을 추출하여 리뷰 요약을 생성하면 선호도를 분류할 수있습니다. 




활용

오피니언 마이닝(Opinion Mining)은 여론 향방을 추적하는 데 사용되는 기술입니다. 주로 블로고스피어   (Blogosphere)나 소셜 네트워크 서비스(Social Network Service)의 데이터를 활용하는데요.  블로고스피어(Blogosphere)는 블로그를 통해 커뮤니티나 소셜 네트워크처럼 서로 연결되어 있는 모든 블로그들의  집합을 의미합니다. 인터넷에 형성된 가상 세계의 총칭하는 것입니다. 그리고 소셜 네트워크 서비스(Social Network  Service)는 웹상에서 이용자들이 인적 네트워크를 형성할 수 있게 해주는 서비스를 통칭합니다. 트위터, 페이스북  등이 대표적이죠. 이들에는 주제나 대상, 인물이 특정 부분에 국한되지 않고 다양하기 때문에 오피니언 마이닝  기술을 많이 활용합니다. 




텍스트 마이닝과 오피니언 마이닝

텍스트 마이닝이 특정단어와 문맥의 연관성을 분석하는데 비해, 오피니언 마이닝은 문맥과  연계된 감성분석(Sentiment Analysis)을 활용하여 특정 텍스트의 어조와 감정을 파악합니다. 그리고 신문 기사나  잡지처럼 어떤 사안이든지 객관적이고자 노력하는 것이 아니라 블로고스피어(Blogosphere)나 소셜 네트워크 서비스  (Social Network Service)의 텍스트는 특정 사안에 대해 감정적인 경우가 많습니다. 이 점에 착안하여 오피니언  마이닝(Opinion Mining)은 분석 대상인 키워드와 함께 나오는 긍정, 부정 등 감성적 언어의 빈도수를 추적하여  일반적인 여론의 향방을 추적합니다. 


 오피니언 마이닝(Opinion Mining)은 문맥과 연계된 감성분석(Sentiment Analysis)을 활용하여 특정 텍스트의 어조와  감정을 파악한다고 했는데요. 감성분석(Sentiment Analysis)이란 무엇인지 알아보겠습니다. 이는 소비자의 감성과  관련된 텍스트 정보를 자동으로 추출하는 텍스트 마이닝(Text Mining) 기술의 한 영역으로 문서를 작성한 사람의  감정을 추출해 내는 기술입니다. 문서의 주제보다 어떠한 감정을 가지고 있는가를 판단하여 분석하는데요. 예를 들면  온라인 쇼핑몰에서 사용자의 상품평에 대한 분석을 하는 것이 있습니다. 하나의 상품에 대해 사용자의 좋고 나쁨에  대한 감정을 분석하는 것이지요. 




오피니언 마이닝시 유의점

여론 추정의 근거가 되는  감성사전의 구축을 소홀히 하지 말아야 한다는 것입니다. 감성사전이 제대로 구축되지 않는다면 데이터 분석 결과에  오류가 발생할 수 있기 때문입니다. 그리고 단어의 맥락을 잘못 파악할 수 있다는 특정 단어는 맥락에 따라 긍정과  부정이 반어적으로 사용될 수 있기 때문입니다. 감성사전은 문서의 내용을 주제어와 속성, 긍정 · 부정도 등으로  분류하고 정밀한 언어처리 및 분석과정을 거쳐 주관적인 감정 표현의 정도를 계량화할 수 있도록 한 것입니다.  감성사전은 특정 주제에 대한 통합적인 속성을 도출하여 정확한 분석자료를 제공합니다. 






3. 웹 마이닝(Web Mining)


개요
먼저 웹(Web)이 무엇인지 개념을 살펴보겠습니다.  보통 WWW, 월드 와이드 웹(World Wide Web)이라고 불리는 웹(Web)은 텍스트만 지원했던 기존의 것과는 다르게  텍스트, 그림, 동영상, 소리 등을 지원하는 정보 검색 서비스입니다. 하이퍼텍스트 개념을 도입하여 쉽게 원하는  정보와 관련된 정보를 찾아볼 수 있는 특징을 갖고 있고 그래픽 환경으로 사용법이 쉬워 현재 인터넷이 급부상하게  된 하나의 원인이기도 합니다. 그리고 웹로그(Weblog)란 매일 또는 수시로 특정 주제나 일반적인 주제 정보의 일별  운용 기록 형식을 사용하는 개인 또는 비영리 기관의 웹 사이트를 가리킨다는 것을 참고하세요. 자, 그럼 이제  웹 마이닝(Web mining)에 대해서 살펴보겠습니다. 웹 마이닝(Web mining)은 웹을 대상으로 한 데이터 마이닝입니다.  인터넷을 이용하는 과정에서 생성되는 웹 로그 정보나 검색어로부터 추출되는 유용한 정보를 대상으로 한 데이터  마이닝인 것입니다. 웹 마이닝의 속성은 반정형 혹은 비정형이고, 링크 구조를 형성하고 있기 때문에 전통적인  데이터 마이닝의 분석 방법론을 사용하기도 하지만 별도의 분석기법이 필요합니다. 어떤 분석 기법이 있을까요?



분석대상에 따른 웹 마이닝 구분
분석기법에 대해서 학습하기 전에 먼저 하이퍼텍스트가 무엇인지 살펴보겠습니다. 우리는 웹이 하이퍼텍스트 개념을  도입하여 원하는 정보와 관련된 정보를 쉽게 찾아볼 수 있게 되었다고 알고 있는데요. 하이퍼텍스트란 컴퓨터를  통하여 저장된 정보를 학습자가 자신의 필요와 관심 및 인지 스타일에 따라 자유롭게 검색하도록 도와주는 비순차적  텍스트의 전개원리를 말합니다. 좀 더 쉽게 이해하기 위해서 책을 읽을 때를 떠올려 봅시다. 텍스트를 어떻게  읽나요? 첫째 페이지를 읽고, 둘째 페이지를 읽는 식으로 순차적으로 읽어나가지요? 이전에는 컴퓨터도 모두 이렇게  텍스트를 순차적으로 읽어왔습니다. 하지만 하이퍼텍스트는 비순차적입니다. A의 특정 부분을 읽다가 B로 가거나  D로 가거나 E로 가거나 할 수 있도록 연결되어 있습니다. 읽히는 순서가 결정되어 있지 않은 것이죠. 한 개의 페이지처럼 보이는 정보단위를 노드라고 하고, 점으로 서로 연결하고 있는 것처럼 보이는 연결점을   링크라고 합니다. 웹 마이닝은 분석 대상에 따라 웹 구조 마이닝과 웹 사용 마이닝, 웹 콘텐츠 마이닝으로 구분할   수 있습니다. 먼저 웹 구조 마이닝은 웹 사이트의 노드와 연결구조를 분석하는 기법으로 하이퍼링크로부터 패턴을  찾아내거나 웹 페이지 구조를 분석하는 것입니다. 하이퍼링크는  웹 페이지가 연결된 구조를 의미합니다. 웹 사용  마이닝은 웹 서버 로그 파일을 분석하여 웹 사이트 개선이나 고객 특성을 반영한 맞춤형 서비스를 지향합니다.  웹 서버 로그 파일이란 인터넷 이용자의 이용경로에 대한 파일입니다.  마지막으로 웹 콘텐츠 마이닝은  웹 페이지에 저장된 콘텐츠로부터 웹 사용자가 원하는 정보를 빠르게 찾는 기법으로 검색엔진에 사용됩니다.  
예를 들면, 웹 페이지를 다루고 있는 주제에 따라 자동적으로 분류할 수 있습니다.