## 序言
別笑,我可以以我的名義起誓,這是一本全文檢索、數據挖掘、推薦引擎在社會化電子商務中應用的專著。當前這三方面的專著很多,但是大多是講理論基礎和實現細節的,還沒有發現把這些技術真正用到實際項目中例子,因此我們還是不很清楚應該在什么地方用,應該怎么用。
在這本書里,主人公吳言是一個老程序員,突然有一天再也不愿忍受每天被人呼來喝去的程序員生涯,準備開創自己的事業,然后到google上搜了一下什么是最熱門的領域,機緣巧合發現了社會化電子商務很熱門,聯想到自己全文檢索、數據挖掘、推薦引擎的技術背景,準備在這個領域嘗試創業。
聯想到一個清華學生做了一個左百度右谷歌搜索結果聚合頁面的應用就融到資的案例啟發,他準備做一個3C產品的電子商務網站,將產品從京東、卓越、當當、庫巴還有五百城網站上扒過來,每個產品可以同時顯示各個網上商城的價格,省去客戶去每個商城比較的麻煩。接著租用服務器,利用開源軟件,進行簡單的開發,產品第一個版本就這樣上線了。當然,我們的主人公嘗試去融資了,但是我們用腳也能想到結果,由于他只是程序員,沒有團隊,產品可復制性又極強,他連與VC面談的機會都沒得到。但是他還是準備堅持做下去。
接下來他發現,他只能收集到用戶瀏覽產品的信息,用戶是否購買他并不知道,于是他申請了通過程序打通了各個網上商城的支付環節,用戶可以在他的網站上進行購買了。這時,他可以將各種產品的Top10推薦列表呈獻給客戶,同時,他允許用戶將這些Top10列表通過郵件發送給他們朋友,同時允許用戶可以將推薦列表發送到新浪微博。在這個版本中,他加上了最原始的推薦引擎的功能,利用集體智慧幫助用戶進行選擇。同時,通過郵件及微博等形式,進行社會化營銷。
吳言的網站漸漸有了一些瀏覽量,而且產生了一些交易。他接著希望加入社交網絡功能,允許每個用戶進行注冊,記錄用戶的各種屬性信息,注冊過程十分簡單,只需要提供郵箱、昵稱和密碼即可,但是如果用戶愿意,還可以填寫自己更多信息,對于每種需要填的信息,他都告訴用戶他為什么需要這個信息,利用這些信息可以給用戶提供哪些增值服務,如提供性別信息,這樣系統可以對女性用戶優先顯示女性專用產品,填寫收入信息后,可以優先顯示合理價位的產品等等。同時,他記錄下用戶瀏覽的產品記錄、購買的產品記錄。通過用戶注冊填寫的信息以及網站記錄的用戶行為信息,他可以得到完整的用戶信息模型。
吳言注意到諸如亞馬遜等電子商務網站,有“瀏覽了該產品的用戶還瀏覽了**”的功能,他也想加入這個功能。首先通過用戶行為記錄,可以提取出瀏覽了該產品的用戶還瀏覽了**的信息。但是由于他的網站處于早期階段,很多產品沒有類似記錄,為了實現類似功能,他開發了基于內容的推薦系統。通過分析產品的描述、規格等信息,提取出關鍵字,計算各個產品間關鍵字矢量距離,得到各個產品間的相似度,這樣可以向用戶推薦相似的產品。
當前是Web2.0時代,吳言也想在自己的網站中加入Web2.0元素,他允許用戶可以對產品添加評論,可以對每個產品進行打分(五分制),也可以對產品進行頂或貶的投票,同時用戶還可以對其他用戶關于產品的評論進行評論、打分及投票,所有這些內容用戶都可以通過郵件及新浪微博進行分享。這些打分及投票信息,通過機器學習算法,可以通過推薦引擎給用戶推薦更有針對性的產品。
由于3C產品各類繁多,按產品類別的組織方式對用戶挑選產品非常不方便,吳言通過中文分詞程序對所有產品進行分詞,找出常用關鍵詞,形成機器生成的標簽庫,然后根據各個關鍵詞關聯產品受歡迎程度,為每個關鍵詞賦與不同權值,這樣就形成了網站中通用的標簽云。當用戶點擊這些標簽時,將顯示標簽關聯的產品,同時顯示更加精確的標簽云。根據用戶的行為數據,可以向每個不同的用戶顯示不同的標簽云,點擊某個標簽時,也可以顯示不同的產品內容。
用戶開始嘗試標簽導航功能,初步反響不錯。但是也有用戶反映說標簽有些不能準確反映產品特性,因這些標簽是通過程序自動獲取的,這種情況是不可避免的。于是吳言加入了允許用戶為產品添加標簽的功能,同時允許用戶為某個產品設置標簽。很快他發現,用戶產生的標簽可以將用戶與用戶、用戶與產品更有意義的聯系在一起,不僅可以更加有效的向用戶推薦產品,或者通過產品相似度向用戶推薦產品外,還可以根據用戶標簽更有針對性地投放廣告。
吳言還不滿足于產品的功能,又添加了博客功能,用戶可以發表對產品功能、使用、保養等各方面的信息,其他用戶可以對博客進行評論、打分及投票。用戶還可以發布各種產品相關照片,其他用戶可以分享、評論、打分及投票。對每個產品,都有自己的博客門戶,里面有該產品相關的所有博客、照片的信息。吳言還為每個產品加入了Wiki功能,用戶可以對產品的方方面面進行完善。同時每個產品都有一個問答群,用戶可以提出問題,也可以解答其他用戶的問題,用戶可以對問題和答案進行打分、投票及評論。為了讓用戶更方便的利用這些內容,吳言加入了全文檢索功能,用戶可以通過關鍵詞搜索到相關的條目,為用戶購買決策服務。
用戶開始越來越喜歡這個應用,用戶量及交易量越來越大,網站架構漸漸不能滿足要求,于是吳言將所有后臺程序全文檢索、數據挖掘、推薦引擎放到了Hadoop上。
通過對用戶及產品進行分析,吳言可以產生很多對電子商城、制造商、廣告商有用的報告,因此電子商城,3C產品制告商和廣告商自然就成為了吳言的客戶。
在本書的余下章節中,將按照上面的順序,一步步將全文檢索、數據挖掘、推薦引擎應用到這個具體的項目中來,使讀者可以通過實例理解各種技術的具體應用場景和場合。