在搜索框里输入准确的查询信息,就可以得到想要的答案,但如果让搜索引擎更了解你,理解一个模糊的诉求,把属于你个人的个性化搜索结果适时推送给你,可就不那么简单了。
用户在搜索框里输入“好看的电影”,绝不仅仅是希望看到一系列人人都想的到的热映大片,如果用户是一个小清新,就会希望搜索引擎把《蓝色夏恋》《夏天的尾巴》《虹的女神》这些并不是很主流但却符合用户兴趣的电影推荐给自己。理解一个人想要什么,对什么感兴趣,是一件非常智能的事,而对搜索引擎来说,这并不是不可能的。我们可以通过用户的搜索记录,来了解他的性别,年龄,身份,职业,喜欢看的书,喜欢登陆的网站,喜欢浏览的论坛,和感兴趣的社会事件及话题。
百度校园在收集一线工程师技术问题的时候发现了这个挑战,如何让搜索引擎准确理解用户的兴趣,是让搜索结果更贴心的关键。而这最终带来了IT主题研究项目的一项惊喜突破:用户兴趣建模算法。
通过整合用户多方面信息来了解用户,并形成一套算法,被称之为“用户兴趣建模”。南京大学的陈虎作为参与百度校园主题研究项目的学生接受了这个挑战,他获得了在百度实习的机会,这期间的任务就是他要让搜索引擎了解用户的兴趣,理解用户的需求。“现在在百度里面搜“好看的电影”,《这个杀手不太冷》,《海豚湾》,《十二怒汉》,《天堂电影院》这4部。百度搜索结果之所以展现这四部电影,是因为它们在hao123里面的好评数最高。然而不同的用户有不一样的爱好,好评数最高的电影未必就能吸引所有的用户。如果有了用户的兴趣信息,就可以根据当前用户的特点展现合适的结果,比如我喜欢周星驰的电影,那么我搜“好看的电影”的时候给我展现《大话西游》等,我会觉得这个结果很赞;而如果另一个喜欢科幻电影的同学同样搜“好看的电影”,得到了《变形金刚》的结果,就是一件很神奇的事情。”陈虎说,虽然文字是一种有限的表达形式,“好看”这种模糊的词不是一种准确的描述,但如果百度可以从现象看到本质,明白不同用户眼中的好看代表不同的意义,从而有针对性地展现合适的结果,就会带来一种更加智能化的用户体验。
为了让机器理解人的兴趣,陈虎的第一项工作就是积累一个完整的数据库。“这个数据库要包含尽可能多的电影,电视剧,游戏,小说,明星等等,在实习的前一个月,我把时间花在这个数据库的建设之中。”大部分的数据都通过一些权威网站来抓取,建立一个尽可能完整的库。陈虎接下来的第二个工作就是要基于检索的框架来甄别用户搜索的目标。“想看《爱情公寓3》的人很可能在框里输入的是‘爱3’,这种表达上的不一致导致简单的文字匹配不能满足要求。我接手之前的做法是自动扩展数据库中电影电视剧的表达方式,使得数据库的表达尽量涵盖用户的习惯。这个做法在电影电视剧中应用的比较成功,但是在化妆品和汽车等类别上实验失败,原因一是汽车和化妆品的完整名称很长,无法有效的进行表达扩展,二是用户一般不搜具体某个汽车或化妆品,而搜车系和化妆品功效的情况较多。”陈虎调整了新的框架,完善了算法,比如用户搜化妆品的时候只搜美白、减肥时,搜索引擎也能识别出这部分的信息。接下来的工作就是增加新的类别(游戏、体育、彩票、星座、手机、电脑、小说、宾馆、旅游城市等),在增加的过程中不断调整框架。随着数据量的增加,算法的性能要求不断增加。
百度自然语言处理部的李大任是陈虎的导师,他给了陈虎不少启发。“减少空间开销,提高执行速度,需要运用多种方法,经过共同的努力,我们最后将空间开销降低到原来的40%,执行速度提高到原来的10倍,顺利完成了大数据量的执行。这让算法的性能得以保证。”
在学校跟随导师学习时,陈虎就发现自己对研究没有兴趣,而是热衷于通过动手做程序,改变人们的生活。在百度忙于用户兴趣建模项目的日子里,他不仅是收获了用户兴趣识别算法,还意识到如果能把这项事情做好,将会改变现在的信息获取方式,走近一个更智能,更符合用户需求的互联网世界。