请问Django怎么做“相关文章”功能?

2013-08-21 15:35:21 +08:00
 click
就是在一文章后面列出与这篇文章关键词(或tag)相同的文章
4329 次点击
所在节点    Django
12 条回复
ritksm
2013-08-21 15:43:39 +08:00
这和django有啥必然关系么
cloverstd
2013-08-21 15:49:40 +08:00
这是数据库吧
相同 tag 的就行了
kchum
2013-08-21 15:51:05 +08:00
没做过,瞎指导.
分词,取主关键字相似度高的。
简单的可以把关键字相同的列出。
kavinyao
2013-08-21 16:25:12 +08:00
简单点可以找出同当前文章关键词或tag重合度比较高的文章,关键词或tag可以人工指定。

复杂点可以利用基于内容或协同过滤的方法进行自动化推荐,建议google 推荐系统。

和用不用django没关系。
NStal
2013-08-21 16:33:53 +08:00
http://www.ruanyifeng.com/blog/2013/03/cosine_similarity.html
ruanyifeng的这篇文章又简单的讲余弦相似性的应用.

http://www.52nlp.cn/%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E4%B8%A4%E4%B8%AA%E6%96%87%E6%A1%A3%E7%9A%84%E7%9B%B8%E4%BC%BC%E5%BA%A6%E4%BA%8C
这篇是针对英文的不过用的手段更多.

数据处理这块一般来说维度越多效果越好.
Ever
2013-08-21 16:50:32 +08:00
click
2013-08-21 23:24:27 +08:00
@ritksm 没必然关系,只是我想用Django做
click
2013-08-21 23:35:15 +08:00
@NStal 太复杂了。我不求它有多准确,只要能找出同当前文章tag重合度比较高的文章。
现在的问题是我不知道tag数据结构如何设计。现在的设计是tag占一个字段和文章放一个数据表。像“tag1,tag2,tag3”当成一条数据。
kk71
2013-08-21 23:39:55 +08:00
一般从标签和分类入手。
楼上有说查找相同的分词……个人觉得太累了。
google推荐系统可以看看
imzoke
2013-08-22 00:40:51 +08:00
@click 可以参考 WordPress 的 tag 数据库设计。
chloerei
2013-08-22 00:45:23 +08:00
楼主不用自己做,可以找搜索引擎的 more like this 功能或者专门的推荐引擎。我没有实际搞过,但知道至少有 Lucene 提供这个功能,楼主需要做的是查一下 python 怎么调用搜索引擎的功能。

http://lucene.apache.org/core/3_0_3/api/contrib-queries/org/apache/lucene/search/similar/MoreLikeThis.html
cloudream
2013-08-24 10:52:40 +08:00
多对多的 文章:tags

然后定时计算两两文章间的相关度分值。

分值计算方法:有相同tag的tag分数求和。

tag分数计算方式:关联文章越多该tag分数越低。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/79751

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX