인공지능관련/인공지능(AI)

연관분석2

학위논문통계 2017. 3. 1. 13:22

 

 

1, CRM(고객관계관리)

 

앞서 이야기 했지만 이 CRM은 매우 오랜 역사를 가지고 있습니다. 이 CRM은 크게 두가지 분야로 나눠 볼 수 있습니다. 하나는 datamining이라는 기술적, 공학적 접근이고요 또 하나는 기업과 고객간의 관계의 질에서 접근하는 방법입니다.

 

당연히 연관분석은 datamining의 기술적, 공학적 접근의 하나입니다, 관계의 질을 중시하는 최근 경향은 기존의 마케팅에서는 고객은 기업의 입장에서 단순히 자신의 생산품을 구매하는 사람, 마케팅의 대상으로만 보는 관점인데 최근에는 기업과 고객간의 관계를 인간대 인간이라는 관계로 보는 경영전략입니다.

 

 

이건 특히 서비스 업종에서 중요하게 여겨지지만 일반 제품 생산하는 업체에서도 중요하게 여깁니다. 최근 SNS의 등장으로 이런 고객과의 관계의 질을 매우 중요시하게 되었습니다. 다양한 SNS을 통해 고객의 상호작용을 하는 것이 충성적인 고객을 유도하고 이 충성적인 고객이 자발적으로 홍보하는 구전효과를 가져오기 때문입니다.

 

이런 식으로 기업의 평판이 올라가면 불황시에도 큰 어려움 없이 견뎌낼 수 있습니다. 우리나라에서는 이런 것조차도 그냥 공학적으로 하는 경향이 있죠. 기업의 평판을 올리려면 CSR이라고 기업의 사회적 책임을 중요시해야 합니다.

 

이건 ISO 세계 표준으로 될 만큼 현재 기업들에게 강하게 요구하고 있습니다. 우리나라 재벌 기업들 홈페이지 가보면 이 기업의 사회적 책임을 이렇게 잘하는 나라도 없을 겁니다. 거의 다 거짓말이죠. 형식적으로 흉내만 내는 것이죠.

 

 

고객과의 관계의 질은 필연적으로 기업 종사자의 감정노동을 강요하고 있습니다. 최근에 이 감정노동이 한때 이슈가 되었기도 하고요. 이 감정노동이 꼭 나쁜 측면만 있는 것은 아닙니다. 사람들 사귀는 것을 좋아하고 이야기하는 것을 좋아하는 종사자에게는 오히려 긍정적인 효과가 있습니다. 그러나 소극적이고 내성적인 사람에게는 이게 큰 고통이 될 수 있습니다. 소위 표면행동이라는 것인데 자신의 속마음과 달리 겉으로는 웃어야 할 경우 그 괴리감이 심각하다는 것이죠. 그러나 제가 보기엔 결정적으로 문제가 되는 것은 소위 진상고객이죠.

 

 

하여간 이런 관계의 질이 중요시되기 때문에 서비스 업종에서 사람들이 없어지고 로봇이 다하는 시대는 잘 안 올겁니다. 구글이 무인 마트를 만들었다고 하는데 이건 인공지능도 아니고 그냥 매장의 자동화 시스템에 불과합니다.

 

우리 대형 마트에 가서 한번 자세히 보세요. 실제로 소비자와 접촉하는 마트 종사자는 이미 없습니다. 거기 판매원은 입점 업체에서 나오는 종사자이고 마트 회사에 일하는 종사자는 계산원과 물건 배치하는 직원들이 다입니다.

 

이걸 자동화한다는 것이죠. 판매대에 물건이 다 떨어지면 판매대 뒤에 컨베이어 벨트 시스템을 갖추고 자동으로 물건을 채워 놓고 고객이 물건을 살 때 마트 카드로 찍으면 자동으로 물건 구입이 기록되고 최종적으로 낼 돈 액수가 계산이 된다는 것이죠. AS나 환불을 처리하는 종사자는 없어질 수 없죠. 이 비용마저도 아까우면 자동적으로 모두 환불처리해 주면 되죠.

 

로봇이 서비스 해주는 커피샵을 이용할 건가 예쁘고 멋진 처녀 총각이, 또는 간단하나마 즐겁게 대화해 줄 수 있는 종사자가 있는 커피샵을 이용할 건가 생각해보면 로봇 커피샵은 별 효용성이 없을 것 같습니다. 차라리 자판기를 좀 더 개량하는 것이 나을 거라 봅니다.

 

 

 

2. 연관법칙(association rule)

 

이 연관법칙은 통상 A->B 이런 식으로 표시를 하고 이 연관법칙에는 support 값과 confidence 값 두 개가 있습니다. 이 용어가 어떻게 해서 나왔는지는 모르겠습니다. support는 수학 용어, 위상 수학 개념이고, confidence는 통계학에서 나오는 용어인데 다른 분야에 비슷한 개념이 있는지 모르겠습니다. 확률로 이야기하는

 

support는 결합확률, 즉 Pr(A*B)이고

 

confidence는 조건부 확률 즉 Pr(B|A)=Pr(A*B)/Pr(A)

 

 

입니다. 즉 support는 A와 B 물건을 같이 살 확률이고 confidence는 A라는 물건을 쌌을 때 B라는 물건을 살 확률입니다.

 

 

이 계산에서 연관분석은 거래당, 바구니 당으로 계산을 합니다. 대형 마트에서 그날 만번의 고객이 와서 만번의 거래가 이루어졌다고 하죠. 만번의 바구니 속에서 (소고기, 계란)을 산 바구니가 천번이면 support는 천번/만번이 되어서 0.1이 됩니다. 소고기를 산 사람 2천명이면 confidence, 확률(계란|소고기)는 Pr(A*B)/Pr(A)=천번/2천번=0.5가 됩니다.

 

그래서 수학, 통계적 이론은 거의 없어서 이쪽의 실제 구현 문제는 전산적인 문제입니다.

 

 

 

3. 전산 문제

 

마트는 수 많은 상품 품목(item)이 있습니다. 또 하루에도 수 많은 거래, 바구니(transaction)이 있습니다. 또 바구니 안에 제법 많은 품목(itemset)이 있습니다. 마트가 다루는 품목 수가 만약 5개만 있다고 해도 꽤 많은 연관법칙이 존재합니다. 뒤에 예가 있습니다. 그래서 수 많은 품목과 여기에 파생되는 수 많은 연관 법칙, 여기에 수 많은 거래, 바구니가 있기 대문에 무식하게(일일이 다 계산하는 brutal force 식) 계산한다는 게 현실적으로 불가능합니다.

 

 

4. 현실적인 문제

 

고객의 정보는 원래 데이타 베이스에 저장합니다. SQL 데이터 베이스라고 하죠. SQL는 데이터 베이스의 표준 언어입니다. 이 SQL을 이용해서 디비에서 분석할 데이터를 text 같은 파일로 받습니다. 이 text 파일을 가지고 통계 프로그램이나 S, R 같은 행렬조작프로그램을 이용해 연관분석용 데이터로 전환을 해야 합니다. 여기서 고객이 산다 안사나 이게 중요하지 물건의 가격, 또 몇 개 샀는가 이런 것은 분석의 대상이 아닙니다. 라면 열 개를 사도 연관분석에서는 그냥 라면을 샀다 이런 식으로 정보가 저장된다는 것이죠.

 

 

그래서 SQL 디비에서 내려받은 데이터를 다시 연관분석용 데이터로 변환을 해야 합니다. S나 R이면 이 변환과정을 프로그램을 해서, 즉 macro로 짠다는 것이죠. 기본 macro을 짠 다음 여러 상황에 맞춰 조금씩 이 macro를 수정하면 됩니다.

 

 

그래서 앞에서 이야기한 전산문제 때문에 실제로는 많은 제한과 또 기업 입장에서 관심을 가져는 문제로 데이터를 제한을 해야 합니다. 어느 기간까지 데이터를 분석할 것인지. 옛날 데이터 정보는 별 의미가 없습니다. 또 특정 요일을 분석할 것인지, 예를 들어 주중과 주말이 다를 수 있죠. 식품, 의류, 전자 이런 식으로 품목 계열별로 분석할 것인지 상황에 따라 다양하게 분석 데이터가 다를 수가 있습니다.

 

 

5. 연관

 

너무 수학적으로 이해하려고 하지 말고 연관의 일상적인 뜻부터 시작하는 것이 나을 것 같습니다.

 

예를 들어 우리가 카레가 먹고 싶다고 하죠. 그럼 카레와 연관된 품목은 다음과 같습니다. (양파, 소고기, 홍당무, 감자) 등이 있겠죠. 그래서 여러분의 바구니는 다음과 같을 겁니다.

 

(카레, 양파, 소고기, 홍당무, 감자) 이렇게 되겠죠. 이 바구니에서 나올 수 있는 연관 법칙 A->B만 해도 굉장히 많습니다.

 

카레->양파, 카레->소고기,,,,, 양파-> 카레, 소고기->카레,...

 

(카레, 양파)->소고기, (카레, 양파)->(소고기, 감자), 소고기->(카레, 양파), (소고기, 감자)->(카레, 양파)...

 

(카레, 양파, 소고기, 홍당무)->감자, 감자->(카레, 양파, 소고기, 홍당무)...

 

 

그래서 물건 5개가 담긴 바구니 하나만에서도 굉장히 많은 연관법칙을 도출할 수 있고, 이 연관법칙의 support와 confidence를 모두 구해야 합니다.

 

그럼 confidence는 상당히 높을 수가 있습니다. 카레를 사면 양파, 소고기, 홍당무, 감자 등을 살 확률이 상당히 높다는 것이죠. 그러나 support는 매우 낮을 수 있습니다. 그날 카레 요리를 하기 위해 마트 쇼핑하는 사람의 비율은 상당히 낮다는 것이죠.

 

연관분석에서는 법칙은 일단 support가 낮은 연관 법칙은 제외합니다. 그래서 이 카레 분석은 연관분석에서 support 분석에서 제외될 가능성이 높습니다. confidence는 높아도 support가 낮으면 거래에서 낮은 빈도를 의미하기 때문에 기업 이익에 별 도움이 안된다는 것이죠.

 

 

여기서 우리가 여러 가지 문제를 생각할 수 있습니다.

 

1) 실제 논리적으로 연관성이 매우 높지만 실제 사람들 쇼핑에서는 높지 않을 수 있습니다. 즉 사람들이 마트에 가서 물건을 살 때에서는 집에 물건이 떨어지는 경우라는 것이죠. 그래서 카레 요리를 한다고 해도 위 다섯 가지 품목 중 집에서 떨어진 품목만 산다는 것이죠. 그래서 카레-> 양파의 confidence도 매우 낮을 수 있습니다.

 

그래서 support도 낮고 confidence도 낮고 해서 분석할 가치가 없는 것일까요. 그렇지 않습니다. 오프 가게라면 카레 옆에 (양파, 홍당무, 감자) 이런 것을 같이 진열하여 고객의 편리를 제공할 수 있습니다. 고객이 편리하게 쇼핑할 수 있으면 그 마트에 사람들이 많이 온다는 것이죠.

 

이런 예는 고기의 경우도 마찬가지입니다. (삼겹살, 상추나 쌈, 파써리, 쌈장) 이런 것을 같이 진열한다는 것이죠.

 

 

문제는 오프 마트 가게는 공간의 제약이 있습니다. 이런 식으로 물건간의 연관성이 좀 있다고 해서 일일이 다 같이 배열하기는 힘들다는 것이죠. 그러나 인터넷에서는 웹사이트에서 이것을 구현하는 것이 가능하죠. 사람이 카레를 사면 바로 밑에 (양파, 소고기, 홍당무, 감자) 등을 바로 진열해서 교차판매를 효과를 볼 수 있다는 것이죠.

 

그래서 제가 주장하는 바는 마트에서 연관분석이 생각보다 효과가 없을 수 있다는 것입니다. 사람들이 마트에 가서 사는 경우는 대부분 집 안에 물건이 떨어져서, 또는 독립적으로 어떤 물건이 필요해서 사는 경우가 대부분이라는 것이죠. 치약을 산다고 해서 칫솔을 사는 것은 아니잖아요.

 

 

2) 위의 식품의 경우 연관성은 다행스럽게도 좀 본질적인 연관성이라는 것이죠. 즉 시절이나 시기에 큰 영향을 안 봤습니다. 이 이야기는 처음에 대규모 데이터로 한번 분석만 하면 된다는 것이죠. 사실 우리가 데이터 분석을 하지 않아도 모두 타당하다고 생각하는 것들이죠. 그러나 우리가 체크할 수 있는 연관성에는 한계가 있으니까 대규모 데이터로 한번 분석을 해 볼 필요가 있습니다.

 

한편 근본적으로 논리상 연관성이 떨어질 수 있는 품목이 있습니다. 식품계열하고, 미용, 위생 계열, 전자계열, 의류계열 이런 것들은 논리적으로 연관성이 낮다고 봐야 합니다. 즉 삼겹살 샀다고 해서 칫솔을 사거나 노트북을 사거나 화장품을 사거나 하지는 않죠. 즉 필요에 의해 독립적으로 사는 것이라는 것이죠. 그래서 상품계열별로 분석하는 것이 타당하다는 것이죠.

 

그러나 어떤 이벤트가 있는 경우는 다를 수 있습니다. 명절이나, 학생들 졸업, 입학 이런 이벤트가 있는 경우는 다를 수 있죠. 학생이 입학해서 노트북을 사주면 옷도 새로 사 줄 수 있다는 것이죠. 그래서 이벤트가 있는 시기에는 따로 분석을 할 필요가 있습니다.

 

그래서 실제 이런 분석을 할 경우 기업측 인사, 즉 마트 관리에 대해 전문적인 경험이 많은 사람들과 데이터 분석하는 사람과 사전에 충분한 대화가 있어야 하고 문제에 대한 정확한 정의를 내리고 해야 합니다.

 

 

다음에는 앞에서 이야기한 것처럼 처리해야 하는 데이터가 너무 많기 때문에 어떻게 좀 편리하게 할 수 있는가 하는 문제에 대해 이야기 해보겠습니다.

'인공지능관련 > 인공지능(AI)' 카테고리의 다른 글

적합도1, 모형 선택  (0) 2017.05.11
연관분석3  (0) 2017.03.15
연관분석1  (0) 2017.02.15
볼쯔만 머신(Boltzmann Machines)1  (0) 2016.12.28
이미지 프러세싱과 딥러닝의 cnn 관계  (0) 2016.12.19