1. 项目背景与核心价值
在大型语言模型(LLM)的应用场景中,查询(Query)与文档(Document)的相关性判断质量直接影响搜索、推荐等系统的最终效果。传统基于关键词匹配的方法难以捕捉语义层面的关联,而密集向量(Dense Vectors)表示通过将文本映射到低维连续空间,能够更好地建模语义相似性。这个项目聚焦于分析LLM在基于密集向量进行相关性判断时可能存在的偏见(Bias),对于提升搜索质量、构建公平的推荐系统具有重要实践意义。
我在实际构建语义搜索系统时发现,即使使用相同的向量编码模型,不同领域的查询-文档对在相关性打分上会表现出系统性偏差。例如科技类内容的匹配分数普遍比生活类内容高15%-20%,这显然会影响跨领域检索的公平性。本项目正是要量化分析这类现象,并探索可行的缓解方案。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 密集向量生成方案
当前主流的文本向量化方案可分为三类:
- 独立编码器架构:如Sentence-BERT,将Query和Document分别编码后计算余弦相似度
- 交叉编码器架构:如ColBERT,保留token级交互能力但计算成本较高
- 大模型内生产式架构:如GPT-Embedding,利用LLM的隐层表示作为向量
经过对比测试,我们最终选择Sentence-BERT的all-mpnet-base-v2模型作为基线,因其在MTEB基准测试中表现均衡且推理效率高。关键参数配置如下:
python复制from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-mpnet-base-v2')
query_vec = model.encode("量子计算原理", convert_to_tensor=True)
doc_vec = model.encode("详解量子比特的叠加态特性", convert_to_tensor=True)
similarity = util.cos_sim(query_vec, doc_vec)
2.2 偏见分析指标体系
我们设计了多维度评估指标来系统检测偏差:
| 偏差类型 | 检测方法 | 评估指标 |
|-----
