블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

데이터 마이닝으로 K리그 영플레이어상 예측하기

회사에서 숙제 받았습니다. 제가 하는 일 중에 뭔가 다른 사람들에게 알려서 마케팅에 도움이 될만한 글 좀 써보라고… 그래서, 축구 + 데이터 마이닝으로 함 찾아봤습니다~~

‘넷스루’라는 회사 한 번 새겨주십사~~^^



K리그에서는 매년 시즌이 끝난 후 영플레이어상과 MVP(최우수선수상)를 시상합니다.  종목에 따라 신인상이라고도 하는데 굳이 영플레이어라고 하는 이유는 데뷔 첫해의 신인뿐만 아니라 데뷔 3년차 이하의 선수들까지 수상 대상자로 하기 때문입니다. MVP는 대부분 우승 팀에서 수상자가 나오기 때문에 어느정도 뻔한 결과가 나오는 편이지만 영플레이어상은 이에 비해 객관적인 성적이 많이 반영되는 편입니다.  


그렇다면, 데이터 분석 기법을 이용하여 여러 후보중에서 누가 영플레이어상을 수상할 것인지 예측할 수 있을까요? 소위 데이터 마이닝이라고하는 멋진 기술들이 있는데 말입니다! 데이터가 그리 복잡할 것 같지도 않고 어지간한 축구팬이라면 대충 어떠어떠한 변수들이 작용하는지도 짐작이 가능할 것 같습니다.


먼저 어떤 데이터가 필요한지 살펴보겟습니다. 어떻게 분석할 것인가도 중요하지만 어떤 데이터를 가지고 분석할 것인지도 매우 중요합니다. 일단 신뢰할만한 데이터 집합을 갖추게 되면 여러가지 분석 기법을 적용해가면서 최적의 결과를 찾아갈 수 있습니다. (분석하고 결과를 살펴보고 데이터를 보강하거나 변형하고, 다시 분석하고 결과를 살펴보고… 될때가지 반복^^) 분석에 대한 감과 경험, 어느정도의 통찰력을 가지고 데이터를 분석하게 되면 훨씬 빠르게, 또한 품질도 좋은 결과를 얻을 수 있겠지요.


어떤 데이터를 분석할까...

영플레이어상에 영향을 미치는 요소는 무엇이 있을까요?

기본적으로 경기출전 횟수, 득점수, 도움수 등 그 해의 리그 성적이 가장 중요할 것이며 선수가 속한 팀의 리그 순위도 변수가 될 수 있습니다.  또한 미디어 노출 빈도가 높고 유명한 선수일수록 수상 가능성도 높을 수 있습니다. (유명하기 때문에 표를 더 받을 수도 있고, 수상 가능성이 높고 출중한 선수이기 때문에 유명할 수도 있고요.) 미디어 노출 빈도를 정확하게 측정할 수도 있겠으나 국가대표로 많이 출전하면 그 만큼 미디어의 주목을 받는다고 가정하여 대표팀 출전횟수를 변수로 선택할 수 있겠네요. 일반적으로 공격수가 골이나 도움을 더 많이 기록하며 축구팬들과 미디어의 주목을 더 받는 경향도 있으니 선수의 포지션도 하나의 변수가 될 것 같습니다.


각 선수별로 데뷔년도 및 데뷔 3년 이내의 리그 성적, 수상자 선정 시점까지의 대표팀 출전기록, 그리고 영플레이어상 수상 여부 데이터를 준비하면 될 것 같네요. 지금까지 K리그를 거쳐간 모든 선수들에 대해 조사하면 좋겠지만 번거롭기도할 뿐더러 데이터가 많다고 꼭 유리한 것만은 아닙니다. 정확한 분석을 위해서라면 가급적 풍부한 데이터가 좋겠지만, 영플레이어상 수상자를 맞추는 것처럼 어떤 결과를 예측하기 위한 모델을 만들 때에는 데이터의 질적인 부분도 중요합니다.


이런점을 고려하여 K리그 출범이후 각 시즌별 영플레이어상 후보군에 속하는 선수를 3~4명 정도씩 뽑아서 분석 데이터를 만들어 보겠습니다. 예를 들어, 각 시즌별로 4명씩 후보군을 선정한다면 이 중 한 명이 수상자이고 나머지 세 명은 수상하지 못한 선수들로 구성합니다. 1985년부터신인상 수상이 시작되었으니 대략 30년 동안의 데이터를 모은다면 120건 정도가 되겠네요. 높은 정확도, 그리고 여러가지 다양한 변수 상황에서도 잘 맞추는 예측모델을 만들기에는 부족하지만 어느정도 예측 수준과 예측에 영향을 미치는 주요 변수를 찾아낼 수는 있을 것 같습니다.


데이터 수집

그러면 데이터를 모아볼까요? 선수별 프로리그 출전 기록은 프로축구연맹 홈 페이지에서 구할 수 있고 대표팀 출전 기록은 대한축구협회 홈 페이지에서 구할 수 있습니다. 자동화된 수집기를 사용할 수도 있겠지만 몇 백건 되지 않는 정도의 데이터는 거침없이 마우스 클릭과 드래그, 복사&붙여넣기로 해결하는게 빠르고 편합니다. 그리고, 각 시즌별 영플레이어상 후보는 해당 년도의 스포츠 기사를 참조해도 좋겠으나 그 자료도 구하기가 그리 간단하지는 않죠. 검색으로 구할 수 있는 것은 구하고 구할 수 없는 시즌의 후보군은 K리그 20년 팬의 경험을 바탕으로 직접 선정하면 될 듯합니다.^^


이렇게해서 대략 다음과 같은 데이터가 준비되었습니다(일부 발췌). “득점+도움”은 득점수와 도움수를 합한 것이고 “대표합”은 대표팀 출전수를 모두 합한 것입니다. 시즌, 이름, 소속팀은 데이터를 식별하기 위한 것으로 실제 분석에서는 사용하지 않습니다.


시즌

선수

소속팀

포지션

팀순위

출전수

득점수

도움수

득점

+

도움

A-대표

U-23

U-20

U-17

대표합

수상여부

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

2010

윤빛가람

경남

2

6

29

9

7

16

3

5

0

26

34

1

2010

홍정호

제주

1

2

21

1

1

2

3

6

24

0

33

0

2010

조재철

성남

2

4

33

4

2

6

0

0

0

0

0

0

2010

지동원

전남

3

10

26

8

4

12

1

6

9

0

16

0

2011

이승기

광주

2

11

27

8

2

10

2

0

0

0

2

1

2011

고무열

포항

3

3

28

10

3

13

0

2

0

0

2

0

2011

윤일록

서울

3

5

26

4

6

10

0

2

15

11

28

0

2012

*이명주

포항

2

3

35

5

6

11

0

2

0

0

2

1

2012

박선용

전남

2

11

36

2

0

2

0

0

0

0

0

0

2012

이한샘

광주

2

15

29

2

0

2

0

0

0

0

0

0

2013

*고무열

포항

3

1

34

8

5

13

2

2

0

0

4

1

2013

이석현

서울

2

4

33

7

3

10

0

1

0

0

1

0

2013

한교원

인천

2

7

36

6

2

8

0

0

0

0

0

0

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...


여기서 우리가 예측하고자 하는 변수는 “수상여부”입니다. 즉, “수상여부”를 제외한 나머지 값들을 알고 있을 때, 해당 선수가 영플레이어상을 수상할 것인가(1) 그렇지 않을 것인가(0)를 예측하고자 합니다. 데이터들이 모두 숫자로 처리된 부분에 주목! 가령, 선수의 포지션에서 수비수는 1, 미드필더는 2, 포워드는 3으로 표현하였습니다. 숫자형 데이터가 여러 측면에서 더 편리하기 때문입니다.

별(*)표한 선수들도 주목할 필요가 있습니다. 그냥 머... 포항 스틸러스 선수들입니당~ ㅎㅎ


눈으로 훑어봐? 좀 더 그럴싸한 방법으로…

위와 같은 표를 몇 번 훑어보면 대략 어떤 변수의 어떤 값이 영향을 미치는지 파악할 수 있을겁니다. 물론 정확하지는 않겠지만, 분명히 어느정도 변별력 있는 근거는 찾을 수 있을 겁니다. 예를 들어, “한 시즌 10골 이상 득점한 선수라면 수상 가능성이 좀 높다” 정도의 예측은 가능하겠지요. 이렇게 눈으로 몇 번 훑어보고 골똘히 생각해서 얻은 내용도 일종의 예측 모델 중 하나일겁니다.

데이터 수가 그리 많지 않다면, 또는 예측에 결정적인 영향을  미치는 변수가 쉽게 눈에 띈다면 눈으로 훑어보면서 생각하는 작업을 통해서도 예측 모델이나 규칙을 발견할 수 있겠지요. 또는 엑셀이나 DBMS를 사용한다면 조금 더 효과적으로 예측에 도움이 되는 변수와 패턴을 찾을 수도 있을 것이구요.

그러나, 데이터 마이닝이나 통계 기법에서 제공하는 여러가지 예측 도구를 사용하면 이러한 작업을 훨씬 편리하고 폼나게 할 수 있습니다. 많은 데이터를 다룰 수도 있을뿐더러 더 빨리 패턴을 찾아주며 어느정도 일관성 있는 결과를 제공합니다. 게다가 이러한 분석 도구들은 적절한 시각화(Visualization) 도구까지 제공하며 예측 정확도도 측정할 수 있습니다. SAS나 SPSS 같은 상용 분석도구나 R과 같은 공개 소프트웨어에서 이러한 기능을 훌륭하게 제공하고 우리가 자주 사용하는 Excel에서도 일부 기능을 제공합니다. 직접 프로그래밍을 할 수 있다면 Java나 Python에서 제공하는 라이브러리를 이용하는 것도 가능하구요.


위의 데이터 테이블처럼 각 데이터 항목별 특징을 나타내는 속성값(포지션, 출전수, 득점수, 등)을 이용하여 어떤 결과(수상여부)를 예측할 때 사용할만한 기법은 여러가지가 있습니다. Decision Tree, Random Forest, Naive Bayes Classifier, Linear Regression, Logistic Regression, ...  (이것보다 더 많은 기법들이 있겠지만 제가 사용해본, 그리고 대략 아는 것들은 요기까지^^)


데이터의 형식이 숫자형(Numerical)인지 범주형(Categorical)인지에 따라 적절한 변형이 필요하기도 하고  적용할 기법도 달라질 수 있다. 예를 들어, 우리가 풀려는 문제처럼 “수상여부(범주)”를 예측하는 것과 “예상 득점수(숫자)”를 예측하는 것은 차이가 있습니다. 대개 범주형 데이터를 다룰 때는 Decision Tree나 Random Forest, Logistic Regression을 사용하며 숫자형 데이터를 다룰 때는 다른 기법을 사용하지만, 여러가지 기법을 다양하게 테스트 해 보면서 최적의 예측 모델을 찾아가면 된다.


학습 = 예측모델 찾기

예측을 하기 위해서는 예측 모델이 필요합니다. 예측 모델이란 여러 변수들이 서로 어떻게 작용해서 결론이 내려지는가를 요약한 일종의 판단 기준입니다. 우리가 수 많은 경험을 통해서 현명한 판단을 내리는 것처럼 일반적으로 이러한 예측 모델도 다양한 케이스의 데이터를 분석하여 얻어집니다. 소위 기계학습이나 데이터 분석을 통해서 우리가 찾아내려는 것이 바로 이러한 예측 모델이나 규칙입니다.


여러가지 예측 기법 중에서 Decision Tree를 이용하여 예측 모델을 만들어 보겠습니다. 요즘 많이 사용하는 데이터 도구인 R을 이용하였습니다. 보통 100개의 데이터가 있으면 70개나 80개로 예측 모델을 만들고, 나머지 30개 또는 20개로 테스트합니다. 70~80개 문제로 공부를 시키고 나머지 20~30개는 시험 문제로 출제하는 식입니다.

아래 그림은 전체 122개 데이터 중에서 무작위로 선택한 83개(약 70%)의 데이터를 분석하여 얻는 Decision Tree입니다.




노란색으로 표시한 부분을 주목하시기 바랍니다. 해당 시즌 득점수와 도움수 합이 10 이상이고(9.5보다 크니까. 0.5골은 없으니까^^), A 대표팀 경기에 1경기 이상 출전했으며, 도움수가 5개 이상인 선수 12명은 100% 영플레이어상을 수상했습니다. 트리의 반대편을 봐도 흥미롭습니다. 해당 시즌 득점수와 도움수 합이 9 이하이고 시즌 출전횟수가 34회 이하인 44명의 선수는 단 한명도 영플레이어상을 수상하지 못했습니다. 무작위로 선택한 학습용 데이터이기 때문에 모든 경우를 대변하지는 못하지만, 축구팬이라면 어느정도 수긍할 수 있는 판단기준을 제공하는 것 같습니다. 저렇게 생긴 판단기준 또는 분류기준을 “Decision Tree”라고 하며, 이것이 바로 예측모델입니다. 몇 차례 실험을 해 보았더니 대략 70% 수준의 예측 정확도를 보이는 Decision Tree를 얻을 수 있었습니다.


이러한 기계적인 예측이 대부분 잘 맞춘다고 보기는 어렵겠죠. 되기도하고 안되기도하고... 잘 되는 분야도 있고 아닌 분야도 있고요. 하지만, 영플레이어상 예측 문제처럼 어떤 결론을 설명하는 변수들이 존재하고, 여러가지 케이스별로 잘 수집된 데이터가 있다면 비슷한 예측방법을 적용할 수 있을겁니다. 한 번에 뭔가 획기적인 것을 찾아 낸다기 보다는 일상적인 예측과 분석을 통해 우리의 일을 줄여주거나, 또는 우리의 판단을 뒷받침해주는 정도는 충분히 할 수 있을 것 같습니다. 무엇보다도 이러한 분석작업이 최근에는 훨씬 쉽고 간편하고 뽀대나게 된다는 점을 말씀드리고 싶네요.



맞출 수 있을까?

그렇다면, 이렇게 얻은 Decision Tree를 이용하여 2015년 K리그 영플레이어를 선정한다면 누가 될까요? 과연 제대로 맞추기는 할까요?

...

이재성 100%

손준호 0%

권창훈 57%

황의조 57%

수상자는… 검색해 보시기 바랍니다.^^


포항 스틸러스의 심장 같은 손준호 선수의 수상 가능성을 빵퍼로 예측하다니… ㅠ.ㅠ

어쨌든 어느 정도 맞출 수는 있을 것 같습니다. 2016 시즌이 끝날 때 다시 한 번 해 봐야겠습니다...만… 보나마다 포항 스틸러스의 손준호 선수가 탈 것 같습니다.^^



  1. 성기세 2016.02.06 03:33 신고

    허걱.. 두번 일고 이해안돼서 3번째 읽다 포기했다. ㅎㅎ.
    전문가의 향기가 물씬~~

  2. 김동택 2016.02.06 11:21 신고

    전북의 신성 이재성도 쟁쟁한 경쟁자들이었던 황의조(성남FC), 권창훈(수원삼성)을 제치고 영플레이어상 수상자로 뽑혔다. ^^

  3. 미스터 L 2016.02.06 19:10 신고

    Decision Tree는 저도 몇번 만져볼 기회가 있었습니다만, Binary를 만드는 기준치를 정하는 척도가 "고정된 데이터와 변수들 내에서 가장 정확도가 높은" 수치로 만들어지죠. 그렇기에 보유 데이터 외의 샘플 또는 변수에 의한 영향, 즉 Exogeneity에 굉장히 취약하다는 단점이 있습니다. 예측결과에 마음에 안드시는 면이 있다면 조금 더 자세한 변수나 더 많은 데이터를 추가시켜서 다시 돌려보시는게 어떨지요.

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

진정, 개발자 구하기가 이렇게 힘든건가요?


저희 회사(넷스루, www.nethru.co.kr)에서 요즘 한 창 개발자를 구하고 있습니다.
신입도 필요하고 경력도 필요합니다.
구인 사이트에 구인공고도 내고, 헤드헌터 업체를 통해서도 알아보고...

그런데, 쉽지않네요.
이 바닥에 씨가 말랐다고들 이야기합니다.
대기업이 모두 쓸어 갔다고도 이야기합니다.

이상하죠?
우리 주변에는 자기 처우를 제대로 받지 못하는 개발자들, 자기의 특기나 적성과 거리가 멀어서 고민 많은 개발자들, 과중하고 부당한 업무와 무리한 작업여건 때문에 병들어가는 개발자들...
이런 개발자들의 이야기를 수도 없이 듣는데 말입니다.

저희 회사, 그리 큰 회사 아닙니다.
직원은 50명 정도의 창업 12년된 회사입니다.
나름 저희가 주력하는 분야에서 인정은 받고 있습니다.
급여와 근무여건, 기타 후생복지도 점점 좋아지고 있습니다.
창업 초기에 저임금 고강도 노동, 불투명한 미래에 시달렸던 사람들의 노고에 대한 보상을 할 만큼은 안되지만
새롭게 합류하는 사람들에게는 그 시절의 어려움을 다시 겪지 않도록 계속해서 노력을 하고 있지요.
물론, 아직 미숙하고 여러가지 아쉬움과 부족한 점이 많지만, 여전히 구성원들의 불만을 다 채워주지는 못하지만,
우리 스스로 만들고 바꾸어 갈 수 있다고 생각하면서 노력하고 있습니다.

저희 회사가 바라는 개발자의 수준이 너무 높은걸까요?

물론 저희도 명문대학을 우수한 성적으로 졸업했으며, 누구나 말만하면 알만한 회사를 거친 좋은 Spec 가진 개발자를 내심 바라고 있습니다. 이게 솔직한 저희의 희망사항이지요.
그러나, 직원 50명 수준의 IT 중소기업에 그런 Spec의 개발자는 지원하지 않습니다.
간혹 알음알음 지인의 추천이나 끈끈한 인간관계, 개인간의 인간적 부채, 선배의 감언이설 내지 협박 등으로 Spec 찬란한 개발자가 합류하기도 하지만... 채용 공고를 통해서 소위 Spec 좋은 개발자들이 지원하는 회사는 아닙니다.

Spec 찬란한 지원자 저희도 환영합니다.
그러나, 찬란한 Spec 없어도 자신의 개발 능력과 함께하겠다는 열정, 의지, 명랑쾌활하게 일할 수 있는 사람이라면 저희와 함께하는데 전혀 부족함이 없습니다.
저희뿐만 아니라 모든 회사가 원하는 조건!
일 잘하고, 열심히하고, 동료들과 쾌활하게 일할 수 있는 사람이면 됩니다.

영어/일어/중국어 구사능력 상관 없습니다.
출신대학을 서류 심사시에 참고하긴 하지만 결정적인거 절대 아닙니다. (진짜로 서류심사 시  참고사항일 뿐)
구구절절한 성장과정이나  어학연수, 봉사활동은 개의치 않습니다.
주말출근가능, 밤샘가능, 야근가능, 지방출장가능이라고 이력서에 써도 아무 영향 없습니다.

면접 과정의 대화를 통해서 기본적인 성격이나 태도, 인성 정도를 어느 정도 파악합니다.
(서류가 아닌 대화를 통해서 파악합니다!)

저희는 개발자를 구합니다.
그래서, 저희는 면접에서 간단한 개발자 테스트를 합니다. (시험 본다는 이야기죠.)
20분 정도의 시간에 풀 수 있는 주관식 문제입니다.
문제의 난이도는?
신입의 경우, 컴퓨터 공학 또는 유사분야 전공자가 프로그래밍 언어 기초 또는 자료구조 및 알고리즘 과목에서 흔히 접하는 간단한 문제 3~4개 중에서 하나 골라서 약 20분 정도의 시간에 풀면 됩니다.
(채용 부서에 따라서 약간씩 다른 문제가 제시될 수도 있지만, 난이도는 비슷합니다.)
언어는 상관없습니다. C/C++, Java, 기타 다른 언어, 아니면 Pseudo Code나 그림으로 설명해도 OK!
문제가 생소하다거나, 해당 과목에 대한 지식이 부족하다면 면접관이 힌트를 주면서 문제 해결을 돕습니다.
저희는 문제를 맞췄는지 못맞췄는지를 보는 것이 아니라, 개발자적/프로그래밍적 접근을 하는가, 문제 해결 능력이 있는가를 보려는 것이지요. 신입 사원에게 숙달된 기술을 요구하는 것은 아니니까요.

왜 저희 회사는 시험문제를 낼까요?
앞서 말씀드렸듯이 회사의 규모와 브랜드 수준의 한계로 Spec 찬란한 개발자들이 좀처럼 지원을 하지 않기 때문입니다. 화려한 Spec은 없어도 실력과 인성을 갖춘 사람을 찾기 위해서 저희가 택한 방법입니다.
(물론, 서울대 나와도 문제는 풀어야 합니다. ^^)
입사한 후 수습기간에는 선배들로부터 본격적인 개발자 교육을 받게 됩니다.
그리고, 그렇게 입사한 사람들이 지금은 모두 회사에서 중요한 업무들을 잘 해내고 있고요.

간단하긴 하지만, 시험을 본다는 사실에 거부감을 느낄수도 있습니다.
또한, 면접할 때 당황하는 사람들도 많이 봤고요.
하지만, 한 회사의 일원이 되고, 기존의 멤버들과 당당하고 떳떳하게 일하기 위해서
그 정도의 테스트는 통과할 수 있어야 한다는 것이 저희들의 생각입니다.
실력이나 자질 갖춘 사람을 뽑아야 하고, 또한 그런 실력과 자질을 객관적으로 통과했다는 점을 통해서 기존의 멤버들에게도 인정을 받을 수 있으니까요.

개발자 품귀 상황이라고들 말합니다.
하지만, 저희가 제시한 위와 같은 채용 과정을 통과할 개발자가 정말 없는걸까요?
만만하게 사람을 뽑지도 않지만, 그렇다고 넘을 수 없는 조건을 제시하는 것은 아니라고 생각합니다.

Spec 쌓기 대신 실력을 연마한 개발자 없습니까?
아니면, 아직 실력을 연마하지는 못했지만 그 가능성을 한 번 테스트 해 보고 싶은 지원자 없습니까?
함께 공부하고 배우면서 일을 배워갈 열정과 자신감을 가진 사람 없습니까?

유명한 회사에 비해 연봉이 높은 것은 아니지만, 절대 꿇리는 수준은 아닙니다.
가끔 야근도 하고 빡세고 더러운 일도 있겠지만, 개발자 부려먹고 노동력 착취하지 않습니다.
가끔 떡복이랑 음료수 심부름은 시키지만, 싫다고 하면 열외 인정합니다. (눈치는 좀 주죠!)
차 사주고 옷 사주지는 못하지만, 술 사주고 밥 사줄 수 있습니다.^^

아직 개발자가 살아 있다면, 개발자를 꿈꾸는 사람이 있다면,
여기까지 읽으면서 한 번 피식 헛웃음이 나오는 분들...
저희 회사 홈 페이지 한 번 둘러 보시고... (www.nethru.co.kr)
검색도 한 번 해 보시고...
주변에 알만한 사람 있으면 알아도 보시고...

지원해 주세요.
한 번 대화해 봅시다.

recruit@nethru.co.kr로 지원서 쏘시면 됩니다.
(신입 OK, 경력도 OK, 중고신인이나 프리에이전트 OK!)

PS) 저와 친분이 있는 사람도 지원 가능합니다. 단, 그 경우 저는 면접에 참여하지 않습니다. T.T
  1. yuna 2012.03.22 14:26 신고

    으으.
    당장 개발을 배워서 지원하고 싶네요.
    ;ㅅ;

  2. 2012.08.12 03:38 신고

    넷스루..작년에일하던곳에서통계관련해서전화통화도하고그랬는데..반갑네요 ㅎㅎ 좋은개발자구하시길~ 전날로먹는개발자라지원하기겁나요

  3. jackOFluas 2013.05.28 16:10 신고

    늦깍기.. 방년 29세 '개발자가 새상을 바꾼다'라고 생각하는 1인 입니다.

    머리가 나빠서 그런지, 아니면 그 반대인지 몰르겠지만, 정말 문제를 하나 하나 풀어나가면서,

    성적 오르가즘도 느낄 정도로 재미 있고, 또한 잠자는거를 까 먹을 정도로 재미 있는 일이 개발이라고 생각합니다.

    그런대... 솔직히 말하면, 우리나라는 아직 그런 이들을 쓸 생각이 없는것 같습니다.

    구글이 최고의 솔루션을 만들 수 있는 이유는, 그들의 실력이 아닌, 놀다가 나온 작품이기 때문 입니다.

    오늘도 책을 보면서 '재발' 애러가 나 길 바라는 저로서는, 아쉽께만 느껴 지내요..ㅠㅠ

    PS: C#, JAVA 실력자들... 사부 님모집중..ㅋ

  4. 개발자 2013.10.21 18:59 신고

    개발자 처우개선이 우선이죠. 박봉에 야근에 월화수목금금금이면 누가 지원하겠나요?
    하루 8시간, 주40시간 근무, 초과근무수당 1.5배준수, 1주일간 최장근로시간60시간이내.
    3년이상 경력자는 적어도 월250만원, 연봉3000을 보장해준다면 지원자가 넘쳐날것입니다.
    귀 회사에 이런 요구를 하는 구직자가 너무한건가요?

    • 민간인 족쟁이 2013.10.22 13:09 신고

      박봉에 월화수목금금금인 회사 지원하지 마세요 ^^
      실제로 저희 회사는 님이 언급하신 조건에 거의 근접합니다.^^

  5. 졸업앞둔여대생ㅠ 2013.12.10 18:34 신고

    요즘에도 넷스루 개발자를 구하고 있는지요? 홈페이지 들어가 봤는데 상시 채용이던데 그래도 모든 인원이 차있는 경우는 더 이상 안 뽑지 않나요??
    관심도 많고 궁금한 것도 많은데 혹시 물어볼 메일 주소 알려주실 수 있나요? 채용접수 메일에는 보내면 안될거같아서 문의드려요ㅠㅠ

  6. ㅅㅎ 2014.03.08 00:00 신고

    6년차 프리랜서인데요.. 휘황찬란한 스펙의 개발자가 아니라 이정도면된다 이정도는 당연히 봐야하는거 아닌가 라고 하시는데..넷스루 연봉이 얼만지는 몰라도 눈 높은것 맞습니다

  7. ㅅㅎ 2014.03.08 00:14 신고

    제가 프리단가를 받다보니 정규직 연봉이 영 성에 안차고 좀 욱했네요 귀사 번창하시길.

  8. th 2014.06.13 09:40 신고

    2012년 글이네요. 아무튼 그때나 지금이나 개발자 씨가 말랐다는게 맞는거 같아요. 뭔가 화려한 3년~5년 경력자분이 대학 1학년 기초수준인 Stack, Queue를 Psedo Code로 설명을 못해 90%이상이 낙방하니까요.. 휴..

    개발에서 기술이 중요치 않다고 흔히들 이야기하는데, 그 말의 맥락은 기술은 기본으로 먹고가는 토대고 그 위에 더 중요한 서비스, 논리력, 창의력 등이 더해지는 거라고 생각하는데.. 요즘에는 창의력, 논리력, 문제접근 및 해결능력 이런 검증 이전에 최소한의 기본적인 기술수준도 없는 개발자가 대부분이라 아쉽습니다. 아마도.. 이해할 시간도 없이 Copy&Paste에 의존할 수 없는 국내개발환경의 영향도 큰 몫을 하는 것 같습니다..

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

나의 티스토리 블로그에서 누가 무엇을 할까? - 요거, 알 수 있습니다.

간만에 울 회사(넷스루, www.nethru.co.kr) 홍보 좀 하렵니다. ^^
아울러, 티스토리 블로그를 운영중인 블로거들에게도 좋은 놀잇거리가 될 듯 합니다.

티스토리 블로그의 스킨(Skin) 편집 기능을 이용하면, 내 블로그에 유용한 기능 몇 가지를 넣을 수 있습니다.
(다른 블로그에 비해서 티스토리의 스킨 편집 기능이 좀 더 유연하고 자유롭다는 생각이 드네요.)
물론, 약간의 웹 프로그램 관련 지식이 좀 필요하긴합니다만... 그리 어렵지는 않습니다.

블로그 운영하시는 분들, 이런거 궁금하지 않으셨는지요?
- 지금 내 블로그를 보고 있는 사람이 얼마나 되는지?
- 어떤 글에 관심을 가지는지?
- 어떤 경로나 검색어를 통해서 내 블로그로 왔는지?
- 내 블로그에 와서 어떤 글들을 보았는지?
- ...

그리고, 내 블로그를 찾는 사람은 뭔가 내 글에 호기심을 보인 사람일테고, 뭔가 궁금해서 내 블로그를 찾아온 사람일테고... 이 사람과 채팅을 하면 재밌을 것 같기도 하고...
게다가, 이런 일들을 스마트폰에서 할 수 있으면 더 재밌고 좋을 것 같은데 말입니다. ^^

요런거 해 주는 서비스, 울 회사에서 하나 맹글었습니다.
머... 우리가 세계최초로 막강 스페셜한걸 처음 만든것은 아닙니다.
외국에도 좋은 서비스가 몇 개 있는데, 우리 손으로, 우리 버전으로, 우리 입맛에 맞게, 그러면서 몇 가지는 더 좋게 함 만들어 볼려구요. ^^

실시간 웹 사이트 모니터링 + 웹로그 분석 + 방문자와 채팅.
간단하게 요약하면 요정도 기능이 되겠습니다.

그럼, 몇 가지 대표적인 기능들 함 살펴보겠습니다.



지금 내 블로그에 8명이 접속해 있습니다.
어느 사이트에서, 어떤 검색어로 찾아왔는지, 어떤 링크를 통해서 내 블로그에 들어왔는지를 보여줍니다.
구글에서 '아마존 추천', '아마존 추천 서비스' 검색결과에 나오는 제 글을 보고 찾아온 사람도 있네요. (어떤 글을 클릭하고 들어왔는지도 보이죠?)
그리고, 페이스북에 링크된 제 글을 보고 찾아온 사람도 있습니다.

대부분 검색이나 링크를 통해서 제 사이트로 찾아왔는데, 중간쯤(정가운데)에 보면 '직접방문'한 분이 있군요.
즉, 제 블로그 주소를 직접 주소창에 입력했거나 즐겨찾기 해 놓았다는 뜻이 되겠죠?
게다가... 최근 24시간내 '7회 방문'!
이분은 제 블로그를 꽤나 열독해 주시는... 아주 감사한 분이군요. ^^
(ㅋㅋㅋ 사실은 바로 접니다. ^^)

좀 크게 볼까요?



'worldcup.tistory.com'이라는 제 블로그 주소를 입력하고 들어와서
지금 '박주영과 이동국이 공존하는 대표팀을 기대합니다'라는 글을 읽고 있습니다.
(제 블로그에 들어온지 22분 40초 ^^)


자세하게 들여다 보면 더 많은 것이 보입니다.
지금 무엇을 보고 있는가도 알 수 있지만, 과거에 내 블로그에서 어떤 글을 보았는지도 보이네요.
제 블로그는 축구, 여행, 개인화 추천이나 웹분석, 집짓기 및 DIY, 기타 등등 소소한 이야기들로 구성되어 있는데
이 사람은 어느 글들에 관심이 있는지, 무엇을 찾아 내 블로그에 왔는지 알 수 있습니다.

내 블로그를 찾은 사람이 지금 어떤 글을 보고 있는지,
어떤 것들에 관심이 있는지를 함께 보면서 대화도 해 볼 수 있겠지요. 


제 블로그 보다가 궁금하신 분, 대화가 필요하신 분들.
블로그 하단의 "SeeToc" 창을 열면 저와 바로 채팅 가능합니다.^^

그리고, 다양한 블로그 방문자 통계도 보여줍니다.
아래에 있는 것은 대표적인 통계지표 몇 개인데,
이거보다 훨씬 많이... 다양한 방문자 통계를 볼 수 있습니다.
(저희 회사 웹 사이트의 로그분석하는 회사입니다. 로그 분석 보고서에서 꿀리면 자존심에 기스납니다.)


아래의 그림의 왼쪽 메뉴 트리 보이죠?
그거 하나하나 펼칠때마다 각종 보고서가 쏟아집니다. ^^



물론, 아래처럼 내 블로그의 최근 24시간 동안 현황도 1시간 단위로 바로 확인할 수도 있습니다.


게다가... ^^
위에 말한 모든 것을 스마트폰에서도 할 수 있습니다.
(아래 화면은 갤럭시 S2, 안드로이드에서 캡쳐)



..............................................

앞에 소개한 것처럼 내 블로그의 방문자들을 자세히 볼 수 있는 방법!

먼저 www.seetoc.co.kr 로 가셔서 회원가입 하시고, 사이트에 안내된 내용 보면서 하시면 됩니다. ^^
(아직은 Trial 기간 외에는 무료로 사용할 수 있는 방법이 없습니다. 무료 서비스로 인하여 유료 사용자 고객들에게 예기치 않은 문제가 생길까봐 조심하고 있는데... 개인 블로거처럼 비상업적 개인 컨텐츠 제공자를 위한 무료 서비스를 위한 방법을 지금 모색하고 있습니다. 시스템 확충 및 운영비용, 지원체계 등이 마련되어야 하니까요.)

울 회사에서 만든 서비스는 쇼핑몰 또는 기타 상업적 사이트를 우선 염두하고 만들어졌기 때문에
티스토리와 꼭 맞아 떨어지지는 않습니다. 그래서, 저희가 제공하는 많은 보고서나 기능을 모두 사용할 수는 없습니다.
하지만, 아래의 내용에 따라 티스토리에 적용하면 내 블로그의 방문자를 모니터링하고, 채팅하고, 방문자 통계 보기가 상당부분 가능합니다.


그럼, 지금부터 티스토리 스킨(Skin)에 살짝 손을 대 보겠습니다.

티스토리의 관리자 메뉴에서 'HTML/CSS 편집' 기능을 이용하면 스킨을 편집할 수 있습니다.
우리가 건드릴 부분은 'skin.html' 부분입니다.
'skin.html'의 적당한 부분에 Java Script를 넣어주면 됩니다.

스크립트 사용하는 자세한 방법은 www.seetoc.co.kr 에서 안내하는 매뉴얼을 참고하셔도 됩니다.
(매뉴얼 다운로드 - 여기 클릭)
여기서는 티스토리 스킨에 삽입하는 방법만 속성으로 설명드립니다.^^

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="alternate" type="application/rss+xml" title="[##_title_##]" href="[##_rss_url_##]" />
<link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
<link rel="shortcut icon" href="[##_blog_link_##]favicon.ico" />
<title>[##_title_##] :: [##_page_title_##]</title>
</head>
<body>
<!-- SeeToc Script -->
<script type="text/javascript">_stc_svcid = "xxxxxxxxxxxxxxx";</script>
<script type="text/javascript" src="
http://log.seetoc.com/seetoc_script.js" charset="UTF-8"></script>
<!--// SeeToc Script -->
<s_t3>
 <div id="wrapTop">
  <div class="tCenter"></div><div class="tRight"></div>
 </div>
 <div id="wrapMid">
위에 노란색으로 표시한 부분이 통합 스크립트입니다.
 www.seetoc.co.kr 가입한 후, 모니터링할 자신의 블로그를 등록하면, 위의 노란색에 해당하는 스크립트를 안내해 줍니다. 그걸 복사해서 위와 같이 'skin.html'의 앞부분에 붙여넣기 하면 됩니다.
이 부분만 넣어도 앞에 예로 든 기본적인 방문자 통계, 모니터링, 채팅이 모두 가능합니다.

기타 쇼핑몰 사이트의 경우, 보다 상세한 고객 행동을 분석하기 위하여 추가적인 스크립트를 제공하는데
블로그에서 활용할 수 있는 몇 가지를 소개해 드리겠습니다.

여기서부터는 관심있는 분들만 골라 가면서 적용하심 되겠습니다.

내부 검색
나의 티스토리 블로그에서 방문자들이 어떤 검색어를 사용하는지 파악하기 위한 스크립트입니다.
'skin.html의 "<!-- 검색 모듈 -->" 부분 코드에 노란색으로 표시된 것과 같이 코드를 추가합니다.


       <s_sidebar_element>
       <!-- 검색 모듈 -->
        <div id="searchBox">
         <s_search>
          <input type="text" name="[##_search_name_##]" value="[##_search_text_##]" onkeypress="if (event.keyCode == 13) { var searchKeyword=document.getElementsByName('[##_search_name_##]')[0].value; stc_setInternalKeyword(searchKeyword); [##_search_onclick_submit_##] }"/>
          <input value="검색" type="button" onclick=" var searchKeyword=document.getElementsByName('[##_search_name_##]')[0].value; stc_setInternalKeyword(searchKeyword); [##_search_onclick_submit_##]" class="submit"/>
         </s_search>
        </div>
       </s_sidebar_element>


그러면... 방문자 모니터링 화면에서 사용자가 검색을 몇 번 했는지, 어떤 검색어로 검색했는지 볼 수 있습니다.



댓글
'skin.html'의 "<!-- commentWrite close -->" 근처에 보면 댓글 입력 버튼 코드가 있습니다.
아래의 노란색 부분과 같은 코드를 추가해 줍니다.

  <p>
             <input type="submit" value="댓글 달기" onclick="stc_setQuestion();[##_rp_onclick_submit_##]" class="submit" />
            </p>
           </div><!-- commentWrite close -->
          </s_rp_input_form>

아래 그림처럼, 접속한 방문자가 댓글을 남겼는지 바로 모니터링이 가능합니다.
특히, 자동알림 기능을 설정해 놓으면 스마트폰에서 푸쉬 서비스를 받을 수 있습니다.
내 블로그에 누군가 댓글을 남기면 바로 알려주는거죠.
(댓글 9개씩이나 다는 사람 별루 없죠. ^^ 제가 테스트하느라고... ^^)

 


원래는 쇼핑몰 게시판의 질문하기나 상품문의 행동을 추적하기 위한 것입니다. 블로그에서는 그런 기능이 없는데, 댓글달기 기능에 적용하면 좋을 것 같습니다.

....

작은 규모의 쇼핑몰이나 기타 유사한 커머스 사이트들을 위해 만들어진 서비스라서 블로그에 최적화 되어 있지는 않지만, 적당히 주무르면 티스토리 사용자들에게는 꽤 유용하게 쓰일 수 있을 것 같습니다.
(커머스 사이트에서는 훨씬 다양한 기능을 이용할 수 있습니다. - 구매분석, 장바구니분석, 구매전환분석, 광고 키워드 및 효과 분석 등)

유료 서비스라는 점이 좀 아쉽죠?
현재는 14일 무료 체험 서비스만 제공합니다만, 좀 더 시스템과 서비스 운영체계가 구비되면 비상업적 개인 블로거들을 위한 무료 서비스도 계획하고 있습니다.

티스토리 파워 유저들이
Woopra나 Google Analytics를 사용하는 대신
저희가 만든 서비스를 더 좋아하는 날이 언젠가 오겠죠?

PS) 관심있는 분들은...  www.seetoc.com 함 클릭해 주는 센스!

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

검색과 추천 -Query Suggesttion vs. Query Destination

검색에 사용되는 추천 기법들과 효과에 대해서 잘 설명한 논문이 있어서 소개합니다.
새로운 추천 기법이나 알고리즘을 소개하는 논문은 아니고, 어떤 포인트에서 어떻게 추천을 했더니, 어떠한 차이점과 효과가 있더라...  라는 내용을 담은 실험 논문입니다.

 "Studying the Use Of Popular Destinations to Enhance Web Search Interaction"
- by Ryen White, Mikhail Bilenko, Silviu Cucerzan
- SIGIR 2007 (최우수 논문으로 선정)
- http://research.microsoft.com/en-us/um/people/ryenw/papers/WhiteSIGIR2007a.pdf
(정보검색 분야에서 역사와 전통을 자랑하는 학술대회인 SIGIR 2007에서 최우수 논문으로 선정되었다고하니... 좋은 논문 맞겠죠?)

논문의 내용 중에서 시사점이 있는 부분을 소개하면 다음과 같습니다.


Query Suggesttion vs. Query Destination

쉽게 말해서 검색어를 추천하는 방법과 검색 결과를 추천하는 방법입니다.

Query Suggestion은 검색어를 입력했을 때, 이 검색어와 연관성이 있는 검색어를 추천하는 방식입니다.
(요즘 대부분의 검색 사이트들이 제공하는 기능입니다.)
해당 검색어와 문자열이 비슷한 검색어일 수도 있고, 사전적인 의미가 서로 통하는 검색어일 수도 있고, 해당 검색어와 같이 사용되는 검색어일 수도 있고, 해당 검색어를 사용한 후에 2차 검색어로 사용하는 검색어일 수도 있고...
논문에서는 처음 입력한 검색어를 서브스트링으로 포함하는 인기 검색어, 그리고 처음 입력한 검색어 다음에 많이 사용되는 인기 검색어를 이용하여 추천을 했습니다.

Query Desination은 검색 결과를 제시할 때, 검색엔진이 제공하는 검색어-컨텐츠 매치 결과 외에 검색어와 연관성이 높은 다른 컨텐츠를 함께 추천하는 방식입니다.
예를 들어, 사용자가 입력한 검색어와 유사한 검색어를 사용한 다른 사용자들이 많이 클릭한 컨텐츠를 추천하는 식입니다.


Known-item vs. Exploratory
 
검색 행위를 크게 Known-item 작업과 Exploratory 작업으로 구분했습니다.

Known-item 작업은 검색 대상이 명백한 성격의 작업을 말합니다. 예를 들어, "조용필의 나이는 몇 살?"과 같은 정보를 찾기 위한 검색과 같은 것.
반면에, Exploratory 작업은 검색의 목적이 좀 더 두리뭉실하거나 난해한 경우입니다. 예를 들어, "초등학교 6학년 아이를 위한 수학문제집은 뭐가 좋을까?"와 같은 경우.

검색 행위를 이렇게 구분한 이유는, 검색의 성격이나 목적에 따라 적용할 추천 방식이 달라지기 때문입니다.
논문에서 실험한 바에 따르면, Known-item 작업의 경우 Query Suggestion 방식이 더 좋은 효과를 보였고, Exploratory 작업에서는 Query Destination 방식이 더 좋은 효과를 보였다고 합니다.

대충 생각해 봐도 그럴 것 같죠?
검색할 대상이 명확한 경우라면, 추천 검색어에 내가 찾는 정보를 표현하는 더 좋은 검색어가 제시된다면 좋겠죠.




조용필 나이가 궁금해서 '조용필'로 검색했을 때... 위 그림처럼 '조용필나이'라는 관련검색어가 제공되네요.
 딱 좋습니다!
(물론 '조용필 나이'라고 검색어를 입력하는게 더 좋은 방법이겠지만 말입니다. ^^)

....

반면에... "초등학교 6학년 아이를 위한 수학문제집은 뭐가 좋을까?"와 같은 경우
'초등6수학문제집'이라고 검색을 했을 때는...



제시되는 관련검색어가 그리 큰 도움이 되지는 않습니다. (뭐, 도움되는 사람도 있겠지만...)
이것 보다는 잘나가는 문제집을 제시해 주는게 좋겠죠.



검색 결과 페이지에서 스크롤 다운해 내려가면, 이렇게 쇼핑 검색결과를 보여줍니다.
이 결과가 비록 사람들이 '초등6수학문제집'으로 검색한 후 많이 클릭하는 상품이 아니라
'초등6수학문제집'이라는 검색어와 매치가 잘 되는 상품을 그냥 뽑아 놓은 것이긴 하지만...
관련검색어 보다는 만족도가 더 높지 않을까 싶습니다.

....

어떤 검색어가 Known-item을 찾는 검색어인지, 아니면 Exploratory 검색어인지를 알아내기는 쉽지 않는 문제일테니, 결국 Query Suggestion 방식의 추천과 Query Destination 방식의 추천을 모두 제공하면 될 것 같습니다.

논문의 실험결과, 검색의 성격에 따라 효과가 서로 상반되게 나오기는 하지만,
사용자들은 Query Destination 방식에 더 높은 점수를 주었다고 합니다.

현재 제공되는 검색 서비스의 경우 Query Suggestion 방식은 잘 제공되고 있는데...
Query Destination 방식의 추천 기능을 강화하면 좋지 않을까 싶습니다.

제가 소개한 내용 외에도 논문에는 좀 더 자세하고 다양한 실험 내용이 있으니
관심있는 분들은 참고하시기 바랍니다.
최우수 논문상 받은 논문입니다. 저도 강추합니다!


...

참고로, 논문에서는 Query Destination과 유사한 방법으로 Session Destination을 소개하고 있습니다.
Query Destination이 검색어를 기준으로 추천할 컨텐츠를 분석하는 반면, Session Destination은 '검색 Session'을 기준으로 분석한다는 것이 차이점입니다.
예를 들어, '메뚜기'로 검색하고 '유재석' 홈 페이지를 클릭하고, 곧 이어서 '사마귀'로 검색하고 '개그콘서트' 홈 페이지를 클릭했다면...
Query Destination에서는 '메뚜기-유재석', '사마귀-개그콘서트'가 각각 서로 다른 쌍으로 분석하는 반면
Session Destination에서는 {'메뚜기', '사마귀'}라는 검색어 집합이 맨 마지막에 클릭한 '개그콘서트'와 쌍을 지어서 분석합니다.
따라서, 검색어 '메뚜기'를 입력했을 때 Query Destination에서는 '유재석'이 추천될 수 있고, Session Desination에서는 '개그콘서트'가 추천되겠지요.

효과는 그다지... T.T

  1. jj 2011.11.07 11:01 신고

    읽다가 말았는데...
    다시 한 번 읽어봐야겠네요 ^^

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

로그 분석을 통해 검색을 더 똑똑하게 만들 수 있는 방법 (스터디 자료 소개)


SIGIR 2011(Beijing)에서 발표된 튜토리얼 중에 검색 로그 분석을 통해 검색을 더 똑똑하게 만드는 방법들에 대한 좋은 내용이 있네요.

 "Enhancing Web Search by Mining Search and Browse Logs"
- by Daxin Jiang, Jian Pei, Hang Li
- SIGIR 2011(Beijing, July 2011)
(PDF version)


링크된 PDF  문서는 파워포인트 발표자료인데, 비교적 설명이 잘 돼 있습니다.
(원본 강의를 들을 수 있으면 더 좋겠는데... 쩝!)
그리고, 주요 인용 기술에 대해서는 슬라이드에 참고문헌을 잘 명시해 놓았기 때문에 좀 더 자세하게 공부하는데도 도움이 될 듯 합니다.

....

전반적인 내용은 사용자들의 검색 기록(Log)를 분석하여 검색 성능을 높이는 방법들을 다루고 있습니다.
즉, 검색어와 문서간의 매칭 정확도 향상이나 검색속도 향상을 위한 기술이 아니라
사용자들이 실제 사용한 검색 내역과 클릭 결과를 분석하여 검색 정확도를 향상시키는 방법입니다.

개인화 추천에서 널리 쓰이는 Collaborative Approach 및 User Profiling 방법과 유사한 부분이 많기 때문에, 개인화 추천 기술에 관심이 있는 분들께도 좋은 자료가 될 것 같습니다.

웹로그 분석, 데이터 마이닝, 개인화 추천 기술 등을 통해 검색을 더 똑똑하게 만들기 위한 연구는 상당히 오래전부터 진행되어 왔기 때문에 연구 내용이 비교적 풍부한 편이고 실제로 적용할만한 수준의 기술들이 어느정도 완성되었다고 생각되네요.

연구 분야를 크게 분류하면 1) 검색어를 추천하는 방법과 2) 검색 결과를 추천하는 방법입니다.
검색어 추천은 네이버나 다음에서 보여주는 관련검색어/연관검색어와 같은 것이고
검색 결과를 추천한다는 말은 특정 검색어로 검색했을 때, 그 결과 목록의 순서(Ranking)을 조정하거나 검색어-문서 매칭 결과 외에 다른 방법으로 검색 결과를 제공하는 것을 말합니다.
그리고, 이러한 기능을  제공함에 있어서 검색어-문서 사이의 매칭정도가 아니라 사용자들의 실제 검색 내역을 분석한다는 것이 이 분야 연구의 골자입니다.

....

작심하고 공부하실분들은 아래의 Survey 논문을 참고하시는 것도 좋을 듯 합니다.

 "Mining Query Logs: Turning Search Usage Data into Knowledge"
- by Fabrizio Silvestri
- Foundations and Trends in Information Retrieval 4(1-2): 1-174 (2010)
(PDF Version)

열공합시다!

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

추천 서비스의 효과를 측정하는 방법 중 하나 - Recall & Precision


추천 알고리즘의 효과 내지 정확성/유효성을 측정하는 지표 중 하나가 Recall과 Precision입니다.

(업계 보다는 학계에서 주로 쓰임. 추천 시스템뿐만 아니라 유사한 여러 분야에서 쓰이는 지표라고 함)

 

예를 들어 설명)

1. 결혼정보 추천 시스템에서 박지성에게 {박지선, 김지선, 아이유, 유인나, 나문희}를 추천했습니다.

2. 박지성은 이사람 저사람 보다가  {아이유, 유인나, 구하라}와의 데이트를 신청했습니다.

 

추천 시스템에서 추천한 사람은 5명.

박지성이 선택한 사람은 3명.

박지성이 선택한 3명 중에서 추천 시스템에서 추천한 사람은 2명.

 

이럴 때...

Precision = 박지성이 선택한 사람 중 추천 시스템에서 추천한 사람 / 추천 시스템에서 추천한 사람 = 2 / 5 = 0.4

Recall = 박지성이 선택한 사람 중 추천 시스템에서 추천한 사람 / 박지성이 선택한 사람 = 2 / 3 = 0.66

 

즉, 추천한 것 중에서 사용자에게 선택받은 것들의 비율을 Precision이라고 하며

사용자가 선택한 것들 중에서 추천 시스템에 의해 추천 받은 것들의 비율을 Recall이라고 합니다.

 

추천 알고리즘의 품질이 높을수록 precision과 recall이 좋아집니다만...

Recall의 경우 무조건 추천을 많이 하기만 해도 수치가 높아진다는 문제가 있지요.

(그래서... precision은 내부 평가용 지표, recall은 상부 보고용 지표라는...^^)


...

 

[연습문제 나갑니다]

 평소 선릉역 1번출구 근처에서 열심히 찌라시 활동을 하다가 남자들에게 심하게 들이대던 순간 제명이 되었던

이명자 회원님은 당시 하루에 평균 1,000개의 찌라시를 뿌렸습니다.

가게에 찾아온 100명의 손님들에게 물었더니, 이 중에서 10명이 이명자 회원님의 찌라시를 받고 왔다고 대답했습니다.

이명자 회원님의 찌라시 효과를 Precision과 Recall로 설명하시구려~


.....

사실 Recall이나 Precision 같은 지표는 '추천 서비스의  효과'를 측정하기 보다는
추천 알고리즘 자체의 유효성이나 품질 비교에 적당한 지표라고 생각됩니다.
즉, 산업계 보다는 학계에서 서로 결과물을 비교하기 위한 지표라고나 할까요?

이와 같이 추천 알고리즘의 유효성을 측정하는 지표에는 여러가지가 있습니다.

MSE (Mean Squared Error)
RMSE (Root Mean Squared Error)
MAE (Mean Absolute Error)

위와 같은 측정값들은 Error Metrics라고 하는데,
추천 알고리즘의 예측(Prediction) 정확도를 측정하기 위한 것들입니다.

반면에, 앞에 소개한 Recall/Precision 값과 유사한 것으로는 다음과 같은 것들이 있습니다.

F-measure (F1 Metric이라고도 함)
ROC (Receiver Operating Characteristics)

아마도 Recall/Precision 방식이 더 유용할 것 같은데,
그 이유는 실제 추천 서비스는 Top-N 방식을 사용하기 때문입니다.
Error Metric의 경우 알고리즘의 전체적인 정확도나 유효성을 예측하는 데에는 유용하지만
실제 서비스에서 사용자에게 노출(추천)되는 것들은 추천할만한 전체 아이템들 중에서도 순위가 높은 상위의 N개 아이템들이기 때문에, 요놈들만을 가지고 효과를 측정하는 것이 더 적합하겠지요.

그러나, 진짜로 실제 서비스에서 중요한 지표라면
- 일반 상품(예, 단순 검색결과)에 비해 추천 상품의 클릭율이 얼마나 높은가
- 일반 상품에 비해 구매 관심행동(예, 이미지 확대, 상품평보기, 찜하기...)을 하는 비율이 얼마나 높은가
- 일반 상품에 비해 구매로 이어진 비율이 얼마나 높아졌는가
- 전체 판매 상품 중에서 추천을 통한 판매의 비율이 어떻게 변하는가
- 추천 서비스를 통해 매출이 증가했는가
- 방문자들이 예전에 비해서 많은 상품들을 둘러보고 가는가
- 한 번 주문할 때 예전보다 많은 수의 상품을 주문하는가
- 추천 시스템 도입 비용에 대한, 예상되는 손익 분기점은 언제인가
- ...

아마도, 위와 같은 것들이겠지요?
어느 것 하나도... 참으로 시원스럽게 대답하기 힘들지만 말입니다. T.T 

 ....

[연습문제 해답]
 Precision 10/1000 = 0.01, Recall 10/100 = 0.1

이명자 회원님이 찌라시를 1만개 뿌린다면 손님을 100% 유치할 수 있음.
즉, Precision이 유지될 수만 있다면 추천을 많이하면 많이 할수록 좋겠지요.
그러나... 아쉽게도 Recall이 증가하면 대개는 Precision은 낮아지기 때문에...
그래서, 추천 서비스가 어렵지요.


[참고] 추천 효과 측정에 대해 좀 더 관심있는 분들은 다음의 문헌들을 참고하시기 바랍니다.

  • Paolo Cremonesi, Yehuda Koren, Roberto Turrin, “Performance of Recommender Algorithms on Top-N Recommendation Tasks, RecSys 2010, September 26-30, 2010.
  • Paolo Cremonesi, Roberto Turrin, Eugenio Lentini, Matteo Matteucci, “An Evaluation Methodoly for Collaborative Recommender Systems”, Whitepaper, www.contentwise.tv, 2010
  • Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich, “Evaluating Recommender Systems”, Chapter 7., Recommender Systems : an Introduction, Cambridge University Press, 2010
  1. kaiser38 2011.11.02 18:18 신고

    좋은글 잘 보고 갑니다~

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

[책] 개인화 추천 관련 논문집 소개 - Recommender Systems Handbook [2011]

개인화 추천에 관련된 책(논문집) 한 권 소개합니다.

Recommender Systems Handbook [2011]
- Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B. Kantor (Eds.)
- Springer (출판 : 28 Oct 2010)

개인화 추천에 관련된 기본 배경 기술과 최근의 연구 내용을 모은 책(논문집)입니다.
좀 두껍기는 하지만... 가격도 좀 비싸지만...^^
읽을만한 논문들을 다수 포함하고 있습니다.

수록된 논문은 아래와 같습니다.
그리고, 일부 인터넷에서 PDF 파일로 다운로드 받을 수 있는 논문들의 경우에는 링크를 달아 놓았습니다.


Part I - Basic Techniques
-------------------------------------------------------------------------------------------
1. Introduction to Recommender Systems Handbook
- Francesco Ricci, Lior Rokach, Bracha Shapira
- http://www.inf.unibz.it/~ricci/papers/intro-rec-sys-handbook.pdf

2. Data Mining Methods for Recommender Systems
- Xavier Amatriain, Alejandro Jaimes, Nuria Oliver, Josep M. Pujol
- www.lri.fr/~xlzhang/CS340_slides/chapter_dm_rcmd.pdf

3. Content-based Recommender Systems: State of the Art and Trends
- Pasquale Lops, Marco de Gemmis, Giovanni Semeraro
  [참고] Content-based Recommendation에 관한 다른 저자의 논문
    Content-Based Recommendation Systems
    http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.130.8327&rep=rep1&type=pdf

4. A Comprehensive Survey of Neighborhood-based Recommendation Methods
- Christian Desrosiers, George Karypis
- http://glaros.dtc.umn.edu/gkhome/fetch/papers/NbrRSsurvey2011.pdf

5. Advances in Collaborative Filtering
- Yehuda Koren, Robert M. Bell
- http://research.yahoo.net/files/korenBellChapterSpringer.pdf

6. Developing Constraint-based Recommenders
- Alexander Felfernig, Gerhard Friedrich, Dietmar Jannach, Markus Zanker

7. Context-Aware Recommender Systems
- Gediminas Adomavicius, Alexander Tuzhilin
- http://www.inf.unibz.it/~ricci/ISR/papers/context-handbook.pdf


Part 2 - Applications and Evaluation of Recommender Systems
-------------------------------------------------------------------------------------------
8. Evaluating Recommendation Systems
- Guy Shani, Asela Gunawardana
- http://research.microsoft.com/pubs/115396/EvaluationMetrics.TR.pdf

9. A Recommender System for an IPTV Service Provider: a Real Large-Scale Production Environment
- Riccardo Bambini, Paolo Cremonesi, Roberto Turrin
- http://etradegatebv.com/files/A-Recommender-System-for-an-IPTV.pdf

10. How to Get the Recommender Out of the Lab?
- Jérôme Picault, Myriam Ribière, David Bonnefoy, Kevin Mercer

11. Matching Recommendation Technologies and Domains
- Robin D. Burke, Maryam Ramezani
    [참고] 관련 슬라이드(PPT)
    http://www.scitech.au.edu/forum/index.php?action=dlattach;topic=125.0;attach=289

12. Recommender Systems in Technology Enhanced Learning
- Nikos Manouselis, Hendrik Drachsler, Riina Vuorikari, Hans G. K. Hummel, Rob Koper
- http://dspace.ou.nl/bitstream/1820/.../RecSys_Handbook-preliminary_version.pdf


Part 3 - Interacting with Recommender Systems
-------------------------------------------------------------------------------------------
13. On the Evolution of Critiquing Recommenders
- Lorraine McGinty, James Reilly

14. Creating More Credible and Persuasive Recommender Systems: The Influence of Source Characteristics on Recommender System Evaluations
- Kyung Hyan Yoo, Ulrike Gretzel

15. Designing and Evaluating Explanations for Recommender Systems
- Nava Tintarev, Judith Masthoff

16. Usability Guidelines for Product Recommenders Based on Example Critiquing Research
- Pearl Pu, Boi Faltings, Li Chen, Jiyong Zhang, Paolo Viappiani

17. Map Based Visualization of Product Catalogs
- Martijn Kagie, Michiel C. van Wezel, Patrick J. F. Groenen
    [참고] 저자의 유사 논문
    A Graphical Shopping Interface Based on Product Attributes
    - http://www.browsingmap.com/doc/kagie_vanwezel_groenen_benelearn2007.pdf


Part 4 - Recommender Systems and Communities
-------------------------------------------------------------------------------------------18. Communities, Collaboration, and Recommender Systems in Personalized Web Search
- Barry Smyth, Maurice Coyle, Peter Briggs
- http://www.ise.bgu.ac.il/faculty/liorr/recsyshb/chCommunities.pdf

19. Social Tagging Recommender Systems
- Leandro Balby Marinho, Alexandros Nanopoulos, Lars Schmidt-Thieme, Robert Jäschke, Andreas Hotho, Gerd Stumme, Panagiotis Symeonidis
- http://delab.csd.auth.gr/papers/RecBook11mnsjhss.pdf

20. Trust and Recommendations
- Patricia Victor, Martine De Cock, Chris Cornelis
- http://biblio.ugent.be/input/download?func=downloadFile&fileOId=1108118&recordOId=1108083

21. Group Recommender Systems: Combining Individual Models
- http://www.csd.abdn.ac.uk/~jmasthof/Publications/chGroup.pdf


Part 5 - Advanced Algorithms
-------------------------------------------------------------------------------------------
22. Aggregation of Preferences in Recommender Systems
- Gleb Beliakov, Tomasa Calvo, Simon James

23. Active Learning in Recommender Systems
- Neil Rubens, Dain Kaplan, Masashi Sugiyama
- http://activeintelligence.org/wp-content/papercite-data/pdf/Rubens-Active-Learning-RecSysHB2010.pdf

24. Multi-Criteria Recommender Systems
- Gediminas Adomavicius, Nikos Manouselis, YoungOk Kwon
- http://ids.csom.umn.edu/faculty/gedas/NSFCareer/MCRS-chapter-2010.pdf

25. Robust Collaborative Recommendation
- Robin Burke, Michael P. O'Mahony, Neil J. Hurley
    [참고] 공동 저자의 유사 논문
    Collaborative Recommendation: A Robustness Analysis
    http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.2238&rep=rep1&type=pdf

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

검색에 개인화 추천 기법을 더하면?

검색은 웹 사이트에서 우리가 찾고자하는 자료나 문서, 이미지 등을 가장 빠르고 손쉽게 찾는 수단이지요.
그렇기 때문에 전문적인 검색 서비스를 제공하는 네이버, 다음, 구글 외에도 거의 모든 사이트에서 검색 기능을 제공합니다.

검색이라는 것은 입력된 '검색어'와 가장 잘 '매칭'되는 것을 찾아줍니다.
어떤 검색어를 사용하는가에 따라 검색 결과도 많이 달라지지요.

한 가지 예를 들어 보겠습니다.

요즘 '땅콩집'이 세간의 주목을 받고 있죠?
땅값이 너무나 비싼 서울경기 지역.
한 필지에 두 가구가 함께 집을 지음으로써 땅값을 반만 부담하게 되고, 설계비 부담도 반 띵.
결과적으로 집짓기 비용을 대폭 낮출 수 있다는 말이지요.

그렇다면... '땅콩집'에 대한 책을 한 번 찾아 볼까요?

인터넷 서점 예스24로 한 번 가 보겠습니다.


'땅콩집'으로 검색했더니 결과가 나오지 않네요.
분명히 땅콩집에 관한 책이 있는데...

도서 검색에서는 책의 제목이나 저자 이름을 중심으로 색인(Index)을 만드는데
책의 제목에는 '땅콩집'이라는 단어가 들어가 있지 않기 때문이겠지요.
(만약 책의 서문이나 목차까지 이용해서 색인을 만들었다면 검색이 될지도 모르겠지만...)

이럴 때, 가장 손쉬운 방법은 네이버나 다음에서 검색을 해 보는 방법일겁니다.
예를 들어, 네이버에서 다음과 같이 '땅콩집 책'이라고 검색을 해 봅니다.


'파워링크'라는 코너에 '땅콩집책'이라는 검색어와 광고 링크로 연결된 인터넷 서점을 알려주네요.
교보문고, 알라딘, 예스24.
각 링크를 클릭하면 '두 남자의 집짓기'라는 책 소개 페이지로 연결됩니다.
위의 경우에는 '땅콩집책'이라는 검색어와 '두 남자의 집짓기'라는 책이 미리 연결되어 있기 때문입니다.

파워링크뿐만 아니라 네이버의 카페, 블로그 검색 내용 등을 대략 살펴보니
땅콩집에 관한 책은 '두 남자의 집짓기'라는 책이 맞는 것 같습니다.
이렇게 해서, 가령 '예스24 땅콩집책' 링크를 클릭해서 예스24의 책 소개 페이지로 간 후, 사려고 했던 책을 사면 되겠네요.

교보문고와 알라딘 사이트에서는 '땅콩집'으로 검색하면 '두 남자의 집짓기'라는 책을 찾아줍니다.
교보문고와 알라딘의 경우, '두 남자의 집짓기'라는 책과 '땅콩집'이라는 검색어가 매칭 되도록
추가적인 색인을 등록한 것으로 생각됩니다. (아마도... 수작업?)

....

위에서 제가 땅콩집에 관한 책을 찾아서 구매한 과정을 요약하면 다음과 같습니다.

1. 예스24
   '땅콩집'으로 검색 --> 검색결과 없음
2. 네이버
   '땅콩집책'으로 검색 --> 여러가지 검색결과 훑어보고...
                                     --> '예스24 땅공집책' 링크 클릭 --> 예스24의 '두 남자의 집짓기' 페이지로 이동
3. 예스24
   '두 남자의 집짓기' 구입


자... 그렇다면!
위와 같이 검색에서 구매에 이르는 과정 중에서 예스24 사이트에 남는 기록(Log)만 떼어서 살펴보면
'땅콩집'으로 검색한 사람이 '두 남자의 집짓기'라는 책을 구입한 것을 알 수 있습니다.
이것은 단어와 단어 또는 단어와 상품 사이의 언어적인 매칭이 아니라, 사용자의 클릭 스트림(Click Stream)을 통해서 알 수 있는 내용입니다.

처음부터 '두 남자의 집짓기'라는 책 제목을 정확히 알고 검색한 사람들도 많겠지만
위와 같이 '땅콩집'으로 검색하는 사람들도 꽤 많이 있겠지요?
(개중에는 책 제목을 한 번 들어보긴 했는데 입에서만 뱅뱅돌면서 가물가물한 사람도 있을테구요.)
결국, '땅콩집'이라는 단어와 '두 남자의 집짓기'라는 책 사이에는 서로 언어적인 매칭이 없음에도 불구하고
상당히 밀접한 관계가 있다고 볼 수 있을겁니다.

이와 같이 단어의 매칭만으로 봤을 때는 서로 연관성이 없더라도, 일련의 클릭 스트림 분석을 통해서 사용자의 검색 의도에 어느 정도 부합하는 상품이라면, 그리고 한 사람이 아닌 여러 사람에게서 이러한 패턴이 나타난다면 상당히 유용한 추천 수단이 될 수 있겠지요.

..............

아래의 예를 한 번 보겠습니다.
인터넷 서점 반디앤루니스에서 '땅콩집'으로 검색했을 때의 예 입니다.
(저희 회사의 개인화 추천 솔루션을 적용한 사이트입니다.)


'땅콩집'으로 검색했더니 '나무처럼 자라는 집'이 나왔습니다.
그리고, 오른쪽 하단 세로 영역에 "<땅콩집>을 검색한 회원님들이 검색 후 구매한 상품입니다"라는 추천 코너를 보면 '두 남자의 집짓기'라는 책이 보입니다.
[참고] 항상 '두 남자의 집짓기'가 나오지는 않습니다. 계속해서 같은 책이 추천되지 않도록 몇 개의 후보 추천 도서들을 번갈아 가면서 추천하도록 되어 있습니다. (고객사 요구사항^^)

'두 남자의 집짓기' 외에 다른 책들은 '땅콩집'으로 검색한 사용자들이 주문한 다른 책들입니다.
즉, '땅콩집'으로 검색하는 사람들이 '두 남자의 집짓기'라는 책 외에 관심을 가질만한 다른 책들이지요.
일반적인 검색처럼 검색을 통해서 단어 매칭율이 높은 상품을 찾아 주되,
그 검색어와 구매 연관성이 있는 상품을 추천 상품으로 제시해 주는 방식입니다.

....

이러한 기법은 아마존닷컴에서도 사용하는 추천 기법입니다.
예를 들어, 'Word of Mouse'라는 키워드로 검색을 하면, 다음과 같은 추천 결과를 제시합니다.


위와 같이 "Customers with Similar Searches Purchased"라는 코너에
저처럼 'Word of Mouse'로 검색한 사람들이 주로 구입하는 책들을 추천합니다.
결과를 보면 모두 'Word of Mouse'라는 문구가 책 제목에 나타나지만, 이 결과는 단어 매칭이 아니라 사용자들의 클릭 스트림 행동을 분석한 결과라는 점이 중요합니다.

....

검색 기능은 검색 기능 나름의 역할이 있습니다.
여기에, 고객의 클릭 스트림을 분석해서 얻은 결과를 함께 제시한다면
검색어에 담긴 사용자의 의도에 좀 더 정확하게 다가갈 수 있지 않을까 싶습니다.

Fortune Magazine(November 20, 2006)에 실린 Jeffrey O'Brien의 칼럼 "The race to create a 'smart' Google" 에서 말하는 것처럼...
검색을 넘어서... 사용자에게 '발견'하는 기쁨을 줄 수도 있지 않을까...^^

"Search is what you do when you're looking for something. Discovery is when something wonderful that you didn't know existed, or didn't know how to ask for, finds you."
(컬럼 전문을 보려면... 여기 클릭 - 개인화 추천에 관한 좋은 칼럼입니다.)
  1. 오산돌구 2011.09.22 08:51 신고

    안녕하세요. 검색에 관심이 있어서 검색하다가 민간인 족쟁이 님의 블로그로 오게됐네요.
    Data & Intelligence 카테고리의 글, 처음부터 봤는데 참 재밌네요 : )
    궁금한게 있는데요. 땅콩집을 검색하면 '두 남자의 집짓기'라는 결과가 안나오는데 클릭스트림을 어떻게 이용해서 두개를 연결시켜주는지 궁금합니다. 날씨가 갑자기 쌀쌀해졌는데 감기 조심하세요~

    • 민간인 족쟁이 2011.09.20 10:16 신고

      기회 되시면 저희 회사로 함 놀러오세요. 비슷한 분야에 관심이 있으신 듯 한데, 함께 이야기 나눌만한 것들이 많을듯합니다. (비밀댓글로 이메일 남겨 주셔도 되구요 ^^)

  2. 2011.09.22 08:53

    비밀댓글입니다

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

"거꾸로 읽는 세계사" 실험 - 추천 서비스의 미묘한 차이


지난번에 "거꾸로 읽는 세계사"라는 책을 읽거나 산 사람들을 대상으로
아래의 책들 중에서 읽은 것 또는 가지고 있는 것들을 표시해 달라고 했었죠?

고마운 몇 분들이 답을 주셨습니다.
괄호 안에 함께 읽었거나, 또는 그 책도 가지고 있다고 하신 분들의 수를 표시했습니다.
(예- "거꾸로 읽는 세계사"라는 책과 "르몽드 세계사"를 모두 읽었거나 함께 가지고 있는 사람은 1명이라는 뜻)

1. 내 머리로 생각하는 역사 이야기 ----- (0)
2. 총, 균, 쇠 ------------------------- (0)
3. 거꾸로 읽는 한국사 ---------------- (1)
4. 사기열전 2  ----------------------- (1)
5. 르몽드 세계사  -------------------- (1)
6. 르몽드 세계사 2 ------------------- (0)
7. 교실 밖 세계사 여행  --------------- (0)
8. 스무 살을 위한 교양 세계사 강의 ---- (0)
9. 세계를 움직이는 다섯 가지 힘  ------ (2)
10. 미완의 시대  --------------------- (0)
11. 지도로 읽는 세계사 2  ------------- (0)
12. 4개의 통장  ---------------------- (1)
13. 엄마를 부탁해  ------------------- (4)
14. 한 걸음만 더  -------------------- (1)
15. 회사가 붙잡는 사람들의 1% 비밀  -- (1)
16. 일본전산 이야기   ---------------- (2)

위 목록의 1~11까지는 우리나라의 대표적인 인터넷 서점에서 "거꾸로 읽는 세계사"와 함께 추천하는 책들이고
12~16은 저희가 따로 분석한 것들에 별다른 가공을 하지 않은 것들입니다.
목록을 유심히 살펴보면 1~11까지는 "거꾸로 읽는 세계사"와 같은 분야의 책들이고, 12~16은 분야가 전혀 다른 책들이라는 것을 알 수 있습니다.

재밌는 것은 "거꾸로 읽는 세계사"와 전혀 분야가 다른 책들임에도 12~16의 책들을 함께 가지고 있는 사람들이 눈에 띄게 많다는 점입니다. (5 vs. 9) 비록 10명도 안되는 사람들에게서 얻은 데이터라서 신뢰할 수 있는 수준은 안되겠지만, 제가 말하고 싶은 내용을 설명할 수는 있을 것 같습니다.

먼저, 베스트 셀러의 영향력이 크다는 것을 알 수 있네요.
"엄마를 부탁해"와 "일본전산 이야기"는 상당히 많이 팔린 책들이지요.
결국, 많은 사람들이 읽었거나 가지고 있을 가능성이 높습니다.
그러니까... 이런 책들은 대충 아무 책하고나 같이 추천해도 별 무리가 없다는 말도 되지요. ^^
반대로, 굳이 추천을 하지 않아도 별 상관이 없다는 말도 됩니다.
어차피 유명한 책이니까 굳이 추천하지 않아도 많은 사람들이 구입할테니까요.
그러니까, 베스트 셀러의 경우에는 대충 아무데나 끼워서 추천하거나 아예 추천하지 않거나...
입맛에 따라 판단하면 될 듯 합니다. ^^

그리고, 책이 속한 분야(카테고리)에 너무 민감하지 말자!
같은 분야냐 아니냐가 아니라, 추천을 하려는 목적이 더 중요합니다.

"거꾸로 읽는 세계사"와 어울리지 않을 것 같은 완전히 다른 장르의 책들도 추천할 가치가 있다는 점!
세계사나 인문 분야에 특별한 관심이 있어서 그쪽 책들만 탐독하는 마니아가 아니라면
사람들의 일반적인 독서 패턴이나 소비 패턴은 어느 한 분야에만 쏠리는 것은 아닙니다.
단지... 파는 사람 입장에서 좀 어울리지 않게 보일 뿐이지요.

우리는 카테고리에 상당히 민감하게 반응을 하는데
실상 카테고리라는 것은 어떤 것들을 찾거나 관리하기 쉽도록 분류해 놓은 것에 불과합니다.
학술적인 연구나 특정 토픽에 대해 공부를 하는 사람이 아니라면
굳이 같은 분야의 책들만 모아서 보여줄 필요는 없겠지요.

"바지"를 사러 간 사람에게는 여러 가지 고를만한 바지들을 함께 보여준게 도움이 되겠지요.
반면에 바지와 어울리는 "셔츠"를 추천할 수도 있겠지요.
책도 마찬가지.. 어떤 분야에 대해 특히 관심이 있는 사람이라면, 같은 분야의 책들을 보여주면 도움이 되겠죠.

여러가지 중에서 하나 고르는데 도움이 되도록 추천을 할 것인가,
아니면 이 책 사면서 하나 더 살만한 것을 추천할 것인가...
추천하려는 목적에 따라 추천하는 내용도 달라지는거지요.

굳이 하나의 목적만 갖고 추천할 필요는 없으니, 두 가지 방법을 다 사용하면 좋겠네요. ^^
1~11의 책 중에서도 몇 권 추천하고, 12~16 같은 것들도 추천하면 되겠지요.

같이 살 것 같은 것들이 아니라, 실제로 같이 사는 것들이 중요합니다.
실제로 일어나는 결과는 이런저런 예측이나 짐작, 직관적인 판단과 다를 때가 많습니다.
데이터 분석을 통해 추천 서비스를 할 때의 장점이기도 하지요.
무슨 이유인지는 모르더라도, 의미 있게 자주 등장하는 패턴에는 분명히 그 이유가 있을테니까요.

많은 마케터들은 이러한 생뚱맞은 궁합을 찾아내려고 애씁니다.
또한 그렇게하기 위해서 많은 데이터를 수집하고 분석하기도합니다.
이를 위해서 많은 연구자들이 분석 이론을 탐구하고 훌륭한 기법들을 만들었습니다.

그러나... 정작 분석 결과가 나왔을 때,
그 결과를 믿고, 재해석하고, 활용할 때에는 이상하다거나 생뚱 맞다는 이유로 분석 결과를 무시하거나 뒤집는 경우가 많지요. (특히, 사장님이 "이거 이상한데?"라고 한마디 하면... ^^)

그러기에는 너무 아까운 결과들... 목적에 따라 잘 활용할만한 가치가 있는 것들인데 말입니다.
절대로 이상한 것이 아닙니다.
물론, 분석이 잘못된 것도 아니구요. ^_^
  1. 인철형 2011.08.02 04:07 신고

    글을 쓸까하다 말았는데.. 일단 추천의 유의수준에 심각한 문제가 있는것 같아... 책을 산 시기가 상당히 중요하다고 생각하고 나이도 큰 변수에 있기때문에 단순 추천으로는 의미있는 답이 도출되지않을것 같아..
    나는 4,15,16을 읽었거든... 사기는 고등학교때부터 읽었고.. 거꾸로 읽는세계사는 386 대학생들의 시각교정 교재였으니 거의 20년전 읽었고... 15,16은 근 2년안에 읽었거든..거꾸로읽는 세계사를 읽던 대학생시절 의식세계의 확장을 위해 읽은 책과 20년후 먹고살 고민을 하면서 읽은 비즈니스 경제서와의 상관관계를 따진다는것은 나이와 직업이 참조되는 상세검색에서야 가능할거야... 물론 지금 고등대학생이나 지금 다시 거꾸로읽는 세계사를 읽는 분에게는 1-11 서점의 추천이 매우 유의미할것이라 보이고 115-20년전에 읽은책과 상관관계를 찾으라면 상관관계차이가 매우 랜덤하게 나올것 같은 생각이 드네......수고하시게...ㅎㅎㅎ

    • 민간인 족쟁이 2011.08.01 23:44 신고

      제가 말하려는게 그거에요. 이런저런 논리적인 추론이 있겠지만, 그래서 이상해 보이겠지만... 실제 데이터는 그렇게 말해줍니다. (당연히, 책을 산 시기... 즉, 특정기간 동안의 주문 데이터를 분석한 것이지요. ^^) 논리적으로는 유의미할 것처럼 보이는 것이 그렇지 않기도 하고, 반대로 논리적으로는 이상해 보이는 것이 유의미한 경우가 많습니다.

블로그를 이전하였습니다!


아래 링크를 클릭하시면 새 블로그로 이동합니다.

www.footizen.me

 

  아래 글 제목을 클릭하시면 새 블로그의 해당 글로 이동합니다.

책 "거꾸로 읽는 세계사" 아시는 분, 좀 도와주세요 ^^

"거꾸로 읽는 세계사" 라는 책을 읽었거나 혹은 사신 분들...
아래의 책들 중에서 읽었거나, 혹은 산 것이 있으면 댓글 좀 남겨주세요.


1. 내 머리로 생각하는 역사 이야기
2. 총, 균, 쇠
3. 거꾸로 읽는 한국사
4. 사기열전 2
5. 르몽드 세계사
6. 르몽드 세계사 2
7. 교실 밖 세계사 여행
8. 스무 살을 위한 교양 세계사 강의
9. 세계를 움직이는 다섯 가지 힘
10. 미완의 시대
11. 지도로 읽는 세계사 2
12. 4개의 통장
13. 엄마를 부탁해
14. 한 걸음만 더
15. 회사가 붙잡는 사람들의 1% 비밀
16. 일본전산 이야기

저에게는 살짝 중요한 실험입니다.
부끄러워 마시고, 외면하지 마시고, 이상하다고 불평불만 마시고, 안읽었는데 읽었다고 뻥까지 마시고 ^^
한 줄 남겨 주세요.

Please....

[주의] 전제조건 - "거꾸로 읽는 세계사"를 읽었거나 구입한 경우라는 거!

PS) 재미있는 결과가 나올 수도 있음!


  1. 여강여호 2011.07.27 17:30 신고

    아쉽게도 읽어본 책이 없네요...
    그래도 댓글을 남겨도 되는지....혹 이것도 실험의 대상은 되지않나 싶어 부끄럽게 올려 봅니다.

  2. 박연어 2011.07.27 19:37 신고

    우선 거꾸로는 당시 미국과 일본의 사관이 주류였던것을 새로운시각으로 보게해준책(당시는 넘 신선해서) 르몽드는 브레진스키 이후 폭넓게 세계를 알게해준(식량 무기 기후 석유 자본...) 그래서 더 열공하려 팀짜는 친구도 보임 엄마를 은 짐 보고있는데 베르나르책을 본이후라 그런지 넘 힘들게 전형적으로 산 엄마를 그려서 읽고는 있으나 흥미는 적은

+ Recent posts