11 Часть I. Компоненты 14 Глава Компьютерная



бет138/197
Дата19.03.2022
өлшемі4,29 Mb.
#136225
түріЛитература
1   ...   134   135   136   137   138   139   140   141   ...   197
Байланысты:
nikolaev is mitrenina ov lando tm red prikladnaia i kompiute

Термины/ документы

Doc1

Doc2

Doc3

в

5

2

10

время

5

2

0

мост

0

7

8

петербург

5

15

25

разводка

1

4

0

Судя по этим векторам, документ 2 кажется релевантным, а в осталь- ных двух говорится о чем-то не совсем соответствующем запросу. Прове- рим, увидит ли это наша метрика:



𝑠𝑐o𝑟e(𝑞1,
𝐷o𝑐1) = 1 × 1 + 1 × 0 + 1 × 5
√12 + 12 + 12 × √12 + 02 + 52
≈ 0.679

𝑠𝑐o𝑟e(𝑞 𝐷o𝑐2) = 1 × 4 + 1 × 7 + 1 × 15

≈ 0.881



1,
𝑠𝑐o𝑟e(𝑞1,



√12 + 12 + 12 × √42 + 72 + 152
𝐷o𝑐3) = 1 × 0 + 1 × 8 + 1 × 25
√12 + 12 + 12 × √02 + 82 + 252
≈ 0.726

Все в порядке, второй документ выиграл.


А теперь изменим запрос: q2 = [время разводки мостов в петербурге]. Казалось бы, информационная потребность примерно та же самая и вто-

рой документ снова должен выиграть. (Заметьте, теперь в запросе уже пять терминов и мы все их учитываем.)





𝑠𝑐o𝑟e(𝑞2,


𝐷o𝑐1) = 1 × 5 + 1 × 1 + 1 × 0 + 1 × 5 + 1 × 5
√12 + 12 + 12 + 12 + 12 × √52 + 12 + 02 + 52 + 52

≈ 0.821



𝑠𝑐o𝑟e(𝑞2,


𝐷o𝑐2) = 1 × 2 + 1 × 4 + 1 × 7 + 1 × 2 + 1 × 15
√12 + 12 + 12 + 12 + 12 × √22 + 42 + 72 + 22 + 152

≈ 0.777



𝑠𝑐o𝑟e(𝑞2,


𝐷o𝑐3) = 1 × 0 + 1 × 0 + 1 × 8 + 1 × 25 + 1 × 10
√12 + 12 + 12 + 12 + 12 × √02 + 02 + 82 + 252 + 102

≈ 0.685



Но, как видно, документ 1, почти совсем не релевантный (в нем ни слова про мосты), неожиданно получает наибольший вес. Почему так происходит? Очевидно, потому, что косинус и схожие метрики придают одинаковое значение всем координатам вектора, то есть все термины име- ют равный вес. Но имеет ли это смысл? Кажется, что слова запроса несут неодинаковую смысловую нагрузку. Слово петербурге для поиска гораздо важнее, чем слово в. Кроме того, можно предположить, что в нашем за- просе слово разводка важнее слова мостов, поскольку добавление слова разводка к информационной потребности «петербург + мосты» сужает круг релевантных документов значительно сильнее, чем добавление мос- тов к потребности «петербург + разводка».


Так что хотелось бы внести в расчет релевантности знание о том, что некоторые термины важнее, чем другие. А какие из них важнее? Есть раз- ные способы это смоделировать, самый простой из которых — наблюде- ние, что степень семантического наполнения слова обратно коррелирует с его частотой в языке. Чем более редкое слово, тем больше у него собст- венного значения. Это, конечно, упрощение, зато такую зависимость легко формализовать.
До сих пор мы брали для расчетов просто количество употреблений термина в документе. Эта величина естественно называется частотой термина (term frequency) и обозначается tf. Теперь нужно учесть еще и частоту термина вообще, во всей коллекции. Но давайте пойдем еще дальше и заметим, что в коллекции вполне может попасться документ с аномально высокой частотой некоторого термина. Допустим, кто-то по невнимательности или ради интереса создал страницу, где десять тысяч раз упоминается апатозавр — зверь, живший 150 миллионов лет назад. Это совсем не то же самое, как если бы в коллекции встретилось 5000 до- кументов по два апатозавра в каждом. Последний вариант говорил бы о том, что объект, обозначаемый этим термином, достаточно распространен, чтобы о нем нашлось что сказать в нескольких тысячах документов, а не в

одном. А первый случай может быть просто хулиганством или случайным отклонением. Поэтому вместо суммарной частоты термина во всей кол- лекции лучше брать количество документов коллекции, где этот термин встретился. Этот показатель называется документной частотой (document frequency), df. Чем она выше, тем меньший вес должен получить термин, значит, на нее будем делить. После нескольких манипуляций, выполняе- мых для сглаживания (т. е. чтобы суммарный вес термина падал медлен- нее, чем падает df), получим новую важную величину под названием об- ратная документная частота (inverse document frequency) или idf:


i𝑑ƒ(𝑡) = log 𝑁 ,
𝑑ƒ(𝑡)
где t термин, а N — число документов в коллекции.
Так мы приходим к самой известной схеме взвешивания терминов tf- idf. Она получается, как можно догадаться, перемножением tf и idf:
𝑡ƒ˗i𝑑ƒ(𝑡, 𝑑) = 𝑡ƒ(𝑡, 𝑑) × i𝑑ƒ(𝑡)
Можно проверить, что если все в той же векторной модели мы вместо tf станем брать tf-idf, то ранжирование исправится. Вычисления я опущу, а результат получится такой1:
𝑠𝑐o𝑟e𝑡ƒi𝑑ƒ(𝑞2,𝐷o𝑐1) ≈ 0.745
𝑠𝑐o𝑟e𝑡ƒi𝑑ƒ(𝑞2,𝐷o𝑐2) ≈ 0.809
𝑠𝑐o𝑟e𝑡ƒi𝑑ƒ(𝑞2,𝐷o𝑐3) ≈ 0.617
У функции tf-idf есть много разновидностей: к примеру, кажется странным, что термин, который встретился в документе двадцать раз, дей- ствительно в двадцать раз важнее термина, который встретился лишь од- нажды. Поэтому здесь тоже можно применить сглаживание, допустим, брать вместо tf его логарифм плюс единицу. Про это и про другие вариан- ты нормировки можно прочесть в [Маннинг и др. 2011, с. 143–148].




  1. Достарыңызбен бөлісу:
1   ...   134   135   136   137   138   139   140   141   ...   197




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет