![]() | 1 tioover 2012-05-30 22:11:27 +08:00 可能没有看懂……而且我是小小 可不可以这样,keyword单独列个表,关联object和item,在item加入的时候就将关联写入keyword表? |
![]() | 2 Ariagle OP 刚才在推上收获了一个方法:将 keyword 当作字典,对 title 进行分词,然后就能反向去搜索 object 的 keyword 了。感谢 @zhoushuqun 。 @tioover 楼顶的问题就是在于没法根据 item 来找到 item 和 keyword 的对应关系,所以当有新 item 加入时就不知怎么去操作 keyword 表了。 |
![]() | 3 tioover 2012-05-30 22:21:51 +08:00 @Ariagle 唔这样啊……或许可以把所有keyword放在内存里面然后在新item加入以后一个一个试着匹配? 不过还是分词的方法好点吧 |
![]() | 4 Ariagle OP @tioover 嗯,你这个实质上就是楼顶的方法,有新 item 时就一个个地轮 object (即 keyword ),匹配的话就写入关系表。不过效率很低就是了… |
![]() | 5 benzhe 2012-05-30 22:35:20 +08:00 tilte 分词入一个新表,并建立跟 item 的关系,同时也建立 tilte 跟 keyword 的关系,应该可以这样吧。 其实最好把原来的数据表贴出来再研究 |
![]() | 6 Ariagle OP 说白了就是萌否的“条目-资源”问题 http://moefou.rg/tv/1206/resources 现在只能通过 用户->条目->资源 这种方向来给用户显示内容,应该属于“拉”模式,而这种方法目前遇到了不少瓶颈。 若要改成 资源->条目->用户 这种“推”模式,就面临楼顶提到的问题了。 |
![]() | 7 road2stat 2012-05-30 23:11:49 +08:00 一个简单的想法是,对 title 分词,然后利用快速 k-NN 算法计算 title 的分词结果与各 item 的 keyword 向量之间的余弦距离,得到排序结果。 这样比暴力匹配可能更精细一些,速度不会太慢,也可以得到双向的关系。不过如果数据比较稀疏,可能准确率会受到影响。 |
![]() | 8 Ariagle OP @road2stat 应该用不着这样计算相似度了吧,只要分词结果和 keyword 完全匹配,就可认定关系了。分词完后使用 sphinx 之类的搜索引擎应该就能比较快地找到结果。 |
![]() | 9 road2stat 2012-05-31 02:50:58 +08:00 嗯,分词基本上是最大的问题,之后的处理比较自由。 |