要测量两个文档之间的相似度,可以使用例如 TF-IDF/余弦相似度。假设在计算与Doc A文档列表 ( Doc B, Doc C,...) 的相似度得分后,我们得到:
| 文件对 | 相似度得分 |
|---|---|
| 文档 A 与文档 B | 0.45 |
| 文档 A 与文档 C | 0.30 |
| 文档 A 与... | ... |
当然,Doc B就相似性而言,似乎是最接近的,对于Doc A. 但是,如果用户作为人类认为Doc C 应该被选为最接近的呢?也就是说,我们如何考虑用户偏好,以便稍后如果用户再次运行算法,得分Doc A vs. Doc C将高于Doc A vs. Doc B?简单来说,除了计算 TF-IDF/余弦相似度外,该算法还考虑了用户的选择历史,并提出最Doc满足特定用户的选择。
除了 TF-IDF/余弦相似度之外,我对任何技术都持开放态度。如果还有一些现成的实现,例如在 Python 中,那就太好了。