데이터에 포함된 동적 패턴의 탐색과 해석을 위한 협업적 탐험 플랫폼 (CoDIP) (2)

클릭 >> Hello, world !! (from ShadowEgo)

  1. (1)편 (http://222.114.71.21:10100/2017/07/31/codipintro1/)%EC%97%90 이어서…
  2. 본 포스팅의 세부 요소 기술들은 모두 특허로 보호되고 있습니다. (http://222.114.71.21:10100/2018/05/24/patent2017july/

데이터를 수집했다. 그러나.

데이터를 수집하고 처리하는 시스템을 만드는 가장 기본적인 이유는 데이터에서 가치를 뽑아내고 활용하는 것이다. 그럼에도 불구하고, 많은 데이터 분석 관련 프로젝트들이 데이터를 수집하고 저장하는 시스템이나 플랫폼을 만드는 것에만 초점을 맞추고, 정작 데이터를 활용할 구체적인 방안을 만드는 데에는 소홀한 경우가 많다. 이러한 현상이 발생하는 대표적인 이유는, 데이터에서 가치를 뽑아내는 과정에는 소프트웨어 개발자나 데이터 분석 전문가들의 기술적 역량만으로 해결할 수 없는 문제들이 포함되어 있기 때문이다. 지난 (1)편에서도 언급한 바와 같이, 데이터에서 가치를 뽑아내려면, 데이터를 생성하는 주체의 특성과 상태, 생성 환경에 대한 개별적 지식과 경험이 어떻게든 활용되어야 한다.

프로그래머이면서 IoT 에 관심이 많은 김인포씨는 시중에서 판매하는 센서 세트를 구입하여 자신이 살고 있는 집의 곳곳에 센서를 설치했다. 출입문, 냉장고 문, 화장실 문 등에는 가속도 센서를, 부엌에는 온습도 센서를, 거실과 화장실에는 조도 센서를, 그리고 창문 근처에는 먼지 센서를 설치했다. 그리고 각 센서 데이터가 서버에 저장되도록 설정까지 마쳤다. 그리고는 모니터 화면에 나타나는 그래프를 보며 완벽한 IoT 환경을 만들었다는 생각을 하며 미소를 지었다. 내친 김에 김인포씨는 금융과 주식 정보를 받아오는 스크립트를 작성해서 수치를 확인할 수 있도록 dashboard 를 구성하는 작업까지 마쳤다. 김인포씨는 이제부터 매우 지능적인 생활을 할 수 있을 거라는 생각에 친구들에게 자랑을 했다.

그런데 친구인 최지능씨가 김인포씨의 자랑을 듣고는 이런 말을 했다.

“오, 멋진데, 그럼 이제 가만히 있기만 해도 중요한 정보를 다 알 수 있게 된거야?”

김인포씨가 그렇다고 대답을 하자, 최지능씨는 또 물었다.

“그럼 밖에서 일하고 있다가도 중요한 상황이 되면 실시간으로 정보를 받아볼 수도 있겠네?”

이 질문을 받고는 김인포씨는 잠시 갸우뚱했다. 데이터를 수집할 수도 있고, 그래프로 확인하는 것도 가능한데, 정작 어느 타이밍에 어떤 상황을 파악해야 하는지는 알 수 없을 것 같았다. 김인포씨는 검색을 통해 이러한 용도로 사용할 수 있는 소프트웨어나 서비스를 찾아봤지만 쉽게 찾을 수 없었다.

데이터에서 패턴을 탐지할 수 있게

CoDIP의 가장 기본적인 기능은 지속적으로 수집되는 수치 데이터에 포함된 동적 패턴(dynamic pattern)을 탐지하는 것이다. 위의 사례에서 김인포씨가 수집한 데이터들이 CoDIP에 업로드되면, 데이터에서 특정 패턴이 탐지될 때 해당 패턴의 특성과 의미를 출력할 수 있다. 따라서 김인포씨는 자신이 집을 비운 낮시간에도 낯선 사람이 집에 출입했음을 통보받을 수 있으며, 부엌의 온도가 1분 동안 5도 이상 증가했을 때 화재의 가능성을 통보받을 수 있다. 또한 화장실의 출입 회수가 지난 주에 비해 30% 이상 늘어났을 때 혈액 검사를 받아보라는 통보를 받을 수 있게 된다. 더 나아가 1주일 동안 자신이 투자한 회사의 주가가 10% 이상 오를 경우 주식을 매수할 시기임을 통보받을 수 있게 된다. (이 상황들은 모두 만들어진 예시이며, 가상의 시나리오이다.)

자, 그렇다면 이제 의문이 생긴다. “어떠한 패턴을 탐지해야 할 지, 그리고 그 패턴은 어떤 의미인지 CoDIP 은 어떻게 알아낼 수 있는 것일까?” 여기까지 꼼꼼히 읽어온 사람이라면, 왠지 어떠한 데이터던 간에 연결만 하면 알아서 척척 중요한 패턴을 탐지해서 그 의미를 알려주는 기능이 CoDIP에 포함되어 있을 것이라고 기대할 지도 모르겠다. 그렇다면 조금은 실망스러울 수도 있겠으나, CoDIP을 사용하면 할 수록, CoDIP을 점점 지능적으로 만들어갈 수 있으며, 자신이 CoDIP을 똑똑하게 만드는 과정에 직접 참여할 수도 있다는 사실을 확인하면서 실망감을 줄일 수 있을 것이다. 그리고, 사실, 매우 똑똑한 CoDIP이 개발완료되는 것이 아주 먼 미래의 일도 아니다. (사실은 Inforience 의 최종 목표는 이것이다…)

Visual Analysis in CoDIP

스크린샷 2017-07-15 14.03.06

그림 #1. Visual Analysis (VA) 의 개념

Visual Analysis (VA) 는 CoDIP 의 여러가지 활용 모드들 중에서 가장 기본적인 모드이다. 사용자는 과거부터 현재까지 긴 시간동안 수집된, 또는 실시간으로 수집되고 있는 수치 데이터의 그래프를 직접 눈으로 확인하면서 특정 패턴이 나타난 타이밍 또는 구간을 선택하고 해당 패턴에 대한 해석과 의견을 직접 붙일 수 있다. 이렇게 붙인 내용들은 다른 사용자들과도 공유할 수 있으며, 같은 패턴에 대해 다른 사용자가 추가한 다른 관점의 해석과 의견도 수집할 수 있다. 이러한 과정을 거치게 되면 자신의 경험과 지식을 공유할 수 있을 뿐만 아니라, 이후의 분석과정에서 주목해야 할 패턴의 존재와 타이밍, 그리고 해당 패턴의 의미나 중요도를 수집할 수 있게 된다. 예를 들어, 1900년대 초반부터 현재까지의 인구변화 그래프에서 인구가 급격하게 늘어난 구간을 설정하고 인구가 늘어나게 된 원인이나 영향에 대해 적어넣을 수 있고, 다른 사용자가 그 내용을 확인할 수 있게 되는 것이다. 또는 유리 온실에 배치된 온도 센서 데이터의 그래프에서 갑자기 온도가 급격하게 하강한 구간이 난방 시스템의 고장에 의해 나타난 패턴임을 기록할 수 있다. 이렇게 기록된 결과는 해당 구간의 데이터 패턴을 “난방 시스템의 고장”이라는 그룹으로 분류하여 탐지하도록 하는 모델을 만드는 과정에서 활용될 수 있다. (뒤에서 설명할 Query Analysis 모드 또는 Machine Learning 모드에서 활용)

Query Analysis in CoDIP

VA 과정을 통해 찾아낸 데이터 패턴이 다른 구간에서도 나타나는지 탐색하고자 하거나, 존재할 것으로 생각되는 흥미로운 패턴이 데이터 내에 실제로 존재하는지, 존재한다면 어느 타이밍에 나타났으며 그 통계적인 특성은 어떠한지를 직접 분석하고자 할 때에는 Query Analysis (QA) 모드를 활용할 수 있다. 사용자는 자신이 찾고자 하는 패턴을 설정하고 입력한 뒤 탐색 기능을 동작시키게 되는데, 이를 위해 CoDIP은 다양한 패턴 설정 방법을 제공한다. 패턴 설정 과정은 자신이 찾고자 하는 패턴을 query 로 입력하는 과정이다.

스크린샷 2017-07-15 14.03.53

그림 #2. 데이터의 y 값의 범위 지정

그림 #2는 특정 범위의 값을 나타내는 데이터의 위치를 query 로 입력하여 탐색하는 과정을 나타낸다. 사용자가 데이터 값을 지정하거나 데이터 값의 구간을 마우스로 드래그하여 설정하면 CoDIP은 해당 값을 만족시키는 구간들을 모두 탐색하여 결과를 보여준다. 더 나아가, 그러한 구간이 나타난 전체 회수와 주기성 등과 같은 부가정보를 제공하기도 한다. 사용자는 이렇게 출력된 결과에 해석과 의견을 붙여서 다른 사용자와 공유할 수 있다. 또한 이러한 결과를 실시간 query 로 등록하게 되면, CoDIP은 새롭게 입력되는 데이터에서 이와 동일한 패턴이 나타나는지 지속적으로 모니터링하게 되며, 해당 패턴이 탐지될 경우 패턴에 대한 정보와 해석을 출력한다. 패턴에 대한 정보와 해석은 사용자들이 입력한 해석과 의견을 바탕으로 만들어진다. 이렇게 출력된 결과들은 외부 서비스에 제공될 수 있다.

스크린샷 2017-07-15 14.05.00

그림 #3. 패턴을 그려서 지정

그림 #3은 자신이 찾고자 하는 패턴을 직접 그려서 query 로 입력하여 탐색하는 과정을 나타낸다. 사용자는 상승 또는 하강하거나 특정 값이 유지되는 패턴 등을 직접 그려서 입력할 수 있는데, query 로 입력할 패턴의 길이, 각도, 높이 등을 자유자재로 설정하여 입력할 수 있다. CoDIP은 이렇게 입력된 패턴과 유사한 패턴이 나타나는 구간을 모두 찾아낸다. 패턴 탐색 결과에 해석과 의견을 붙여 공유하거나 실시간 query 로 등록하여 활용할 수 있는 것은 앞에서 설명한 y값의 범위를 지정하는 query 의 경우와 동일하다.

스크린샷 2017-07-15 14.05.38

그림 #4. 실제로 나타났던 패턴의 구간을 선택해서 지정

데이터를 관찰하다 보면, 흥미로운 패턴이 나타난 구간을 확인하게 되는 경우가 있는데, 눈으로 확인하고 해석과 의견을 붙이는 VA 과정에서 더 나아가, 그 패턴을 query 로 설정하여 입력할 수도 있다. 그림 #4 에서 나타낸 바와 같이, 사용자가 특정 구간을 마우스로 드래그하여 실제로 나타났던 데이터 패턴의 구간을 query 로 지정하면 전체 데이터 내에서 그와 비슷한 패턴이 나타난 구간을 모두 찾을 수 있다. 해석을 붙이고 공유하거나, 실시간 query 로 등록하여 활용하는 과정은 다른 query들과 모두 동일하다.

스크린샷 2017-07-15 14.06.30

그림 #5. 복합 query 지정

CoDIP은 여러 개의 패턴을 동시에 query로 입력하여 탐색할 수 있게 하는 기능을 제공한다. (복합 query) 이러한 복합 query 의 개념을 활용하면, 그림 #5 에서 볼 수 있는 바와 같이, 사용자는 하나의 데이터에 여러 개의 패턴을 입력하여 패턴들의 특징을 모두 만족시키는 구간을 탐색하거나, 서로 다른 데이터에 각각 개별 패턴을 query 로 입력하여 query 들이 동시에 만족하는 구간을 탐색할 수 있다. 복합 query 역시 탐색 결과에 해석을 붙이고 공유하거나, 실시간 query 로 등록하여 활용할 수 있다.

스크린샷 2017-07-15 14.07.14

그림 #6. 패턴 간 관련성 분석

여러 개의 패턴을 query 로 입력하는 경우에는, 각 패턴이 나타나는 타이밍 사이에 규칙적인 관련성이 존재하는 지의 여부를 확인할 필요가 있다. 예를 들자면, 데이터 A에서 급격한 상승 패턴이 나타난 후 1일 이내에 데이터 B에서 하강 패턴이 나타나는 경우가 규칙적으로 반복해서 나타날 수 있는 것이다. (이런 경우, 데이터 A와 데이터 B의 사이에는 특별한 관계가 있을 가능성이 높다.) 이러한 패턴을 찾아내는 것은 어쩌면 개별 패턴을 탐색하는 것보다 더 중요한 의미를 지닐 수도 있으므로, CoDIP 에서는 각 개별 패턴의 탐지 결과들 사이의 관련성을 찾는 기능을 제공한다. 사용자가 각 개별 패턴의 탐색 결과를 생성한 뒤, 패턴 간 관련성을 찾는 기능을 실행하면 두 패턴 간의 관련성을 찾을 수 있게 된다.

Machine Learning in CoDIP

스크린샷 2017-07-15 14.16.19

그림 #7. Machine Learning 의 적용과 활용

지금까지 모두 읽어온 독자라면, VA와 QA 과정은 눈으로 확인하고 구분할 수 있는 패턴들을 대상으로 한다는 점을 파악했을 것이다. 그러나, 초당 샘플링 수가 매우 높거나, 고차원의 데이터이거나, 변화의 패턴을 눈으로 확인하기 어려운 데이터를 대상으로 할 경우에는 VA나 QA만으로는 충분하지 않을 수 있다. 이러한 데이터를 다루는 작업은 상당한 수준의 기술적인 역량을 필요로 하는데, 그림 #7에서 확인할 수 있는 것과 같이, CoDIP에서는 특정 데이터 구간들을 모아서 특성을 추출하여 Machine Learning 모델을 학습시키고 활용할 수 있는 인터페이스를 제공한다. (Hidden Markov Model 및 Recurrent Neural Network 계열의 모델을 활용) CoDIP의 Machine Learning 모드와 관련된 자세한 내용은 추후에 이어질 포스팅에서 계속 소개할 예정이다.

VA-QA-ML

스크린샷 2017-07-15 15.46.10

그림 #8. VA-QA-ML 사이의 관계

그림 #8은 CoDIP 의 다양한 활용 모드 사이의 관계 및 각 모드를 활용할 사용자 그룹을 나타낸다. CoDIP 은 경험적이고 주관적인 데이터 활용에서부터 기술적이고 전문적인 데이터 핸들링까지 모두 지원하며, 다양한 기술수준과 배경지식을 가진 사람들 사이에서 협업을 할 수 있도록 한다. 또한 모든 작업의 결과가 축적되어 적절히 활용될 수 있도록 한다. 다음에 소개할 CoDIP 의 특성들은 (1)편에서 언급했던 내용인데, 본 포스팅을 여기까지 읽은 후에 다시 접하게 되면 각 의미가 새롭게 다가올 것이다.

  • 일부 전문가에 의해서만 수행되어 데이터 마이닝 작업을 일반 사용자들도 일정 수준까지 직접 수행할 있도록 하여 자신들의 데이터에 어떠한 패턴이 포함되어 있을지 미리 스스로 탐색해볼 있게 한다.
  • 전문적인 데이터 마이닝 알고리즘 뿐만 아니라 사용자가 자신의 데이터에 대해 알고 있는 경험적 지식을 분석 과정에 반영할 있게 한다.
    • 경험적 지식의
      • 주변 온도가 28 이상이고, 소음이 레벨 4 이상인 상태가 30 이상 지속되면 기계의 동작을 멈추고 상태를 점검해야 한다.
      • 환율이 상승하고, 재고가 40% 이상이고, 지난 달간 비용이 30% 상승하면 관심 상태로 상황을 주시해야 한다.
      • 가속도 센서의 변동 값이 없는 상태에서 심장 박동이 30% 이상 급상승하는 경우가 1주일에 3 이상 발견될 경우 의사의 진찰을 받아야 한다.
  • 데이터 분석 인프라나 서비스를 본격적으로 도입하기 전에 데이터에 대한 초기 단계의 분석을 사전에 수행하여 데이터 분석의 효과 데이터 분석에 필요한 예산 규모나 투자 규모를 미리 평가해볼 있다.
  • 자신의 개인 데이터 분석을 직접 수행해 보고 결과를 활용할 있으며, 과정에서 데이터 분석에 대한 지식과 경험을 쌓을 있다.
  • 정적인 데이터 분석 뿐만 아니라 시계열과 같은 동적 데이터 패턴에 대한 분석이 가능하다.
  • 동일한 데이터에 대해 여러 사용자가 함께 분석 해석 과정에 참여할 있으므로, 협업을 통해 객관적이고 신뢰성 있는 결과를 도출할 있다
  • 데이터 분석 기술을 보유한 Mining expert 들과, 분석 기술은 보유하고 있지 않으나 데이터에 대한 경험적 지식을 가진 Domain expert 들의 효율적인 협업이 필요한 데이터 마이닝 과정에서, CoDIP Mining expert 역할을 수행한다. 이를 통해, Mining expert 들이 없는 상황에서도 Domain expert 들이 최대한으로 자신만의 분석 해석 결과를 얻을 있도록 한다.

Applying CoDIP

스크린샷 2017-07-15 14.24.16

그림 #9. 데이터에서 추출되는 지식들

그림 #9는 완성된 CoDIP이 동작하는 모습을 개념적으로 표현한 것인데, 다양한 수치 시계열 데이터가 지속적으로 입력되는 가운데, 기술적인 요소 뿐만 아니라 경험적이고 직관적인 배경지식들이 한데 어우러져서 데이터로부터 유용한 지식들이 출력되는 과정이 CoDIP 에 의해 실현될 수 있는 것이다.

CoDIP is still developing

CoDIP은 다양한 방향으로 여전히 진화하고 있다.

  • 첫째, 데이터의 특정 구간에 해석을 입력하거나 query 를 입력하는 과정을 좀 더 쉽고 효율적으로 수행할 수 있게 하기 위하여 사용자 인터페이스를 계속 발전시키고 있다.
  • 둘째, CoDIP 개발팀은 다양한 데이터 및 활용 케이스를 획득하고 전체적인 성능을 높이기 위한 노력을 기울이고 있다.
  • 셋째, 탐지와 해석 뿐만 아니라 적절한 수준의 예측 기능을 탑재하기 위한 연구를 진행하고 있다.
  • 마지막으로, 사용자의 개입이 없어도 중요한 패턴을 스스로 탐지하는 모델을 개발하기 위한 노력을 기울이고 있다. 각 방향으로의 진화의 과정과 결과는 추후의 포스팅에서 계속 소개할 예정이다.

다음의 그림들은 CoDIP 이 개발하고 있는 자동패턴 탐지 기능들의 개념을 나타낸 것인데, 사용자의 개입이 없어도 흥미로운 패턴을 스스로 찾아주는 기능이다.

스크린샷 2017-07-15 14.18.52

그림 #10. 특이한 패턴 탐지

스크린샷 2017-07-15 14.19.33

그림 #11. 특정 패턴의 발생 회수 및 주기성 탐지

스크린샷 2017-07-15 14.20.06

그림 #12. 패턴의 시간적 배열 특성 탐지

스크린샷 2017-07-15 14.20.53

그림 #13. 패턴 간 상관관계 및 인과관계 탐지 (예: 패턴 1이 발생한 후 1시간 이내에 패턴 2가 발생할 확률이 85%)

스크린샷 2017-07-15 14.21.58

그림 #14. 데이터 간 관련성 변화 탐지 (앞에서는 두 데이터가 서로 음의 상관관계를 나타냈었는데 갑자기 바뀌는…?)

카테고리: Tech. of Inforience | 댓글 남기기

데이터에 포함된 동적 패턴의 탐색과 해석을 위한 협업적 탐험 플랫폼 (CoDIP) (1)

클릭 >> Hello, world !! (from ShadowEgo)

동적 데이터 패턴의 예와 중요성

바야흐로 데이터 활용의 시대다. 활용할 있게 데이터의 종류와 양이 폭증했을 아니라, 데이터를 생산하는 주체도 다양해졌으며, 이에 따라 데이터를 저장하고 분석하는 기술도 발전하고 있다. 또한 소수의 전문가들에 의해서만 데이터가 분석되었던 시대를 지나, 이제는 누구나 직접 데이터를 수집, 분석, 활용할 있는 시대 나아가고 있다. 활용 대상이 있는 데이터의 종류와 양은 명의 사용자가 착용한 웨어러블 장치가 수집하는 소량의 센서 데이터에서부터수백만명의 사용자들이 활동하는 온라인 사이트에 쌓인 엄청난 양의 컨텐츠와 로그 데이터에 이르기까지, 우리가 상상할 있는 이상이다.

데이터는 지속적으로 수집된다. 따라서, 시간에 따라 어떻게 변화했는가를 파악하는 것이 매우 중요하다. 환율이나 주식 관련 데이터들은 날마다 계속적으로 쌓이고 있으며, 개인의 카드 사용 내역도 계속해서 차곡차곡 기록된다. 일반적으로 우리는 일정한 기간 동안 쌓인 데이터에 나타난 통계적인 수치를 파악하는 것에 관심이 많지만, 그에 못지 않게 데이터가 시간에 따라 어떠한 변화 패턴을 보였는지, 변화 패턴은 무엇에 의해 비롯되었는지 등을 알고 싶어한다특히 모바일 헬스케어사물 인터넷, 핀테크 등과 같은 새로운 기술 트렌드의 등장에 의해 수집될 있게 환경행동생체, 소셜 미디어, 금융 거래 데이터 등과 같이 지속적으로 생산유입되는 데이터들에 포함된 동적인 특성 – 시간에 따른 데이터의 추세변화 또는 여러 데이터간 상관 관계의 변화  –  신속하게 발굴하고 활용해야  필요성이 커지고 있다.

f1

그림 #1. 데이터는 살아 움직인다.

위의 그림은 우리가 쉽게 접할 있는 데이터들의 그래프이다. 우리는 주식시장의 주요 수치 데이터가 어떻게 변화하는지, 우리가 살고 있는 곳의 날씨는 과거에 비해 얼마나 빨리 더워지고 있는지, 나의 몸에 부착한 웨어러블 센서의 데이터는 어떠한 패턴을 그리는지, 뉴스 포털에 올라오는 기사의 이슈들은 시간에 따라 어떻게 바뀌는지 등을 궁금해 한다. 나아가, 데이터로부터 뚜렷한 변화 패턴을 관찰하게 되면, 그러한 패턴을 발생시킨 원인을 찾고 싶어한다.

하나의 데이터에는 다양한 형태의 변화 패턴이 포함될 있다. 수치가 갑자기 상승하거나 하강할 있으며, 일정 기간동안 변화없이 특정 값을 유지할 수도 있다. 눈에 띄는 패턴이 주기적으로 발생할 수도 있으며, 여러 개의 패턴들이 복합적으로 나열되는 형태를 보일 수도 있다. 서로 다른 데이터가 높은 상관관계(Correlation) 나타낼 있으며, 데이터 사이에 높은 인과관계(Causality) 존재할 수도 있다따라서, 데이터에 포함된 다양한 동적 패턴들을 탐색, 발굴하고, 해당 패턴들의 원인을 고민하거나 패턴의 의미를 추출하여 적절히 활용하는 것은, 데이터 분석에 있어 가장 기본적이면서도 중요한 작업이다.  

데이터 패턴의 탐색, 해석과 협업의 필요성

스크린샷 2017-07-15 14.33.04

그림 #2. 공간에 배치한 센서의 위치가 바뀌기만 해도 데이터 패턴은 완전히 달라지게 되어, 새롭게 다시 관찰, 분석해야 한다.

데이터는 데이터를 생성해내는 주체의 특성과 상태를 표현한다데이터에 포함된 패턴은 때로는 매우 무질서해 보일 있으며, 존재 여부를 미리 예측하기가 어렵다. 데이터의 특성과 상태는 해당 주체의 내재적 특성에 의해 변화할 뿐만 아니라, 외부 요소의 영향에 의해서도 변화할 있다. 또한 변화를 일으키는 원인이 무엇인가에 따라 다양한 패턴을 보일 있다따라서, 데이터를 생산하는 주체에 대한 지식과 경험을 바탕으로 데이터에 포함되어 있을 법한 패턴에 대한 가설을 세우고, 해당 패턴의 존재 여부를 검증해야 한다.

데이터에 포함된 패턴을 탐색하는 방법에는 여러가지가 있을 있다. 가장 대표적인 방법은, 데이터마이닝 또는 머신러닝 등과 같은 분야에서 개발되어 알고리즘들을 적용하는 것이다. 이와 같은 방법을 적용할 때에는, 알고리즘을 적용하는데 필요한 다양한 파라메터들을 사용자가 직접 결정해야 수도 있으며, 이렇게 결정된 파라메터들의 내용에 따라 알고리즘의 동작 방식이나 탐색 가능한 결과들이 달라지게 된다. 다른 방법은, 데이터에 포함되어 있을 법한 패턴에 대한 표현(metric, indicator, 또는 query  ) 사용자가 직접 만들어 , 해당 패턴이 실제로 데이터에 포함되어 있는지 검증하는 방법이다. 전자의 방법은 데이터마이닝 또는 기계학습 알고리즘과 파라메터에 대한 지식을 필요로 한다는 특성이 있는데 반해, 후자의 방법은 일반적인 사용자들도 자신의 경험과 지식을 기반으로 탐색 작업에 직접 참여할 있다는 장점 있다

데이터 패턴 탐색에 활용할 좋은 표현(metric, indicator, 또는 query  ) 디자인하는 것은 매우 중요한 일이다. 또한 그러한 표현들을 누구나 쉽게 디자인하고 활용할 있게 하는 것도 그렇다. 세이버매트릭스(http://sabr.org/sabermetrics) 야구 데이터에서 주요한 정보를 추출하기 위하여 다양한 지표를 디자인하고 활용하는 분야인데, 널리 활용되고 있는 중요한 지표들 중에는 전문가가 아닌, 그저 야구를 좋아하는 팬들에 의해 만들어진 것들도 많다. 결과적으로, 좋은 표현을 누구나 쉽게 만들 있게 되면, 다양하고 풍부한 지표가 만들어지고 활용될 있게 되어, 데이터의 가치가 크게 올라갈 있다.

데이터마이닝, 기계학습 또는 사용자에 의해 만들어진 표현 등에 의해 탐색된 패턴은 데이터를 활용하는 과정에서 매우 중요한 역할을 한다. 그러나 패턴 자체만으로는 활용성이 높지 않으며, 데이터가 나타낸 패턴에 대한 해석이 중요하다. 아무리 통계적으로 유의미한 (statistically significant) 패턴이라고 하더라도, 패턴이 무엇을 의미하는가를 이해하지 못하면 데이터 분석의 의미가 없어지게 된다

데이터가 나타낸 패턴을 해석하고 의미를 부여하는 작업은 (적어도 현재까지는) 자동적으로 이루어질 없으므로, 데이터 분석자의 경험과 지식을 직접 반영할 있도록 해야 한다. 따라서, 이와 같은 작업을 적절히 수행할 있도록 하는 사용자 인터페이스를 제공하는 것도 역시 중요하다. 나아가, 분석자의 경험과 지식은 주관적이고 편향적일 있으므로, 다양한 시각으로부터 해석을 수집하여 활용할 있도록 협업 환경을 제공할 필요 있다.

CoDIP

스크린샷 2017-07-15 14.27.46

그림 #3. CoDIP 을 어떤 일에 써야 좋을까?

인포리언스는 다음과 같은 특성들을 모두 만족시키는 데이터 마이닝 플랫폼 (CoDIP)  개발하였고, 지속적으로 세부 기능을 발전시키고 있다.

  • 수치 시계열 데이터에 포함된 동적 패턴을 쉽게 탐색할  있는 데이터 마이닝 플랫폼
  • 전문적 알고리즘을 활용할 있을 뿐만 아니라, 데이터 내용에 대한 사용자의 경험적 지식을 query 반영하여 분석 작업에 활용할  있게 하는 데이터 마이닝 플랫폼
  • 탐색된 패턴에 대한 해석을 저장, 활용할 있는 플랫폼
  • 패턴의 탐색과 해석 작업을 여러 사용자와 함께 수행할 있는 협업형 플랫폼
  • 저장된 패턴에 대한 실시간 탐지 기능을 활용할 있는 플랫폼

CoDIP 의 활용 과정은 다음과 같이 요약할 수 있다.

  1. 데이터 연결 : API 를 통해 CoDIP 에 데이터를 업로드한다.
  2. 데이터 확인 및 핸들링: CoDIP 이 제공하는 인터페이스를 통해 자신의 데이터를 확인하고 play 해본다.
  3. 원하는 패턴의 탐색: 자신이 원하는 패턴을 query 형태로 입력하여 해당 패턴의 존재와 통계적 특성을 알아낸다.
  4. 패턴의 해석과 기록: 발견된 패턴에 대한 주관적인 해석을 기록, 저장한다.
  5. 전문적인 분석 알고리즘의 활용: 머신러닝 및 데이터 마이닝 알고리즘을 데이터에 적용해 본다.
  6. 분석 결과의 공유: 자신의 분석 결과를 타 사용자 또는 전문가와 공유하거나, 다른 사용자의 분석 과정에 참여한다.
  7. 최종 결과의 활용: 분석 결과로 생성된 패턴 템플릿이나 머신러닝 모델을 실제적인 서비스에 적용한다.

CoDIP 다음과 같은 독창적인 특성을 가지게 된다. ( 세계적으로, 다음과 같은 특성을 모두 만족시키는 소프트웨어나 서비스는 아직 출시된 없다)

  • 일부 전문가에 의해서만 수행되어 데이터 마이닝 작업을 일반 사용자들도 일정 수준까지 직접 수행할 있도록 하여 자신들의 데이터에 어떠한 패턴이 포함되어 있을지 미리 스스로 탐색해볼 있게 한다.
  • 전문적인 데이터 마이닝 알고리즘 뿐만 아니라 사용자가 자신의 데이터에 대해 알고 있는 경험적 지식을 분석 과정에 반영할 있게 한다.
    • 경험적 지식의
      • 주변 온도가 28 이상이고, 소음이 레벨 4 이상인 상태가 30 이상 지속되면 기계의 동작을 멈추고 상태를 점검해야 한다.
      • 환율이 상승하고, 재고가 40% 이상이고, 지난 달간 비용이 30% 상승하면 관심 상태로 상황을 주시해야 한다.
      • 가속도 센서의 변동 값이 없는 상태에서 심장 박동이 30% 이상 급상승하는 경우가 1주일에 3 이상 발견될 경우 의사의 진찰을 받아야 한다.
  • 데이터 분석 인프라나 서비스를 본격적으로 도입하기 전에 데이터에 대한 초기 단계의 분석을 사전에 수행하여 데이터 분석의 효과 데이터 분석에 필요한 예산 규모나 투자 규모를 미리 평가해볼 있다.
  • 자신의 개인 데이터 분석을 직접 수행해 보고 결과를 활용할 있으며, 과정에서 데이터 분석에 대한 지식과 경험을 쌓을 있다.
  • 정적인 데이터 분석 뿐만 아니라 시계열과 같은 동적 데이터 패턴에 대한 분석이 가능하다.
  • 동일한 데이터에 대해 여러 사용자가 함께 분석 해석 과정에 참여할 있으므로, 협업을 통해 객관적이고 신뢰성 있는 결과를 도출할 있다
  • 데이터 분석 기술을 보유한 Mining expert 들과, 분석 기술은 보유하고 있지 않으나 데이터에 대한 경험적 지식을 가진 Domain expert 들의 효율적인 협업이 필요한 데이터 마이닝 과정에서, CoDIP Mining expert 역할을 수행한다. 이를 통해, Mining expert 들이 없는 상황에서도 Domain expert 들이 최대한으로 자신만의 분석 해석 결과를 얻을 있도록 한다.

스크린샷 2017-07-15 15.46.10

그림 #4. CoDIP 의 다양한 활용 모드

CoDIP 다양한 사람들이 자신의 지식 수준과 활용 목적에 맞게 선택적으로 활용할 있도록 다양한 활용 모드 – Visual Analysis, Query Analysis, Machine Learning, 자동 패턴 탐지 제공한다. Visual Analysis 누구나 직접 데이터를 확인하면서 유의미한 특성이 나타나는 곳에 해당 특성에 대한 자신의 생각과 의견을 적어넣고 다른 사용자들과 공유할 있게 하는 모드이다. Query Analysis 사용자가 직접 자신이 탐색하고자 하는 데이터 패턴을 query 형태로 만들어 입력하여 해당 패턴을 탐색하고 해석과 의견을 입력하는 모드이며, Machine Learning 모드는 데이터의 특성을 학습한 Machine Learning 모델을 학습시키고 활용하는 모드이다. 이와 더불어, 자동 패턴 탐지 모드는 새롭게 입력되는 데이터에서 유의미해 보이는 패턴의 후보들을 자동적으로 찾아내어 분석자 또는 응용 서비스에게 제공하는 작업을 수행한다.

모드의 개념과 자세한 활용 과정 (2)편에서부터 소개하도록 한다.

카테고리: Tech. of Inforience | 댓글 한 개

미국 특허 등록 !!

클릭 >> Hello, world !! (from ShadowEgo)

Congratulations!!

Inforience가 미국 특허청에 출원한 특허 (“Collaborative Platform for Data Dynamics Interpretation”) 의 등록허가 통보를 받았습니다.

본 특허는 인포리언스가 제작한 데이터 분석 툴(CoDIP)의 기술요소들을 설명하고 있습니다. 가까운 시일 안에 이 특허의 내용과 활용 방안에 대한 자세한 소개자료를 공개할 예정입니다.

인포리언스는 이미 다수의 등록된 국내 특허들을 보유하고 있으며, 아직 심사 중인 국내 특허들도 있습니다. 또한 미국 특허청에 출원하여 심사 중인 다수의 미국 특허들도 등록을 기다리고 있습니다.

카테고리: Inforience NEWS | 댓글 남기기

사회적 관계의 타입을 커뮤니케이션 데이터를 활용해서 측정할 수 있을까?

클릭 >> Hello, world !! (from ShadowEgo)

본 포스팅은 아래의 국제 컨퍼런스 논문을 바탕으로 작성되었습니다.

Jinhyuk Choi, Seongkook Heo, Jaehyun Han, Geehyuk Lee, Junehwa Song, “Mining Social Relationship Types in an Organization using Communication Patterns”, The 16th ACM Conference on Computer Supported Cooperative Work and Social Computing. (CSCW 2013)

들어가는 말

난 Big Brother, 너를 계속 지켜보고 있지.

인공지능을 가진 Big Brother가 있다면, 그리고 그것이 사람들의 행동을 항상 관찰, 분석한다면 무엇이 가능해질까? 행동에 의해 기록되는 데이터가 충분히 수집될 수 있고 데이터가 나타내는 패턴을 제대로 찾아내어 이해할 수 있다면 관찰하고 분석하는 것은 어렵지 않을 듯 하며, 최근의 인공지능, 머신러닝 분야의 발전 속도를 고려하면 다양한 응용들이 가능해지는 것도 그리 먼 이야기처럼 느껴지지 않는다. 물론, 무엇인가가 나를 계속 주시하고 있다면 꽤나 꺼림칙할 것 같지만.

2

모여라, 일단 모이자구.

한 그룹의 사용자들이 같은 공간에 모여있다고 가정해 보자. 과연 이 그룹의 현재 분위기는 어떨까? 누구나 즐겁게 농담과 사적인 이야기를 꺼낼 수 있을 정도로 자유롭고 편안한 분위기일까? 아니면 존칭을 쓰면서 공적인 내용의 대화를 하는 딱딱하고 차분한 분위기일까? 물론, 대화의 내용을 다 녹음해서 분석할 수 있다면, 사람들의 표정을 분석할 수 있다면, 더 나아가 그러한 분석작업을 자동적으로 수행하는 인공지능 머신을 만들 수 있다면 분위기를 파악하는 정도의 작업은 어렵지 않게 수행할 수 있을 것 같다. 그러나, 우리가 모을 수 있는 데이터가 제한적이고, 활용 가능한 머신의 용량마저도 제한적이라면 이러한 작업을 자동화하는 것은 생각보다 쉽지 않다. 아니 그것보다는, 솔직히 말해서, 대화내용이나 얼굴 영상데이터까지 다 수집하고 분석하려니 귀찮기도 하다. (일이 많아진다.) 웬만하면 데이터도 최소한으로 모으고, 분석작업도 최대한 간단하게 하고 싶다.

사회적 관계의 타입 – 이걸 알아내면 많은 것을 할 수 있다.

3

분위기 파악 좀…

결국에는 사람들이 맺고 있는 사회적 관계의 타입을 알아내는게 핵심인 듯 하다. 그런데, 대화 내용을 분석하지 않고서도 사회적 관계의 타입을 자동적으로 파악할 수 있을까? 아니 그보다 먼저, 사회적 관계의 타입에는 어떠한 것들이 있을까? 본 논문에서는 사회과학 분야의 연구결과를 근거로 하여 사회적 관계에는 formal relationship 과 informal relationship의 두 가지 타입이 있다고 가정했다. Formal relationship 은 업무와 관련한 공통의 목적을 달성하기 위해 맺어진 인위적인 관계이며, informal relationship 은 업무와는 무관하게, 개인적인 친근함을 바탕으로 맺어진 자연스러운 관계이다. 물론 우리는 다른 사람과 두 가지 타입의 관계를 모두 맺기도 한다.

커뮤니케이션 패턴을 수집하기 위한 데이터, 그리고 indicators

두 사람이 어떠한 타입의 관계를 맺고 있는가를 파악하려면 어떤 데이터를 수집해서 어떻게 분석해야 하는가? 본 논문에서는 두 사용자가 어떠한 커뮤니케이션 패턴을 보이는가를 바탕으로 사회적 관계의 타입을 파악할 수 있다는 비교적 간단한 가설을 세웠다. 그리고 실험과정에서는, 특정 공간에서 활동하는 사람들의 실시간 위치 데이터와 그들이 서로 온라인 메신저를 통해 커뮤니케이션을 나누는 동안에 기록되는 로그 데이터를 활용했다. 위치 데이터를 통해서는 사람들의 face-to-face 커뮤니케이션 패턴을 측정하고자 했고, 접촉 여부와 대화내용이 외부로 잘 드러나지 않는 메신저 대화 패턴을 통해서는 온라인 대화의 패턴을 측정하고자 했다. 위에서도 언급했듯이, 데이터도 최소한으로 모으고 분석작업도 최대한 간단하게 하고 싶었으므로, 이메일이나 통화 내역, 온라인(소셜) 미디어상에서의 친구관계 등은 분석대상에 포함시키지 않았다.

4

실험 공간 개념도 (회의실, 연구실, 휴게실로 구성되어 있다)

일단 사람들의 위치를 파악하기 위해, 회의실, 휴게실, 연구실에 bluetooth station 을 설치하여 피실험자들이 가지고 다니는 휴대폰의 bluetooth ID 를 주기적으로 수집했으며, 온라인 메신저 로그를 수집하기 위한 프로그램을 만들어 피실험자들의 컴퓨터에 설치했다. (이 논문은 KAIST 문지 캠퍼스 6층에서 활동하는 대학원생들을 대상으로 데이터를 수집하고 분석하였다.) 그리고 피실험자들 사이의 사회적 관계를 파악하는데 유용할 것으로 생각되는 indicator 들을 다음과 같이 디자인하였다.

스크린샷 2017-05-16 13.11.09

피실험자들이 서로 맺고 있는 실제적인 사회적 관계의 타입을 나타내는 데이터는 설문조사를 통해 확보하였다. 설문 문항에는 서로 간에 어떠한 타입의 사회적 관계를 맺고 있는지, 그리고 그 관계의 수준은 어느 정도나 되는지를 묻는 질문들을 포함하였다.

사회적 관계를 파악하기 위한 Indicator 들의 역할

5

각 indicator 들의 유용성

위의 표는 피실험자들이 서로 맺고 있는 사회적 관계의 타입을 파악하는데 있어서의 각 indicator 들의 유용성 (Information Gain) 을 측정하고 그 값을 바탕으로 순위를 매긴 결과를 나타낸다. 높은 수준의 formal relationship (HFR)을 맺고 있는가의 여부를 파악하는데 있어서는 두 사람이 회의실에서 만나는 정도와 관련된 indicator 들이 중요한 역할을 하는 것으로 나타났다. 이와 달리, 높은 informal relationship (HIR)을 맺고 있는가의 여부를 파악하는 데에는 휴게실에서 만나는 정도를 측정한 indicator 들이 중요한 역할을 수행하였다. 이 결과는 우리의 직관과도 부합한다고 볼 수 있다. 온라인 메신저를 통한 대화의 정도를 나타내는 indicator 들은 두 관계에서 모두 비슷한 수준의 역할을 수행하였는데, 이 결과만을 바탕으로 한다면 온라인 대화 패턴은 사회적 관계의 타입을 구분하는 것보다는 관계의 수준을 파악하는 것에 유용해 보인다. 물론, 대화의 내용은 상대방과의 관계에 따라 많이 다를 수 있겠지만.

머신러닝이 해낼 수 있을까?

그렇다면, 이러한 데이터를 바탕으로 피실험자들 사이의 사회적 관계의 타입을 측정하는 머신러닝 모델을 학습시킬 수 있을까? 그리고 그렇게 학습된 모델은 서로의 사회적 관계를 정확하게 측정할 수 있을까?

6

머신러닝이 노력한 결과

위의 표는 두 가지 머신러닝 모델 (Decision Tree 와 Bayesian Network) 을 활용할 경우, 피실험자들이 맺고 있는 사회적 관계를 얼마나 잘 측정할 수 있는가를 나타낸다. Bayesian Network 의 경우, 80% 후반대의 정확도로 각 타입의 사회적 관계의 수준을 측정해냈는데, 본 논문은 초기 단계의 연구로서, 그리 길지 않은 기간동안 적은 수의 사용자들로부터 수집한 간단한 데이터만을 활용하였음을 고려할 때 이 결과는 상당히 의미있는 수치이다.

용기가 필요한, 그러나 재미있는 데이터 놀이

본 논문은 간단해 보이는, 어쩌면 누구나 세워볼 수 있는 가설을 세웠고, 그 가설을 검증하기 위한 실험을 구체적으로 디자인하고 진행하였다. 그다지 고급스러워 보이지 않는 아이디어를 검증했음에도 불구하고, 더 나아가 정확도가 90%도 되지 않는 머신러닝 결과를 제시한 데다가 다른 사용자들이 활동하는 다른 환경에서 수집한 데이터에 대해서도 동일한 결과를 얻을 수 있을 지의 여부가 아직 불확실함에도 불구하고 본 논문이 HCI 분야에서 최고로 꼽히는 국제 컨퍼런스의 프로시딩에 실릴 수 있는 가장 큰 이유는, 아무도 실행해 보지 않은 작업을 직접 수행하여 그 가능성을 구체적으로 검증하였기 때문이다.

데이터를 수집하고 해석하는 과정에서 필요한 것들 중의 하나는 도메인 지식을 기반으로 한 상상력이며, 그 상상력을 구체화하는데에는 용기와 추진력이 필요하다. 용기가 필요한 가장 큰 이유는, 때로는 데이터를 아무리 흔들어 보아도 자신이 찾고자 하는 패턴이 탐색되지 않을 수도 있으며, 그럴 경우 데이터를 수집하기 위해 진행해 온 중간 작업의 결과들이 모두 휴지조각이 되어버릴 수도 있기 때문이다. 이것이 바로 데이터 분석자에게 ‘기꺼이 방황할 마음의 준비’가 필요한 이유다. 물론, 결과가 좋지 않더라도, 기꺼이 방황한 경험은 데이터 분석자에게는 그 무엇과도 바꿀 수 없는 귀중한 자산이 된다.

카테고리: Human, Data & A.I., Tech. of Inforience | 댓글 2개

우리 뇌 안의 카오스 (Chaos)

클릭 >> Hello, world !! (from ShadowEgo)

들어가는 말

우리의 주변에서 일어나는 많은 현상들은 공학이나 과학에서 사용하는 많은 선형적(linear) 이론들과는 달리 비선형적인(nonlinear) 특성을 나타낸다. 예를 들어, 공기의 흐름이나 물의 흐름, 날씨의 변화, 뇌의 활동 등이 모두 비선형적인 특성을 나타낸다. 과학자들은 이미 오래 전부터 이러한 현상을 카오스(chaos)라 명명하고 이론적인 측면 뿐만 아니라 공학적인 응용에 대해서도 많은 연구를 해 오고 있다. 인간의 뇌는 이러한 카오스적 시스템 (chaotic system)의 가장 대표적인 예이다. 뇌의 작용의 추이를 알 수 있게 해 주는 뇌파에 관한 연구를 통해 대뇌피질에 있는 뇌세포의 활동을 파악하려는 연구가 많은 분야에서 주목을 받고 있으며 또한 뇌파가 가지고 있는 비선형적인 특징으로 인해 비선형적 카오스 현상이 인간의 뇌에서 어떠한 역할을 하는 지에 관한 연구에 많은 사람들이 호기심을 가지고 있다. 따라서 본 포스팅에서는 카오스적 현상이 뇌에서 하는 역할에 대한 연구에 대한 현재까지의 결과를 정리해 본다.

The Chaos

일정한 패턴을 찾아낼 수 없는 많은 현상들은 잡음으로 인식되어져 왔으며 이는 뜻을 알 수 없는 복잡한 현상은 버려진다는 의미이다. 그러나 이러한 잡음처럼 보이는 많은 현상들 중에는 아주 중요한 역할을 하는 것들이 있으며 따라서 이러한 현상들을 이해하는 것은 무척 중요한 의미를 지닌다고 할 수 있다. 카오스는 사전적 의미로서 무질서(disorder), 혼돈 등의 뜻을 지니지만 공학적 응용분야에서는 카오스적 현상을 결정적(deterministic) 비선형 동적시스템으로부터 생성되는 복잡한 잡음과 같은 현상이라고 정의한다. 즉 카오스 이론은 복잡한 현상 중 일정한 규칙에 따라 그 동적 현상의 추이가 결정되어지는 특징을 가진 것들을 그 대상으로 삼게 되며 그러한 것들은 어떤 상태값(parameter)들을 결정하여 관찰하여 보면 그 상태에서 일정한 법칙이 정해져 있게 된다. 이러한 카오스 현상은 정해진 패턴을 전혀 발견할 수 없는 랜덤(random)과정과는 구분되며, 또한 그 바탕에 깔려 있는 일정한 규칙을 반복적으로 적용한다고 해서 그 시스템의 추후의 움직임을 예측할 수 없다는 특징이 있다.

Chaotic phenomena in the brain

뇌는 엄청난 개수의 기본적 세포(neuron)들의 네트워크 집합체로 볼 수 있다. 각 뉴런들은 dendrite 또는 axon에 존재하는 통로를 통해 주변의 다른 뉴런들과 화학적 이온(neurotransmitter)을 주고받게 되며 이를 통해 내부의 포텐셜(potential)이 변화하게 된다. 각 뉴런의 내부 포텐셜은 그 뉴런의 현 상태를 표현하는 중요한 수치이며 이 수치가 일정 수준 이상에 도달하게 될 경우 흥분(excitatory)상태에 도달하면서 주변의 뉴런들에 정보를 전달한다. 이러한 뉴런들이 많이 모여 네트워크를 형성하게 되므로 필수적으로 복잡한 형태의 움직임이 존재하게 된다. 이러한 복잡한 현상은 EEG 신호의 추이를 분석함으로써 파악이 가능하며 그 결과 뇌에 카오스적 현상이 존재함을 알게 되었다.

Single neuron level

한 뉴런의 행동은 그 뉴런의 firing rate 또는 firing timing으로 표현할 수 있는데 이러한 뉴런의 행동특성은 modulation neuron에 의해 각 뉴런들에게 공통적으로 제공되어지는 driving signal에 기반하고 있음이 밝혀진 바 있다. 즉 이러한 driving signal에 의해 뉴런의 기본적 상태가 결정되어지고 각 뉴런들은 외부와의 상호작용을 통해 자신의 내부 포텐셜을 변화시키게 된다. 이 때에 driving signal 및 내부 포텐셜의 threshold 값에 따라 뉴런의 firing 패턴이 변화하게 되며 이 패턴은 periodic 한 특성 뿐만 아니라 chaotic 한 특성을 모두 나타낼 수 있다.

image2017-4-26 15-19-32

Driving signal 의 진폭에 따른 firing timing 변화

위의 그림에서 아래 부분의 신호의 진폭이 커지게 됨에 따라 포텐셜이 1에 이르게 되는 타이밍이 변화하는 것을 볼 수 있다. 이것은 하나의 특성값(parameter)에 의해 뉴런이 chaotic 상태와 periodic 상태를 오갈 수 있다는 것을 나타내어 준다.

Neuron network level

Chaotic 특성을 포함할 수 있는 뉴런들로 이루어진 네트워크는 전체적인 네트워크의 행동 패턴에 의해 특성화되어지는 지능적 현상을 나타내게 된다. 따라서 뉴런들의 네트워크 역시 chaotic 및 periodic 특성을 모두 가질 수 있으며 이는 비선형 동역학에서 주로 언급되어지는 chaotic system 의 attractor 개념과 밀접한 관련이 있다. 이 개념에 의하면 chaotic 한 특성을 보이던 뉴런 네트워크가 특정한 자극에 의해 periodic 한 특성을 보이는 시스템으로 전이되며 이러한 현상은 자극에 따라, 그리고 그 순간에 뉴런 네트워크가 보이는 chaotic 상태의 특성에 따라 그 결과가 달라진다. 뉴런들의 네트워크가 chaotic 한 시스템에서 periodic 한 시스템으로 전이가 가능하며, 이러한 전이가 그 시스템의 행동을 결정하는 파라미터의 값에 따라 좌우된다는 사실은 뇌의 특성을 연구하는 분야 뿐만 아니라 인공 신경망을 연구하는 사람들에게 있어 중요한 의미를 가진다. 뇌의 활동 중에 나타나는 chaotic 특성은 분명 나름대로의 역할을 지니고 있을 것이며, 그 역할이 인간의 뇌의 신비를 벗겨줄 중요한 단서가 될 수도 있기 때문이다.

The roles of chaos in the brain

지금까지 논의한 바에 의하면 뇌는 분명히 chaotic 한 특성을 인지과정에 응용하고 있다는 사실을 알 수 있다. 이것이 사실이라면 chaotic 한 특성이 인지과정에서 어떠한 역할을 하는가를 밝힐 필요가 있을 것이다.

뇌에서의 기억 메커니즘

현대의 컴퓨터는 “번지 지정 메모리” 방식을 택하고 있다. 다시 말하면, 정보가 저장되어 있는 곳을 주소를 통해 접근하며, 또한 정보 역시 컴퓨터가 이해할 수 있는 방식으로 저장된다. 그러나 인간의 뇌가 정보를 저장하는 방식은 이와 다르며, 상당히 복잡한 방식으로 이루어지고 있음이 주장되어 왔다. 인간의 뇌가 정보를 저장하고 이를 recall 하는 방식은 한마디로 하여 “Reconstruction” 이라고 할 수 있다. 학습과정에 의해 결정되어진 뉴런들의 네트워크 구조가 정보를 표현하게 되고 이러한 구조는 전체적인 뉴런 네트워크의 상태에 따라 다시 형성되어지는 것이다. 이 때에 특정한 구조의 네트워크로 수렴하기 이전의 상태로써 뉴런 네트워크는 chaotic 특성을 나타내게 되며 자극에 의해 결정된 파라메터에 의해 어느 상태로 수렴하게 될 지가 결정되는 것이다.

View of Neuroscience

신경과학 분야에서 chaotic 시스템으로서의 뇌에 관한 연구는 sensory input에 뇌가 반응하는 방식을 연구하는 데에 집중되어 있다. Freeman [7] 은 그의 연구에서 입력되어진 자극에 의해 대뇌피질에 분포된 뉴런들이 순간적으로 일정한 형태의 그림을 나타낸다고 주장하면서 Chaotic activity가 인식과정, 학습, 메모리 등과 같은 지능적 과정에 일정한 역할을 한다고 말한 바 있다. 즉 입력패턴의 아주 작은 변화에 의해서도 뉴런의 집합들이 한 패턴에서 다른 패턴으로 전이되어지며, 이러한 과정이 인식과정을 가능하게 한다는 것이다. 이러한 형태의 전이과정은 카오스적 시스템의 chaotic attractor들 사이에서의 전이과정으로 이해되어질 수 있다는 것이다.

View of Psychology

뇌에 있어서의 chaotic 과정은 대부분 consciousness 와 연관되어져 연구되고 있다. 특히 Combs [6] 는 그의 연구에서 consciousness는 항상 chaotic 시스템의 가장자리에 있다는 표현을 통해 periodic 상태와 chaotic 상태 사이에서의 반복적인 전이가 인간의 의식과정에서 중요한 역할을 한다고 말한 바 있다. 예를 들어, 우울한 에피소드를 겪은 사람의 경우 대부분 그에 따른 행동이 우울한 분위기를 반영하거나 적어도 그와 관련될 가능성이 많음을 역설하였고, 꿈에서 하게 되는 행동과 현실에서의 행동이 그 현실성에서나 시간적 제약 등에서 많은 차이가 있는 것은 각각의 패턴이 서로 다른 attractor에서의 작용이기 때문이라고 주장하였다. 이러한 과정에서 chaotic 특성에 의해 나타나는 것들 중 가장 중요한 것은 “flexibility” 라고 할 수 있다. 즉, 아주 미묘한 차이가 나는 비슷한 입력에 대해서도 구분이 가능하고, 입력 패턴에 따라 다른 모드로 인지과정이 전개되어지는 것은 파라메터의 값에 의해 전체 시스템의 chaotic한 정도가 결정되어지고 또 서로 다른 attractor 사이에서의 전이가 가능한 chaotic 비선형 시스템의 기본적인 특성을 뇌가 나타낸다고 하는 증거가 될 수 있는 것이다.

Reference systems

인공 신경망을 연구하는 사람들 사이에서 공학적 신경망에 chaotic 한 특성을 반영하기 위한 노력이 최근에 들어 많이 이루어지고 있다. 그 중 Aihara [1]는 Hopfield Network에 chaotic factor를 넣어 계산과정에 응용하고자 하였고, Farhat은 chaotic 시스템이 지니는 대표적인 현상 중의 하나인 Bifurcation현상을 특징으로 하는 뉴런 모델을 고안한 바 있으며 Lee [3,4]는 이를 이용하여 연상 메모리를 구현한 바 있다. 이러한 신경망 모델들의 공통적인 특성은 뉴런 또는 뉴런의 네트워크가 periodic 한 상태와 chaotic 한 상태 사이에서 전이되어지면서 작용한다는 것이다. 예를 들어 integrate-and-fire neuron의 망을 패턴 인식에 적용한 예 (Hopfield, 1995), Eckhorn (1988) 의 linking-field 개념을 바탕으로 이미지 분리(segmentation)에 적용한 예 (Johnson, 1994), chaotic attractor를 이용한 신경망 모델로 일련의 연상 작용을 시연한 예 (Adachi & Aihara, 1997) 등은 대표적인 예가 되고 있다.  이러한 선구적인 노력들과 맥락을 같이하여 Lee & Farhat [3] 은 주변 환경으로부터의 주기적인 신호의 자극에 의해 동기화 된 integrate-and-fire 뉴런들이 chaotic한 행동을 보일 수 있고, chaotic한 상태에 있음에도 불구하고 평균적 동기 신호에 상대적인 펄스 시간이 뉴런 상호간에 정보 전달의 역할을 하게 되어, 결과적으로 chaotic attractor를 바탕으로 한 연상 메모리가 integrate-and-fire 뉴런의 망에 의하여 실현될 수 있음을 보였다.

Conclusion

Chaotic 특성을 포함한 신경망은 계산과정에서 유연성을 포함하고 있을 뿐 아니라 인지과정에서 나타나는 여러 현상들을 이해하는 데 중요한 요소가 된다. 예를 들어, 사람들 사이의 전체적인 성격적 차이, 같은 입력에 반응하는 정도와 내용의 차이, 그리고 하나의 패턴과 관련된 다른 패턴들의 연속적 발화 등등이 그 예가 될 수 있을 것이다. 공학적인 관점에서 볼 때, 지금까지의 지능 구현에 관한 연구는 논리적이면서도 지나치게 결정적인 계산에 의존해 온 것이 사실이다. 그러나 인간의 생물학적 신경시스템은 그 내부적 특성으로 복잡성 뿐만 아니라 그 특성을 묘사하기 어려운 chaotic 특성을 포함하고 있는 것이다. 즉, 이러한 생물학적 시스템의 특성을 반영하지 않으면 지능적인 시스템을 이해하고 응용하는 데에는 한계가 있는 것이다. 인간의 지능적 과정은 긴 시간에 걸쳐 확립되며, 상황에 따라 유연하고, 아주 미세한 차이가 있는 입력에도 정확한 결과를 낸다는 특징이 있다. 이러한 특성은 인간의 인지과정에서 자아의 인식, 분위기 및 성격상의 차이에 따라 달리 나타나는 인지적 과정의 결과, 잡음 및 적대적 환경에서의 효과적 적응 등의 결과로 나타나게 되며, 이러한 과정들이 chaotic 시스템으로서의 뇌에 대해 관심을 가지게 하는 것이다. 이러한 특성들은 입력 정보의 정확한 기억 및 연상 등의 특징만을 모사하고 있는 인공 신경망 시스템들이 반영해야 할 특성일 것이다. 인간의 뇌가 지니는 비선형적 특성이 인지과정에서 하는 역할을 분석하고, 이를 토대로 인간의 인지과정을 이해하고, 지능적 시스템에 응용하는 과정에서 chaotic 현상을 정확하게 모델링하는 과정이 필수적으로 우선되어져야 할 것이다.

Reference

[1] M. Adachi & K. Aihara, 1997. “Associative dynamics in a chaotic neural network” Neural Networks, 10(1):83-98

[2] J. J. Hopfield, 1982. “Neural networks and physical systems with emergent collective computational abilities” Proceedings of the National Academy of Science of the USA, 79:2554-2558

[3] G. Lee & N. H. Farhat, 2001a. “The Bifurcating Neuron Network 1: a chaotic pulse-coupled neural network” Neural Networks 14:109-125

[4] G. Lee & N.H. Farhat, 2002a. “The Bifurcating Neuron Network 2:an analog associative memory” Neural Networks 15:55-70

[5] Jinhyuk Choi, Geehyuk Lee, 2005. “The Bifurcating Neuron Network 3” Proceedings of International Joint Conference on Neural Networks

[6] A. Combs. 1996. “Consciousness as a system: Near the edge of chaos”

[7] J. Freeman. 1992. “Tutorial on neurobiology: From single neurons to brain chaos” International journal of bifurcation and chaos Vol.2 No.3:451-482

[8] Jinhyuk Choi, Geehyuk Lee, 2006. “The Bifurcating Neuron Network 3 As Coloring Problem Solver and N-ary Associative Memory” Proceedings of International Conference on Neural Information Processing

카테고리: Trends of Data, Machine Learning, A.I. | 댓글 남기기

데이터 분석하던 노인

클릭 >> Hello, world !! (from ShadowEgo)

벌써 5년 전이다. 내가 창업한 지 얼마 안되어서 서울과 대전을 수없이 해매고 다닐 때다. 서울 왔다 가는 길에, 대전으로 가기 위해 서울역에서 KTX를 타야 했다. 서울역 근처 커피숍에 앉아서 MacBook으로 Numbers와 Jupyter notebook 을 띄워 그래프와 코드를 들여다보면서 데이터를 분석하고 있는 노인이 있었다. 마침 우리 서비스도 스마트하게 만들어볼까 하여 우리 서비스의 로그 데이터가 담긴 USB 메모리를 들이밀며 분석해달라고 부탁했다. 값을 굉장히 비싸게 부르는 것 같았다.
“좀 싸게 해 줄 수 없습니까?” 했더니,
“이 정도 데이터 가지고 에누리 하겠소? 비싸거든 다른 데 가서 하시우.”
대단히 무뚝뚝한 노인이었다. 값을 흥정하지도 못하고 잘 분석해 달라고만 부탁했다.

그는 잠자코 열심히 분석하고 있었다. 처음에는 빨리 분석하는 것 같더니, 몇 시간이 지나도록 이리 돌려 보고 저리 돌려 보고 굼뜨기 시작하더니, 마냥 늑장이다. 내가 보기에는 그만하면 다 됐을 것 같은데, 자꾸만 코드를 수정하고 그래프도 더 띄워보고 있었다. 나에게 우리 서비스의 내용과 현황에 대해 이것저것 캐묻기도 했다. 심지어 R Studio 까지 띄우고, 여기저기에 전화를 걸어 정체를 알 수 없는 사람들과 이야기를 하기도 했다. 인제 다 됐으니 그냥 지금까지 한 결과만 달라고 해도 통 못 들은 척 대꾸가 없다. 차 시간이 빠듯해 왔다. 갑갑하고 지루하고 초조할 지경이었다.

“더 분석하지 않아도 좋으니 그만 정리해서 주십시오.” 라고 했더니, 화를 버럭 내며,
“끓을 만큼 끓어야 밥이 되지, 생쌀이 재촉한다고 밥이 되나.” 한다. 나도 기가 막혀서,
“해 달라는 사람이 좋다는데 무얼 더 한다는 말이오? 노인장, 외고집이시구먼. 차 시간이 없다니까요.”
노인은 퉁명스럽게,
“다른 데 가서 하시우. 난 결과 안 주고 돈도 안 받겠소.”
하고 USB 메모리를 MacBook에서 확 뽑는다. 지금까지 기다리고 있다가 그냥 갈 수도 없고, 차 시간은 어차피 틀린 것 같고 해서, 될 대로 되라고 체념할 수밖에 없었다.

“그럼, 마음대로 해 보시오.”
“글쎄, 재촉을 하면 점점 거칠고 늦어진다니까. 분석 결과란 제대로 만들어야지, 분석하다가 중간에 그만두면 되나.”
좀 누그러진 말씨다. 노인은 USB 메모리를 다시 MacBook에 꽂는다. 이번에는 분석하던 것을 아예 멈추고 태연스럽게 커피를 마시며 구글링을 하지 않는가. 게다가 깨알같은 폰트로 된 논문까지 들여다보는 것 같아 나도 그만 지쳐 버려 구경꾼이 되고 말았다. 내가 커피에 녹차에 아이스크림까지 먹고 스마트폰으로 영화도 한 편 다 보고 나서도 한참이 지난 후에야 문서 하나를 띄우고 이리저리 스크롤해 보더니 다 됐다고 내 준다. 사실 다 되기는 아까부터 다 돼 있던 분석결과다. 차를 놓치고 다음 차로 가야 하는 나는 불쾌하기 짝이 없었다.

“그 따위로 장사를 해 가지고 장사가 될 턱이 없다. 손님 본위가 아니고 제 본위다. 그래 가지고 값만 되게 부른다. 상도덕(商道德)도 모르고 불친절하고 무뚝뚝한 노인이다.”
생각할수록 짜증이 났다. 그러다가 뒤를 돌아다보니 노인은 태연히 허리를 펴고 밖을 내다보며 커피를 마시고 있었다. 그 때, 옆 모습이 어딘지 모르게 노인다워 보였다. 부드러운 눈매와 흰 수염에 내 마음은 약간 누그러졌다. 노인에 대한 멸시와 증오도 감쇄(減殺)된 셈이다.

다음날, 회사에 와서 분석결과를 내놨더니 직원들이 치밀하고 야무지게 분석했다고 야단이다. 유명한 회사에 맡긴 결과보다 참 좋다는 것이다. 그러나 나는 전의 것이나 별로 다른 것 같지가 않았다. 그런데 직원들의 설명을 들어 보니, 데이터 전처리를 잘 하지 않으면 결과를 믿기 어렵고, 데이터가 생성되는 과정이나 환경에 대한 배경지식은 아예 반영하지도 않으면서 인기있는 알고리즘에 통째로 넣고 돌리기만 하는 경우가 많단다. 그런 경우에는 결과도 잘 나오지 않을 뿐 아니라, 잘 나온다고 해도 결과를 제대로 해석하는게 불가능하고 믿기도 어렵단다. 요렇게 꼭 알맞은 해석까지 달아주는 데다가 API 에 바로 적용할 수 있게 만들어주기까지 하는 결과는 좀체로 만나기가 어렵다는 것이다. 나는 비로소 마음이 확 풀렸다. 그리고 그 노인에 대한 내 태도를 뉘우쳤다. 참으로 미안했다.

옛날부터 데이터마이닝의 대가들은 데이터 분석의 프로세스를 중요하게 생각했다. 그렇게 차근차근 프로세스를 제대로 밟아서 분석한 결과는 데이터의 활용도를 높일 수 있다. 그러나 요즘에는 분석 소프트웨어들이 많이 나와서 적절한 포맷으로 데이터를 입력하기만 하면 분석결과를 얻을 수 있다. 예전에는 데이터가 생성되는 과정을 살펴보고, 데이터에 대한 배경지식을 수집한 뒤에 전처리 과정과 탐험 과정을 두루 거쳤다. 잘 안되면 처음 단계로 돌아가서 다시 시작하기도 했다. 물론 이렇게 하면 날짜가 걸린다. 그러나 요새는 분석 소프트웨어를 써서 한두번 돌려본다. 금방 결과가 나온다. 그러나 믿을 수가 없다. 그렇지만 요새 남이 보지도 않는 것을 여러 단계를 거치며 탐험하고 진지하게 분석할 사람이 있을 것 같지 않다. 어느 누가 남이 보지도 않는데 차근차근 탐험하고 분석하고 해석을 해서 결과를 만들고, 또 그것을 믿고 두 배씩 값을 주겠는가. 옛날 사람들은 흥정은 흥정이요 생계는 생계지만, 물건을 만드는 그 순간만은 오직 아름다운 물건을 만든다는 그것에만 열중했다. 그리고 스스로 보람을 느꼈다. 그렇게 순수하게 심혈을 기울여 공예 미술품을 만들어 냈다. 이 분석결과도 그런 심정에서 만들었을 것이다.

나는 그 노인에 대해서 죄를 지은 것 같은 괴로움을 느꼈다. “그 따위로 해서 무슨 장사를 해 먹는담.” 하던 말은 “그런 노인이 나 같은 젊은이에게 멸시와 증오를 받는 세상에서, 어떻게 아름다운 결과가 탄생할 수 있담.” 하는 말로 바뀌어졌다. 나는 그 노인을 찾아가서 육회에 소주라도 대접하며 진심으로 사과해야겠다고 생각했다. 그래서 그 다음 일요일에 서울 가는 길로 그 노인을 찾았다. 그러나 그 노인이 앉았던 커피숍에 노인은 있지 아니했다. 커피숍 직원도 늘 오시던 분인데 갑자기 며칠 전부터 안보인다고 했다. 나는 그 노인이 앉았던 자리에 멍하니 서 있었다. 허전하고 서운했다. 내 마음은 사과드릴 길이 없어 안타까웠다. 서울역 주변을 스치는 사람들을 바라보았다. 여행을 다녀오는 듯한 사람들의 미소가 보였다. 아, 그 때 그 노인이 저 사람들을 보고 있었구나. 열심히 데이터를 분석하다가 유연히 사람들의 미소를 바라보던 노인의 거룩한 모습이 떠올랐다. 내 입에서는 무심히 “채국동리하(採菊東籬下) 유연견남산(悠然見南山)!” 도연명(陶淵明)의 싯구가 새어 나왔다.

*윤오영, “방망이 깎던 노인” (1974) 의 패러디.

카테고리: Human, Data & A.I. | 댓글 2개

대화 내용의 다양성을 바탕으로 한 사회적 관계 측정

클릭 >> Hello, world !! (from ShadowEgo)

본 포스팅은 아래의 국제 컨퍼런스 논문을 바탕으로 작성되었습니다.

Jiyeon Jang, Jinhyuk Choi, Gwan Jang and Sung-Hyon Myaeng, “Semantic Social Networks Constructed with Topical Aspects of Conversations: An Explorative Study”, The International AAAI Conference on Weblogs and Social Media (ICWSM 2012)

사람은 누구나 다른 사람들과 대화를 나눈다. 대화를 통해 정보를 공유하며, 감정을 전달하고 소통한다. 만약 사람들 사이에 오고가는 대화 내용의 특성을 자동적으로 측정할 수 있다면 그 결과를 기반으로 무엇을 할 수 있을까? 어쩌면, 두 사람이 어떤 타입의 사회적 관계를 맺고 있는지 알아낼 수도 있지 않을까? 일단, 이와 같은 의문을 해결하기 위해서는 사람들 사이의 대화 내용을 수집할 수 있어야 하며, 대화 내용을 분석하기 위한 기술이 필요하다. 물론, 대화 내용이 텍스트로 기록되어 있고, 텍스트의 특성을 분석하기 위한 언어 처리 기술을 활용할 수 있다면 이것은 충분히 고민해 볼 수 있는 이야기가 된다.

스크린샷 2017-04-21 09.23.27

그림 1. Semantic Social Network

이 논문은 사람들 사이에 오고가는 대화의 특성을 분석하기 위해 트위터 데이터를 수집하여 활용하였고, 텍스트로 구성된 문서로부터 topic 을 추출하는 기술인 LDA (Latent Dirichlet Allocation) 를 기반으로 하여, 두 사람 사이의 관계를 파악하기 위한 2가지의 측정 방법 – Topic Diversity 와 Topic Purity – 을 제안하였다.

스크린샷 2017-04-21 10.23.11

그림 2. Topic Diversity 와 Topic Purity

Topic Diversity 는 두 사람이 얼마나 다양한 topic의 대화를 나누는가를 측정하는 개념으로서, 여러 topic의 대화를 나눌 수록 높은 수치를 기록하게 된다. 이에 반해 Topic Purity 는 두 사람이 특정 topic에 대해 집중적으로 대화를 나눌 때 높은 수치를 나타내게 된다. Topic 의 다양성은 두 사람의 대화에 포함된 topic들 사이의 유사도를 기반으로 측정한다. LDA 에서 하나의 topic 은 word 들의 확률분포로 표현되므로 두 topic 의 유사도는 JS divergence 를 활용하여 측정한다.

스크린샷 2017-04-21 09.33.40

그림 3. Relationship-type oriented Sub-Networks of SSN

이 논문에서는, 두 사람이 나눈 대화에 포함된 topic 들의 diversity 와 purity 를 기반으로 표현한 social network 을 Semantic Social Network 이라 이름 붙이고, 단순히 following 관계만으로 표현한 social network 을 Syntactic Social Network 이라 칭하면서 구분지었다. 그렇다면, 이 논문에서 제시한 ‘대화 topic 의 다양성을 기반으로 표현한 Semantic Social Network’ 을 어떻게 활용할 수 있을까?

만약 내가 특정인과 사회적 관계를 맺고 있다면, 내가 좋아하는 컨텐츠를 그에게도 추천해 주는 것이 옳을까? 내가 그 사람과 다양한 topic 의 대화를 나누어왔다면, 추천해 주는 것도 좋겠지만, 만약 특정 topic 에 대해서만 정보를 공유해왔다면, 그 컨텐츠를 추천해 주는 과정에서 고민이 더 필요할 지 모른다. 만약 그가 직장상사라면? 거래처 직원이라면? 연세가 지긋하신 선생님이라면? 물론, 이 모든 이야기는 나와 그 사람이 나누어왔던 대화에 얼마나 다양한 topic 이 포함되어 있었는가를 측정할 수 있을 때에 가능한 것이다. 더 나아가, SNS 뿐만 아니라 다른 모든 대화의 내용도 분석대상이 된다면 더 많은 것들이 가능해질 것이다. 물론, 프라이버시 문제를 고려해야 되겠지만.

카테고리: Human, Data & A.I., Tech. of Inforience | 댓글 한 개

[INFTN-14-001] A Framework for Finding High Interest Content Pages from Web Visit History at Client Side

Abstract

The first goal of this paper is to design good implicit indicators applicable to client side Web usage mining, especially to find high interest content pages removing navigational pages and uninteresting content pages from a user’s Web visit history. To achieve the goal, a field study to explore real data is conducted. Based on visit patterns as well as various interaction patterns, several reliable implicit indicators are designed. The second goal is to develop a new framework for client side Web usage mining based on the indicators and to show that the framework provides good performance. The framework is designed to find high interest content pages using a normalization process, a transformation process, and a classification process. The performance of the framework is evaluated to show that the framework works well in terms of filtering out unnecessary pages from the visit history to find the user’s topics of interest accurately.

1. Introduction
The World Wide Web (the Web) today plays a key role as an information source and a communication tool, replacing traditional media, magazines, books, and even telephones. Search engines help users find information easily and news sites allow users to keep track of various current issues transpiring all over the world. Users communicate with each other using e-mail, social network services, community sites, and so on. Some commercial websites also provide total information services where users can choose various types of Web services.

While using the Web, users choose preferred websites to visit. In the websites, they also choose Web pages. Users may click on hyperlinks that are provided by portal sites. They also can choose Web pages to view among lists that are retrieved by search engines responding to input queries. The provided and retrieved hyperlink lists are usually classified by topics or sorted by relevance to the input queries. Users choose Web pages considering the keywords on the hyperlinks or snippets that may represent topics of the pages. By virtue of the fact that users choose or search Web pages independently, some valuable patterns that reflect their preferences of interests will be included implicitly in log data that are collectable at Web servers or Web browsers.

Many researchers, especially in the field of Web usage mining (WUM), have focused on analysis of Web usage data to detect noticeable patterns [4, 8, 21, 22, 24, 26, 30].WUM is essential to find users’ favorite content and to construct interest models. To find favorite contents, WUM analyzes data such as Web visit patterns, interaction patterns with Web pages, queries that are input to search engines, and so on. WUM consists of several tasks such as data collection and preprocessing, pattern analysis, content analysis, and user model construction. Among the tasks, the tasks of data collection and preprocessing are important because the accuracy of a constructed interest model is dependent on the results of these tasks.

Users have various interests and so they visit multiple websites. In order to comprehensively identify the various interests of a user, we should therefore analyze the log data that are collectable at the client side rather than at the server side, because it is impossible to find the total interests from content provided by a specific website. However, most WUM studies have focused on the analysis of server side data, and numerous systematic and effective methods have been suggested [2, 5, 6, 20, 21, 23, 26, 29; 33, 34]. On the other hand, client side analyses have not received full attention thus far. We believe that the lack of attention is due to the several inherent difficulties of a client side analysis. One of the difficulties is that we cannot apply prior knowledge about the content or structure of the websites at the client side [22]. The collectable data are limited relatively to a server side analysis and it is not easy to formulate a general method to apply to multiple users’ data as there may be individual differences in the data patterns.

There are several requirements to be considered we attempting to develop a method of client side WUM. First, all possible implicit indicators that may be useful to find a user’s interests should be carefully identified. The values of indicators will be obtained from several data such as viewing time, number of visits, mouse movement, mouse clicks, keyboard typing, scrolling, and so on [7]. Second, the identification process should be performed based on real data that are collected in the user’s natural environments over a long period of time to ensure reliability of the indicators. The last requirement is that a framework of client side WUM should be constructed based on the indicators, and the framework should be as generally applicable for every user as possible.

In the user’s visit history, there are some pages that are not useful to find the user’s interests. Contrary to content pages, navigational pages – the front pages of portal sites, home pages of news sites, and any hub-styled pages – are designed only to help users find their target pages rather than providing content directly. The navigational pages are useful in that they provide opportunities to find interesting pages; however, the navigational pages themselves are not useful to find the user’s interests because users may not click all of the hyperlinks on them. This means that the accuracy of the constructed interest model will be degraded unless we apply a process of removing these pages from the visit history. To date, there have been some attempts to identify and remove navigational pages. In [8, 9], the types of Web pages are classified based on their physical characteristics. The same classification has been accomplished using the number of links in a Web page [11]. However, the previous attempts are not applicable in the current Web environment because various new types of services are being continuously provided and hence we cannot expect consistency in the physical characteristics of the pages contained in such various types of services. In addition to navigational pages, content pages that are not of interest – uninteresting content pages – should be removed. Users will access the content pages by choosing some of the hyperlinks on well-designed navigational pages; nevertheless, it is not unusual for users to have no interest in some of the pages. This means that the accuracy of the constructed interest model will also be deteriorated in the absence of a process to remove uninteresting content pages.

In this paper, we introduce the research process we have taken to develop a new and reliable framework for retrieval of a user’s high interest content pages removing navigational pages and uninteresting content pages from the visit history based only on the log data collectable at the client side. We collect a user’s real interaction logs as well as visit patterns in a natural environment over a long period of time. We carefully analyze the collected data to define new and simple indicators and show that we are able to remove navigational pages and uninteresting content pages from the visit history using these indicators. We develop a new processing framework and evaluate the performance of the framework.

2. Literature Review

2.1 Web Usage Mining

The importance of WUM has been emphasized continuously since the Web was popularized to be used in everyday life. Accordingly, numerous research papers have introduced a general idea of WUM [4, 8, 21, 22, 24, 26, 30]. Among these papers, Cooley et al. [8] defined WUM as the process of applying data mining techniques to the discovery of usage patterns from Web data and suggested that WUM is important for applications such as personalization, system improvement, website modification, business intelligence, and usage characterization. This paper classified WUM tasks into 3 categories – data collection and preprocessing, pattern discovery, and pattern analysis – and introduced required techniques of the tasks. The data collection and preprocessing methods are different according to where the usage data can be collected. The usage data can be collected at the server side, client side, and proxy side but the papers focused mostly on WUM processing on the server side. Server side WUM utilizes various data such as content data, structural information, Web page meta-information (file size, last modified time), and so on as well as usage data.

Mobasher et al. [22] has provided useful surveys of WUM. Similarly to Cooley’s papers, his papers not only explained the concepts of WUM but also additionally emphasized user profile construction and recommendation based on the results of WUM. He claimed that WUM can reduce the need for obtaining subjective user ratings or registration-based personal preferences. Structural characteristics of the site or prior domain knowledge should be used importantly in the recommendation processes. For example, certain page types (content vs. navigational), product categories, and link distances can be used. He also focused on how to process usage data, content data, structure data, and user data that can be collected at the server side. The client side data have been regarded as supplementary resources.

Pierrakos et al. [24] discussed WUM for personalization. WUM provides approaches to preprocess usage data and the results of the preprocessing can be used to construct models representing a user’s behaviors and interests without the intervention of a human expert. In particular, this paper emphasizes that a flexible data elaboration process is required to construct personalization systems, because it is important to separate noise from relevant data, correlate and evaluate the data, and finally format the data so as to be ready for personalization.

Román et al. [26] introduced the latest methods and algorithms for pattern extraction from Web user browsing behaviors, but the basic purpose of the paper is same with the above papers. WUM has been applied to many research problems. Nasraoui et al. [23] suggested a method to construct dynamic user profiles. The proposed method effectively tracks users’ characteristics that evolve over time. In addition, WUM is being applied to find users’ evaluations of the performance of search engines, to extract rules from Web usage logs, to track long-term temporal property in Web usage evolution, and so on [2, 20, 29, 33, 34].

2.2 Client Side Web Usage Mining

Some researchers have paid attention to client side WUM. For the purpose of personalization, most studies have attempted to develop intelligent methods with which user preferences or interests can be inferred. The methods mostly have relied on repetitive visit patterns and dwell time on Web pages, as it is not easy for client side WUM to use structural characteristics of Web sites or prior domain knowledge, unlike server side WUM.

Seo & Zhang [28] and Zhang & Seo [35] regarded several data such as bookmarking, time for reading, following up the HTML document, and scrolling as good implicit interest indicators. They collected visit histories from 10 users and tried to estimate explicit user interest feedback with a multi-layer neural network. They also developed an agent that constructs user profiles intelligently based on reinforcement learning techniques.

Claypool et al. [7] have developed a custom Web browser to observe users in a less well controlled experimental setting. They analyzed the statistical relationships between explicit interest rating and several implicit interest indicators – the time on a page, the time spent moving the mouse, the number of mouse clicks, and the time spent scrolling. They found that the time on a page, the time spent moving the mouse, and the time spent scrolling are good indicators of interest among the considered implicit interest indicators.

Douglas & Jinmook [10] emphasized that information filtering based on implicit feedback is essential to build a recommendation system. They also provided a framework in which various observable behaviors such as view, print, copy-and-paste, bookmark, and save are classified into several categories according to the purpose of the behaviors. As an extension of this work, Kelly & Teevan [17] also provided a brief overview of implicit feedback techniques that are applicable for information retrieval.

Badi et al. [1] observed 16 users and analyzed how well reading activities and organizing activities reflect document usefulness. They developed a statistical model that predicts user interests on documents. In particular, they considered various reading activities – time spent on a document, number of mouse clicks, number of text selections, number of scrolls, number of scrolling direction changes, time spent scrolling, scroll offset, total number of scroll groups, and number of document accesses – and concluded that reading activities as well as organizing activity are useful to assess document usefulness.

Among various candidate implicit interest indicators, time spent on a Web page has received considerable attention. The basic idea is that users have a tendency to remain on high interest pages for longer time than other pages. Sugiyama, Hatano, & Yoshikawa [32] selects important pages from a browsing history that was recorded by search engine users according to time spent reading to build user profiles. Halabi, Kubat, & Tapia [12] and Hofgesang [13] also claimed that time spent on a web page is the most important indicator to infer user interests.

On the other hand, some researchers have taken a cautious stance regarding the usefulness of time spent on a Web page as an implicit interest indicator. Kelly & Belkin [16] developed specialized logging software that operates “in stealth mode”. They observed 7 users for 14 weeks, providing subjects with an opportunity to engage in multiple information-seeking episodes with tasks that were germane to their personal interests, in familiar environments. From the results they concluded that the display time is not suitable to infer the user’s preferences, because there is a large variation between display time and interest according to users and also large differences according to tasks at hand. This means that using display times averaged over a group of users as a measure of usefulness is unlikely to be effectual. In addition, using mean display time for a single user without taking account of contextual factors is also unlikely to work well. Kellar, Watters, Duffy, & Shepherd [15] investigated the usefulness of time spent as a measure of user interest. They found that participants spent more time reading relevant documents than non-relevant documents on average but this difference was not statistically significant. Based on the results, they concluded that when users read an article to judge how relevant it is, they do not spend more time on an article that they ultimately judged as relevant.

Reviewing previous WUM research, we found some client side studies, but there are several weaknesses in their research methods or the environments in which the experiments were conducted. Some studies only used a specific indicator – e.g. time spent on a Web page – rather than considering the use of all possible indicators together despite that there may be other reliable indicators that reflect the user’s interests such as mouse movement, mouse clicks, visit frequencies, and so on. Some works observed users and collected log data in a short period while users performed a small set of specific given experimental tasks rather than collecting the data in the users’ natural and familiar environments over a long period. We cannot be assured of the applicability of systems that are constructed based on such impractical data. Most of all, none of the studies suggested a method with which navigational pages can be identified intelligently at the client side even though navigational content may decrease the accuracy of users’ interest models.

3. Research Goals and Approach

Encouraged by the assertion that client side data is more reliable to build personalized systems than server or proxy side data [24], we decided to revisit the field of client side WUM. The first goal of our research is to design implicit indicators with which not only navigational pages but also uninteresting content pages can be identified to remove. We set up a hypothesis that the value of useful implicit indicators will be different among the page types and also different according to interest levels and thus the indicators will be useful for the purpose of the identification. In order to verify the reliability of the indicators, we design the indicators based on the results of a long time field study conducted in the user’s natural browsing environment. During the study, we collect as much available data as possible in order not to miss any patterns that may be useful to design the indicators.

The second goal is to develop a framework that is useful to find high interest content pages from the visit history and also make the framework robust to variances from individual differences such that it is applicable to multiple users. We transform each visited page into a multi-dimensional vector in which each element represents an indicator value that is normalized according to each user. We then apply a classification algorithm to identify those pages. We include the normalization process, the transformation process, and the classification process in our framework. We evaluate the framework in terms of the accuracy of topics of interest that are extracted from remaining high interest content pages.

Our research consists of several phases. The first phase is a field study in which raw data are collected. The second phase is analysis of the collected raw data. In the second phase, we design our implicit indicators. The usefulness of the designed indicators is analyzed in the third phase. The fourth phase entails design of a practical framework. The performance of the framework is evaluated in the last phase.

4. Experimental Data

4.1 Web Usage Mining

We developed a Browser Monitoring Module (BMM) to store all visited Web pages and to collect users’ interaction patterns, visit histories, and their feedbacks. The BMM consists of four components – a hooker, data aggregator, data recorder, and feedback window. The hooker catches every message passed within the operating system and then filters out the messages from other unfocused windows in order to count the number of messages that are invoked for only the currently focused browser window. The data aggregator also aggregates all data from these multiple components. The data recorder stores not only all visited Web pages in the local disk but also stores the aggregated data in a human-readable XML format for future analysis. Using the feedback window, users review and give feedback about all of their visited Web pages.

The BMM was installed in the users’ PCs and collected temporal information of each visited Web page and URL information. It collected several interaction logs, for example, the viewing time, the amount of scroll movement and mouse wheeling, the amount of keyboard typing, mouse clicks, and so on while a user focuses on a Web page in a browser tab. The viewing time is the time during which the user remains on a particular Web page. The amounts of mouse wheeling, clicks, and keyboard typing are measured by hooking Windows system messages. The location of the scroll bar is periodically updated so that the total displacement of the scrollbar can be estimated. We have chosen these logs because they can be measured without much effort. We did not record some of the behaviors that have been considered by other researchers – bookmarking, saving, printing, and coping, and pasting –because users do not always show those behaviors on every valuable Web page, and hence their records do not suit our purposes. For additional analyses, we also counted the number of hyperlinks in a downloaded Web page. Among visited Web pages, there were some pages that indicate an excessively long (over 15 min.) or short (less than 2 sec.) viewing time because the experiment was conducted in the users’ personal and natural environments. Therefore, as Claypool et al. [7] did, we excluded such pages from the analysis.

Table 1. User Information

Table 1. User Information

For experimental purposes, we have also collected user feedbacks – interest levels on content pages as well as page types (navigational or contents) of visited Web pages. Eighteen experienced Web users (Table 1) visited about 58,353 pages during a 2 week period from their own residences. Using a feedback window, users can review the visited Web pages and choose radio buttons that ask about several types of assessments about the contents of each Web page. The users have tagged all visit logs with page type information – navigational page or content page – and also indicated their interest levels of the content pages on a 5-point scale based on subjective decisions. (1- “no interest at all”, 2-“no interest”, 3-“neutral”, 4-“a little interest” and 5-“high interest”). The feedback results for a Web page are aggregated with the interaction logs and visit history. Users gave feedback on all of their visited Web pages at least once a day. If the users do not want to answer questions regarding some of the Web pages, they can remove the records easily. We paid the participants 80 dollars to 160 dollars according to the feedback rate. During the data collection, the users visited some websites with their own special structures such as Facebook, Twitter, Google+, and so on but we excluded such websites from our analysis for future study in the belief that user interaction patterns on such websites are quite different from those on other websites.

4.2. Data Characteristics

Figure 1. Statistics of the collected data

Figure 1. Statistics of the collected data

Figure 1 presents statistics of the collected data. It shows that only parts of visited pages are useful for extraction of a user’s topics of interest. About half of all visited Web pages were classified into navigational pages by users. This result appears natural considering that various types of portal sites, news sites, and search engines have been provided to help users find target pages efficiently. We may expect that users will show high interest levels for most of their visited pages, because most target pages that users wish to access can be reached via well-designed services; however, the number of uninteresting pages was also high, contrary to our expectation.

Figure 2. (a) The average number of outlinks and (b) the average number of visits in a day

Figure 2. (a) The average number of outlinks and (b) the average number of visits in a day

In some previous studies, there were several attempts to discriminate content pages from navigational pages using the number of outlinks contained in the pages [7, 9, 11]. The main idea is that there will be a larger number of outlinks on navigational pages than on content pages. We also initially thought that this idea is acceptable and hence counted the average numbers of contained outlinks in both navigational pages and content pages. However, as we can see in Figure 2-(a), the average number of outlinks on a navigational page was not significantly different from that on content pages in our results.

We found some interesting visit patterns from the collected data. Because most target pages that users wish to access can be reached via portal sites, news sites, search engines, and so on, the front pages of these sites and hub pages within the sites appeared in the visited URLs history more frequently than others. We believe that the cause of this pattern lies in users’ tendency to visit navigational pages to see the list of content pages prior to selecting pages to access and they also tend to return to the navigational pages to access other pages. This pattern may be repeated while users browse the Web. On the contrary, there is relatively less need to repeatedly see the same contents in content pages. As we can see in Figure 2-(b), users visited navigational pages more frequently than content pages.

Figure 3. : The positive correlations between interaction logs and interest levels

Figure 3. : The positive correlations between interaction logs and interest levels

We normalized the number of interaction logs using min-max normalization according to each subject. We included this normalization procedure because there would be variances in the amount of usage logs due to users’ individual differences of reading skill, carefulness, interaction styles, and so on. As we can see in Figure 3, all users’ normalized viewing time shows a positive correlation with the interest level and, according to t-test, the difference between the viewing times of high interest levels (level 4 and 5) and the viewing times of low interest levels (level 1, level 2, and level 3) is statistically significant. The normalized amount of other interaction logs in Web pages also increased with the interest levels in general. On the contrary, we could not find any clear patterns in non-normalized data, similarly to the previous results of Kelly and Belkin’s work [16].

5. Implicit Indicators

Visit patterns have mostly been used thus far by researchers to find user’s browsing styles [8], to reorganize websites’ structures [11], to infer user’s next pages to probably visit [19], and so on. Only a few works have considered visit patterns as an interest indicator, but they simply count the number of visits [1]. On the other hand, interaction patterns on each Web page have been mostly used as an implicit indicator. However, we believe that there is no clear evidence that any one of the various types of possible indicators can be ignored. In this regard, we decided to make use of both visit patterns and interaction patterns as possible implicit interest indicators and thereupon designed two types of indicators.

5.1. Visit Pattern Indicators

Based on visit patterns that we found in our data, we designed several indicators. The definitions of visit pattern indicators are extensions of well-known Tf-idf [27]. Document frequency of a term counts the number of documents in a collection in which a term occurs. A term with lower document frequency is regarded as more specific. On the other hand, term frequency is simply the number of times a given term appears in a document. Term frequency gives a measure of the importance of a term within the particular document. Analogous to the definition of term frequency and document frequency, importance or specificity of a visited page can be understood by visit frequencies. If a user visits a Web page frequently during a unit time, the page may be important to the user. Moreover, if the user shows a repeated and also periodical visit pattern to a Web page, we may also expect that the user visits the page for a navigational purpose.

In order to apply the concept of visit frequencies, we should determine the length of unit time to calculate the frequencies. We chose two unit times – day and session – because we believe that Web browsing is a daily activity that consists of multiple separate sessions. A session is generally defined as a sequence of visits by a single user during a single visit to a server [21]. For example, total session duration may not exceed a threshold (30 min.) and total time spent on a page may not exceed a threshold (10 min.). However, for the present work, we need a different definition that is suitable to a client side analysis. In this study, we assign two successive visits in a same session if the difference in visit time between the visits is not greater than 20 minutes. Based on the time units, day and session, we designed 4 visit pattern indicators.

Day Frequency (DF)
Day frequency (DF) is obtained by dividing the number of days containing a URL in the visit history by the number of all days under consideration. The DF value of each visited URL can be calculated using the following equation:
df
In this equation, |D| is the total number of days under consideration, d_j is the URL collection of the j-th day, and |{d_j:〖Url〗_i∈d_j}| denotes the number of days where the i-th URL appears. If a URL exhibits a high DF value in a user’s visit logs, it means that the user visits the website almost every day.

Visit number in a day (VnD)
Visit number in a day (VnD) is obtained by dividing the number of visits to a URL in a day by the total number of visits in a day.
vnd
where n_ij is the number of occurrences of the considered i-th URL in the j-th day, and the denominator is the sum of the number of occurrences of all URLs in the j-th day. Therefore, 〖VnD〗_ij is the visit ratio of the i-th URL in the j-th day.

Session frequency (SF)
Session frequency (SF) is obtained by dividing the number of sessions containing a URL by the number of all sessions under consideration. The SF value of each visited URL can be calculated using the following equation:
sf
In this equation, |S| is the total number of sessions under consideration, s_j is the URL collection of the j-th sessions, and |{s_j:〖Url〗_i∈s_j}| denotes the number of sessions where the i-th URL appears. If a URL exhibits a high SF value in a user’s visit logs, it means that the user visits the website almost every session. In this study, the total number of sessions is counted for each day to which a session belongs.

Visit number in a session (VnS)
Visit number in a session (VnS) is obtained by dividing the number of visits to a URL in a session by the total number of visits in a session.
vns
where m_ij is the number of occurrences of the considered i-th URL in the j-th session, and the denominator is the sum of the number of occurrences of all URLs in the j-th session. Therefore, 〖VnS〗_ij is the visit ratio of the i-th URL in the j-th session.

5.2. Interaction Pattern Indicators

Table 2. The indicators of interaction logs

Table 2. The indicators of interaction logs

In addition to these visit pattern indicators, we also designed some indicators based on the amounts of several interaction logs. Because Web users may visit a Web page repeatedly in a day and even in a session, we set the values of interaction pattern indicators to the averaged amount of each interaction log for a day or a session. The interaction pattern indicators that we used in this study are presented in Table 2.

6. Indicator Analysis

We analyzed our data to determine whether there are noticeable patterns in the indicator values according to page types and interest levels. The DF value was obtained based on the total visit logs of all days in the experiment. The SF value was obtained based on the total visit logs of all sessions in a day. The other values are means of normalized amounts of logs according to each user.

Figure 4. Variation of visit pattern indicators values (N: navigational page / C1~C5: content pages according to interest levels

Figure 4. Variation of visit pattern indicators values (N: navigational page / C1~C5: content pages according to interest levels

Figure 4 shows that DF, SF, VnD, and VnS can be used as indicators to find high interest content pages. The leftmost values of the figures are means of the indicator values of navigational pages and the other values are the means of content pages according to interest levels. As we expected, DF and SF are much higher on navigational pages than on content pages. VnD and VnS increased according to interest levels and the values of navigational pages are similar to the highest interest content pages. Higher DF and SF of navigational pages indicate that, in general, users traverse the Web to find content pages via navigational pages, and therefore visit logs of a navigational page can be found in a greater number of days and sessions. Contrary to our expectation that there would be relatively less need to view the same content repeatedly in content pages, there were higher VnD and VnS in high interest content pages. This indicates that users tend to visit high interest content pages more frequently than others. We believe that this pattern may be shown partly due to dynamic characteristics of some websites such as blogs and community sites in which users can find new content even when they visit the same URL as before. Those URLs appear frequently in the visit history but are regarded as content pages.

Figure 5. Variation of interaction pattern indicator values

Figure 5. Variation of interaction pattern indicator values

Figure 5 shows how the day means and session means of interaction pattern indicators varied according to page types and interest levels. We found that the values also increased according to interest levels among the content pages. This means that users generally interacted more intensively with high interest content pages. One interesting pattern we found in this figure is that KtD and KtS of navigational pages are significantly higher than those of content pages. This pattern may be the result of typing queries to search engines or typing user ids and passwords when users enter websites.

Figure 6. Variation of interaction pattern indicators values (without normalization)

Figure 6. Variation of interaction pattern indicators values (without normalization)

Figure 6 shows the trends of the day means of interaction pattern indicators that we obtained without a normalization process. We could not find any clear trends from the non-normalized data. This shows that a normalization process may be required to make use of the indicators to build a common procedure that can handle all users’ data.

Observing the trends of values of the indicators, we concluded that our indicators are highly applicable not only to determine page types but also to infer interest levels. This means that we can build a framework in which navigational pages and uninteresting content pages can be removed using the indicators.

7. WUM Framework Design and Evaluation

Figure 7. The concept of the data preprocessing framework

Figure 7. The concept of the data preprocessing framework

Figure 7 shows the concepts of two data preprocessing frameworks that we designed. The first model was designed initially and changed into the second model according to our experimental results. We included the normalization process, the transformation process, and classification process in our framework. VnD, VnS, and the values of interaction pattern indicators for a visited Web page will be normalized according to each user’s scale of the day at the end of each day and each page will be transformed into a multi-dimensional vector in which each element represents an indicator value. The classifiers will judge the page types or interest level of each vector. For the classification process, we trained a classifier and tested its general performance to handle variances of indicator values that may be caused by multiple users’ individual differences and noise. All of the visit frequencies except VnS and the day means of interaction logs are measured at the end of each day. The session means of interaction logs and VnS are measured at the end of each session. We maintained the visit histories of 5 previous days to measure DF values in order to define how many days are to be considered as a unit time. Among various types of classifiers, we have chosen the Decision Tree (C4.5) algorithm, as it can select good features independently and there is a pruning process in its induction process [25].

7.1. The First Model

As an initial model (Figure 7- (a)), using all indicator values, 18 individual classifiers were trained and evaluated respectively using each user’s data. (10-fold cross validation) Content pages were grouped into 2 groups according to the interest levels. We merged interest levels 1, 2, and 3 into a low-interest group and interest levels 4 and 5 into a high-interest group. We labeled high interest content pages as 1 and other pages – navigational pages and low interest content pages – as 0 for binary classification.

Figure 8. The performances of the first models. ((a) black: initial, gray: page type classification, white: interest level inference (b) black: using only visit pattern indicators, white: using only interaction pattern indicators)

Figure 8. The performances of the first models. ((a) black: initial, gray: page type classification, white: interest level inference (b) black: using only visit pattern indicators, white: using only interaction pattern indicators)

Figure 8-(a) shows the performance of the individual classifiers. The individual classifiers showed high error rates, contrary to what we expected (‘initial’ in Figure 8-(a)). We thought that the high error derives from the trend that users showed similar visit patterns and interaction patterns in some of the navigational pages and high interest content pages. For example, as seen in Figure 4, VnD and VnS may be useful to infer interest levels among content pages but they are not useful to find navigational pages because they were high not only in high interest content pages but also in navigational pages.

In this regard, we concluded that the navigational pages should be filtered out prior to inferring interest levels of content pages, because clear increasing tendencies of visit pattern indicators are observed only among content pages. We constructed and evaluated two classifiers separately. The first classifier is for the task of finding content pages from the visit history – page type classification – and the second classifier is for inferring interest level among the content pages – interest level inference. To train and evaluate the first classifier, we labeled each content page as 0 and each navigational page as 1 for binary classification. For inference of interest levels, only the logs of content pages were included in the data.

As can be seen in Figure 8-(a) (‘page type classification’ and ‘interest level inference’), the classifiers showed good performances in their respective tasks. The classifiers also showed better performances than classifiers that were trained using only visit pattern indicators and using only interaction pattern indicators in the task of page type classification. (See Figure 8-(b))

7.2. The Second Model

In order to design a more practical framework, we built a second model in which the two classifiers work in series (Figure 7- (b)). In this case, the errors of the first classifier – navigational pages that survived from the first classifier – also may be included in input data for the second classifier.

Table 3. The information gains of indicators

Table 3. The information gains of indicators

We built and tested two forms of the second model. The first form was trained and tested using all indicators (All indicator form). We used only the top-10 useful indicators for the second form (Useful indicator form). To select useful indicators, we measured the Information Gain (IG) [25] of each indicator. The IG of each indicator shows how much information an indicator gives for the current classification task. In Table 3, the IG of each indicator is shown. Notice that both some of the visit pattern indicators and some of interaction pattern indicators were included in the top-10 useful indicators.

Figure 9. The performances of the second models (black: individual type, gray: all indicator form of general type, white: useful indicator form of general type)

Figure 9. The performances of the second models (black: individual type, gray: all indicator form of general type, white: useful indicator form of general type)

In order to check the applicability of the second model to general users (general type), we built and tested the model with a ‘leave-one-out cross validation’. We trained the model using all user data excluding one set of user data and tested the model by the excluded user data. Figure 9 shows that the overall performances of the general types were slightly lower than the performance of the individual type in which the classifiers were trained and evaluated respectively using each user’s data. However, the overall performances of the general types were still impressive. Notice that all indicator form of the general type showed slightly better performance than useful indicator form.

8. WUM Framework Design and Evaluation

Jin, Zhou, & Mobasher [14] argued that a probabilistic latent semantic analysis can be used for WUM. In addition, Pierrakos et al. [24] also mentioned that analyzing the content of Web pages based on traditional Tf-idf vectorization or a latent semantic analysis is important to model a user’s topics of interest. Among several candidate semantic analysis methods, Latent Dirichlet Allocation (LDA) [31] models topics in a set of documents based on statistical modeling of a distribution of words. As a generative model, LDA samples a multinomial distribution over a topic from a Dirichlet with the parameter α for a document. A topic is chosen from the topic distribution. A word is generated from a topic-specific multinomial distribution. A topic-specific multinomial distribution is sampled from a Dirichlet with the parameter β. Based on these procedures, the likelihood of a document can be obtained. Currently, LDA is being widely used for the purpose of modeling topics in various types of document sets [3].

We therefore chose LDA in order to verify the performance of the second model in terms of finding interesting topics. We conducted topic modeling tasks with three data sets – a raw data set that includes all visited Web pages (raw topics), processed data sets that are outputs of the second model (processed topics), and a target data set that includes only high interest (interest level over 4) content pages (target topics). We extracted plain body text from each visited Web page and refined the text using a morpheme analyzer to retain only tokens of nouns. We identified 166,585 unique tokens (including Korean and English) from all of our data sets.

After preprocessing the Web pages, we extracted 50 topics from each data set using basic LDA (α = 0.1 and β = 0.01, as commonly used in the past [18]) and measured the similarity of the extracted topics. We applied Jensen-Shannon Divergence (JS Divergence) to measure the topic similarity between individual topics [18, 31],

js
where KL is Kullback-Leibler Divergence and M is the average distribution of ∅_i and ∅_j
klm

Based on JS divergence, the error of an individual raw (or processed) topic i is measured as follows:
err
where
rt

The total error of the raw (or processed) topics is the number of the topics whose individual error exceeds a threshold value. We set the threshold value to 0.4 referring to [18].

Figure 10. The performance of topic modeling (black: raw topics, gray: processed topics by all indicator form, white: processed topics by useful indicator form)

Figure 10. The performance of topic modeling (black: raw topics, gray: processed topics by all indicator form, white: processed topics by useful indicator form)

As we can see in Figure 10, the mean number of errors in raw topics was over 24 out of 50. This means that the raw data were quite different from the target data in terms of topics. On the contrary, the number of errors in the processed data set decreased to 4 (all indicator form, general type of the second model) and 10.3 (useful indicator form, general type of the second model). This shows that although outputs of the general type of the second model contain some classification errors while finding high interest content pages, the model works well in terms of filtering out unnecessary pages from the visit history to find the user’s topics of interest accurately.

9. Long History based Day Frequency

Figure 11. The performances of page type classification vs. the numbers of days for DF calculation

Figure 11. The performances of page type classification vs. the numbers of days for DF calculation

Thus far, we have calculated the DF value based on 5 previous days. However, we anticipated that if we obtain the DF value based on longer histories, the overall performance will increase. We repeated the same experiments varying the numbers of days for the DF calculation. Figure 11 shows the variation of the average performance of page type classification according to different numbers of days for the DF calculation. We begin to use the DF indicator from the 5th day and thus the first 4 values of the figure are the performance of the experiment in which the DF indicator was not used. Notice that as we apply a n-day history, the amount of experimental data decreased, because the data in n-oldest days should be excluded. As we can see in Figure 11, when we use the DF, the performances were higher and there was an increasing trend as we used longer histories for the DF calculation. In practical situations, we can collect data for a long time and thereby maintain a longer history for the DF calculation. However, as we apply longer histories, greater storage and calculation will accordingly be required.

10. Conclusion
One of the goals of this paper is to find good indicators applicable to client side WUM, especially indicators that can be used to remove navigational pages and uninteresting content pages from a user’s visit history. From the results of our experiment, we showed that visit pattern indicators as well as interaction pattern indicators can be used for our purpose. Another goal is to develop a new framework for client side WUM based on the indicators and to show that the framework provides good performance. The proposed framework has several new features that other approaches have not considered. The most distinctive feature is that it finds high interest content pages efficiently using only data that can be collected easily at the client side. The framework transforms each visit URL into indicator vectors. Both visit pattern indicators and interaction pattern indicators are used in the framework. The framework is also quite different from others in that it finds high interest content pages using two classifiers in series. To find pages of interest, the navigational pages are removed by the first classifier and then the uninteresting content pages are removed from the remaining content pages by the second classifier. The classifiers were built using a Decision Tree algorithm and thus they showed good generalization power even though there may be variances in input data according to users’ individual differences and noise.

From our research processes and the final results, we showed that it is possible to build a general framework for client side WUM. The extracted user interest models based on our framework are essential to build an intelligent system that will play crucial roles to find users’ interests and track change patterns. Furthermore, an accurate interest model that is constructed based on the output of the framework can be used to deliver personalized content in a proactive manner. In the near future, we will develop several intelligent systems based on this framework.

References
1. Badi, R., Bae, S., Moore, J.M., Meintanis, K., Zacchi, A., Hsieh, H., et al. (2006). Recognizing user interest and document value from reading and organizing activities in document triage, Proceedings of the 11th international conference on Intelligent user interfaces (pp. 218-225). Sydney, Australia: ACM.
2. Bayir, M.A., Toroslu, I.H., Cosar, A., & Fidan, G. (2009). Smart Miner: a new framework for mining large scale web usage data, Proceedings of the 18th international conference on World wide web (pp. 161-170). Madrid, Spain: ACM.
3. Blei, D.M. (2012). Probabilistic topic models. Commun. ACM, 55(4), 77-84.
4. Brusilovsky, P., Kobsa, A., & Nejdl, W. (Eds.). (2007). The Adaptive Web, Methods and Strategies of Web Personalization (Vol. 4321): Springer.
5. Cho, Y.H., & Kim, J.K. (2004). Application of Web usage mining and product taxonomy to collaborative recommendations in e-commerce. Expert Systems with Applications, 26(2), 233-246.
6. Cho, Y.H., Kim, J.K., & Kim, S.H. (2002). A personalized recommender system based on web usage mining and decision tree induction. Expert Systems with Applications, 23(3), 329-342.
7. Claypool, M., Le, P., Wased, M., & Brown, D. (2001). Implicit interest indicators, Proceedings of the 6th international conference on Intelligent user interfaces (pp. 33-40). Santa Fe, New Mexico, United States: ACM.
8. Cooley, R., Mobasher, B., & Srivastava, J. (1999). Data Preparation for Mining World Wide Web Browsing Patterns. Knowledge and Information Systems, 1(1), 5-32.
9. Domenech, J.M., & Lorenzo, J. (2007). A Tool for Web Usage Mining Lecture Notes in Computer Science, 4881, 695-704.
10. Douglas, W.O., & Jinmook, K. (2007). 1 Modeling Information Content Using Observable Behavior.
11. Fu, Y., Creado, M., & Ju, C. (2001). Reorganizing web sites based on user access patterns, Proceedings of the tenth international conference on Information and knowledge management (pp. 583-585). Atlanta, Georgia, USA: ACM.
12. Al halabi, W.S.A., Kubat, M., & Tapia, M. (2007). Time spent on a web page is sufficient to infer a user’s interest, IASTED European Conference on Proceedings of the IASTED European Conference: internet and multimedia systems and applications (pp. 41-46). Chamonix, France: ACTA Press.
13. Hofgesang, P.I. (2006). Peter I. Hofgesang. Workshop on Web Mining and Web Usage Analysis. The 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2006).
14. Jin, X., Zhou, Y., & Mobasher, B. (2004). Web usage mining based on probabilistic latent semantic analysis, Proceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 197-205). Seattle, WA, USA: ACM.
15. Kellar, M., Watters, C., Duffy, J., & Shepherd, M. (2004). Effect of task on time spent reading as an implicit measure of interest. Proceedings of the American Society for Information Science and Technology, 41(1), 168-175.
16. Kelly, D., & Belkin, N.J. (2004). Display time as implicit feedback: understanding task effects, Proceedings of the 27th annual international ACM SIGIR conference on Research and development in information retrieval (pp. 377-384). Sheffield, United Kingdom: ACM.
17. Kelly, D., & Teevan, J. (2003). Implicit feedback for inferring user preference: a bibliography. SIGIR Forum, 37(2), 18-28.
18. Kim, D., & Oh, A. (2011). Topic chains for understanding a news corpus, Proceedings of the 12th international conference on Computational linguistics and intelligent text processing – Volume Part II (pp. 163-176). Tokyo, Japan: Springer-Verlag.
19. Liu, H., Kešelj, V., (2007). Combined mining of Web server logs and web contents for classifying user navigation patterns and predicting users’ future requests. Data Knowl. Eng., 61(2), 304-330.
20. Masseglia, F., Poncelet, P., Teisseire, M., & Marascu, A. (2008). Web usage mining: extracting unexpected periods from web logs. Data Min. Knowl. Discov., 16(1), 39-65.
21. Mobasher, B. (2007). Web Usage Mining In B. Liu (Ed.), Web Data Mining Springer.
22. Mobasher, B., Cooley, R., & Srivastava, J. (2000). Automatic personalization based on Web usage mining. Commun. ACM, 43(8), 142-151.
23. Nasraoui, O., Soliman, M., Saka, E., Badia, A., & Germain, R. (2008). A Web Usage Mining Framework for Mining Evolving User Profiles in Dynamic Web Sites. IEEE Trans. on Knowl. and Data Eng., 20(2), 202-215.
24. Pierrakos, D., Paliouras, G., Papatheodorou, C., & Spyropoulos, C.D. (2003). Web Usage Mining as a Tool for Personalization: A Survey. User Modeling and User-Adapted Interaction, 13(4), 311-372.
25. Quinlan, J.R. (1993). C4.5: programs for machine learning: Morgan Kaufmann Publishers Inc.
26. Román, P.E., L’Huillier, G., & Velásquez, J.D. (2010). Web Usage Mining. In J.D. Velásquez & L.C. Jain (Eds.), Advanced Techniques in Web Intelligence – I (Vol. 311/2010, pp. 143-165): Springer Berlin / Heidelberg.
27. Salton, G., & McGill, M.J. (1986). Introduction to Modern Information Retrieval: McGraw-Hill, Inc.
28. Seo, Y.-W., & Zhang, B.-T. (2000). Learning user’s preferences by analyzing Web-browsing behaviors, Proceedings of the fourth international conference on Autonomous agents (pp. 381-387). Barcelona, Spain: ACM.
29. Sharma, H., & Jansen, B.J. (2005). Automated evaluation of search engine performance via implicit user feedback, Proceedings of the 28th annual international ACM SIGIR conference on Research and development in information retrieval (pp. 649-650). Salvador, Brazil: ACM.
30. Srivastava, J., Cooley, R., Deshpande, M., & Tan, P.-N. (2000). Web usage mining: discovery and applications of usage patterns from Web data. SIGKDD Explor. Newsl., 1(2), 12-23.
31. Steyvers, M., & Griffiths, T. (2007). Probabilistic Topic Models. In T. Landauer, D. McNamara, S. Dennis & W. Kintsch (Eds.), Handbook of Latent Semantic Analysis: Lawrence Erlbaum Associates.
32. Sugiyama, K., Hatano, K., & Yoshikawa, M. (2004). Adaptive web search based on user profile constructed without any effort from users, Proceedings of the 13th international conference on World Wide Web (pp. 675-684). New York, NY, USA: ACM.
33. Tao, Y.-H., Hong, T.-P., & Su, Y.-M. (2008). Web usage mining with intentional browsing data. Expert Syst. Appl., 34(3), 1893-1904.
34. Tseng, V.S., Lin, K.W., & Chang, J.-C. (2007). Prediction of user navigation patterns by mining the temporal web usage evolution. Soft Comput., 12(2), 157-163.
35. Zhang, B.-T., & Seo, Y.-W. (2001). Personalized web-document filtering using reinforcement learning. Applied Artificial Intelligence, 15(7), 665-685.

카테고리: Tech. of Inforience | 댓글 한 개

커피매장 방문고객 만족도 측정 및 영향요인

클릭 >> Hello, world !! (from ShadowEgo)

***** 이 포스팅은 Inforience 에서 발표한 2013년 한국소비문화학회 춘계학술대회 (http://www.kcca1997.org/bbs/data/com010_10_02.pdf) 논문 – “정지영, 하미경, 최진혁, 커피매장 방문고객 충성도 및 영향요인” 을 기반으로 구성되었습니다.

“저는 사실 커피 맛에 대해서는 잘 모르는데, 사실은 혼자 시간 보내기 좋아서 집 앞의 “에헤라디야 커피”에 자주 가요. 가까우니까 건너편 “뚝섬 플레이스”에도 종종 가고요”

1. 서론

그림1. Starbuck Experience Map – 고객이 커피 매장에 들어섰을 때부터 나갈 때 까지의 경험 내용을 묘사 (“커피는 좋았는데, 음악이 좀 시끄러웠고, 공간도 좀 좁고, 전기 콘센트도 부족한 듯”)

Starbuck Experience Map – 고객이 커피 매장에 들어섰을 때부터 나갈 때 까지의 경험 내용을 묘사 (“커피는 좋았는데, 음악이 좀 시끄러웠고, 공간도 좀 좁고, 전기 콘센트도 부족한 듯”)

우리나라 프랜차이즈 테이크아웃 커피매장은 1999년 Starbucks를 선두로 2011년도까지 연평균 21.6%의 성장을 지속해왔다. 2000년 중반 이후 한국 토종 브랜드 성장이 가속화 되면서 향후에도 유망한 서비스 산업으로 자리매김할 것으로 전망되나 (KB금융그룹연구소, 2011), 시장 성숙에 따른 경쟁 심화로 인해 커피매장 당 매출액은 점차 줄어드는 추세이다 (대한상공회의소, 2011). 향후 커피매장의 경쟁은 더욱 치열해질 것으로 예상되므로, 커피매장의 수익성 지속을 위한 고객충성도 제고에 관한 연구가 필요하다고 할 수 있다. 실제로 2006년 이후 커피매장 서비스가 고객만족도에 미치는 영향에 관한 연구들이 활발하게 이루어져왔다. 대표적인 연구로는 프랜차이즈 커피매장을 대상으로 품질과 가치가 몰입과 고객충성도에 미치는 영향력 분석 (김재곤, 송경숙, 2010), 커피매장의 이미지가 고객충성도에 미치는 영향에 대한 연구 (조수현, 강혜숙, 2010), 커피매장의 서비스 품질에 대한 고객만족도와 고객충성도에 대한 연구 (김판수, 한장협, 2011; 강찬호, 2012) 등이 있다.

이러한 연구 결과를 뒷받침하는 실제 적용 사례로는 Starbucks를 들 수 있는데, Starbucks는 커피 외에 문화와 이미지를 제공하는 것을 목표로 Starbucks Experience Map (그림 1) 을 만들어 커피매장이 커피만을 소비하는 공간이 아님을 강조하고 있다. 커피매장 체류 시간이 길수록 커피 외에 다양한 서비스를 소비하기 때문에 커피매장의 물리적 환경과 서비스가 중요하다는 연구 결과 (전중옥, 박현희, 한희영, 2008) 에 미뤄볼 때, 커피매장 체류 시간에 따라 고객이 이용하는 서비스가 상이해질 수 있음을 시사한다.

이와 같은 연구흐름들에 따르면 커피매장 이용자의 고객만족도와 고객충성도에 영향을 미치는 요소들이 다양하며, 커피매장 별 가격 차별성에 대한 부분을 함께 고려해야 할 필요가 있음을 시사한다. 실제로 정영우(2006)의 연구에서는 제품품질(커피품질)이 고객만족도에 가장 큰 영향을 미치며, 그 다음으로 가격대비 가치 효용성이 영향을 미치는 것으로 나타났다. 따라서 본 포스팅에서는 커피매장 이용자의 고객만족도와 고객충성도에 영향을 미치는 요인을 알아보기 위해 전통적인 마케팅 방법인 4P(Product(제품), Price(가격), Promotion(홍보), Place(장소)) 마케팅믹스 모델을 커피매장의 특성에 맞게 수정 보완하여 분석하고자 한다. 커피매장 이용자를 대상으로 고객만족도와 고객충성도 제고에 영향을 미치는 요소가 무엇인지, 특히 제품(Product)과 가격(Price) 경쟁력이 고객충성도 제고에 어떤 영향을 미치는지를 진단하는 것을 목표로 한다.

2. 기존문헌 고찰

전통적으로 충성도 높은 고객(loyal customer)은 사업 수익 극대화에 기여하는 것으로 평가되고 있어, 현대 마케팅에서는 충성도 높은 고객 확보를 위한 전략 수립을 기업 이윤 극대화의 주요한 전략 중 하나로 여겨왔다. 충성도는 Oliva (1999) 에 의해 ‘선호하는 제품이나 서비스를 지속적으로 구매하게 만드는 것으로서, 해당 브랜드에 대한 깊은 몰입이다’라 정의되었다. 따라서 이러한 충성도를 측정하기 위해서는 고객의 행동, 특히 재구매확률(이유재, 라선아, 2002)로 살펴봐야 한다. 이러한 고객충성도에 대한 연구는 정영우(2006)의 연구부터 커피매장을 중심으로 진행되었다. 해당 연구는 커피매장의 중요한 속성을 커피품질, 가격가치, 실내인테리어, 인적서비스의 네 가지로 분류하고, 인적서비스가 고객만족도 및 재방문 의도에 영향을 준다는 것을 밝혔다.

그림 4. 비록 에헤라디야 커피가 콩 태운 물 맛이라도, 매장 직원만 친절하면 될까?

비록 에헤라디야 커피가 콩 태운 물 맛이라도, 매장 직원만 친절하면 될까?

커피매장 고객만족도와 고객충성도에 관한 연구들 (권동극, 2011; 김광지, 박규영, 박기용, 2012; 김민경, 장흥섭, 김윤정, 강태용, 2012)을 통해서 인적서비스에 대한 고려가 필요하다는 사실을 확인할 수 있었으며, 권동극(2011과 이동한, 우종필, 윤남수(2012)의 연구에서는 커피매장의 접근성과 입지가 중요한 요인으로 나타났다. 따라서 커피매장 고객만족도와 고객충성도에 영향을 미치는 것으로 4P 마케팅믹스 요소 외에 위치(Location)와 인적서비스(People) 역시 일정 수준의 영향을 미치고 있음을 알 수 있다.

3. 연구방법 및 모형

3.1. 연구모형

커피매장에서는 대면 서비스 및 상호 관계를 통하여 고객의 경험치가 형성된다는 연구 (Verhoef et al, 2009) 와 종업원 서비스가 고객만족도에 영향을 미친다는 기존연구들 (김민경 외, 2012; 김광지 외, 2012; 문상정, 배현주, 2013) 에 근거해 사회적인 환경과 서비스 제공인력을 포함하는 요소로 인적서비스(People)를 추가하였다. 더불어, 커피매장 유형이나 지리적 위치 등에 의해 영향을 받는다는 Situation Moderators를 제안하며 (Verhoef et al, 2009), 커피매장 입지형태와 접근성이 고객만족도에 영향을 미친다는 연구들 (김홍범, 이정원, 노윤정, 2007; 권동극, 2011; 이동한 외, 2012)을 바탕으로 지리적 위치와 접근성에 대한 요소를 추가하였다. 따라서 본 포스팅에서는 전통적인 4P 마케팅믹스 모델에 위치 (Location) 와 인적서비스 (People) 부분을 보완한 L-5P 마케팅믹스 모델을 이용하여 고객의 재방문 의향을 분석하고자 한다().

5

그림 5. L-5P 모형을 이용한 연구모델

L-5P 모형을 이용한 연구모델

본 포스팅에서는 커피매장에 특화된 L-5P 마케팅믹스 모델이 고객충성도 제고에 미치는 영향을 알아보는 것을 목표로 하며, 특히 선행 연구 결과에 따라 유형 요인인 제품 (Product) 과 가격 (Price) 이 고객충성도에 더 강한 영향을 미치고 있는지를 알아보고자 다음과 같은 가설을 수립하였다.

가설 1: L-5P 요인들은 커피매장 이용자의 고객충성도에 영향을 미친다.
가설 2: 유형의 요인들은 커피매장 이용자의 고객충성도에 더 강한 영향력이 있다.

3.2. 설문조사 및 표본의 일반적 특성

설문조사는 온라인 리서치 업체를 통하여 2013년 4월 3일~ 10일에 걸쳐 수집되었으며, 우리나라 지역 인구분포에 비례한 무작위 추출 방법을 통해 커피매장에 방문한 적이 있는 응답자만을 선별하였다. 설문조사에 참여한 최종 1,030명의 인구통계학적 특징은 다음의 과 같다. 응답자의 남녀의 비율은 49:51로 비슷하고, 응답자 대부분의 교육수준은 대학교 졸업이상이다. 직업은 사무 및 기술직이 가장 많았으며 그 다음으로 대학생 및 대학원생, 가정주부 순이었다.

 응답자의 인구통계학적 특징

응답자의 인구통계학적 특징

그림 6. 응답자의 인구통계학적 특징

응답자의 인구통계학적 특징

4. 연구결과

4.1. 커피매장관련 변수들의 기본통계분석

커피매장을 방문한 경험이 있는 응답자들의 기본적인 통계는 다음과 같이 나타난다(). 응답자들은 커피매장에서 1일 평균 한 잔 이상의 커피를 소비하며, 일주일에 평균 2회 커피매장을 방문하여 13,000원 이상을 지출하는 것으로 나타났다. 선호 커피매장이 있다고 응답한 비율은 전체 응답자의 약 66%로 다소 높게 나타났다. 커피매장 방문 목적은 크게 구매 목적, 사회적 목적, 개인적 목적 등 3가지로 구분 가능하며, 응답자의 96%는 구매 목적과 사회적 목적으로 커피매장을 방문한다고 응답하였다. 한편 구매 목적 중에서는 커피 및 음료구입이 대부분을 차지하는 것으로 나타났다.

 커피매장관련 변수들의 기본 통계 결과

커피매장관련 변수들의 기본 통계 결과

그림 7. 커피매장관련 변수들의 기본 통계 결과

커피매장관련 변수들의 기본 통계 결과

응답자의 방문 목적별 커피매장 평균 체류시간을 살펴보면 사회적 목적과 개인적 목적으로는 100여분 이상을 커피매장에서 보내고 있음을 알 수 있다. 또한 구매 목적으로도 평균 34분여간은 커피매장에서 머무르고 있다는 것을 확인할 수 있다. 선행 연구 (전종옥 외, 2008) 에 따르면 커피매장 체류시간이 길어 질 경우 결국 해당 매장에서의 부가서비스 이용 확률이 높아지게 되고 이는 고객만족도에 영향을 미친다고 할 수 있다. 금번 설문조사 결과 응답자의 44%가 WiFi 인터넷 서비스와 같은 부가서비스를 사용하는 것으로 나타나, 음료 및 먹거리 구매 서비스만을 이용한다고 응답한 비율 34% 보다 높음을 확인할 수 있었다. 개별 L-5P 요인이 커피매장 이용자의 커피매장 선택 시 미치는 영향을 확인하기 위해서 L-5P 요인의 합을 100으로 가정한 영향력 조사를 실시하였다. L-5P 요인이 커피매장 선택 시 영향을 미치는 정도는 평균적으로 위치 (31%) 가 가장 높고, 그 뒤를 이어 장소 (23%), 제품 (17%), 가격 (14%), 홍보 (7%), 인적서비스 (7%) 순인 것으로 나타났다.

4.2. 커피매장 방문 충성도에 대한 영향요인 분석

커피매장 이용자의 고객충성도는 이유재 외 (2001) 의 연구에 따라 재방문 의향을 고객충성도 값으로 설정하였다. 본 연구가설에 따라 개별 L-5P 요인들이 재방문 의향에 어떤 영향을 미치는지 살펴보는 것과 동시에, 커피매장 이용자 가운데 선호하는 커피매장이 존재하는 경우 이미 해당 매장에 대한 충성도를 보유하고 있다고 가정하고 선호매장 유무에 따른 커피매장 선택요인의 영향력을 살펴보고자 한다. 이를 위해 재방문 의향은 다중회귀분석을, 선호매장 유무는 로지스틱 회귀분석을 수행하였다.

1) 재방문의향
먼저 응답자 특성 및 커피매장 선택요인 (L-5P) 와 커피매장 재방문 의향과의 상관관계를 분석한 결과 (), 재방문 의향은 연령을 제외한 커피소비 및 매장에 관련한 모든 요인과 유의한 상관관계를 갖고 있는 것으로 나타났다. 특히, 상관계수를 보면 유형 요인이 재방문 의향과 더 높은 영향력을 나타낼 것이라는 가설과 달리, 무형 요인이 더 높은 영향을 미치는 것을 알 수 있다.

 응답자 특성 및 커피매장 선택요인과 커피매장 재방문 의향의 상관관계

응답자 특성 및 커피매장 선택요인과 커피매장 재방문 의향의 상관관계

위의 재방문 의향에 영향을 미치는 요인 분석을 위해 다항회귀분석을 수행한 결과 (), 연령이 낮을수록, 가격(Price)가치/홍보(Promotion)가치/인적서비스(People)가치를 높게 평가할수록 재방문 의향이 높아지는 것으로 나타났다.

 재방문의향에 영향을 미치는 요인 분석

재방문의향에 영향을 미치는 요인 분석

2) 선호 커피매장 여부
는 선호 커피매장이 존재하는 고객에 영향을 미치는 요인에 대해 분석한 결과이다.

 선호 커피매장 여부에 영향을 미치는 요인분석

선호 커피매장 여부에 영향을 미치는 요인분석

여성일수록, 평균지출금액/평균방문횟수/1시간이상 체류횟수가 높을수록, 사회적 목적 방문이 아닐수록, 위치(Location)가치를 낮게 평가할수록, 제품(Product)가치를 높게 평가할수록 특정 커피매장에 대한 선호를 나타낼 확률이 높아짐을 알 수 있다. 선호매장이 존재하는 경우 사회적 목적(업무/미팅, 친구/가족과 대화)이 아닌 단순 구매 또는 개인적 목적(사색/여유, 공부/작업)으로 커피매장을 방문할 확률이 높은 것으로 나타났다. 또한 커피매장 위치(Location)가치를 높게 평가할수록 특정 커피매장에 대한 선호를 나타내지 않을 확률이 높지 않은 것으로 나타났다.

커피매장 체류시간이 1시간 이상인 경우에는 평균방문횟수가 높을수록, 사회적 목적 방문일 확률이 낮을수록, 위치(Location)가치를 낮게 평가할수록, 제품(Product)가치를 높게 평가할수록 특정 커피매장에 대한 선호를 나타낼 확률이 높다. 한편 커피매장 체류시간이 1시간 미만인 경우에는 여성일수록, 평균지출금액이 높을수록, 제품(Product)가치를 높게 평가할수록 특정 커피매장을 선호하는 것으로 나타났다.

5. 결론 및 제언

그림9. 재방문 의향에 영향을 미치는 요소

그림9. 재방문 의향에 영향을 미치는 요소

본 연구는 커피매장 이용자의 고객충성도에 미치는 영향요인을 알아보고, 그 중 특히 유형 요인 (제품, 가격) 이 더 강한 영향력을 갖고 있을 것이라 가정하고 분석을 수행하였다. 따라서 연구모형의 세 가설에 대하여 다음과 같은 설명이 가능하다.

첫째, L-5P 요인들은 커피매장 재방문 의향과 모두 양의 상관관계를 갖고 있었다. 그러나 가격(Price)/홍보(Promotion)/인적서비스(People)가 재방문 의향에 영향을 미치는 요인인 것으로 나타났으며, 특정 커피매장 선호여부에 대해서는 매장 위치(Location)/제품(Product)가 영향을 미치는 것으로 나타났다. 따라서 L-5P 6가지 요인 모두 고객충성도에 영향을 미친다고 볼 수는 없다.

둘째, L-5P의 요인 가운데 유형 요인이 고객충성도에 더 강한 영향력을 줄 것이라는 가설은 실제 성립하지 않았고, 오히려 무형 요인인 홍보(Promotion)/인적서비스(People)가 재방문 의향에 통계적으로 유의한 영향을 미쳤다. 또한 선호 커피매장이 존재하는 경우 위치(Location)에 상관없이 해당 매장을 방문하는 것으로 나타났다. 커피매장 선택 시 고려비율 중 매장 위치(Location)가 약 31%로 가장 높은 비율을 보였지만, 이는 충성도 높은 고객이라면 충분히 극복 가능하다는 것을 유추할 수 있다.

본 연구에서는 선행연구들과는 달리 마케팅 전략요소를 기본으로 커피매장 이용자의 고객충성도에 영향을 미치는 요인에 대한 분석을 수행하였다. 그러나 무형 요인(홍보, 인적서비스)이 왜 고객충성도에 더 높은 영향을 미치는지에 대한 부분에 대해 좀 더 심도 깊은 추가 연구가 필요하다.

[참고문헌]
강찬호(2012), 서비스 품질이 고객 만족과 충성도에 미치는 영향. Tourism Research, 34, 83-97.
권동극(2011), 커피전문점 서비스품질 만족이 재이용 및 추천의도에 미치는 영향. 한국콘텐츠학회논문지, 11(5), 449-465.
김광지, 박규영, 박기용(2012), 커피전문점 선택속성의 중요도와 성과가 고객만족에 미치는 영향. 외식경영학회, 15(4), 277-295.
김민경, 장흥섭, 김윤정, 강태용(2012) 커피전문점의 환경요인이 감정반응과 재구매의도에 미치는 영향,
김판수, 한정협(2011), 커피전문점 서비스품질이 고객만족과 충성도에 미치는 영향. 대한경영학회지, 24(5), 2499-2518.
김재곤, 송경숙(2010), 체인형 커피전문점의 지각된 품질과 가치가 몰입 및 고객 충성도에 미치는 영향. 외식경영연구, 13(5), 67-93.
김홍범, 이정원, 노윤정(2007), 커피전문점 선택속성이 고객충성도에 미치는 영향. 외식경영연구, 10(4), 237-252.
문상정, 배현주(2013), 커피전문점 고객이 지각한 관계혜택이 지각된 가치, 만족도 및 충성도에 미치는 영향. 한국식품영양과학회지, 42(1), 120-128.
이동한 우종필 윤남수(2012), 컨조인트 분석을 이용한 프랜차이즈 커피전문점 소비자 선택속성 및 시장세분화. 상품학연구, 30(2), 31-42
이유재, 라선아(2002), 구매후 만족도 평가, 기대의 조정, 재구매 의도의 흐름에 관한 연구, 소비자학연구. 13(3), 51-74.
전중옥, 박현희, 한희영(2008), 서비스스케이프에서의 부정적 감정이 고객의 회피행동에 미치는 영향, 한국경영학회 통합학술대회 논문집, 1-23.
정영우(2006), 커피전문점 만족도 및 고객 충성도에 미치는 요인에 관한 연구. 한국조리학회, 12(4), 1-17.
조수현, 강혜숙(2010), 커피전문점의 이미지가 신뢰 및 고객 만족에 미치는 영향에 관한 연구. 호텔관광연구, 12(4), 251-265.
Oliva, Richard, L.(1999), Whence Consumer Loyalty?. Journal of Marketing, 63, 33-44.
Verhoef, P, Lemon, K, A. Parasuraman, Roggerveen, A, Tsiros, M, Schlesinger, L(2009), Customer Experience Creation: Determinants, Dynamics and Management Strategies, Journal of Retailing, 85, 31-41.

KB금융그륩연구소(2011), 커피전문점, ‘공급이 수요를 창출하다!”, 월간산업동향, 53-63.
대한상공회의소 (2011), “2012년 상반기 프랜차이즈 산업 경기전망 조사”

카테고리: Human, Data & A.I. | 태그: , , | 댓글 남기기

데이터에서 가치를 추출하기 위해 떠나는 여행, 그 출발선에서 (데이터 탐험, 해석, 그리고 추론의 중요성)

클릭 >> Hello, world !! (from ShadowEgo)

“데이터 분석과 마이닝이란, 나름대로의 전략과 체계를, 그리고 무엇보다 중요한 “기꺼이 방황할 마음의 준비”를 갖춘 후 성격이 매우 못된 데이터 귀신들과 용감하게 싸우는 행위이다.”
……… 2014년 7월, 필자.

1. 들어가는 말

우리 눈에는 잘 보이지 않지만, 그래서 피부로 느껴지지 않을 수도 있지만, 우리는 현재 그야말로 데이터가 쏟아지는 시대에 살고 있다. 우리가 늘 사용하는 이메일 계정에, 메신저 앱에, SNS에, 커뮤니티 사이트에, 상품 구매 사이트에, 포털이나 뉴스 사이트에, 통신사에, 은행 및 카드 회사에, 그리고 공공 기관에도 다양한 데이터가 존재하고 있고 지금 이 순간에도 새로운 데이터들이 계속해서 생성, 축적되고 있다. “자고 일어났더니 유명해져 있더라” 라는 말처럼, 자고 일어나면 엄청난 양의 새로운 데이터가 쌓여있게 되는 것이다. 또한 이러한 데이터들이 누군가에 의해 수집되고, 어딘가에서 분석되어 더욱 스마트해진 서비스가 제공되는 시대이다. 우리는 이러한 현상 및 행위들을 표현할 때 빅데이터, 데이터 분석, 데이터 마이닝 등과 같은 용어를 자주 쓴다.

이렇듯 최근에 데이터 관련 용어들이 사람들의 입에 많이 오르내리고 있지만, 사실 데이터를 분석하는, 마이닝하는 분야와 관련된 기술들이 발전해 온 역사는 상당히 길며, 필자는 2000년대 초반 석사과정 시절에 데이터 마이닝 관련 분야의 기술들을 본격적으로 접하기 시작했다. 2001년도에는 “Managing Gigabytes” [1] 라는 묘한 제목의 책이 지도교수님의 책장에 꽂혀있었는데, 요즘 같은 시대에는 1GB 를 대용량이라고 말할 사람이 있을 리 없지만 당시에는 그 정도면 꽤나 큰 용량을 의미했었다. (갑자기 2002년도에 128MB 짜리 USB 메모리 스틱을 돈 주고 사서 썼던 기억이 난다) 즉, 용량이 큰 데이터를 활용해야 할 필요성은 꽤 오래 전부터 존재해왔고 그와 관련한 기술들도 계속 개발되어왔다. 다만 컴퓨터 성능의 비약적인 발전, 컴퓨터 기기의 모바일화, 다양화, 그리고 그에 따른 서비스의 다양화 등으로 인해 수집 가능한 데이터의 종류와 양이 최근에 들어서 급격하게 커진 것이다. (사실, 관련 업계의 마케팅도 한 몫 했을 거라고 본다)

데이터 마이닝 분야에서 세계적으로 가장 널리 읽히는 대학원 교재 중의 하나인 “Jiawei Han, Micheline Kamber, and Jian Pei, Data Mining: Concepts and Techniques, 3rd edition, Morgan Kaufmann, 2011.” 에 의하면, 데이터 마이닝 과정은 아래의 그림과 같이 여러 단계로 구성된다. [2] 그리고 이러한 단계는 데이터에서부터 활용 가치를 추출하고자 한다면 데이터의 크기나 저장방식, 처리방식 등과 관계없이 반드시 고려해야 할 것들이다.

데이터를 다루는 프로세스 – 마치 히말라야 산맥을 오르는 과정 같아서 보기만 해도 숨이 차다.

데이터를 다루는 프로세스 – 마치 히말라야 산맥을 오르는 과정 같아서 보기만 해도 숨이 차다.

필자는 공학자이므로, 위의 단계들을 완전히 자동화할 수 있게 되는 꿈을 꾸기도 한다. 어떤 데이터를 입력해도 엔터키만 누르면 알아서 자동적으로 유용한 분석 결과를 아주 예쁘게 추출해 주는 소프트웨어. 얼마나 멋진가? 그러나 이 세상에 존재하는 데이터는 너무나 다양하고 많으며, 데이터를 기반으로 제공하여야 할 서비스의 목적, 종류, 특성들 역시 다양하므로, 완전한 자동화를 꿈꾸는 것은 현재로서는 비현실적으로 보인다. 그렇다면, 한 발 물러서서, 데이터에서부터 소중한 가치를 추출하기 위해 어떠한 작업들이 필요하고, 그 작업들은 어떻게 수행해야 하는지 진지하게 살펴볼 필요는 있지 않겠는가?

2. 빅 데이터 시대 – 저장과 처리의 중요성을 넘어

데이터가 커지고 다양해지고, 그 생성속도가 매우 빨라지다 보니, 덩치가 큰 데이터를 저장하고 신속하게 처리하는 것이 가장 먼저 중요한 문제로 대두되었다. 도대체 그렇게 큰 데이터들을 어디에, 어떻게 담아서 처리할 것인가? 그런데 다행스럽게도 하둡을 대표로 하는 많은 빅 데이터 솔루션들이 나타나 데이터를 저장하고 처리하는 기술적 해결책들에 대한 방향을 제시해 주고 있다. [3] 더 나아가 이제는 실시간 데이터 처리 및 스트림 처리를 위한 플랫폼 솔루션들도 많이 소개되고 있다. [4] 조금 이를 수도 있지만, 기술의 발전 추세로 볼 때, 어쩌면 이제는 데이터의 저장과 처리에 관련된 기술들은 쉽게 응용할 수 있을 만큼 발전 되어 사용자 또는 응용 서비스 개발자들이 활용할 때 “굳이 크게 고민할 필요가 없는” 이야기가 될 것이라 생각될 정도로 이제 대용량의 데이터를 저장하고 처리하기 위한 기술들은 결실을 맺어가고 있는 추세다. 관련 기술자들의 노력의 결과에 박수를 보내지 않을 수 없다.

그러나 많은 사람들이 주장해 온 데이터 활용의 중요성과 당위성에 비해, 우리가 데이터를 잘 활용하면 실제로 무엇을 할 수 있는지, 우리의 생활에 어떤 변화를 가져다 줄 수 있는지에 대한 구체적인 실례들은 상대적으로 부족해 보인다. 효율적인 저장 플랫폼에 데이터를 담았고, 이제 신속하게 처리할 수도 있을 것 같은데, 더 나아가 앞으로도 계속 데이터를 수집할 예정인데, 정작 수집된 데이터를 가지고 무엇을 해야 하는지, 어떤 부가가치를 뽑아내야 하는지 확실하지 않은 셈이다. [5] 명심할 것은, 이러한 의문에 답을 제시할 수 없다면 빅데이터 시대의 환상은 얼마 지나지 않아 무참히 깨져 버릴지도 모른다는 사실이다.

혹자는 어떤 데이터를 수집할 수 있는지 알 수 없어서 그런 것이라 생각할 수도 있다. 그렇다면 구체적인 데이터를 보유한 상태에서 데이터를 열심히 들여다 보면 그것들을 어떻게 활용하면 좋을 지 쉽게 파악할 수 있을까? 여러분에게 아주 훌륭한 플랫폼에 잘 저장된 데이터가 주어져 있다고 가정해 보자. 그럼 무엇을 하겠는가? 예를 들어, 여러분이 Gmail 계정을 활용하고 있다면, 여러분은 지금까지 받아 온 모든 메일 데이터를 다운받아 활용할 수 있다. 뿐만 아니라 수 년에 걸쳐 자신의 블로그나 페이스북에 포스팅해 온 컨텐츠들, 클라우드에 저장해 둔 문서들, 카드 사용 내역, 통화 내역들도 조금만 노력하면 어렵지 않게 활용할 수 있다. 더 나아가 특정 그룹에 속한 여러 사람들에 의해 생성된 데이터는 더 큰 위력을 발휘할 수 있는데, 여러분이 쇼핑몰이나 커뮤니티 등을 운영하고 있다면 고객 및 사용자들이 남긴 많은 로그 데이터들을 수중에 넣을 수 있게 될 것이다. 아니, 조금만 더 노력하면 트위터 데이터도 직접 다운로드 받아서 분석해볼 수 있다. [6] (직접 하기 힘들면 프로그래밍을 할 줄 아는 친구에게 부탁해서라도) 또한 최근에는 공공기관들이 데이터 포털을 통해 정기적으로 공개하거나 실시간으로 업데이트해 주는 데이터들도 무료로 수집할 수 있다. [7] 사실, 지금 언급한 데이터들은 빙산의 일각에 불과하며, 조금만 관심을 가지면 우리가 직접 수집, 활용할 수 있는 데이터들은 무궁무진하다. 자, 그럼, 지금 언급한 데이터들 중의 하나를 가지고 있다면 무엇을 할 수 있을지 쉽게 감이 오는가?

내친 김에 일을 더 크게 키워서, 여러분이 꽤 큰 기업의 기획 부서에서 근무한다고 가정해 보자. 어느 날 갑자기 최근 10년 동안의 회사의 재무상황과 관련한 모든 데이터를 총체적으로 분석하는 프로젝트를 기획하라는 지시를 받는다면, 어디서부터 무엇을 시작하면 좋을 지, 과연 쓸만한 결과를 얻을 수는 있을 지, 이 작업에 얼마의 예산을 투자해야 할 지 금방 감이 오겠는가? 혹시, 큰 돈과 비싼 시간을 투자하여 기획을 하고 분석작업도 진행했는데 쓸만한 결과를 전혀 얻지 못하는 것은 아닐까 걱정되지는 않겠는가?

3. 가치 추출 과정 – 탐험, 해석, 추론의 중요성

사실, 우리가 대용량의 데이터를 수집하고 저장하는 이유는 그 데이터로부터 가치를 추출할 수 있다는 믿음 때문일 것이다. 그것은 아주 유용한 기반 지식일 수도 있고, 수익과 직결되는 숨겨진 요소일 수도 있다. 그러나 앞에서도 언급했듯이, 우리가 수집할 수 있는 데이터는 너무도 다양하고, 심지어 지저분하다. 그래서일까, 그냥 얼핏 봐서는 이 데이터가 무슨 역할을 할 수 있을지 파악하기가 쉽지 않다. 무의미해 보이는 숫자의 나열이거나, 기호의 연속이거나, 아니면 이도 저도 아닌 복잡하게 작성된 문서들의 집합일 수도 있으니까. 그렇다면 별 수 없지 않은가. 차근차근 단계를 밟아가며 (마치 사냥감을 찾아 나서는 숲 속의 사냥꾼과 같이, 적을 찾아 나서는 수색병과 같이) 탐험해 보는 수 밖에.

필자는 데이터로부터 가치를 추출하는데 필요한 작업을 크게 나누어 탐험, 해석, 추론의 3가지로 구분해 보았다.

3.1 데이터 탐험 (exploration)

데이터를 분석하거나 마이닝한 결과를 기반으로 의사결정을 하거나 서비스를 개선하거나 데이터 마이닝 활용 서비스를 만들고자 한다면, 가장 먼저 해야 할 일들 중의 하나는 우리가 필요로 하는 패턴이 그 데이터에 포함되어 있는가의 여부를 먼저 살펴보는 것이다. 데이터가 수중에 있을 때, 그 데이터와 관련한 배경지식을 어느 정도 보유하고 있다면 우리는 그 데이터가 어떠한 특성과 패턴을 나타낼 지에 대해 비교적 쉽게 가설을 세워볼 수 있다. (마치 기후 전문가가 날씨 데이터를 들여다 보는 경우처럼) 그리고 그 가설을 검증해 보는 단계로 바로 진입할 수도 있다. 그러나 그렇지 못하다면, 일단 우리는 데이터를 이리저리 흔들어 보고 뒤집어 보고, 쪼개보는 등의 “탐험” 작업을 하면서 데이터와 친숙해져야 하며, 이 과정을 통해 데이터의 특성에 대한 가설을 구체화해야 한다. 이렇게 세운 가설들은 앞으로 해야 할 작업의 방향을 결정하는 매우 중요한 이정표가 된다.

일단 가설을 세우게 되면, 해당 가설을 검증하기 위한 작업을 하게 된다. 이 과정에서는 데이터들의 시간에 따른 변화 추이를 보기 위해 그래프를 그려 보기도 하고, 세부 데이터들을 서로 비교해 보기 위해 구간 별로 데이터를 잘라 서로의 평균값을 비교해 보기도 하며, 상관관계를 구해 보기도 한다. 더 많은 작업들에 대해서는 [2] 를 참고해 보면 좋다. 세워놓은 가설이 복잡하거나 고차원적일 경우에는 그 검증을 위한 데이터 탐험 과정 역시 높은 수준의 기술을 필요로 할 것이다. 물론, 높은 수준의 분석 기술을 보유했다고 해서 모든 가설들을 채택할 수 있게 할 수 있는 것은 아니다. (사실 고차원적인 가설이 꼭 의미가 있는 것도 아니다.)

이 과정에서 자신이 세운 가설이 검증되거나, 검증될 가능성이 높아 보이는 결과를 얻게 되면 다행스러운 일이겠으나, 그렇지 않을 경우에는 새로운 가설을 세울 필요가 있다. 또한 구체적인 가설 없이 데이터를 탐험하였는데도 유용해 보이는 패턴들을 찾아냈다면 다행이겠지만, 그렇지 않다면 더 많은 시간을 투자해야 할 것이다. 어쩌면 추가적인 데이터가 필요할 수도 있다.

3.2 통계적 패턴의 해석과 활용

분석자가 미리 세운 가설은 나름대로의 가치를 이미 가지고 있기 때문에 검증 대상으로 선택되었을 것이며, 이러한 가설이 데이터를 통해 검증되었다면 그 이후의 작업들은 훨씬 수월해질 것이다. 그러나 탐험 단계에서 우연히 새로운 패턴을 발견할 수도 있고, 가설을 검증했다고 하더라도 그 결과를 이후의 단계와 어떻게 접목할 것인가에 대해 고민을 해야 할 수도 있다. 이 과정에서 중요한 것은 새롭게 발견한 패턴 또는 검증된 가설이 어떠한 의미를 가지는가에 대해 명확한 해석 결과를 도출하는 것이다. (필자는 이 단계를 자동화하는 것이 가장 어려울 것이라고 생각한다.) 이 작업은 통계 분석 지식이나 데이터 마이닝과 관련한 전문 지식을 가진 사람들 – 우리는 이런 사람들을 Mining Expert 라고 한다 [8] – 보다는 오히려 데이터의 내용에 대한, 생성 과정과 상황에 대한 경험적 지식을 보유한 사람들 – 우리는 이런 사람들을 Domain Expert 라고 한다. – 이 더 중요한 역할을 할 수 있다. 물론 한 사람이 두 사람 몫의 일을 할 수도 있다.

나름대로 충분한 수준의 탐험과 해석과정을 마치게 되면, 발견된 패턴과 그 의미를 기반으로 이후의 의사 결정 과정 또는 실제 서비스와의 연계 과정을 디자인하게 된다. 과거의 특정 기간에 비해 현재의 데이터 값이 유의미한 수준으로 변화했으니 그에 맞추어 새로운 서비스 정책을 기획하고 실행하는 작업 등이 대표적인 예이다.

3.3 기계학습, 그리고 추론 – 소프트웨어가 데이터 패턴에 스스로 반응하도록 하자.

필자는 석, 박사과정을 거치는 동안 기계학습 (Machine Learning) 분야의 대표적인 알고리즘들을 공부했고, 실제로 그것들을 연구에 활용해왔다. 기계학습을 활용한 데이터 마이닝은 수학적 프로세스를 기반으로 데이터에 포함된 특성을 탐색하여 학습하고, 그 학습결과를 활용하여 새롭게 입력될 데이터의 특성을 평가하거나 예측한다는 점이 특징이다. 마치 친구가 아침에 늘 늦잠을 잔다는 사실을 경험적으로 알게 되면 내일도 그 친구가 늦잠을 잘 것이라고 생각하는 것과 비슷하다고나 할까. 데이터 마이닝 분야에서 가장 많이 언급되는 예가 바로 “기저귀와 맥주”의 예 [9] 인데 이것 역시 수많은 데이터로부터 패턴을 찾아 그것을 모델화하고 그 모델을 활용하여 비슷한 패턴을 보이는 케이스의 특성을 미리 예측하는 대표적인 예이다. (기저귀를 구매하는 사람은 정말로 맥주도 함께 구매하는가? 나도 궁금하다) 즉, 과거의 패턴을 기반으로 미래의 특성을 추론해 내는 것이다. (물론, 과거에 전혀 발견되지 않은 완전히 새로운 패턴이 미래에 나타날 것이라고 예측할 수 있는 알고리즘은 없다.)

기계학습 모델을 활용하는 과정은 크게 나누어 보면 입력 데이터의 특성을 반영한 수학적 학습모델을 만드는 과정 (Training)과 그 모델을 기반으로 새로운 데이터의 특성을 평가, 예측해 내는 과정 (Generalization) 으로 구성된다. 또한 기계학습 분야의 연구자들에 의해 발전되어 온 많은 기계학습 모델들 중에는 Generalization 과정에서 추론 (Inference) 개념을 활용하는 것도 있다. 예를 들어, 사용자의 나이, 성별, 현재의 날씨, 사용자의 위치, 현재의 날짜 정보, 같이 있는 사람 정보, 사용자가 구매한 상품 등에 대한 많은 케이스들을 수집하고 나름대로의 수학적 학습 모델을 구축한 후에는 사용자의 성별, 현재의 날씨, 같이 있는 사람 정보 등의 일부 데이터만으로 그 사용자가 어떤 상품을 구매할 것인가를 추론해 내는 것이다. (물론 이 추론의 정확도는 선택한 알고리즘에 따라, 데이터의 내용과 양에 따라 매우 크게 달라질 수 있다) 더 나아가, 이러한 학습과 추론 과정의 상당 부분을 실제로 동작하는 소프트웨어에 적용하여 사용할 수 있다는 점이 큰 장점이다.

일반적으로 기계학습을 적용한 연구를 수행할 때에는 우선 나름대로의 가설을 세우고, 그 가설의 타당성을 수많은 참고 논문이나 기술자료들을 기반으로 1차적으로 검증해 보게 된다. 그리고 나서 필요한 데이터를 결정하고, 그 데이터를 확보할 방안을 고민한다. 대개는 실제로 실험을 수행하여 데이터를 확보하게 되는데, 가끔은 비슷한 연구를 한 사람이 공개해 놓은 데이터를 운 좋게 얻을 수도 있다. (사실 이런 경우는 현재의 연구 주제가 그다지 새롭지 않다는 의미일 수도 있다. 정말 새로운 주제인 경우, 데이터도 직접 실험을 수행하여 확보해야 하는 경우가 많다) 그 후에는 데이터를 탐험하고 해석하는 단계로 들어가는데, 이 과정에서 이전 단계에서 세운 가설을 검증하는 것뿐만 아니라 전혀 예상하지 않았던 흥미로운 패턴을 발견하기도 한다. 이 단계가 가장 재미있기도 하지만, 한편으로는 실험자가 방황할 가능성이 가장 높은 단계이기도 하다. 그 동안 세운 가설에 문제가 있거나, 데이터 수집 과정에서 빠뜨린 내용이 있으면 다시 처음 단계로 돌아가야 할 수도 있기 때문이다. (사실 이런 일은 자주 일어난다) 그리고 마지막으로, 가설에 기반한 판단을 자동으로 수행할 수 있도록 하는 기계학습 모델을 만들고 그 성능을 평가하게 된다.

위와 같은 과정을 모두 거치고 나면, 이제는 데이터를 기반으로 자율적인 판단을 하는 시스템을 만들 수 있게 되는 것이다. 그러나 중요한 것은, 각 단계에서 어떤 가설을 세울 지, 어떤 데이터를 수집할 지, 그리고 그 데이터에서 어떤 유의미한 패턴을 발견할 수 있을 지 등에 대한 세부적인 연구와 탐험 과정을 참을성 있게 거쳐야 한다는 점이다. 충분한 검증과 확인과정을 거치지 않고 속성으로 만든 모델을 적용할 경우, 우리의 소프트웨어는 우리를 산으로 인도할 것이다.

4. 탐색, 해석, 그리고 추론을 향한 여행

이 글에서 필자는 데이터를 저장하고 처리하는 것을 넘어서서, 이제는 데이터를 탐험, 해석하고 그 결과를 실제로 동작하는 소프트웨어에 적용하는 것이 중요하다는 점을 언급했다. 또한 이러한 작업을 수행하는데 필요한 기술적 요소들도 이미 충분히 준비되어 있다. (잘 찾아서 공부하면 된다. 물론, 공부는 늘 어렵다.) 즉, 이제는 데이터를 잘 활용할 수 있는 방법을 고민해야 하며, 그 성공 여부는 데이터를 충실히 탐험하고 해석했는가에 의해, 그리고 그 결과를 충분히 잘 활용할 수 있는가에 의해 결정될 것이다. 더 나아가 데이터를 기반으로 앞으로 나타날 패턴을 예측하거나 현재의 불완전한 데이터를 기반으로 상황을 정확하게 추론, 판단할 수 있는 지능적인 시스템을 만드는 것이 더욱 중요해질 것이다.

그럼 이제부터 자신이 수집한 데이터가 품고 있는 패턴을 탐색, 해석하고, 그 결과를 기반으로 지능적인 판단과 추론을 수행하는 시스템을 만들기 위한 여행을 떠나보자.

Reference
[1] http://ww2.cs.mu.oz.au/mg/
[2] http://www.cs.uiuc.edu/~hanj/bk3/
[3] http://hadoop.apache.org/
[4] http://hortonworks.com/hadoop/storm/
[5] http://readwrite.com/2013/09/18/gartner-on-big-data-everyones-doing-it-no-one-knows-why
[6] https://dev.twitter.com/
[7] https://www.data.go.kr/
[8] http://www.sciencedirect.com/science/article/pii/S1045926X07000134
[9] http://www.dba-oracle.com/oracle_tips_beer_diapers_data_warehouse.htm

카테고리: Human, Data & A.I., Tech. of Inforience | 태그: , , , , | 댓글 남기기