在搜索框里輸入準確的查詢信息,就可以得到想要的答案,但如果讓搜索引擎更了解你,理解一個模糊的訴求,把屬于你個人的個性化搜索結果適時推送給你,可就不那么簡單了。
用戶在搜索框里輸入“好看的電影”,絕不僅僅是希望看到一系列人人都想的到的熱映大片,如果用戶是一個小清新,就會希望搜索引擎把《藍色夏戀》《夏天的尾巴》《虹的女神》這些并不是很主流但卻符合用戶興趣的電影推薦給自己。理解一個人想要什么,對什么感興趣,是一件非常智能的事,而對搜索引擎來說,這并不是不可能的。我們可以通過用戶的搜索記錄,來了解他的性別,年齡,身份,職業(yè),喜歡看的書,喜歡登陸的網站,喜歡瀏覽的論壇,和感興趣的社會事件及話題。
百度校園在收集一線工程師技術問題的時候發(fā)現了這個挑戰(zhàn),如何讓搜索引擎準確理解用戶的興趣,是讓搜索結果更貼心的關鍵。而這最終帶來了IT主題研究項目的一項驚喜突破:用戶興趣建模算法。
通過整合用戶多方面信息來了解用戶,并形成一套算法,被稱之為“用戶興趣建!薄D暇┐髮W的陳虎作為參與百度校園主題研究項目的學生接受了這個挑戰(zhàn),他獲得了在百度實習的機會,這期間的任務就是他要讓搜索引擎了解用戶的興趣,理解用戶的需求!艾F在在百度里面搜“好看的電影”,《這個殺手不太冷》,《海豚灣》,《十二怒漢》,《天堂電影院》這4部。百度搜索結果之所以展現這四部電影,是因為它們在hao123里面的好評數最高。然而不同的用戶有不一樣的愛好,好評數最高的電影未必就能吸引所有的用戶。如果有了用戶的興趣信息,就可以根據當前用戶的特點展現合適的結果,比如我喜歡周星馳的電影,那么我搜“好看的電影”的時候給我展現《大話西游》等,我會覺得這個結果很贊;而如果另一個喜歡科幻電影的同學同樣搜“好看的電影”,得到了《變形金剛》的結果,就是一件很神奇的事情!标惢⒄f,雖然文字是一種有限的表達形式,“好看”這種模糊的詞不是一種準確的描述,但如果百度可以從現象看到本質,明白不同用戶眼中的好看代表不同的意義,從而有針對性地展現合適的結果,就會帶來一種更加智能化的用戶體驗。
為了讓機器理解人的興趣,陳虎的第一項工作就是積累一個完整的數據庫。“這個數據庫要包含盡可能多的電影,電視劇,游戲,小說,明星等等,在實習的前一個月,我把時間花在這個數據庫的建設之中!贝蟛糠值臄祿纪ㄟ^一些權威網站來抓取,建立一個盡可能完整的庫。陳虎接下來的第二個工作就是要基于檢索的框架來甄別用戶搜索的目標!跋肟础稅矍楣3》的人很可能在框里輸入的是‘愛3’,這種表達上的不一致導致簡單的文字匹配不能滿足要求。我接手之前的做法是自動擴展數據庫中電影電視劇的表達方式,使得數據庫的表達盡量涵蓋用戶的習慣。這個做法在電影電視劇中應用的比較成功,但是在化妝品和汽車等類別上實驗失敗,原因一是汽車和化妝品的完整名稱很長,無法有效的進行表達擴展,二是用戶一般不搜具體某個汽車或化妝品,而搜車系和化妝品功效的情況較多!标惢⒄{整了新的框架,完善了算法,比如用戶搜化妝品的時候只搜美白、減肥時,搜索引擎也能識別出這部分的信息。接下來的工作就是增加新的類別(游戲、體育、彩票、星座、手機、電腦、小說、賓館、旅游城市等),在增加的過程中不斷調整框架。隨著數據量的增加,算法的性能要求不斷增加。
百度自然語言處理部的李大任是陳虎的導師,他給了陳虎不少啟發(fā)。“減少空間開銷,提高執(zhí)行速度,需要運用多種方法,經過共同的努力,我們最后將空間開銷降低到原來的40%,執(zhí)行速度提高到原來的10倍,順利完成了大數據量的執(zhí)行。這讓算法的性能得以保證!
在學校跟隨導師學習時,陳虎就發(fā)現自己對研究沒有興趣,而是熱衷于通過動手做程序,改變人們的生活。在百度忙于用戶興趣建模項目的日子里,他不僅是收獲了用戶興趣識別算法,還意識到如果能把這項事情做好,將會改變現在的信息獲取方式,走近一個更智能,更符合用戶需求的互聯網世界。