24、学习用于排序的密集表示

学习用于排序的密集表示

1. 问题提出与概念统一

在文本排序中,查询和语料库文本存在长度、语言规范性等明显差异,是否应该为查询和文本分别使用不同的编码器($\phi_q(\cdot)$ 和 $\phi_d(\cdot)$ )是一个值得探讨的问题。不同模型在这方面有不同选择。

同时,将语义等价、释义、蕴含等句子相似度任务概念化为排序问题是有意义的。例如在社区问答应用中,需要计算问题与用户查询的“释义接近度”排名。虽然有些应用(如判断两个句子是否为释义关系)看似不适合排序表述,但操作上,排序和这些任务都是估计概率(如 $P(Paraphrase = 1|s_1, s_2) \approx \phi(\phi(s_1), \phi(s_2))$ ),区别仅在于估计的对数不同。在问题表述中,排序就是对一组候选对象进行概率估计,然后按估计概率排序。

2. 最近邻搜索

使用密集表示进行排序时,解决最近邻搜索问题是重要的实现细节。在密集检索问题中,假设存在语料库 $C = {d_i}$ ,可以提前为所有 $d_i$ 预计算 $\phi_d(\cdot)$ 的输出(记为 $\phi_i$ ),虽然计算量可能较大,但可并行处理。而 $\phi_q(q)$ (记为 $\phi_q$ )需在查询时计算。

排序问题就是找到与 $\phi_q$ 最相似的前 $k$ 个 $\phi_i$ 向量。当 $\phi$ 用内积或其他简单度量定义时,这就是最近邻搜索问题。
- 简单解决方案 :扫描所有 $\phi_i$ 向量,暴力计算 $\phi(\phi_q, \phi_i)$ ,将前 $k$ 个 $\phi_i$ 存储在堆

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值