4. Èçìåðåíèå êà÷åñòâà ïîèñêà
Îöåíêà êà÷åñòâà ïîèñêà - óñðåäíåíèå ìåòðèêè êà÷åñòâà ïî
íàáîðó çàïðîñîâ Q.
M easure(rank f or qi )
Quality(f (q, d)) =
n
qi in Q
Ïðèìåðû ìåòðèê êà÷åñòâà ïîèñêà:
ˆ Precision-10.
×èñëî äîêóìåíòîâ ñ ðåëåâàíòíîñòüþ áîëüøåé 0.5 â
top − 10.
5. Èçìåðåíèå êà÷åñòâà ïîèñêà
Îöåíêà êà÷åñòâà ïîèñêà - óñðåäíåíèå ìåòðèêè êà÷åñòâà ïî
íàáîðó çàïðîñîâ Q.
M easure(rank f or qi )
Quality(f (q, d)) =
n
qi in Q
Ïðèìåðû ìåòðèê êà÷åñòâà ïîèñêà:
ˆ Precision-10.
×èñëî äîêóìåíòîâ ñ ðåëåâàíòíîñòüþ áîëüøåé 0.5 â
top − 10.
6. Ïðèìåðû ìåòðèê
ˆ DCG - Discounted cumulative gain
Nq
rel(qi , dj )
DCG(order f or qi ) = .
1 + log2 j
j=1
ˆ nDCG - normalized Discounted cumulative gain
DCG(rank f or qi )
nDCG(rank f or qi ) = .
DCG(ideal rank f or qi )
7. Ïîñòðîåíèå ôóíêöèè ðàíæèðîâàíèÿ
Äëÿ êàæäîé ïàðû <çàïðîñ, óðë> ðàññ÷èòûâàåòñÿ íàáîð
ôàêòîðîâ ñîîòâåòñâèÿ äîêóìåíòà çàïðîñó
(q, d) → (f actor1 (q, d), .., f actor100500 (q, d)).
ˆ Còàòèñòèêà âñòðå÷àåìîñòè ñëîâ çàïðîñà â òåêñòå
äîêóìåíòà - T R.
ˆ Ñòàòèñòèêà âñòðå÷àåìîcòè ñëîâ çàïðîñà â ññûëêàõ íà
äîêóìåíò - LR.
ˆ Âåñ â ìîäåëè PageRank - P R.
8. Ïîñòðîåíèå ôóíêöèè ðàíæèðîâàíèÿ
Ôóíêöèÿ ðàíæèðîâàíèÿ - ôóíêöèÿ îò íàáîðà ôàêòîðîâ.
Äîêóìåíòû äëÿ çàïðîñà óïîðÿäî÷èâàþòñÿ â ñîîòâåòñòâèè ñî
çíà÷åíèåì ôóíêöèè ðàíæèðîâàíèÿ.
Çàäà÷à ñîñòîèò â ïîñòðîåíèè ôóíêöèè f (q, d) ñ ìàêñèìàëüíûì
çíà÷åíèåì ìåðû êà÷åñòâà
good f (q, d) = arg max(Quality(f (q, d))).
9. Ïîñòðîåíèå ôóíêöèè ðàíæèðîâàíèÿ
Ôóíêöèÿ ðàíæèðîâàíèÿ - ôóíêöèÿ îò íàáîðà ôàêòîðîâ.
Äîêóìåíòû äëÿ çàïðîñà óïîðÿäî÷èâàþòñÿ â ñîîòâåòñòâèè ñî
çíà÷åíèåì ôóíêöèè ðàíæèðîâàíèÿ.
Çàäà÷à ñîñòîèò â ïîñòðîåíèè ôóíêöèè f (q, d) ñ ìàêñèìàëüíûì
çíà÷åíèåì ìåðû êà÷åñòâà
good f (q, d) = arg max(Quality(f (q, d))).
10. Ïðîáëåìû â ïîñòðîåíèè ôóíêöèè ðàíæèðîâàíèÿ
Ôóíêöèÿ f (q, d) - ãëàäêàÿ ôóíêöèÿ íåêîòîðîãî íàáîðà
ïàðàìåòðîâ.
f (q, d) = α1 · P R + α2 · T R · LR...
DCG(...) - ðàçðûâíàÿ ôóíêöèÿ. Ïðèìåíåíèå îáû÷íûõ
ãðàäèåíòíûõ ìåòîäîâ îïòèìèçàöèè íåâîçìîæíî.
Íóæíî ñãëàäèòü ìåòðèêó êà÷åñòâà DCG(...).
11. Ïðîáëåìû â ïîñòðîåíèè ôóíêöèè ðàíæèðîâàíèÿ
Ôóíêöèÿ f (q, d) - ãëàäêàÿ ôóíêöèÿ íåêîòîðîãî íàáîðà
ïàðàìåòðîâ.
f (q, d) = α1 · P R + α2 · T R · LR...
DCG(...) - ðàçðûâíàÿ ôóíêöèÿ. Ïðèìåíåíèå îáû÷íûõ
ãðàäèåíòíûõ ìåòîäîâ îïòèìèçàöèè íåâîçìîæíî.
Íóæíî ñãëàäèòü ìåòðèêó êà÷åñòâà DCG(...).
12. Ñïîñîáû ñãëàæèâàíèÿ
Äëÿ äîêóìåíòîâ çàïðîñà q ðàññ÷èòûâàþòcÿ çíà÷åíèÿ ôóíêöèè
ðàíæèðîâàíèÿ f (q, d)
d1 → f l1 = f (q, d1 ), .., dt → f lt = f (q, dt ).
Ïðåäïîëàãàåòñÿ, ÷òî äàííûå çíà÷åíèÿ (f l1 , .., f lt ) ïîðîæäàþò
âåðîÿòíîñòíîå ðàñïðåäåëåíèå íà âñåõ ïåðåñòàíîâêàõ äîêóìåíòîâ
çàïðîñà St . Ñãëàæåííàÿ ìåòðèêà ðàññ÷èòûâàåòñÿ êàê
ìàòîæäàíèå ìåòðèêè DCG äëÿ äàííîãî ðàñïðåäåëåíèÿ
âåðîÿòíîñòåé;
appDCG = DCG(ord) · P rob(ord|(f l1 , .., f lt ))
ord in St
13. Ôóíêöèè âåðîÿòíîñòåé
Ìîäåëü Luce-Plackett. Àëãîðèòì ListNet-2007.
Âåðîÿòíîñòü íåêîòîðîãî ïîðÿäêà äîêóìåíòîâ (di1 , .., dit )
t−1
f lij
P rob((di1 , .., dit )|(f l1 , .., f lt )) = t
.
j=1 f lik
k=j
Íåäîñòàòêè: â ñóììå t! ñëàãàåìûõ, ÷òî äåëàåò âû÷èñëåíèå çà
ðàçóìíîå âðåìÿ "çàòðóäíèòåëüíûì".
14. Ôóíêöèè âåðîÿòíîñòåé
TieRank-2011. (À. Êóñòàðåâ, È. Ñåãàëîâè÷)
Ïðåäïîëàãàåòñÿ, ÷òî ôèíàëüíûå çíà÷åíèÿ ôóíêöèè
ðàíæèðîâàíèÿ ìîãóò ïðèíèìàòü òîëüêî êîíå÷íûé íàáîð
çíà÷åíèé
0 ≤ a1 < a2 < ..... < am ≤ 1.
Åñëè çíà÷åíèå ôóíêöèè f (q, d) îòëè÷àåòñÿ îò ÷èñåë íàáîðà è
ïîïàäàåò â êàêîé-òî èíòåðâàë ìåæäó íèìè
ai < f (q, d) < ai+1 ,
òî çíà÷åíèå ôóíêöèè ðàíæèðîâàíèÿ äëÿ äîêóìåíòà
ïðèíèìàåòñÿ ðàâíûì ai ñ âåðîÿòíîñòüþ af (q,d) i , è ðàâíûì ai+1
i+1 −a
ai+1 −f (q,d)
ñ âåðîÿòíîñòüþ ai+1 −ai .
15. Ôóíêöèè âåðîÿòíîñòåé
TieRank-2011. (À. Êóñòàðåâ, È. Ñåãàëîâè÷)
Äëÿ äàííîé ìîäåëè â ñóììå
appDCG = DCG(ord) · P rob(ord|(f l1 , .., f lt ))
ord in St
íå áîëåå ÷åì 2t ñëàãàåìûõ, ÷òî ñèëüíî ìåíüøå ÷åì t!.
Ôóíêöèÿ ïîëó÷àåòñÿ íåïðåðûâíàÿ, íî ñ ðàçðûâíîé
ïðîèçâîäíîé. Äëÿ èñïðàâëåíèÿ ýòîãî íåäîñòàòêà èñïîëüçóåòñÿ
kernel ôóíêöèÿ
f (q, d) f (q, d)
φ(x) = 2x3 − 3x2 + 1, →φ .
ai+1 − ai ai+1 − ai