这个模型主要是基于高中所学的空间向量,只不过由三维可能扩展成了超维空间
话不多说,直接上图:
假如我们有这样一个需求,搜索关键词然后根据相关性进行排序,比如有这样三个关键词:

我们分别给这三个关键词设置权重,假设管理员设置一个默认的权重(在真实情况这权重肯定比这复杂)
| 关键词 | |
| 女人 | 8 |
| 喜欢 | 3 |
| 什么 | 5 |
假设我们有4个网页,如何在用户进行搜索这3个关键词的时候,将这4个网页进行排序
网页1里根据里面的文字中关键词出现频率,其权重如下:
| 关键词 | |
| 女人 | 5.4 |
| 喜欢 | 6.6 |
| 什么 | 8.8 |
网页2:
| 关键词 | |
| 女人 | 8.3 |
| 喜欢 | 3 |
| 什么 | 4 |
网页3:
| 关键词 | |
| 女人 | 2 |
| 喜欢 | 5.3 |
| 什么 | 8.8 |
网页4:
| 关键词 | |
| 女人 | 2 |
| 喜欢 | 3 |
| 什么 | 4 |
我们可以给出一个形象的三维图:

我们可以清晰地看到,这4个网页,与默认的那个向量存在着夹角,可以使用余弦夹角公式计算:

这样就可以计算出每个网页的值,也就作为打分公式,值越接近1说明,与默认的那个相关性最强,这就可以进行排序了
| 网页 | 得分 |
| 网页1 | 0.882 |
| 网页2 | 0.804 |
| 网页3 | 0.592 |
| 网页4 | 0.682 |
上面选择3个特征是为了方便画图,毕竟4维我们是没法进行画图的,也就是超维的情况可以进行类推
当然现实中的网页排序比这个复杂很多,但是基本思想就是如此

被折叠的 条评论
为什么被折叠?



