Ранжирування результату пошуку

Лабораторна робота № 3

Пошук інформації в Internet

Мета роботи – опанувати основні принципи роботи з пошуковими серверами. Опанувати метод пошуку інформації з використанням ключових слів.

 

Робота з сервером Яндекс.

Сервер Яндекс має адреси:

http://yandex.ru/

http://www.ya.ru/

Як трактуються слова

Незалежно від того, яка форма слова стоїть в запиті, пошук враховує всі форми за правилами російської мови.

Наприклад, якщо задано запит “идти”, те в результаті пошуку будуть знайдені посилання на документи, що містять слова „идет”, „шел”, „шла” тощо . На запит „окно” буде видана інформація, що містить і слово „окон”, а на запит „отзывали” - документи, що містять слово „отозвали”.

Якщо в запиті слово набране з великої букви, будуть знайдені тільки слова з великої літери, у противному випадку будуть знайдені як слова з великої, так і з маленької літери.

Наприклад, запит „лебедь” знайде й птаха, і генерала. Запит „Лебедь” - генерала й ті випадки згадування птаха, коли вона написана з великої букви.

2. Основні оператори

Декілька набраних у запиті слів, розділених пробілами, означають, що всі вони повинні входити в один абзац шуканого документа. Той же самий ефект зробить вживання символу „&”.

Наприклад, при запиті „холодная вода” (або „холодная & вода”), результатом пошуку буде список документів, у яких в одному абзаці втримуються й слово „холодная”, і слово „вода”.

Між словами можна поставити знак „|” (або кому „,”), щоб знайти документи, що містять будь-яке з цих слів.

Запит виду „вода | огонь” або „вода,огонь” задає пошук документів, що містять в одному абзаці хоча б одне зі слів „вода” або „огонь”.

Ще один знак, тильда „~”, дозволить знайти документи з абзацом, що містить перше слово, але не містять друге.

По запиті „холодный ~ горячий” будуть знайдені всі документи, що містять слово „холодний”, поруч із яким (у межах абзацу) немає слова „горячий”.

Щоб здійнятися на сходинку вище, від рівня абзацу до рівня документа, треба подвоїти відповідний знак. Одинарний оператор (&, ~) шукає в межах абзацу, подвійний (&&, ~~) - у межах документа.

Наприклад, по запиті „холодная && вода” будуть знайдені документи, що містять будь-де обоє ці слова. А запит „квас ~~ теплый” видасть всі документи зі словом „квас”, але без слова „теплый”

3. Пошук з відстанню

Як Яndex адресує слова? Якщо всі слова в тексті перенумерувати, то відстань між словами a й b - це різниця між номерами слів a й b. Таким чином, відстань між сусідніми словами дорівнює 1 (а не 0), а відстань між сусідніми словами, що стоять "не в тому порядку", дорівнює -1. Те ж саме стосується й абзаців. Якщо між двома словами поставлений знак „/”, за яким відразу надруковане число, виходить, потрібно, щоб відстань між ними не перевищувало цього числа слів.

Наприклад, по запиті „холодная /2 вода” повинні бути знайдені документи, у яких містяться й слово „холодная” і слово „вода”, причому відстань між ними повинне бути не більше двох слів і вони повинні перебувати в одному абзаці.

Якщо порядок слів і відстань точно відомі, можна скористатися пунктуацією /+n. Так, наприклад, задається пошук слів, що стоять підряд.

Запит „холодная /+1 вода” означає, що слово „вода” повинне випливати безпосередньо за словом „холодная”. (До речі, до того ж результату приведе запит "холодная вода")

У загальному виді обмеження по відстані задається за допомогою пунктуації виду „/(n m)”, де „n” мінімальне, а „m” максимально припустима відстань. Звідси запис „/n” еквівалентний „/(-n +n)”, а запис „/+n” еквівалентний „/(+n +n)”.

Запит „холодная /(-2 4) вода” означає, що „вода” повинна перебувати від „холодная” в інтервалі відстаней від 2 слів ліворуч до 4 слів праворуч.

Знаки можна комбінувати з обмеженням відстані.

Наприклад, результатом пошуку по запиті „холодная ~ /+1 вода” будуть документи, що містять слово „холодна”, причому в цих документах слово „вода” не стоїть безпосередньо за словом „холодная”.

Коли знаки обмеження по відстані стоять після подвійних операторів, то вжиті там числа - це відстань не в словах, а в абзацах. Відстань в абзацах визначається аналогічно відстані в словах.

Запит „холодная && /1 вода” означає, що слово „вода” повинне перебувати в тому ж самому, або в сусідньому зі словом „холодная” абзаці.

4. Круглі дужки

Замість одного слова в запиті можна підставити цілий вираз. Для цього його треба взяти в дужки.

Наприклад, запит „(холодная,горячая) /+1 (вода|огонь)” задає пошук документів, які містять кожну із фраз „холодная вода”, „холодный огонь”, „горячая вода”, „горячий огонь”.

Пошук у певних елементах

Можна шукати інформацію у двох "зонах" - заголовках (ім”я "зони": Title) і посиланнях (ім”я "зони": A).

Синтаксис: $ім”я_зони логічний_множник

Запит „$Title Комптек” шукає в заголовках документів слово „Комптек”. Запит „ $A (Комптек | Dialogic)” знаходить документи, в посиланнях усередині яких є одне зі слів „Комптек” або „Dialogic”.

Пошук у знайденому

Поставивши в пошуковому рядку „$$” можна обмежити область пошуку - здійснювати його не по всіх документах, а тільки по тим, які були знайдені в попередньому пошуку. Оператор дозволяє послідовно звужувати область пошуку (при дуже вузькому пошуку є небезпека не знайти жодного релевантного документа).

Запит „$Title Комптек $$ „ знайде ті документи з останнього результату пошуку, у яких у заголовку є слово «Комптек».

Ранжирування результату пошуку

При пошуку для кожного знайденого документа Яндекс обчислює величину релевантности (відповідності) змісту цього документа пошуковому запиту. Список знайдених документів перед видачею користувачеві сортується по цій величині в порядку убування. Релевантность документа залежить від ряду факторів, у тому числі від частотних характеристик шуканих слів, ваги слова або виразу, близькості шуканих слів у тексті документа одне до одного тощо.

Користувач може вплинути на порядок сортування, використовуючи оператори ваги й уточнення запиту. Завдання ваги слова або вираження застосовується для того, щоб збільшити релевантность документів, що містять "зважене" вираження.

Синтаксис: слово:число або (пошуковий_вираз):число

По запиті „поисковые механизмы:5” будуть знайдені ті ж документи, що й по запиті „поисковые механизмы”. Різниця полягає в тому, що нагорі списку знайденого виявляться документи, де частіше зустрічається саме слово „механізмы”. Запит „поисковые (механизмы|машины|аппараты):5 „ рівнозначний запиту „поисковые (механізмы:5|машины:5|аппараты:5) „.

Завдання уточнюючого слова або виразу застосовується для того, щоб збільшити релеватность документів, що містять уточнюючий вираз.

Синтаксис: <- слово або <- (уточнюючий_вираз)

По запиті „компьютер <- телефон „ будуть знайдені всі документи, що містять слово „компьютер”, при цьому першими будуть видані документи, що містять слово „телефон” . Якщо в жодному документі зі словом „компьютер” немає слова „телефон”, результат запиту буде еквівалентний запиту „компьютер”.

 

Цей сервер добрі обробляе запити, що складенi як з використанням латиниці так і кiрилицi.

 

Синтаксис Що означає оператор Приклад запиту
пробіл або & логічне И (у межах абзацу) лечебная физкультура
&& логічне И (у межах документа) рецепты && (плавленый сыр)
| логічне АБО фото | фотография | снимок | фотоизображение
+ обов”язкова наявність слова в знайденому документі (працює також у застосуванні до стоп-слів) +быть или +не быть
( ) групування слів (технология | изготовление) (сыра | творога)
~ бінарний оператор І НЕ (у межах абзацу) банки ~ закон
~~ або - бінарний оператор І НЕ (у межах документа) путеводитель по парижу ~~ (агентство | тур)
/(n m) відстань у словах (-назад +уперед) поставщики /2 кофе музыкальное /(-2 4) образование вакансии ~ /+1 студентов
" " пошук фрази "красная шапочка" (эквивалентно красная /+1 шапочка)
&&/(n m) відстань у абзацах (-назад +уперед) банк && /1 налоги

 

Пошук в елементах

Синтаксис Що означає оператор Приклад запиту
$title (вираження) пошук у заголовку $title (CompTek)
$anchor (вираження) пошук у тексті посилань $anchor (CompTek | Dialogic)
#keywords=(вираження) пошук у ключових словах #keywords=(поисковая система)
#abstract=(вираження) пошук в описі #abstract=(искалка | поиск)
#image="значення" пошук файлу зображення #image="tort*"
#hint=(вираження) пошук у підписах до зображень #hint=(lenin | ленин)
#url="значення" пошук на заданому сайті (сторінці) #url="www.comptek.ru*"
#link="значення" пошук посилань на заданий URL #link="www.yandex.ru*"