如何在搜索引擎上实现
时间:2010-09-27 来源:盗梦空间
由于毕设做的是个性化推荐,时间一长我对个性化的前景有一些自己的看法。我想个性化不应该仅仅是出现在一些电子商务和社区网站上,用 户在网络上的任何行为都应该记录下来,并进行个性化的服务。而搜索引擎给出的排序结果都来源于大众行为的统计数据,所以对于我们个人而言,往往不是很满意搜索的结果。比如,中科大的学生搜索“科大”这两个字的时候,肯定希望排在首位的中科大,而结果并不一定如此。我想这就是具体的需求。
如何记录用户在网络上的行为呢?我想应该有两个可选择的方向:
其一:把用户信息记录在客户端。
众所周知,cookies可以帮助我们记录登录信息,所以在一次登陆后,即使在关闭网页很长时间后打开网页也能自动登陆,而且我们还可以随时清除所有cookies。我 想个性化的搜索引擎就应该可以利用具有类似cookies功能的东西来实现(后面称作cfcookies)。具体来说,可以做成一个浏览器插件。
个性化推荐里面有一个基于内容的个性化推荐。首先,他们会给用户的偏好建立一个向量;然后比较用户偏好和商品的相似度。我想这个思想就可以借鉴一下。每当用户浏览某个网页的时候,我们就给这个网页的文本内容分词,找出出现频率比较高的词语。然后,把 最后抽取到的那些被认为有用的词就做为cfcookies的一部分。等到用户的cfcookies的积累,就会形成一个可以较为准确反映用户偏好的向量,我们应该就可以较为准确的把握用户的个性化需求了。每当用户需要向搜索引擎发送请求的时候,我们就可以把该用户的cfcookies压缩后也一同发送 或者在本地把cfcookies跟用户请求综合后再发送。(当然,肯定不会改http协议的数据结构)cfcookies同样 也可以 随时删除。我们也可以仿照QQ音乐的列表管理一样,可以把个人资料上传到一个网络硬盘,然 后在任何地方都可以下载到本地。问题到这里应该已经解决的差不多了,但是我想应该还可以再进一步大幅度提高性能。
不知道大家用的是什么输入法?我想十有八九都是类似搜狗或者QQ输入法吧?如果我们随 便输入一个词,哪怕它根本不是一个词组,多输几次。当你下次再输入的时候,这个“词”的推荐优先级就很高了,让我们选择。可见,这些输入法都有很灵敏的“嗅觉”,能很快记忆。这也是符合我们实际需 求的。一个很现实的例子就是我现在用中文输入法输入cfcookies的时候,输入四个字母就会出现在候选字词的第一位了,而这个词是我自创的,呵呵,可以说没有任何实际意义。我想这也是这些输入法受到欢迎的原因之一吧?回到我们的个性化搜索引擎,我们怎样既保证能准确把握用户的个性化需求又能灵敏捕捉用户的一时的兴趣呢?我 想我们可以建立二级cfcookies,一个记录稳定兴趣,一个捕捉一时兴趣。用 一个权重把二者结合起来。
其二:把用户信息记录在服务器。
具体的方式跟上述差不多,只不过是把cfcookies存储在服务器端,同样建立二级cfcookies。具体的我也就不重复了。但是,有人说目前互联网的大趋势是围绕着“云”在做。所以,把用户信息记录在服务器可能会更有前景。
具体跟用户怎么交互呢?因为毕竟目前推荐的精度还有待提高,我们是不是可以把页面分出几列,显示个性化搜索信息,其余页面显示目前搜索引擎显示的信息。