상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 특이성 탐지 장치는, 사용자의 생활 패턴을 나타내는 각 항목들간의 연결관계에 대응하는 특이성에 대한 규칙을 저장하는 저장부, 현재 사용자의 생활 패턴을 나타내는 로그 정보를 수집하는 정보 수집부, 상기 수집된 로그 정보를 통계적으로 분석하는 분석부, 상기 저장된 규칙을 근거로 하여 상기 분석된 로그 정보에 따른 특이성을 확률적으로 추론하는 특이성 확률 추론부 및, 상기 저장된 규칙 및 상기 추론된 특이성을 상호 분석하여 최종 특이성을 선택하는 특이성 선택부를 포함한다.
또 상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 특이성 탐지 방법은, 사용자의 생활 패턴을 나타내는 각 항목들간의 연결관계에 대응하는 특이성에 대한 규칙을 저장하는 (a) 단계, 현재 사용자의 생활 패턴을 나타내는 로그 정보를 수집하는 (b) 단계, 상기 수집된 로그 정보를 통계적으로 분석하는 (c) 단계, 상기 저장된 규칙을 근거로 하여 상기 분석된 로그 정보에 따른 특이성을 확률적으로 추론하는 (d) 단계 및, 상기 저장된 규칙 및 상기 추론된 특이성을 상호 분석하여 최종 특이성을 선택하는 (e) 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있으며, 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 명세서에서 사용하게 될 '부'는 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 각 구성요소들에서 제공되는 기능은 더 작은 수의 구성요소들로 결합되거나 추가적인 구성요소들로 더 분리될 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예에 따른 특이성 탐지 장치 및 방법을 설명하기로 한다.
본 발명의 실시예에 따른 특이성 탐지 장치는, 사용자의 생활패턴을 탐지하기 위한 데이터를 수집하고, 수집된 데이터를 기반으로 하여 사용자의 생활패턴을 정리하여 제공하는 역할을 한다. 본 발명의 실시예에 따른 특이성 탐지 장치는, 사용자의 생활패턴을 탐지하기 위하여 다양한 데이터를 활용할 수 있다. 예를 들 면, 외부에서 특이성 탐지 장치로 수신되는 데이터, 특이성 탐지 장치 내부적으로 생성되는 데이터 및 외부 저장소의 데이터를 참조할 수 있다. 좀 더 구체적으로, 날씨, 기온, 풍속 등의 웹을 통해 제공된 데이터, 나이, 성별, 직업, 기호, 습관, 주소, 기념일 등과 같이 개인 정보 관리기(Personal Imformation Managers; PIMs)에서 제공된 데이터 및 통화, SMS, 이미지 촬영, 음악 파일 재생 등과 관련된 로그 정보 등이 사용될 수 있다.
이러한 특이성 탐지 장치는 디지털 장치로 구현될 수 있다. 여기서 디지털 장치란 디지털 데이터를 처리하는 디지털 회로를 가진 장치로서, 컴퓨터, 디지털 카메라, 디지털 가전기기, 디지털 전화, 디지털 프로젝트, 홈서버, 디지털 비디오 레코더, 디지털 위성 방송 수신기, 셋탑박스 및 디지털 TV 방송 수신기 등을 예로 들 수 있다. 이하의 실시예에서는 특이성 탐지 장치가 휴대전화로 구현되는 경우를 예로 들어 설명하기로 한다.
좀 더 구체적인 설명을 위해 도 1를 참조하기로 한다. 도 1은 본 발명의 일 실시예에 따른 특이성 탐지 장치(100)의 구성을 도시한 블록도이다. 도시된 특이성 탐지 장치(100)는 입력부(110), 정보 수집부(120), 분석부(130), 특이성 확률 추론부(140), 특이성 규칙 추론부(150), 저장부(170), 디스플레이부(180) 및 제어부(190)를 포함하여 구성된다.
입력부(110)는 사용자의 명령을 입력받는 부분으로, 복수의 키를 구비할 수 있다. 예를 들면, 전원키, 특이성 추출을 실행시키는 키, 각종 문자 입력을 위한 문자 키 등을 구비할 수 있다. 입력부(110)에 구비된 키들은 사용자에 의해 인가 되는 경우, 소정 키신호를 발생시킨다.
정보 수집부(120)는 사용자의 생활 패턴을 탐지하는데 필요한 데이터를 수집한다. 예를 들면, 정보 수집부(120)는, 특이성 탐지 장치(100)의 사용 정보 즉, 통화 내역, 단문 메시지(Short Message Service; SMS) 송수신, 영상 촬영 및 멀티미디어 컨텐츠 재생과 관련된 로그 정보를 수집한다. 좀 더 구체적으로, 사용자가 단문 메시지를 송신하는 경우, 사용 정보 수집부(120)는 예를 들어, 단문 메시지의 내용, 단문 메시지 수신자, 단문 메시지가 송신된 시간 등의 데이터를 수집한다. 통화 내역의 경우, 사용 정보 수집부(120)는 예를 들어, 통화 상대, 통화 시간, 통화량 등에 대한 데이터를 수집한다. 또한, 멀티미디어 컨텐츠 중 음악 파일(DMB, 영상 파일 등)이 재생된 경우, 사용 정보 수집부(120)는 예를 들어, 재생된 음악 파일(DMB, 영상 파일 등)의 장르, 제목, 가수명(배우명), 재생 횟수, 재생 시간 등에 대한 정보를 수집한다.
또한, 정보 수집부(120)는 사용자의 위치 정보를 수집할 수도 있다. 이를 위하여 정보 수집부(120)는 예를 들어, 위성항법장치(Global Positioning System; GPS)를 포함할 수 있다. 위성항법장치는, 사용자의 위치를 나타내는 좌표값을 수신한다. 이외에도 정보 수집부(120)는 웹을 통해 날씨, 기온, 풍속 및 뉴스 등의 정보를 수집할 수도 있다.
분석부(130)는 정보 수집부(120)에 의해 수집된 정보를 통계적으로 분석하는 역할을 한다. 이를 위하여 분석부(130)는 위치 정보 분석부(131) 및 로그 정보 분석부(132)를 포함하여 구성된다.
위치 정보 분석부(131)는, 정보 수집부(120)에서 제공된 위치 정보를 분석하는 역할을 한다. 좀 더 구체적으로, 정보 수집부(120)로부터 사용자의 위치에 대응하는 좌표값이 제공되면, 위치 정보 분석부(131)는 (표1)과 같은 기저장된 매핑 테이블을 참조하여, 수신된 좌표값에 대응하는 지명(地名)을 검색한다. 이외에도, 위치 정보 분석부(131)는, 사용자가 해당 장소에 머문 시간, 이동 속도 등을 분석한다.
지명 |
좌표 |
서울 |
용산 |
37.596 |
120.751 |
서울 |
마포 |
37.845 |
120.214 |
: |
: |
: |
: |
서울 |
강남 |
37.251 |
120.769 |
로그 정보 분석부(132)는, 정보 수집부(120)에서 제공된 로그 정보를 통계적으로 분석하여 로그 컨텍스트를 생성한다. 이를 위해 로그 정보 분석부(132)는 다양한 전처리 함수를 사용할 수 있다. 예를 들면, 데일리 프리퀀시(Daily frequency) 함수, 타임 인터벌(Time-inerval) 함수, 인스턴트 임팩트(Instant impact) 함수, 데일리 임팩트(Daily impact) 함수, 이벤트 타임 스팬(Event time-span) 함수, 데일리 타임 포션(Daily time-portion), 데일리 프라이어리티(Daily priority) 함수 등을 사용할 수 있다. 여기서, 각 함수의 의미는 (표2)에 나타낸 바와 같다.
함수 |
기능 |
Daily frequency |
하루 중 이벤트가 발생한 횟수 |
Time-interval |
해당 이벤트가 마지막으로 발생한 시기로부터 지난 시간 |
Instant impact |
이벤트 발생에 따른 임팩트 (High/Low) |
Daily impact |
하루 단위의 임팩트를 체크 (High/Low) |
Event time-span |
이벤트의 시작부터 끝까지 걸린 시간 |
Daily time-portion |
하루 동안 이벤트가 차지하는 시간 |
Daily priority |
하루 동안 시간적으로 우위를 차지한 이벤트를 체크 |
예를 들어, 음악 파일 재생과 관련된 로그 정보를 분석할 때, 로그 정보 분석부(132)는 (표2)에 도시된 전처리 함수들을 기반으로, 하루 동안 음악 파일이 몇번이나 재생되었는지, 마지막으로 음악 파일이 재생된 이후로 지난 시간이 얼마인지, 음악 파일이 재생되기 시작한 시점부터 재생이 중지되기까지 걸린 시간 즉, 음악 파일을 몇시간 동안 재생되었는지, 하루동안 음악 파일이 재생된 시간이 총 몇시간인지, 음악 파일 재생이 소정 시간 동안 집중적으로 이루어졌는지 등을 분석한다. 이 때, 음악 파일 재생이 소정 시간 동안 집중적으로 이루어진 것인지에 대한 여부는 임팩트 분석을 통해서 알 수 있다. 여기서, 임팩트 분석에 대한 보다 구체적인 설명을 위해 도 2를 참조하기로 한다.
도 2는 음악 파일의 로그 정보에 대한 임팩트 분석 결과를 예시한 그래프이다. 도 2에 도시된 그래프를 참조하면, 처음으로 음악 파일이 재생되는 경우, 소정 값의 임팩트가 발생하는 것을 알 수 있다. 음악 파일 재생으로 인해 발생된 임팩트는 시간이 경과됨에 따라 자연적으로 소멸된다. 만약, 최초 음악 파일 재생으로 인해 발생된 임팩트가 모두 소멸되기 이전에 다시 음악 파일이 재생되는 경우에는 해당 시점에서의 임팩트 값을 기준으로 추가 임팩트가 증가하게 된다. 이와 같이, 각 로그 정보에 대한 임팩트 분석이 이루어지면, 각 로그 정보에 대한 임팩트 분석 결과로부터 해당 이벤트가 단시간에 집중적으로 이루어졌는지의 여부를 알 수 있다.
(표2)에 도시한 전처리 함수들을 기반으로 로그 정보에 대한 통계적인 분석이 이루어지면, 도 3에 도시된 바와 같은 로그 컨텍스트를 얻을 수 있다.
한편, 특이성 확률 추론부(140)는 위치 정보 분석부(131)에서 제공된 분석 결과 및 로그 정보 분석부(132)에서 제공된 로그 컨텍스트에 따라 특이성을 확률적으로 추론한다. 즉, 특이성 확률 추론부(140)는 사용자의 행동, 감정상태, 주변상황 및 이벤트 등에 대한 특이성을 추론한다.
특이성은, 사용자의 행동, 감정상태, 주변상황 및 이벤트 별로 추론될 수 있는데, 특이성 추출을 위해서는 베이지안 네트워크를 사용할 수 있다. 이때, 특이성 추론을 위한 연산이 효율적으로 이루어질 수 있도록 각 베이지안 네트워크는 모듈화되도록 설계되는 것이 바람직하다.
좀 더 구체적으로, 사용자의 행동 유형이 예를 들어, 휴식, 수면, 식사, 공부, 운동, 등교, 하교, 수업, 유흥, 회식, 여행, 등산, 산책, 쇼핑 및 외식 등으로 분류되는 경우, 분류된 각 항목 대한 베이지안 네트워크를 설계한다. 사용자의 감정상태가 예를 들어, 기쁨, 화남 등의 긍정적인 감정 상태, 화남, 짜증 등의 부정적인 감정 상태 및 기타 감정 상태로 분류되는 경우, 분류된 각 항목에 대한 베이지안 네트워크를 설계한다. 주변상황은 예를 들어, 시간적 상황, 공간적 상황, 날씨, 기기의 상태 및 주변사람의 상황 등으로 분류되는 경우, 각 항목에 대한 베이지안 네트워크를 설계한다. 이벤트의 경우, 행사, 기념일 및 기타 사건 등으로 분류되는 경우, 각 항목에 대한 베이지안 네트워크를 모듈화하는 것이 바람직하다.
이때, 각 베이지안 네트워크는 계층적인 구조를 갖는 계층적 베이지안 네트워크(Hierarchical Bayesian Network)인 것이 바람직하다. 여기서, 베이지안 네트워크란, 데이터에 내재하는 변수들 간의 관계를 노드(node)와 호(arc)를 가지고 시각적으로 나타내어 주는 모델링 방법을 말한다. 즉, 베이지안 네트워크에서 각 노드들은 랜덤 변수를 의미하며, 아크(arc)는 각 노드들 간의 연관성을 나타낸다.
특이성 확률 추론부(140)는 설계된 계층적 베이지안 네트워크를 통해 특이성을 추론한다. 이를 위해, 특이성 확률 추론부(140)는 현재 시점을 기준으로 하여 발견된 증거 예를 들면, 사진, 음악 파일 재생, 통화, SMS 사용 기록, 날씨, 현재 장소, 이동 여부, 이동 속도, 이전 행동 등의 데이터를 각 항목의 베이지안 네트워크에 증거로 입력하여, 특이성을 추론한다. 좀 더 구체적인 설명을 위해 도 4a 내지 도 4d를 참조하기로 한다.
도 4a는 특이성 추론을 위한 계층적 베이지안 네트워크의 일부를 예시한 것으로서, 사용자의 행동을 추론하기 위한 항목 중 '외식'이란 항목에 대한 계층적 베이지안 네트워크를 예시한 것이다. 도 4a는, 사용자의 이전 행동과 관련된 노드들, 시간과 관련된 노드들, 장소와 관련된 노드들 및 사용자의 행동과 관련된 노드들이 서로 계층적인 구조를 이루고 있는 모습을 보여주고 있다. 도시된 바와 같이, 계층적인 구조를 이루고 있는 노드들은 크게 입력 노드와 출력 노드로 구분될 수 있다. 여기서, 입력 노드는 특정 출력 노드에 영향을 미치는 노드를 의미하며, 출력 노드는 적어도 하나 이상의 입력 노드로부터 영향을 받는 노드를 의미한다. 도 4a의 경우, 사용자의 이전 행동과 관련된 노드들, 장소와 관련된 노드들 및 시간에 대한 노드들 중 '아침식사 시간' 노드, '점심식사 시간' 노드 및 '저녁식사 시간' 노드 등은 입력 노드에 포함된다. 이에 비해, '식사시간' 노드, '차마시기' 노드, '간편식사' 노드, '식사(양식)' 노드, '식사(한식)' 노드, '식사' 노드 및 '외식' 노드는 출력 노드에 포함된다.
여기서, 현재 시점을 기준으로 한 로그 컨텍스트가 (표3)과 같다고 하자.
현재 장소 |
레스토랑 |
YES |
평소 가던 곳 |
NO |
고급 식당 |
NO |
현재 시간 |
저녁식사 시간 |
YES |
이전 행동 |
없음 |
특이성 확률 추론부(140)는 (표3)과 같은 로그 컨텍스트를 도 4a에 도시된 '외식' 항목의 계층적 베이지안 네트워크에 증거로 입력하여, 입력 노드들에 대한 확률값을 계산한다. 즉, 특이성 확률 추론부(140)는 도 4b에 도시된 바와 같이, 이전 행동, 시간 및 장소에 포함되는 노드들의 확률값을 각각 산출한다. 좀 더 구체적으로, (표3)을 참조하면, 사용자의 이전 행동이 없으므로, 도 4b에서 사용자가 이전에 식사를 하지 않았을 확률 및 사용자가 이전에 산책을 하지 않았을 확률은 각각 100% 가 됨을 알 수 있다. 마찬가지로 (표3)을 참조하면, 현재 시간이 저녁식사 시간이므로, 도 4b에서 현재 시간이 점심식사 시간이 아닐 확률 및 아침식사 시간이 아닐 확률은 각각 100%가 됨을 알 수 있다.
도 4b에 도시된 바와 같이, 입력 노드들에 대한 확률값이 산출되면, 특이성 확률 추론부(140)는 각 입력 노드들 간의 연결 관계에 따라, 출력 노드에 대한 확률값을 계산한다. 즉, 특이성 확률 추론부(140)는 도 4c에 도시된 바와 같이, 사용자의 행동과 관련된 노드들의 확률값을 산출한다. 좀 더 구체적으로, 도 4b를 참조하면, 사용자가 간편한 식사를 했을 확률은, 사용자가 현재 패스트푸드점이 있을 확률 및 현재 시간이 점심식사 시간일 확률, 현재 시간이 저녁식사 시간일 확률에 의해 영향을 받음을 알 수 있다. 그런데 도 4b에서, 사용자가 현재 패스트푸드점에 있을 확률 및 현재 시간이 점심식사 시간일 확률은 각각 0%이고, 현재 시간이 저녁식사 시간일 확률은 100%이므로, 사용자가 간편한 식사를 했을 확률은 도 4c와 같이 40%가 됨을 알 수 있다. 또한, 사용자가 차를 마셨을 확률은, 사용자의 이전 행동 및 사용자가 커피점에 있을 확률에 의해 영향을 받음을 알 수 있다. 그런데 도 4b에서, 사용자가 이전에 식사 및 산책을 했을 확률은 각각 0% 이고, 사용자의 현재 위치가 커피점이 아닐 확률이 100% 이므로, 사용자가 차를 마셨을 확률은 도 4c와 같이, 2%가 됨을 알 수 있다.
마찬가지로, 특이성 확률 추론부(140)는, 사용자의 현재 위치가 평소 가던 곳일 확률, 고급 식당일 확률 및 사용자가 식사 중일 확률에 기반하여, 사용자가 현재 외식 중일 확률을 구한다.
만약, 현재 시점을 기준으로 한 로그 컨텍스트가 (표4)와 같은 경우, 이 로그 컨텍스트를 외식 항목에 대한 계층적 베이지안 네트워크에 증거로 입력하였을 때 얻을 수 있는 결과는 도 4d와 같다.
현재 장소 |
커피점 |
YES |
현재 시간 |
식사 시간 |
NO |
이전 행동 |
없음 |
좀 더 구체적으로, 외식 항목에 대한 계층적 베이지안 네트워크에서, 사용자가 차를 마실 확률은, 사용자가 이전 행동으로 식사를 했을 확률, 사용자가 이전 행동으로 산책을 했을 확률, 사용자의 현재 장소가 커피점일 확률 및 현재 시간이 식사시간일 확률에 의해 영향을 받음을 알 수 있다. 그런데 (표4)를 참조하면, 사용자의 현재 위치는 커피점이고, 식사 시간이 아니라는 증거가 입력된다. 그러므로 입력되는 증거로부터 사용자가 차를 마실 확률은 95%에 해당함을 알 수 있다.
마찬가지로, 사용자가 간편 식사를 할 확률은, 사용자가 현재 패스트푸드점에 있을 확률, 현재 시간이 점심식사 시간일 확률, 현재 시간이 저녁식사 시간일 확률에 의해 영향을 받음을 알 수 있다. 그런데 (표4)를 참조하면, 사용자의 현재 위치는 커피점이고, 현재 시간은 식사 시간이 아니므로, 사용자가 현재 패스트푸드점에 있는 확률, 현재 시간이 점심식사 시간일 확률 및 현재 시간이 저녁식사 시간일 확률은 각각 0% 임을 알 수 있다. 따라서, 사용자가 간편 식사를 할 확률은, 10% 로 매우 낮음을 알 수 있다.
마찬가지로, 특이성 확률 추론부(140)는 식사 메뉴가 양식일 확률 및 식사 메뉴가 한식일 확률을 각각 구한 후, 각 결과로부터 사용자가 식사 중일 확률을 구한다. 그 다음, 특이성 확률 추론부(140)는 사용자가 식사 중일 확률, 현재 장소가 평소 가던 곳일 확률 및 고급 식당일 확률 등을 기반으로 하여, 사용자가 외식 중일 확률을 구한다. (표4)와 같은 증거를 기반으로 하여, 외식 항목에 대한 특이성 확률을 추론한 결과, 사용자가 현재 외식 중일 확률은 26% 임을 알 수 있다.
특이성 확률 추론부(140)는 전술한 방법과 같이, 현재 시점을 기준으로 발견된 로그 컨텍스트를 각 항목의 계층적 베이지안 네트워크에 증거로 입력하여, 특이성을 추론한다.
그 다음, 특이성 확률 추론부(140)는 추론된 특이성 및 로그 컨텍스트를 각 베이지안 네트워크에 증거로 재입력하여, 2차적으로 특이성을 추론한다. 이때, 증거로 입력되는 특이성을 좀 더 정확하게 반영하기 위해 가상 노드 기법을 사용할 수 있다. 여기서, 가상 노드 기법은 확률적인 증거를 반영하기 위해 가상 노드를 추가하고, 추가된 노드의 확률값(CPV: Conditional Probability Value)을 통해 증거의 확률을 적용하는 방법이다. 가상 노드 기법에 대한 구체적인 설명은 [E. Horvitz, S. Dumais, P. Koch. "Learning predictive models of memory landmarks," CogSci 2004: 26th Annual Meeting of the Cognitive Science Society, 2004.] 에 기술되어 있으므로 상세한 설명을 생략하기로 한다.
이 후, 특이성 확률 추론부(140)는 2차적으로 추론된 특이성들 간의 인과 관계 및 연결 강도를 계산한다. 이때, 특이성들 간의 연결 강도를 구분짓기 위해서 NoisyOR 가중치가 사용될 수 있다. 여기서, NoisyOR 가중치는, 설계 및 학습 비용을 줄이기 위한 베이지안 확률 테이블 계산 방법의 하나인 NoisyOR BN 모델에서 사용되는 원인 별 조건부 확률의 연결 강도를 의미한다. NoisyOR 가중치는 일반 조건확률표(CPT)를, NoisyOR 조건확률표로 변환함으로써 얻을 수 있다. 보다 구체적인 설명을 위해 도 5a 내지 도 5d를 참조하기로 한다.
도 5a 내지 도 5d는 특이성들 간의 연결 강도를 계산하는 과정을 설명하기 위한 도면이다.
먼저, 도 5a는 2차적으로 추론된 특이성들 간의 인과 관계를 예시한 예시도이다. 도 5a에서, '바쁜시간' 및 '스팸문자'는 '짜증 SMS'의 원인이 됨을 알 수 있다. 이러한 인과 관계를 일반적인 조건확률표로 나타내면 도 5b와 같다. 도 5b의 조건확률표를 살펴보면, 스팸문자이고, 바쁜시간에 온 경우, 짜증 SMS일 확률은 0.8임을 알 수 있다. 이에 비해, 스팸문자이고, 바쁜시간이 아닌 경우, 짜증 SMS일 확률은 이보다 조금 더 낮은 0.65 임을 알 수 있다.
이러한 일반적인 조건확률표는 도 5c에 도시된 바와 같은 NoisyOR 조건확률표로 변환될 수 있다. 도 5c에 도시된 NoisyOR 조건확률표는, 스팸문자일 경우 짜증 SMS일 확률은 0.630566이고, 바쁜시간일 경우 짜증 SMS일 확률은 0.531934 임을 보여주고 있다. 여기서, Leak는 모든 원인이 발생하지 않은 경우의 확률을 나타낸다.
도 5c에 도시된 바와 같은 NoisyOR 조건확률표로부터 도 5d에 도시된 바와 같이, 각 특이성들 간의 연결강도를 알 수 있다.
이러한 방법으로 각 특이성들 간의 연결강도가 계산되면, 특이성 확률 추론부(140)는 연결강도를 기준으로 의미 있는 연결 경로를 추출한다. 즉, 각 노드들 간의 연결관계에 대한 연결강도가 소정 임계값 이하인 경우, 특이성 확률 추론부(140)는 해당 노드들 간의 연결 경로는 의미가 적은 것으로 판단하고, 해당 연결 경로에 대한 노드를 베이지안 네트워크에서 제거한다. 예를 들어, 각 노드들 간의 연결강도를 계산한 결과가 도 5d와 같고, 연결강도에 대한 임계값이 0.6인 경우, 바쁜시간에 대한 노드와 짜증 SMS에 대한 노드 간의 연결강도는 0.53이므로, 특이성 확률 추론부(140)는 해당 연결 경로가 의미가 적은 것으로 판단한다. 그 결과, 베이지안 네트워크에서 바쁜시간에 대한 노드를 제거한다. 이에 비해, 스팸문자에 대한 노드와 짜증 SMS에 대한 노드 간의 연결 강도는 0.63이므로, 특이성 확률 추론부(140)는 스팸 문자에 대한 노드를 남겨둔다.
한편, 특이성 규칙 추론부(150)는 분석부(130)에서 제공된 로그 컨텍스트 및 위치 정보를 분석하여 패턴 또는 규칙을 추론한다. 이를 위해 특이성 규칙 추론부(150)는 규칙 기반 접근방법(Rule-based approach)을 사용할 수 있다. 규칙 기반 접근방법은 [B. G. Buchanan and E. H. Shortliffe, Rule-based Expert Systems: The MYCIN Experiments of The Stanford Heuristic Programming Project, Addison-Wesley, Reading, MA, 1984.]에 기술되어 있으므로, 본 명세서에서 이에 대한 상세한 설명은 생략하기로 한다.
분석 결과로부터 규칙이 추론되면, 특이성 규칙 추론부(150)는 추론된 규칙을 기저장된 규칙과 비교하여, 일치 여부를 판단한다. 예를 들어, 기저장된 규칙 중, '등교시 이동 패턴'에 대한 규칙이 도 6과 같다고 하자.
만약, 입력된 위치 정보를 분석한 결과, 장소 이동 출발지가 집이며, 장소 이동시 거치는 장소가 학교 정문이고, 장소 이동 도착지가 학교, 이동 시간은 1시간이라는 분석 결과를 얻었다면, 특이성 규칙 추론부(150)는 분석 결과를 '등교 이동 패턴'에 대한 규칙과 비교한다. 비교 결과, 분석 결과와 기저장된 패턴이 일치하는 경우, 특이성 규칙 추론부(150)는 분석 결과를 특이성 선택부(160)로 제공한다.
특이성 선택부(160)는 특이성 확률 추론부(140)의 결과 및 특이성 규칙 추론부(150)의 결과를 상호 분석하여, 최종 특이성을 선택한다. 예를 들면, 특이성 선택부(160)는 특이성 확률 추론부(140)에 의해 추출된 특이성들 중에서 소정 임계값 예를 들면, 60% 이상의 확률을 갖는 특이성을 최종 특이성으로 선택한다. 특이성 항목으로 선택한다.
저장부(170)는 정보 수집부(120)에 의해 수집된 위치 정보 및 각종 로그 정보, (표1)과 같이, 사용자의 위치를 나타내는 좌표값과 지명(地名) 간의 대응 관계를 정의하는 매핑 테이블을 저장한다. 또한, 저장부(170)는 사용자의 행동, 감정상태, 주변상황 및 기념일별로 특이성을 추론하기 위하여 모듈화된 베이지안 네트워크들을 저장한다. 또한, 저장부(170)는 특이성 선택부(160)에 의해 선택된 특이성들을 저장한다. 이러한 저장부(170)는 롬(Read Only Memory: ROM), 피롬(Programable ROM: PROM), 이피롬(Erasable Programmable ROM: EPROM), 이이피롬(Electrically Erasable Programmable ROM: EEPROM), 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 램(Random Access Memory: RAM)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(Hard Disk Drive; HDD)와 같은 저장 매체 중 적어도 하나로 구현될 수 있으나 이에 한정되지는 않는다.
디스플레이부(180)는 사용자의 명령 처리 결과를 가시적으로 출력하는 역할을 한다. 이러한 디스플레이부(180)는 예를 들어, LCD(Liquid Crystal Display)와 같은 평판 디스플레이 소자로 구현될 수 있다.
제어부(190)는 입력부(110)로부터 제공된 키신호에 따라 장치 내의 구성 요소들을 서로 연결하고 제어한다. 예를 들면, 입력부(110)로부터 특이성 추론을 실행시키는 키신호가 제공되는 경우, 제어부(190)는 특이성 확률 추론부(140) 및 특이성 규칙 추론부(150) 등을 제어하여, 특이성이 추출될 수 있도록 한다.
한편, 도면에 도시되지는 않았으나, 본 발명의 일 실시예에 따른 특이성 탐지 장치(200)는 특이성 업데이트부를 포함할 수 있다. 여기서, 특이성 업데이트부는 사용자의 생활 패턴을 나타내는 데이터를 기반으로 하여 특이성 추론 모델 즉, 특이성 규칙 및 베이지안 네트워크의 구조를 업데이트한다. 이때, 특이성 추론 모델을 업데이트 하기 위한 방법으로, (표5)와 같은 학습 방법이 사용될 수 있다. 즉, 사용자의 피드백에 의해 얻어진 데이터를 수집하여 저장하고, 이를 단기 학습과 장기 학습으로 나누어 학습하는 방법이다.
종류 |
학습시기 |
대상 |
학습 알고리즘 |
단기 학습 |
단기간 데이터 수집 후 |
규칙 |
통계적 패턴 분석 |
베이지안 네트워크 |
확률 파라미터 적응 |
장기 학습 |
장기간 데이터 수집 후 |
베이지안 네트워크 |
Constrained K2 Learning Algorithm |
단기 학습의 경우 규칙에 대한 학습은 통계적인 분석에 의해 파라미터를 업데이트하는 방법을 사용하고, 베이지안 네트워크에 대한 학습은 확률 파라미터만 업데이트하는 방법을 사용한다. 확률 파라미터 적응을 위한 수식은 (수학식1)과 같다.
(수학식1)에서
는 n번째 데이터에 대한 Least-square 에러 값이며, Ndms 데이터 크기,
은 학습률을 나타낸다. 이에 대한 상세한 설명은 [B.P.L. Lo, S. Thiemjarus, G.-Z. Yang, "Adaptive Bayesian networks for video processing," Int. Conf. on Image Processing, vol.1, no.1, pp.889-892, 2003.]에 기술되어 있으므로 본 명세서에서는 그 설명을 생략하기로 한다.
장기 학습의 경우에는 데이터를 충분히 보유한 상태이므로, 베이지안 네트워크의 구조를 학습할 수 있다. 베이지안 네트워크의 구조를 학습할 때에는 입력 노드와 출력 노드의 방향성을 유지하기 위해 레벨 수준에 따른 학습이 가능한 베이지안 네트워크 제한 학습 방법을 사용할 수 있다. 이때, 과적응 현상을 방지하기 위해서, 여러 특이성들 중에서 공통 구조를 선택하여 사용하는 것이 바람직하다. 베이지안 네트워크 제한 학습 방법에 대한 상세한 설명은 [K.-S. Hwang, and S.-B. Cho, "Constrained learning method of Bayesian network structure for efficient context classification," Proc. of KISS, vol. 31, no. 2, pp. 112-114, 2004.]에 기술되어 있으므로 본 명세서에서는 그 설명을 생략한다.
다음으로, 도 7은 본 발명의 일 실시예에 따른 특이성 탐지 방법을 도시한 흐름도이다.
먼저, 정보 수집부(120)는 현재 사용자의 생활 패턴을 나타내는 로그 정보를 수지한다. 예를 들면, 위치 정보, 통화 내역, SMS 수신 및 발신 내역, 음악 파일 재생 관련 기록, 웹을 통해 날씨 및 뉴스와 관련된 정보를 수집한다(S710).
로그 정보가 수집되면, 분석부(130)는 수집된 로그 정보를 통계적으로 분석하여 로그 컨텍스트를 생성한다(S720). 이때, 분석부(130)는 각종 전처리 함수를 기반으로하여, 로그 정보를 통계적으로 분석한다. 예를 들면, 음악 파일 재생과 관련된 로그 정보를 분석하는 경우, 분석부(130)는, 하루 중 음악 파일이 몇 번이나 재생되었는지, 음악 파일이 몇 시간 동안 재생되었는지, 하루 중 음악 파일이 재생된 시간이 몇 시간인지 등을 분석한다.
로그 컨텍스트가 생성되면, 특이성 확률 추론부(140)는 생성된 로그 컨텍스트를 각 베이지안 네트워크에 증거로 입력하여 특이성을 확률적으로 추론한다(S730). 이 단계에 대한 보다 구체적인 설명을 위해 도 8을 참조하기로 한다.
도 8은 도 7에서 특이성을 확률적으로 추론하는 단계 S730을 보다 상세히 도시한 흐름도이다.
먼저, 특이성 확률 추론부(140)는 로그 컨텍스트를 모듈화된 각각의 베이지안 네트워크에 입력하여, 1차적으로 특이성을 추론한다(S731). 예를 들어, (표3)에 도시된 바와 같은 로그 컨텍스트가 도 4a 에 도시된 '외식' 베이지안 네트워크에 입력되었다면, 1차적으로 도 4c와 같은 특이성이 추론될 수 있다. 즉, 식사시간, 식사(양식), 식사(한식), 식사 및 외식이라는 특이성들이 추론될 수 있다.
이와 같이, 1차적으로 특이성이 추론되면, 특이성 확률 추론부(140)는, 1차적으로 추론된 특이성 및 로그 컨텍스트를 각 베이지안 네트워크에 증거로 재입력하여 2차적으로 특이성을 추론한다(S732).
2차적으로 특이성을 추론한 후, 특이성 확률 추론부(140)는 각 베이지엔 네 트워크에서 추론된 특이성들 간의 연결관계 및 연결강도를 계산한다(S733). 특이성들 간의 연결강도를 계산하기 위하여 특이성 확률 추론부(140)는, 각 특이성들 간의 관계에 근거한 조건확률표를 NoisyOR 조건확률표로 변환한다.
이로써, 각 특이성들 간의 연결강도가 계산되면, 특이성 확률 추론부(140)는 계산된 연결강도를 기준으로 의미 있는 연결관계를 갖는 특이성을 추출한다(S734). 즉, 소정 임계값 이상의 연결강도를 갖는 특이성들을 추출한다.
이와 같은 방법으로 특이성이 추출되면, 특이성 선택부(160)는 기저장되어 규칙 및 추출된 특이성을 상호 분석하여, 최종 특이성을 선택한다(S740).
도 9 내지 도 11은 본 발명의 일 실시예에 따른 특이성 탐지 장치(100)의 추론 성능에 대한 실험 결과를 설명하기 위한 도면들이다.
먼저, 본 실험에서는 장소 별 행동 추론, 감정상태 추론, 주변상황 추론 및 이벤트 추론을 위하여 총 39개의 베이지안 네트워크들을 설계하였다(장소 별 행동 추론을 위한 베이지안 네트워크 18개, 감정상태 추론을 위한 베이지안 네트워크 9개, 주변상황 추론을 위한 베이지안 네트워크 5개 및 이벤트 추론을 위한 베이지엔 네트워크 2개).
특이성 탐지 장치(100)의 성능을 실험하기 위하여 대학생의 일발 생활을 가정하였는데, 이 가정에 따라 작성된 시나리오는 도 9와 같다. 이 실험에는, 외식, 사진, 이동행동, 자연, 즐거움, 및 집 각각에 대한 총 6개의 베이지안 네트워크가 사용되었다.
도 10은 전술한 6개의 베이지안 네트워크에 증거로 입력되는 로그 컨텍스트 를 도시한 것이다.
도 11은 도 10에 도시된 로그 컨텍스트를 하루 분량 생성한 뒤, 이를 이용하여 특이성을 추론한 결과를 보여주고 있다. 즉, 도 11을 참조하면, 도 9의 시나리오에 해당하는 시간에 특이성의 확률이 높아지는 것을 알 수 있다.
이상과 같이 예시된 도면을 참조로 하여, 본 발명에 따른 모바일 디바이스를 위한 특이성 탐지 장치 및 방법에 대해여 설명하였으나, 본 발명은 본 명세서에 개시된 실시예와 도면에 의해 한정되지 않으며, 그 발명의 기술사상 범위 내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.