在信息检索 (IR) 中,相关性指的是检索到的文档与用户查询中表达的信息需求的匹配程度。从本质上讲,相关性是衡量实用性的指标:如果文档包含满足用户意图的信息,则该文档被认为是相关的。这通常通过算法来确定,方法是将查询中的术语与文档中的术语进行匹配,但现代系统还会考虑上下文、用户行为和语义含义。例如,搜索“如何重置路由器”应该优先考虑逐步指南,而不是产品列表,即使两者都包含关键字“路由器”。
相关性通常使用诸如布尔模型、向量空间模型或概率模型(例如 BM25)之类的模型进行评估。布尔模型将相关性视为二元结果(文档要么与查询术语匹配,要么不匹配),这对于许多用例来说可能过于僵化。向量空间模型将文档和查询表示为高维空间中的向量,并使用诸如余弦相似度之类的指标来计算相似性。BM25 通过考虑术语频率和文档长度来改进这一点,加权术语以支持查询术语突出显示但不过度显示的文档。例如,在简短的故障排除指南中多次提到“路由器重置”的文档的排名将高于术语稀疏出现的较长手册。
但是,相关性并非纯粹是算法性的。用户上下文起着关键作用。对“Python”的查询可能指的是编程语言、蛇或电影类型,具体取决于用户的历史记录或搜索平台。现代 IR 系统使用诸如查询扩展(添加同义词或相关术语)或分析语义关系的神经检索模型(例如,BERT)之类的技术来解决此歧义。例如,搜索“Python 列表推导式”的开发人员可能需要代码示例,因此系统可能会优先考虑 Stack Overflow 线程而不是 Wikipedia。搜索结果的点击率和停留时间也提供了隐式反馈,从而使系统可以随着时间的推移完善相关性判断。最终,IR 中的相关性在技术精度与对人类意图的理解之间取得了平衡。