有监督下垂直搜索引擎排序算法的设计思路2011-09-30 博客园 xiaotie本文是很久之前写的,刚才翻硬盘翻到了,现在放出来。这只是一个形式化思路,暂时没时间去实现 ,我简单验证过这个形式化过程,暂时还没发现问题,但不保证这个过程没有问题。如果您发现了问题, 还请指正,谢谢!垂直搜索领域目前没有通用的判断排序结果优劣的标准,为此引入监督者这一角色,希望设计算法, 使该算法对搜索引擎的排序结果尽量接近监督者的排序结果。引入1位专家作为监督者S。S选择关键词K。输入K,检索得到M条结果,然后在M条结果中随机选择N个 结果,得到序列S
R={R
0,R
1,……,R
n-1}。S根据经验,对这N个结果进行排序。得到序列S
S={……,S
i,j,…… },其中 ,S
i,j的脚标i代表S
i,j在源序列S
R中的位置,j代表序列 S
i,j在S
S中的位置。如S
4,2代表这个任务在源序列对应为 R
4,在新序列S
S中排第3(脚标是2,但因为元素脚标是从0起始的,因此排第3位 。)。定义函数 Φ
S(R
j)为R
j在序列S
S中的的位置。假设 序列S
S={S
5,0, S
2,1,……,S
74,312},则有 Φ
S(R
5)=0; Φ
S(R
2)=1; Φ
S (R
74)=312;令X是一种排序算法,X对序列S
R排序得到序列S
X。Φ
X (R
j)为R
j在序列S
X中的位置。令(R
m,R
n)为S
R中不同元素的组合序列。这些序列组成集合:C = {(R
m,R
n)| m≠n , R
m∈S
R,R
n∈ S
R }。令Ω
X(R
m,R
n)= -sign(Φ
X(R
m)- Φ
X(R
n))。其中,

Ω
X(R
m,R
n) >0,意味着排序算法X将R
m排在 R
n的前面。令E
X,S,R是C中X排序结果和S排序结果不一致的序列的集合:E
X,S,R= {(R
m,R
n)| (R
m,R
n) ∈C, Ω
X(R
m,R
n) ≠ Ω
S(R
m,R
n)} 。令λ
(Rm,Rn)是X排序结果和S排序结果不一致的代价函数,采用以下的代价函数:λ
(Rm,Rn)=|m-n|令总代价 Λ(E
X,S,R) =Σλ
(Rm,Rn),(R
m,R
n) ∈ E
X,S,R