最老程序員創業札記:全文檢索、數據挖掘、推薦引擎應用2

吳言的直接上司張宏宇比他小10歲,是一個北大畢業的碩士,頭腦相當靈活,辦事效率非常高,常常別人還不明白是怎麼回事的時侯他就恍然大悟了。他的頭銜是研發總監,實際上就是研發部門經理,手下有20幾個人,他還有一個漂亮的女朋友,靚照就放在筆記本的桌面上,每次開會時,都讓這些程序員們眼饞得直流口水。哎,天下的好事怎麼都讓他一人佔盡了呢!

事情的起因很偶然,公司準備在網上商城開始銷售化妝品,需要研發部門提供推薦功能,給用戶推薦適合她們需求的化妝品。但是當前的推薦引擎是通過海量數據挖掘產生推薦結果的,因此需要對現有推薦算法進行改進。但是張宏宇在會上直接承諾在本週內搞定。由於吳言比較資深,列席了這次管理會議,在會上提出了不同的意見,吳言認爲應該採用基於內容的推薦引擎,而目前公司採用的是基於機器學習的推薦引擎,因此需要更長的時間進行預研,才能找出合理的實現方案,兩人甚至還發生了頗爲激烈的爭吵,但是管理層還是選擇了相信年輕有爲的研發總監,拍板本週推出這個功能。

吳言回到坐位上,心情一如既往的不太好,不過已經習慣了,高層從來沒有聽取過底層程序員的意見,所謂聽取一線技術人員意見也只是個形式而已。哎,想想自己的同學小A,現在已經做到研發副總了,還有小B,做爲華北區銷售總監,早就老婆開寶馬自己開奔馳了......再看看自己,還在這裏的最底層鬱悶着。

吳言正在坐位上胡思亂想,忽然有人從背後拍了一下他的肩膀,把他一下從暇想中拉回了現實,輕輕驚叫了一聲,回頭一看,原來是上司張宏宇。

“對不起,老吳!嚇了你一跳吧!”張宏宇輕鬆的說着。“我想這周還剩下兩天了,我們最好今天就想出一個臨時解決方案,我陪你一起加下班,你這邊沒問題吧!”

吳言心中暗想,又來這一套,明明自己瞎承諾,卻讓我來替你擺平,活都我做回頭功勞都是你的。雖然心裏不滿,但是吳言還是很勉強的說:“應該沒問題。”張宏宇得到了自己需要的答覆,歡快地說:“太好了,謝謝!謝謝!”,然後風一般的回到了他在窗邊有個簡易隔斷的老闆桌那去了。

整個下午及晚上,吳言都在座位上編寫初始數據、初始數據導入程序、推薦引擎新接口,然後是測試,調試查找BUG。那邊張宏宇又是去到研發副總王永輝王總的大辦公室去聊天,請王總喫晚飯,期間不時過來問一下吳言進展情況。

時間過得真快,轉眼已經十一點多了,終於通過編寫輔助數據,可以實現通過機器學習推薦算法向用戶推薦化妝品的原型了,張宏宇看到了更是興奮異常,連說:“太好了!太好了!辛苦!辛苦!趕緊回家休息吧!明天還得上班呢!今天打車回去,明天拿票過來報銷!”

聽着這些俗套的話,吳言心裏沒有任何感覺。坐在出租車裏,吳言看着車窗外如水的夜色,心中一個聲音強烈的叫着,再也不能這樣了,我要改變!雖然這並不是第一次,但是這次卻是最強烈的一次。

整整一夜,吳言被這個念頭折磨得難以入睡,我要怎麼改變現狀呢?再換一份工作?天下烏鴉一般黑,新公司未必比現在的強多少。出路?出路?......是不是可以創業?這個念頭在吳言的頭腦裏一閃,興奮得幾乎使他從牀上跳起來,雖然創業的念頭以前也有過,但是這一次卻像是一個處在黑暗中的人,看到遠方的一盞明燈一樣,整個人都亢奮起來。

第二天吳言起了個大早,不到八點就來到了公司,公司裏還空無一人,他要開始準備創業了,這個想法只要想想就讓他覺得很興奮。程序員創業準備過程十分簡單,吳言從產生創業想法,到確定創業方向,也就只有兩三個小時的時間,接下來就是開幹了。

首先是到Google上搜創業方向,從一大堆的搜索結果中,吳言注意到了SNS,不錯這造就了人人網、開心網、新浪微博,然後是電子商務,不錯電子商務造就了馬雲,這個當代的創業教父級人物。忽然他看到了社會化電子商務,電子商務與SNS的融合,社交購物元年,好像是當前的一個熱點。搜一下社會化電子商務,發現已經有人在女裝、化妝品等方面已經開始做了,不過其他行業還未見涉及。社會化電子商務可以用到他的全文檢索、數據挖掘、推薦引擎的技術背景,同時只需要聚合其他電子商務網站內容,不用考慮進銷存等讓人犯愁的事。對!就做這個方向。但是電子商務的種類很多,到底做哪個類別呢?服裝、化妝品等等自己不熟悉,而且已經有人在做了,不如做3C電器吧,聚合京東、卓越、庫巴、500城等電器商城,能讓消費者直接比較同一商品在不同網上商城的價格,而不用到各個商城去比較,這本身對消費者就有意義。

確定了創業大方向後,說幹就幹,第一件事就是實現從各大電器商城網頁抓取功能,網頁抓取可以使用Apache的HttpClient,網頁分析可以採用Jsoup,但是出於程序員的本能,發現只需要十幾行代碼就可以實現的網頁抓取功能,用Apache HttpClient光下載所需軟件就需要幾M,索性就自己寫吧,從頭開始的成就感可比採用開源軟件強烈多了。

在Eclipse下建立一個新工程,創建網絡爬蟲接口WebCrawler,然後建立專門針對京東的網絡爬蟲類JdCrawler,實現接口方法getContent,輸入京東商城的網址http://www.360buy.com/,首先發現京東的首頁好大,幾經調整Buffer的大小,終於完整下載下來京東商城首頁,第一眼就發現,京東商城利用HTML中的meta屬性,增加了關鍵詞的密度,算是一種搜索引擎優化(SEO)的實用小技巧吧。

然後是建立開源項目,爲什麼要建開源項目呢?因爲創業這事成功率很低,即使不成功,能夠做一個不錯的開源軟件也是不錯的。

吳言首先嚐試了googlecode,註冊用戶創建項目都很順利,但是當要上傳代碼時就發現有問題了,因爲國內好像屏愛蔽了獲取SVN密碼的鏈接,沒有密碼,當然就沒有辦法上傳了。

吳言只好選擇在Sourceforge上創建了自己的開源項目sep3c,選用SVN作爲版本控制工具,項目介紹及WiKi都採用了英文,雖然可能有些詞不達意,但是他想把這個項目做成國際級的項目,所以必須採用英文。

注:與本文相關的開源項目:http://sourceforge.net/projects/sep3c 。不過項目還處於早期階段,目前只有空項目,只有十幾行網頁抓取的代碼,不過隨着書中內容的展開,項目會逐漸具有越來越多的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章