當然說到 Data Mining 資料探勘大家都會提到 Amazon, 而在台灣就是我曾任職的 B 公司, 其中最常見到的 EC 示範就是 "尿布與啤酒" 的關聯購買最常被討論到, 而我花了兩三篇以上來討論到效率的問題, 因為沒有了效率, 甚麼都不要說.
而上一篇也說到, 最後實作到若能一個月可以更新一次, 就已經是可以實用了, 而雖然第一次我花了一個多月才更新完, 但這個一開始就是相當可以使用了, 因為已經做了很重要的兩個中間表, 就是這兩個關聯物件關係式的表 (Table).
在關聯分析中, 這關聯就是兩個物件的關係, 在 EC 電子商務中, 就是產品與顧客, 其關係就是 "購買", 當然除此之外, 還有很多資訊可以收集, 例如 "想要購買的清單", 甚至是超級巨大的 "瀏覽過的商品", 或者只是搜尋或設定過搜尋的關鍵字, 這些都是個物件與其關係.
而所謂 EC 中的關聯購買, 很簡單的邏輯就是 "這商品被那些人買過, 這些人又買過甚麼商品", 在我的定義中, 這就是二階關係, 也就是 "商品=>人=>商品" 的關係, 而在這兩次的關係中, 一次是展開, 一次是聚焦, 也就是說, 商品被那些人買過雖然有限, 但相對的這些人又買過那些商品, 就可以從中定義出商品與商品的 "距離/關係" (Distance/Relationship), 因此這數字不只可以拿來做關聯購買, 更可以拿來做 Clustering 的群落分析.
因此在整理了兩個中間表, "商品=>人" 以及 "人=>商品" 後, 關聯購買代表的是商品的延伸, 雖然延伸中, 我們可以用其他的 "關係" 或 "meta-data" 來作聚焦, 例如分類 (大分類小分類), 出版社, 作者, 系列, 關鍵字, 等等, 在有這個關係之前還是存在很多種被定義的 "後設資料(Meta-Data), 這些資訊也可以再作一次的 "篩選/Filter" 或 "強化", 把這關係做得更多樣.
但所有的關係幾乎都是架構在 "共同點" 上, 這個關聯購買 Also-Buy 架構的也是之後所附與的行為上面, 只是這個 AlsoBuy 有時定義的 "距離" 是指相同的人購買的, 而在 10 萬個商品中, 正常而言會有關係的不超過 1000 種, 也說低於百分之一 1/100, 甚至要說真的數字有價值的更不超過 50 個, 也就是 1/2000 兩千分之一, 而這個要說若不在其中, 代表的是距離相當遠嗎? 事實不然..
因為這種關聯式的距離, 會造成某些完全一樣的商品距離很遠, 例如買過平裝版的人不會再買精裝版, 但相對的, 就書系而言反而是過剩的資訊, 例如第一冊跟第二冊很近, 雖然是事實, 但對採買的人或顧客這資訊一點意義也沒有, 因此有時還要篩掉過於接近距離的關係, 因為有時建議是 "常識" 的 everybody knows 的話, 這推薦是有點廢話的.
雖然有人建議這個可以用人工去組合或用 ISBN 或商品碼去過濾或篩選, 事實上在某種情型下還是不可行的, 例如相同條碼不能出貨, 或者是一個 Package (包裝) 事實上存在很多種商品, 而說要做 Data Mining 資料探勘這種資訊流的事, 還是不要影響物流與金流, 畢竟這種建議有點不準沒關係, 但金流或物流有一點錯就糟糕了.
只是這個關聯式分析只有能夠拿來作關聯購買嗎? 那就太小看此演算法的可能性了.