KR102300185B1 - 실시간 통합분석검색 시스템 - Google Patents

실시간 통합분석검색 시스템 Download PDF

Info

Publication number
KR102300185B1
KR102300185B1 KR1020190130371A KR20190130371A KR102300185B1 KR 102300185 B1 KR102300185 B1 KR 102300185B1 KR 1020190130371 A KR1020190130371 A KR 1020190130371A KR 20190130371 A KR20190130371 A KR 20190130371A KR 102300185 B1 KR102300185 B1 KR 102300185B1
Authority
KR
South Korea
Prior art keywords
analysis
document data
module
index
search
Prior art date
Application number
KR1020190130371A
Other languages
English (en)
Other versions
KR20210046942A (ko
Inventor
김윤승
배성환
Original Assignee
주식회사 알에스엔
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 알에스엔 filed Critical 주식회사 알에스엔
Priority to KR1020190130371A priority Critical patent/KR102300185B1/ko
Publication of KR20210046942A publication Critical patent/KR20210046942A/ko
Application granted granted Critical
Publication of KR102300185B1 publication Critical patent/KR102300185B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 실시간 통합분석검색 아키텍쳐는, 온라인 서비스로부터 문서데이터를 수집하고, 수집된 문서데이터를 기 설정된 통합스키마에 적용하여 전송하는 전송모듈, 상기 전송모듈로부터 상기 통합스키마가 적용된 문서데이터를 수신하여 분석데이터 저장소에 저장한 뒤, 저장된 문서데이터에 대한 분석 결과를 분석데이터 저장소에 업데이트하는 분석모듈, 검색엔진을 통해 상기 분석데이터 저장소에 업데이트된 문서데이터를 기 설정된 색인기준에 따라 색인하는 색인모듈 및 상기 검색엔진에 질의응답을 수행하고, 상기 검색엔진의 응답결과를 사용자 어플리케이션에 표시하는 검색모듈을 포함한다.

Description

실시간 통합분석검색 시스템{System for Real time Total Analysis and Search}
본 발명은 실시간 통합분석검색 아키텍쳐에 관한 것으로서, 보다 상세하게는 대량의 온라인 정보분석서비스에 대해 출처 별, 분석결과 별로 보다 많은 양의 데이터를 실시간 분석 및 제공함에 따라 다양한 형태로 서비스를 제공할 수 있도록 하는 실시간 통합분석검색 아키텍쳐에 관한 것이다.
최근에는 모바일 기기가 대중화되고, 무선 인터넷 서비스가 널리 확산됨에 따라 개인의 온라인 커뮤니티, SNS 등의 정보에는 기업 및 기업 제품, 사회적 이슈에 대한 대중들의 견해, 평가가 끊임없이 쌓이고 있다.
이에 따라 많은 기업들은 상기와 같은 방대한 정보를 효율적으로 관리하고, 보다 다양한 계층의 정보 데이터를 제공하기 위해 다양한 수집원으로부터 데이터를 수집하고 있으며, 다양한 주제를 사전 기반으로 한 데이터분석 방법이 개발 및 서비스되고 있다.
다만, 현재까지 각종 기업체에서 사용하고 있는 데이터 분석 방법의 경우, 방대한 데이터를 정제하는 과정에서 형태소 분석과 단어 매칭을 하고 연산하는 과정에서 과도하게 많은 분석 알고리즘을 사용하고 있다. 이는 필연적으로 데이터를 전처리 분석하는 속도가 수집 속도보다 느려지게 되는 문제가 있다.
특히 데이터의 수집원이 많을수록 정보의 형태도 다양하기 때문에, 수집원 별 독립적인 형태의 데이터 구조로 적재할 수밖에 없으며, 다양한 형태에 따른 분석 및 검색 규칙도 달라진다.
또한 이에 따라 서비스의 형태도 수집원 별 성향에 맞추어 서로 다른 형태로 서비스를 제공할 수밖에 없게 되며, 이와 같은 정보를 제공하는 서비스 또한 다차원의 관리를 하게 되어 기업체 입장에서 부담이 가중되고 데이터의 관리가 어려워지는 문제가 있다.
따라서 이와 같은 문제점들을 해결하기 위한 방법이 요구된다.
한국공개특허 제10-2004-0036699호
본 발명은 상술한 종래 기술의 문제점을 해결하기 위하여 안출된 발명으로서, 대량의 온라인 정보분석서비스에 대해 출처 별, 분석결과 별로 보다 많은 양의 데이터를 실시간 분석 및 제공함에 따라 다양한 형태로 서비스를 제공할 수 있도록 하는 실시간 통합분석검색 아키텍쳐를 제공하여, 다양한 사용자 니즈에 대응할 수 있는 실시간 검색서비스를 구현할 수 있도록 하기 위한 목적을 가진다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 목적을 달성하기 위한 본 발명의 실시간 통합분석검색 아키텍쳐는, 온라인 서비스로부터 문서데이터를 수집하고, 수집된 문서데이터를 기 설정된 통합스키마에 적용하여 전송하는 전송모듈, 상기 전송모듈로부터 상기 통합스키마가 적용된 문서데이터를 수신하여 분석데이터 저장소에 저장한 뒤, 저장된 문서데이터에 대한 분석 결과를 분석데이터 저장소에 업데이트하는 분석모듈, 검색엔진을 통해 상기 분석데이터 저장소에 업데이트된 문서데이터를 기 설정된 색인기준에 따라 색인하는 색인모듈 및 상기 검색엔진에 질의응답을 수행하고, 상기 검색엔진의 응답결과를 사용자 어플리케이션에 표시하는 검색모듈을 포함한다.
이때 상기 통합스키마는, 수집된 문서데이터 자체가 가지고 있는 데이터정보인 수집정보, 문서데이터의 수집 과정에서 문서데이터 각각에 할당되는 정보인 할당정보, 수집된 문서데이터에 대해 수치적으로 부여되는 데이터점수인 통합수치정보 및 상기 분석모듈에 의해 분석되어 적용된 분석 결과에 대한 정보인 분석결과정보 중 적어도 어느 하나의 개별 스키마정보를 포함할 수 있다.
그리고 상기 통합수치정보는, 확산수치, 확산가능수치, 긍정수치, 부정수치, 하위수치, 고유수치 및 관심수치 중 적어도 어느 하나 이상을 포함할 수 있다.
또한 상기 분석모듈은, 분석데이터 저장소에 저장된 문서데이터에 대한 형태소 분석 및 사전기반분석 중 적어도 어느 하나 이상을 수행할 수 있다.
그리고 상기 사전기반분석은, 감성분석, 스팸분석, 주제분석, 연관어분석, TPOP분석, PR분석 및 인구통계추론 중 적어도 어느 하나 이상의 분석방법을 포함할 수 있다.
더불어 상기 분석모듈은, 문서데이터의 실시간 전송량을 지연없이 분석 처리하기 위한 초당 처리요구수치를 만족하도록, 동시 처리 가능한 n개 이상(n은 1 이상의 자연수)의 분석기를 포함할 수 있다.
한편 상기 전송모듈은 문서데이터의 수집 과정에서 문서데이터 각각에 할당되는 고유번호를 생성하며, 상기 분석모듈은 상기 n개 이상의 분석기에 대해 각각 문서데이터의 고유번호에 매칭되는 일련번호를 할당하여, 상기 n개 이상의 분석기는 자체 할당된 일련번호에 해당하는 문서데이터만을 호출하여 분석하도록 형성될 수 있다.
그리고 상기 색인모듈은, 상기 분석모듈에 의해 분석 결과가 업데이트된 문서데이터에 대해, 기간 단위로 논리적 구분을 수행하고, 물리적 구성에 따라 데이터세트인 인덱스를 생성하여 색인을 수행할 수 있다.
또한 상기 색인모듈은 m개 이상(m은 1 이상의 자연수)의 서버장비를 포함하며, 임의의 기간에 생성된 문서데이터로 구성되는 인덱스를 m개의 샤드로 분할하여 각 서버장비에서 처리되도록 할 수 있다.
한편 임의의 기간에 생성된 문서데이터는 상기 전송모듈에 의해 채널 별로 분류되며, 상기 색인모듈은, 임의의 기간 동안의 채널 별 인덱스의 데이터량을 기준데이터량으로 나누어 채널 별 샤드의 수를 산출하고, 채널 별 샤드의 수에 따라 인덱스를 재구성할 수 있다.
또한 상기 색인모듈은, 산출된 채널 별 샤드의 수가 서버장비의 수보다 많을 경우, 해당 채널을 독립적인 인덱스로 구성하도록 하며, 산출된 채널 별 샤드의 수가 1 미만일 경우, 샤드의 수가 1보다 크고 서버장비의 수와 같거나 작아지도록 다른 채널을 합쳐 하나의 인덱스로 구성할 수 있다.
그리고 상기 검색모듈은, 사용자 어플리케이션의 요청에 의해 검색기간과 검색채널에 따라 인덱스를 결정하며, 검색엔진 쿼리를 생성한 후 상기 검색엔진에 질의응답을 수행하고, 상기 검색엔진의 응답결과를 파싱하여 사용자 어플리케이션이 요구하는 형식으로 재구성하여 표시할 수 있다.
상기한 과제를 해결하기 위한 본 발명의 실시간 통합분석검색 아키텍쳐는, 다양한 분석결과를 처리하여 저장하는 일련의 모듈을 통해 다양한 사용자 니즈에 대응할 수 있는 실시간 검색서비스를 구현하기가 용이하다는 장점을 가진다.
또한 본 발명은 수집된 문서데이터에 대해 통합스키마를 적용함으로써 데이터의 추가 적재 수요가 발생할 경우에도 신속하게 대응이 가능하다는 장점을 가진다.
특히 본 발명의 분석모듈은 병렬 구조의 독립된 분석기를 탑재할 수 있는 구조이므로, 추가 분석에 따른 상황에 대응이 용이하다는 장점을 가진다.
더 나아가, 본 발명의 아키텍쳐 시스템을 중복으로 활용할 경우, 사용자 별로 독립된 형태의 추가 분석 모듈로 활용이 가능하다는 장점이 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 실시간 통합분석검색 아키텍쳐를 구성하는 구성요소들을 개략적으로 나타낸 도면;
도 2는 본 발명의 일 실시예에 따른 실시간 통합분석검색 아키텍쳐의 전체적인 알고리즘을 통합하여 나타낸 도면;
도 3은 통합스키마 중 수집정보의 종류를 표로 나타낸 도면;
도 4는 통합스키마 중 할당정보의 종류를 표로 나타낸 도면;
도 5는 통합스키마 중 분석결과정보의 종류를 표로 나타낸 도면;
도 6은 분석모듈에 의해 이루어지는 일련의 과정을 나타낸 도면; 및
도 7은 분류된 채널 별 분석처리 요구 속도를 표로 나타낸 도면이다.
이하 본 발명의 목적이 구체적으로 실현될 수 있는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 본 실시예를 설명함에 있어서, 동일 구성에 대해서는 동일 명칭 및 동일 부호가 사용되며 이에 따른 부가적인 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 실시간 통합분석검색 아키텍쳐를 구성하는 구성요소들을 개략적으로 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 통합분석검색 아키텍쳐는 전송모듈(10)과, 분석모듈(20)과, 색인모듈(30)과, 검색모듈(40)을 포함한다.
전송모듈(10)은 온라인 서비스로부터 다양한 문서데이터를 수집하고, 수집된 문서데이터를 기 설정된 통합스키마에 적용하여 전송하는 구성요소이다.
이때 온라인 서비스라 함은, 웹, SNS 등 통신망을 이용한 다양한 온라인 서비스 매체일 수 있으며, 어느 하나의 온라인 서비스에 제한되지 않는다.
그리고 분석모듈(20)은 전송모듈(10)로부터 통합스키마가 적용된 문서데이터를 수신하여 분석데이터 저장소(22)에 저장한 뒤, 저장된 문서데이터에 대한 분석 결과를 분석데이터 저장소(22)에 업데이트하는 구성요소이다.
즉 분석모듈(20)은 분석데이터 저장소(22)에 저장된 문서데이터를 분석하고 업데이트하는 과정을 1회 이상 수행하여 분석 결과를 반영할 수 있다. 또한 분석모듈(20)은 문서데이터의 분석을 위한 하나 또는 복수 개의 분석기(24)를 포함할 수 있으며, 이에 대해서는 후술하도록 한다.
색인모듈(30)은 분석모듈(20)을 통해 분석데이터 저장소(22)에 분석 결과가 업데이트된 문서데이터를 기 설정된 색인기준에 따라 색인하는 역할을 수행한다.
이와 같은 색인모듈(30)은 효율적인 색인 처리를 위한 하나 또는 복수 개의 서버장비(32)를 더 포함할 수 있으며, 이에 대해서도 후술하도록 한다.
검색모듈(40)은 색인모듈(30)에서 사용되는 검색엔진에 질의응답을 수행하고, 검색엔진의 응답결과를 사용자 어플리케이션에 표시하기 위한 역할을 수행한다.
도 2는 본 발명의 일 실시예에 따른 실시간 통합분석검색 아키텍쳐의 전체적인 알고리즘을 통합하여 나타낸 도면이며, 이하에서는, 도 2를 참조하여 각 구성요소에 대해 보다 자세히 설명하도록 한다.
먼저, 전술한 바와 같이 전송모듈(10)은 온라인 서비스로부터 다양한 문서데이터를 수집하고, 수집된 문서데이터를 기 설정된 통합스키마에 적용하여 분석모듈(20)에 전송한다.
여기서 통합스키마는, 하나의 문서데이터에 포함되어 있는 각각의 데이터에 대한 의미를 규정하는 것으로서, 본 발명의 통합스키마는 수집정보와, 할당정보와, 통합수치정보와, 분석결과정보 중 적어도 어느 하나의 개별 스키마정보를 포함할 수 있다.
수집정보는 수집된 문서데이터 자체가 가지고 있는 데이터정보로서, 제목, 내용 출처 등과 같은 문서데이터 고유의 정보를 나타낸다. 이와 같은 수집정보의 종류는 도 3에 도시된 표를 통해 나열하였으며, 도 3에 도시된 바와 같이 수집정보는 사이트명 또는 포털명, 이의 하위 출처정보, 작성자의 고유아이디 또는 고유시퀀스, 문서의 원본 URL, 문서 제목, 문서 내용, 태그 및 해시태크, 컨텐츠 주소, 컨텐츠 성격 등을 포함할 수 있다.
할당정보는 문서데이터의 수집 과정에서 문서데이터 각각에 할당되는 정보로서, 이와 같은 할당정보의 종류는 도 4에 도시된 표를 통해 나열하였다. 도 4에 도시된 바와 같이, 할당정보는 문서데이터의 고유번호, 상위 문서데이터의 고유번호, 수집시간, 작성 언어, 분류 채널, 컨텐츠 성격 등을 포함할 수 있다.
그리고 통합수치정보는, 수집된 문서데이터에 대해 수치적으로 부여되는 데이터점수로서, 본 발명의 통합스키마에서는 수집 가능한 수치정보들을 출처 별로 분류하여 통합수치정보로 변환하도록 하였다.
이때 통합수치정보는, 확산수치, 확산가능수치, 긍정수치, 부정수치, 하위수치, 고유수치 및 관심수치 중 적어도 어느 하나 이상을 포함할 수 있다.
확산수치는 해당 게시문서가 게시자가 아닌 다른 사용자에 의해 공유, 리트윗, 퍼가기, 보내기 등 새로운 URL의 정보로 배포된 수치를 의미한다. 그리고 확산가능수치는 방문자 수, 가입자 수, 팔로워 수, 구독 수 등 해당 게시물을 볼 수 있고 공유를 할 수 있는 사용자 수를 의미한다.
긍정수치와 부정수치는 좋아요, 싫어요, 추천, 비추천, 신고 등 해당게시물에 대한 평가수치를 의미하며, 하위수치는 댓글 수, 예컨대 현재 서비스되고 있는 트위터의 경우 멘션 수 등 게시글 내의 또 다른 게시문서 수를 의미할 수 있다.
고유수치는 쇼핑몰의 아이템 평가점수, 사이트 자체에서 게시글에 대한 평가수치 등과 같이 각 사이트별 고유로 측정되는 항목이며, 관심수치는 앞서 기술한 7개의 수치정보 중 확산수치, 긍정수치, 부정수치, 하위수치 4개의 수치정보를 합산하여, 해당 통합스키마에 고유의 데이터 점수를 부여한 것을 나타낸다.
한편 분석결과정보는 분석모듈(20)에 의해 분석되어 적용된 분석 결과에 대한 정보로서, 전송모듈(10)에서 분석모듈(20)의 분석데이터 저장소(22)로 송신되는 과정에서는 어떠한 값도 가지고 있지 않다. 이와 같은 분석결과정보는 이후 분석모듈(20)의 각 분석기(24)에서 얻은 분석 결과를 업데이트함에 따라 각 문서데이터에 적용될 수 있다.
이와 같은 분석결과정보의 종류는 도 5에 도시된 표를 통해 나열하였으며, 도 5에 도시된 바와 같이 분석결과정보는 인구통계 추론결과, 주제분석결과, 주제분석 연관점수, 감성, 감성분석 연관점수, TPOP 분석결과, PR 분석결과, 사전 매칭 분석속성 별 연관어 등을 포함할 수 있다.
이와 같이 전송모듈(10)은 수집된 문서데이터에 대해 기 설정된 통합스키마에 적용하게 되며, 이후 이를 수집원 별로 채널 분류를 수행할 수 있다.
본 실시예의 경우, 통합스키마의 채널 정보는 언론기사, 댓글(언론기사), 보도자료, Q&A, 커뮤니티, 정부/공공, 기업/단체, 블로그, 카페, 트위터, 페이스북, 카카오스토리, 유투브, 인스타그램, 포럼, 쇼핑몰을 비롯해 총 16개의 채널을 가지고 있는 것으로 예시하였다.
여기서 언론기사는 실제 언론사에서 작성한 기사자료이며, 보도자료는 언론사 사이트에서 기사외의 게시판에서 수집된 글로 구분한다. Q&A는 네이버 지식, 다음팁 등의 질의응답형 게시물이다. 이때 채널의 분류기준이 되는 데이터는 원문을 수집한 사이트의 URL 도메인으로 분류할 수 있다.
이상과 같이 통합스키마가 적용되고 채널 분류가 수행된 문서데이터들은, 전송모듈(10)에 의해 분석모듈(20)의 분석데이터 저장소(22)에 송신되어 적재된다.
분석모듈(20)은 분석데이터 저장소(22)에 저장된 문서데이터를 분석하고 업데이트하는 과정을 1회 이상 수행하여 분석기(24)에 의해 이루어진 분석 결과를 반영할 수 있다.
구체적으로 분석모듈(20)은, 분석데이터 저장소(22)에 저장된 문서데이터에 대한 형태소 분석 및 사전기반분석 중 적어도 어느 하나 이상을 수행할 수 있다.
이때 사전기반분석은 패턴 매칭 방식의 분석을 사용하며, 매칭된 사전 패턴은 연관 단어로 추출이 되며, TF(Term Frequency) 가중치로 각 연관단어에 점수를 부여하는 방식이 적용될 수 있다. 여기서 TF란 한 문서 내의 패턴 노출 빈도가 높을수록 점수가 올라가는 방식이다.
그리고 사전기반분석은, 감성분석, 스팸분석, 주제분석, 연관어분석, TPOP분석, PR분석 및 인구통계추론 중 적어도 어느 하나 이상의 분석방법을 포함할 수 있다.
여기서 감성 분석은 문서데이터의 긍정인가 부정인가를 분석하는 기법이며, 스팸 분석은 문서데이터의 스팸 유무를 분석하여 필터링한다.
또한 주제 분석은 정의된 분류체계 정보를 분석하며, 이때 정의된 분류체계는 정치, 경제, 스포츠, 연애 등의 사회 전반적인 이슈 항목의 분류체계를 가질 수 있다.
연관어 분석은 각 분석을 이행하면서 분석된 노출패턴들을 추출하며, TPOP분석은 시간, 사람, 상황, 장소 정보를 분석한다. 그리고 PR분석은 마케팅관련 PR(CPR)인지, 홍보관련 PR(MPR)인지를 분석하는 기법이며, 인구통계추론은 공개된 프로필정보 및 언급 단어들을 활용하여 성별, 연령, 지역 등을 추론하게 된다.
이상과 같이 분석모듈(20)로 전송된 데이터는 1차로 스팸분석을 거쳐 필터링된 후 나머지 분석들이 이행될 수 있으며, 각각의 문서데이터 분석 결과들은 분석데이터 저장소(22)에 업데이트된다. 이와 같이 분석모듈에 의해 이루어지는 일련의 과정은 도 6에 도시된다.
한편 분석모듈(20)은, 문서데이터의 실시간 전송량을 지연없이 분석 처리하기 위한 초당 처리요구수치를 만족하도록, 동시 처리 가능한 n개 이상(n은 1 이상의 자연수)의 분석기(24)를 포함할 수 있다.
보다 자세히 설명하면, 고사양의 장비를 사용하더라도 대용량 분석을 순차적으로 실행할 경우 처리속도는 느려질 수밖에 없으며, 하나의 장비가 분석 및 처리할 수 있는 한계가 존재하게 된다.
즉 분석기(24) 1대를 기준으로 했을 때, 각 분석기(24)는 동시에 실행이 되어 처리지연 현상이 없어야 하며, 채널 별 데이터의 양과 특성을 파악해서 분석기(24)의 자원 소모를 고르게 분산시켜야 할 필요가 있다.
예컨대 현재 서비스되고 있는 트위터의 게시물, 댓글 등의 데이터는 문장 길이는 짧지만 인터넷에 가장 많은 양의 데이터가 존재하는 것으로 파악된다. 이에 본 실시예에서는 전송모듈(10)에서 각 채널 별로 한 달 동안 처리한 문서 수량과 분석 문장의 길이를 매 1분 단위로 저장하였고, 각 1분동안의 전송량의 평균을 계산하여, 채널 별 분석처리 요구 속도를 산출하였으며, 그 결과는 도 7에 나타난 표에 기재하였다. 도 7의 표에서 초당 처리요구수치는 실시간 전송량을 지연없이 분석처리하기 위한 최소한의 수치를 의미한다.
그리고 분석모듈(20)의 분석처리속도는 전송모듈(10)의 전송처리속도보다 빨라야 안정적인 실시간 분석처리 시스템을 유지할 수 있다.
예컨대, 소셜 빅데이터 특성상 큰 사회적 이슈가 발생했을 때는 특정시간대의 데이터 량이 약 2배 가까이 증가하는 경향을 보이며, 분석사전의 수량이 증가하여 분석량이 증가하게 된다.
이러한 상황들을 고려하여, 본 실시예에서는 같은 임무를 동시에 처리할 수 있는 분석기(24)들을 분산 구조로 구성하여, 순간적으로 많은 양의 전송데이터가 밀려와도 데이터를 실시간 분석처리를 보장할 수 있도록 할 필요가 있다.
이와 같은 사항을 고려하여 분석기(24)의 수를 결정하게 되면, 문서데이터가 전송모듈(10)에서 분석 데이터저장소(22)로 전송될 때, 어느 분석기(24)가 처리할 것인가를 결정해야 한다
따라서 본 실시예에서 전송모듈(10)은 문서데이터의 수집 과정에서 문서데이터 각각에 할당되는 고유번호를 생성하며, 분석모듈(20)은 개수가 정해진 n개 이상의 분석기(24)에 대해 각각 문서데이터의 고유번호에 매칭되는 일련번호를 할당하게 된다.
그리고 n개 이상의 분석기(24)는, 자체 할당된 일련번호에 해당하는 문서데이터만을 호출하여 분석을 수행하게 된다.
다음으로, 색인모듈(30)은 소정의 검색엔진을 통해 분석데이터 저장소(22)에 분석 결과가 업데이트 완료된 문서데이터에 대해, 기 설정된 색인기준에 따라 색인하게 된다.
본 실시예에서 색인모듈(30)은, 분석모듈(20)에 의해 분석 결과가 업데이트된 문서데이터에 대해, 기간 단위로 논리적 구분을 수행하고, 물리적 구성에 따라 데이터세트인 인덱스를 생성하여 색인을 수행하도록 할 수 있다.
또한 색인모듈(30)은 m개 이상(m은 1 이상의 자연수)의 서버장비(32)를 포함할 수 있으며, 임의의 기간에 생성된 문서데이터로 구성되는 인덱스를 m개의 샤드로 분할하여 각 서버장비(32)에서 처리되도록 한다.
보다 구체적으로 설명하면, 문서데이터를 색인하고, 검색을 하기에 앞서 수십억 건의 데이터를 검색을 하는 데 있어서 검색 속도의 개념은 아주 중요하다.
본 실시예의 색인모듈(30)에서는 검색엔진에 검색을 요청하고 응답을 받기까지의 모든 소요시간을 최대 0.5초 최소 1초이내로 해결하기 위함에 있어, 데이터세트, 즉 인덱스의 물리적/논리적 구성 전략을 설정하는 것으로 하였다.
하나의 인덱스는 여러 대의 서버장비(32)에 분산된 하나의 데이터세트를 이룬다. 예컨대 5대의 서버장비(32)를 사용하고 한 달 동안의 데이터를 색인하는 인덱스를 생성할 수 있을 것이다. 여기서 하나의 인덱스에서는 물리적 서버장비(32)로 인해 인덱스의 조각이 구분되며, 이는 전술한 바와 같이 샤드라는 명칭으로 칭하도록 한다.
검색엔진을 최적화하여 사용하는 중요한 방법 중 하나는, 하나의 인덱스에 얼마나 많은 양의 데이터를 색인할 것인가와, 인덱스를 몇 개의 물리적 서버장비(32)를 사용하여 샤드를 분할할 것인지이다.
이와 같이 샤드의 수를 결정하기 위해, 다단계의 스트레스 테스트를 미리 거칠 수 있다. 본 스트레스 테스트는 전송모듈(10)에 의해 분류된 채널 별로 수행될 수 있으며, 1개의 샤드로 구성된 인덱스를 생성하고, 채널 별로 일정 단위의 양의 데이터에 대한 색인을 지속적으로 수행하도록 한다.
예컨대, 10만 건씩 색인을 하며 색인을 진행하면서 무거운 검색질의를 검색엔진의 해당 인덱스를 대상으로 요청하고 응답시간을 지속적으로 관찰할 수 있다. 이때 무거운 검색질의의 기준은 모든 문서를 대상으로 하는 통계질의와 사전데이터들 중 랜덤으로 10개씩 선택해서 일반질의, 기사와 댓글 같은 관계형으로 연결된 데이터는 관계형질의를 던지는 방식을 사용할 수 있다.
여기서 테스트 방식은 개발하고자 하는 서비스의 기능들을 기준으로하는 것이 가장 효율적이므로, 본 실시예에 나타난 방식을 반드시 적용할 필요는 없으며, 제한없이 다양한 방법이 사용될 수 있음은 물론이다.
또한 인덱스의 샤드는 균일한 사이즈로 분배되는 것이 이상적이지만, 관계형이냐 비관계형이냐의 조건을 고려할 수 있다.
본 실시예의 경우 채널에서는 언론기사와 댓글의 관계, 그리고 트윗과 리트윗 관계가 해당되고, 앞서 언급한 통계질의, 일반질의, 관계형질의 중 일반질의와 통계질의는 모든 채널에 해당하며 동일한 조건의 부하를 준다. 관계형 질의의 경우에는 앞서 언급한 언론기사, 댓글, 트위터 3개의 채널에만 해당하며 다른 채널은 해당되지 않는다.
전술한 응답시간 테스트를 반복하여, 응답시간이 0.5초를 넘어서는 시점의 데이터 수량이 각 채널 별 하나의 샤드가 가지는 최소한의 데이터량, 즉 기준데이터량이 될 수 있다. 그리고 해당 데이터가 가지는 데이터의 기간이 채널 별 인덱스의 논리적 기준인 기간으로서의 최소한의 기준, 즉 인덱스의 설정기간이 될 수 있다.
또한 색인모듈(30)은, 임의의 기간 동안의 채널 별 인덱스의 데이터량을 기준데이터량으로 나누어 채널 별 샤드의 수를 산출하고, 채널 별 샤드의 수에 따라 인덱스를 재구성할 수 있다.
보다 구체적으로 색인모듈(30)은, 산출된 채널 별 샤드의 수가 서버장비(32)의 수보다 많을 경우, 해당 채널을 독립적인 인덱스로 구성하도록 하며, 산출된 채널 별 샤드의 수가 1 미만일 경우, 샤드의 수가 1보다 크고 서버장비(32)의 수와 같거나 작아지도록 다른 채널을 합쳐 하나의 인덱스로 구성하는 방식을 사용할 수 있다.
이상의 방법에 따라 색인모듈(30)은 인덱스와 샤드 구성을 완성한 뒤, 인덱스의 기간 단위로 인덱스를 생성하고, 분석데이터 저장소(22)에서 불러온 문서데이터를 검색엔진에 색인하게 된다.
다음으로, 검색모듈(40)은 사용자 어플리케이션의 요청에 의해 검색기간과 검색채널에 따라 인덱스를 결정하며, 검색엔진 쿼리를 생성한 후 검색엔진에 질의응답을 수행하고, 검색엔진의 응답결과를 파싱하여 사용자 어플리케이션이 요구하는 형식으로 재구성하여 표시하게 된다.
구체적으로 이와 같은 검색모듈(40)은 검색과 집계가 가능한 검색엔진에 문서데이터가 적재되면, 검색엔진과 사용자 어플리케이션과 통신할 수 있는 중계 역할을 담당하게 된다.
전술한 일련의 절차를 거친 문서데이터는 통합스키마에 의해 출처 별로 수집된 모든 문서데이터가 하나의 통합된 구조를 가지기 때문에, 기간 별, 출처 별, 사이트 별, 출처 별 검색 및 통계데이터를 추출하며, 더 나아가 채널 별로 통합수치정보에 따라 정렬하여, 특정 항목에 대한 높은 수치의 데이터를 추출할 수 있다.
더불어 앞서 언급한 통계데이터에 분석데이터를 추가하여 긍정/부정 분포도, 특정 주제에 대한 이슈 집계, TPOP, 인구통계 등 분석 결과를 통해 다중 집계를 제공할 수 있다.
그리고 검색모듈(40)은 하나의 웹 어플리케이션(Web Application)일 수 있으며, RestfulAPI로 URL 호출을 통해 정보 질의응답을 수행할 수 있다.
또한 검색모듈(40)은 통합스키마의 모든 파라메터정보를 사용할 수 있으며, 검색기간과 검색채널에 따라 해당 인덱스를 결정하고, 검색엔진 쿼리를 생성한 뒤 검색엔진에 질의응답을 수행하며, 검색엔진의 응답 결과를 파싱(Parsing) 후 사용자 어플리케이션이 원하는 형식으로 재구성하여 사용자 어플리케이션에 응답할 수 있다.
이상과 같이 본 발명에 따른 바람직한 실시예를 살펴보았으며, 앞서 설명된 실시예 이외에도 본 발명이 그 취지나 범주에서 벗어남이 없이 다른 특정 형태로 구체화될 수 있다는 사실은 해당 기술에 통상의 지식을 가진 이들에게는 자명한 것이다. 그러므로, 상술된 실시예는 제한적인 것이 아니라 예시적인 것으로 여겨져야 하고, 이에 따라 본 발명은 상술한 설명에 한정되지 않고 첨부된 청구항의 범주 및 그 동등 범위 내에서 변경될 수도 있다.
10: 전송모듈
20: 분석모듈
22: 분석데이터 저장소
24: 분석기
30: 색인모듈
32: 서버장비
40: 검색모듈

Claims (12)

  1. 온라인 서비스로부터 문서데이터를 수집하고, 수집된 문서데이터를 기 설정된 통합스키마에 적용하여 전송하는 전송모듈(10);
    상기 전송모듈(10)로부터 상기 통합스키마가 적용된 문서데이터를 수신하여 분석데이터 저장소(22)에 저장한 뒤, 저장된 문서데이터에 대한 형태소 분석 및 사전기반분석 중 적어도 어느 하나 이상을 수행하고, 분석 결과를 분석데이터 저장소(22)에 업데이트하는 분석모듈(20);
    검색엔진을 통해 상기 분석데이터 저장소(22)에 업데이트된 문서데이터를 기 설정된 색인기준에 따라 색인하는 색인모듈(30); 및
    상기 검색엔진에 질의응답을 수행하고, 상기 검색엔진의 응답결과를 사용자 어플리케이션에 표시하는 검색모듈(40);
    을 포함하는 실시간 통합분석검색 시스템.
  2. 제1항에 있어서,
    상기 통합스키마는,
    수집된 문서데이터 자체가 가지고 있는 데이터정보인 수집정보;
    문서데이터의 수집 과정에서 문서데이터 각각에 할당되는 정보인 할당정보;
    수집된 문서데이터에 대해 수치적으로 부여되는 데이터점수인 통합수치정보; 및
    상기 분석모듈(20)에 의해 분석되어 적용된 분석 결과에 대한 정보인 분석결과정보;
    중 적어도 어느 하나의 개별 스키마정보를 포함하는 실시간 통합분석검색 시스템.
  3. 제2항에 있어서,
    상기 통합수치정보는,
    확산수치, 확산가능수치, 긍정수치, 부정수치, 하위수치, 고유수치 및 관심수치 중 적어도 어느 하나 이상을 포함하는 실시간 통합분석검색 시스템.
  4. 삭제
  5. 제1항에 있어서,
    상기 사전기반분석은,
    감성분석, 스팸분석, 주제분석, 연관어분석, TPOP분석, PR분석 및 인구통계추론 중 적어도 어느 하나 이상의 분석방법을 포함하는 실시간 통합분석검색 시스템.
  6. 제1항에 있어서,
    상기 분석모듈(20)은,
    문서데이터의 실시간 전송량을 지연없이 분석 처리하기 위한 초당 처리요구수치를 만족하도록, 동시 처리 가능한 n개 이상(n은 1 이상의 자연수)의 분석기(24)를 포함하는 실시간 통합분석검색 시스템.
  7. 제6항에 있어서,
    상기 전송모듈(10)은 문서데이터의 수집 과정에서 문서데이터 각각에 할당되는 고유번호를 생성하며,
    상기 분석모듈(20)은 상기 n개 이상의 분석기(24)에 대해 각각 문서데이터의 고유번호에 매칭되는 일련번호를 할당하여,
    상기 n개 이상의 분석기(24)는 자체 할당된 일련번호에 해당하는 문서데이터만을 호출하여 분석하도록 형성되는 실시간 통합분석검색 시스템.
  8. 제1항에 있어서,
    상기 색인모듈(30)은,
    상기 분석모듈(20)에 의해 분석 결과가 업데이트된 문서데이터에 대해, 기간 단위로 논리적 구분을 수행하고, 물리적 구성에 따라 데이터세트인 인덱스를 생성하여 색인을 수행하는 실시간 통합분석검색 시스템.
  9. 제8항에 있어서,
    상기 색인모듈(30)은 m개 이상(m은 1 이상의 자연수)의 서버장비(32)를 포함하며, 임의의 기간에 생성된 문서데이터로 구성되는 인덱스를 m개의 샤드로 분할하여 각 서버장비(32)에서 처리되도록 하는 실시간 통합분석검색 시스템.
  10. 제9항에 있어서,
    임의의 기간에 생성된 문서데이터는 상기 전송모듈(10)에 의해 채널 별로 분류되며,
    상기 색인모듈(30)은,
    임의의 기간 동안의 채널 별 인덱스의 데이터량을 기준데이터량으로 나누어 채널 별 샤드의 수를 산출하고, 채널 별 샤드의 수에 따라 인덱스를 재구성하는 실시간 통합분석검색 시스템.
  11. 제10항에 있어서,
    상기 색인모듈(30)은,
    산출된 채널 별 샤드의 수가 서버장비(32)의 수보다 많을 경우, 해당 채널을 독립적인 인덱스로 구성하도록 하며,
    산출된 채널 별 샤드의 수가 1 미만일 경우, 샤드의 수가 1보다 크고 서버장비(32)의 수와 같거나 작아지도록 다른 채널을 합쳐 하나의 인덱스로 구성하는 실시간 통합분석검색 시스템.
  12. 제11항에 있어서,
    상기 검색모듈(40)은,
    사용자 어플리케이션의 요청에 의해 검색기간과 검색채널에 따라 인덱스를 결정하며,
    검색엔진 쿼리를 생성한 후 상기 검색엔진에 질의응답을 수행하고, 상기 검색엔진의 응답결과를 파싱하여 사용자 어플리케이션이 요구하는 형식으로 재구성하여 표시하는 실시간 통합분석검색 시스템.
KR1020190130371A 2019-10-21 2019-10-21 실시간 통합분석검색 시스템 KR102300185B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190130371A KR102300185B1 (ko) 2019-10-21 2019-10-21 실시간 통합분석검색 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190130371A KR102300185B1 (ko) 2019-10-21 2019-10-21 실시간 통합분석검색 시스템

Publications (2)

Publication Number Publication Date
KR20210046942A KR20210046942A (ko) 2021-04-29
KR102300185B1 true KR102300185B1 (ko) 2021-09-09

Family

ID=75728360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190130371A KR102300185B1 (ko) 2019-10-21 2019-10-21 실시간 통합분석검색 시스템

Country Status (1)

Country Link
KR (1) KR102300185B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100594180B1 (ko) 2004-03-31 2006-06-28 김상권 온라인을 이용한 통합 검색 방법
US7428530B2 (en) * 2004-07-01 2008-09-23 Microsoft Corporation Dispersing search engine results by using page category information

Also Published As

Publication number Publication date
KR20210046942A (ko) 2021-04-29

Similar Documents

Publication Publication Date Title
US11847612B2 (en) Social media profiling for one or more authors using one or more social media platforms
Levitt et al. Is multidisciplinary research more highly cited? A macrolevel study
US8650177B2 (en) Skill extraction system
US8620849B2 (en) Systems and methods for facilitating open source intelligence gathering
US6236991B1 (en) Method and system for providing access for categorized information from online internet and intranet sources
US10776885B2 (en) Mutually reinforcing ranking of social media accounts and contents
US20150032751A1 (en) Methods and Systems for Utilizing Subject Matter Experts in an Online Community
CN104484431B (zh) 一种基于领域本体的多源个性化新闻网页推荐方法
WO2015013436A2 (en) Methods of identifying relevant content and subject matter expertise for online communities
Wang et al. Who sets the agenda? The dynamic agenda setting of the wildlife issue on social media
US20180046628A1 (en) Ranking social media content
Das et al. A CV parser model using entity extraction process and big data tools
Krstić et al. Visualization of big data text analytics in financial industry: a case study of topic extraction for Italian banks
KR102413961B1 (ko) Rpa 모니터링을 이용한 뉴스 분석 서비스 제공 방법
CN110717089A (zh) 一种基于网络日志的用户行为分析系统及方法
KR101644036B1 (ko) 개인 관심 이슈 트래킹 장치 및 방법
Oh How media reported on Korean wave?: Focusing on the analysis of news coverage of Republic of Korea
US10853429B2 (en) Identifying domain-specific accounts
CN106649732A (zh) 一种信息推送方法及装置
Ennaji et al. Social intelligence framework: Extracting and analyzing opinions for social CRM
CN116226494B (zh) 一种用于信息搜索的爬虫系统及方法
US20090150355A1 (en) Software method for data storage and retrieval
KR102300185B1 (ko) 실시간 통합분석검색 시스템
CN106528861A (zh) 一种添加内链的方法及装置
Pizzol et al. Gender representation in brazilian computer science conferences

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right