Пошук
Майже кожна робота з інформацією починається з пошуку. Чотири фільми показують, звідки пошукова система бере сторінки, як вибирає перші десять, що робить асистент, коли шукає за вас, і де лежать дані, яких пошук не бачить.
Після кожного фільму є вправа. Довший текст і файли в текстовій версії.
Частина 1 · близько 3 хвПавуки читають мережу
Усе, що лежить у відкритій мережі, спершу читають програми, а вже потім люди. Фільм показує, як ці програми працюють, що вони зберігають і що насправді закриває від них сторінку.
Спробуй
Маленький інтернет
Девʼять сторінок вигаданої юридичної фірми. Запусти павука з головної сторінки, а потім пошукай у тому, що він зібрав.
Частина 2 · близько 3 хвПошук шукає в індексі
Між запитом і першою десяткою результатів пошукова система робить кілька кроків. Від них залежить, що ви побачите і чому «не знайдено» ще не означає, що документа немає.
Спробуй
Знайди рішення
Колекція з дванадцяти вигаданих коротких рішень. Задача: знайти всі рішення про розірвання договору оренди через несплату. Пиши запит з операторами І, АБО, НЕ, дужками і лапками.
Частина 3 · близько 5 хвПошук моделлю і межі для ботів
Асистент із вебпошуком не знає відповіді заздалегідь: він шукає, відкриває кілька сторінок і переказує їх. Фільм показує цей шлях і місця, куди асистент не дістається.
Частина 4 · близько 5 хвЯкі бувають дані і як до них дістатись
Не всі дані знаходяться пошуком. Частина лежить у реєстрах, частина за підпискою, частина закрита законом. Фільм розкладає їх на шари і показує шлях до кожного.
Спробуй
Який маршрут
Перевір себе
Текстом
Те саме, що у фільмах: кожен кадр і його текст. Текст можна скопіювати і дати своєму асистентові разом із власним питанням.
Павуки читають мережу
Щоб пошук міг щось знайти, хтось має спершу це прочитати. Відкриту мережу читають програми, які називають павуками, або краулерами. Павук відкриває сторінку так само, як браузер, і читає все, що там є: текст, телефони, адреси, посилання. Копію прочитаного він зберігає.
Далі павук іде туди, куди ведуть посилання. Кожне посилання на сторінці означає нову адресу; адреси стають у чергу, і на кожну вирушає ще один павук. Ті знаходять нові посилання, і черга росте. Так, від посилання до посилання, і обходять мережу.
Один павук запускає другого, ті двоє - ще двох. Після шести таких подвоєнь шістдесят чотири павуки читають дванадцять сторінок одночасно, слово за словом. Справжні системи тримають тисячі павуків, і працюють вони цілодобово. Тому мережу вдається перечитувати знову і знову, а не один раз.
Проте до частини сторінок павуки не доходять, і це перша причина, чому пошук знаходить не все. Власник сайту може попросити павуків не заходити в розділ: для цього є файл robots.txt, і зважають на нього лише сумлінні павуки. Може додати позначку noindex, щоб сторінку не показували у видачі. А сторінку за паролем павук не прочитає взагалі.
Усе, що павуки таки прочитали, треба зробити придатним для пошуку. Шукати запит у мільярдах копій було б надто довго, тому їх заздалегідь розбирають на слова і складають індекс. Він схожий на покажчик у кінці книжки: навпроти слова стоїть перелік сторінок, де воно трапляється. Індекс лишається знімком: сторінку він показує такою, якою павук бачив її востаннє.
Коли ви вводите запит, жоден павук нікуди не вирушає: система шукає слова в готовому індексі. Це пояснює і швидкість пошуку, і його межу. Пошук, а разом із ним і асистент, який шукає за вас, бачить лише те, що павуки прочитали і що потрапило в індекс. Кабінет за паролем чи запис у реєстрі, який відкривається через форму, туди не потрапляють.
У цього є і зворотний бік. Усе, що опубліковано відкрито, павуки прочитають, і копії опиняться в індексі пошукової системи, у вебархіві, у чиїйсь базі. Якщо допис потім видалити, копії можуть лишитися. Тож опубліковане без входу варто вважати прочитаним і збереженим.
Пошук шукає в індексі
Пошукова система не обходить інтернет у момент, коли ви вводите запит: на це пішли б години. Сторінки вона збирає заздалегідь. Цим зайнята програма, яку називають павуком: вона відкриває сторінку, зберігає копію і переходить за посиланнями далі. Нові адреси павук дізнається з посилань або з карти сайту, яку подає власник. Сторінку, на яку ніщо не посилається і якої немає в карті, він зазвичай оминає.
Збережені копії розбирають на слова. Кожне слово зводять до початкової форми, щоб запит «договір» знаходив і «договору», і «договором». Із цих слів складають індекс, влаштований як покажчик у кінці книги: навпроти слова стоїть перелік сторінок, де воно трапляється. Тому пошук такий швидкий: система не перечитує сторінки, а дивиться в готовий покажчик. Свіжих змін на сайті в ньому може ще не бути.
Запит «розірвання договору оренди» система розкладає на три слова і кожне шукає в індексі. Сторінки, де трапилося хоча б одне з них, стають кандидатами. На третій сторінці є всі три слова, на першій два, на четвертій одне, а друга, з новинами суду, до списку не потрапляє. Порядку серед кандидатів на цьому кроці ще немає.
Кандидатів буває тисячі, і їх треба розставити за порядком. Система зважує сигнали, тобто ознаки, які можна порахувати: слова запиту в заголовку, посилання з інших сайтів, дата оновлення, місце і мова того, хто шукає. Тому сторінка з усіма словами запиту не обовʼязково перша: тут її випереджає зразок договору, на який посилаються частіше. Перша десятка відбиває цей порядок, а не правдивість написаного.
Поза індексом лишаються сторінки за паролем, бази на зразок реєстру судових рішень, де результат дає лише форма пошуку, сторінки з позначкою noindex і нові, до яких павук ще не дійшов. Заборона в robots.txt ховає від павука текст, але адреса може зʼявитися у видачі. Скани Google іноді розпізнає сам, проте з помилками, тож на пошук по скану покладатися не варто.
Напис «нічого не знайдено» стосується лише цього індексу: у ньому немає сторінок, які відповідають запиту. Сам документ при цьому може існувати, наприклад у базі, куди павук не заходить. У такому разі запит формулюють іншими словами, пробують іншу пошукову систему або шукають через форму самої бази чи реєстру.
Коли кандидатів забагато, запит уточнюють операторами, тобто службовими позначками, які пошукова система розуміє як команди. Лапки залишають сторінки з точною фразою, мінус перед словом прибирає сторінки, де воно є, site: обмежує пошук одним сайтом, а filetype:pdf залишає лише файли PDF. У прикладі із сорока кандидатів після чотирьох операторів лишається три, і переглянути їх уже можна вручну.
Пошук моделлю і межі для ботів
Людина питає асистента про свіже: судову практику за останні пів року, зміну в законі, вчорашню новину. На екрані зʼявляється напис «шукаю в інтернеті», і за пів хвилини приходить відповідь із посиланнями. Фільм показує, що відбувається за ці пів хвилини: хто саме шукає, які сторінки асистент читає і яких не бачить зовсім. Знаючи це, легше вирішити, що у відповіді перевірити самому.
Відповідь асистента складає мовна модель. Вона знає лише те, що було в текстах, на яких її навчали, і ці знання закінчуються датою навчання. Постанов, ухвалених пізніше, у ній немає, тож на питання про практику Верховного Суду за останні пів року вона сама відповісти не може. Усе новіше асистент бере ззовні, і відповідь залежить від того, що йому вдасться знайти.
Ззовні модель сама нічого не дістане: до інтернету вона не підключена, вона лише приймає текст і повертає текст. У щоденній роботі цього майже не видно, бо асистентові дають інструменти, тобто окремі програми, які він може викликати: пошук, відкриття сторінки за адресою, читання файла. Коли асистент «шукає», працює інструмент, а модель отримує від нього готовий текст.
Інструмент пошуку - це, по суті, звичайна пошукова система, тільки запити в неї вводить не людина, а асистент. З питання він складає кілька запитів і отримує список посилань, до кожного уривок на один-два рядки. Самих сторінок модель на цьому кроці ще не читала. Про зміст вона судить за адресою й уривком і за ними вирішує, що відкривати.
Із пʼяти посилань асистент відкриває три: другий інструмент завантажує ці сторінки і кладе їхній текст у контекстне вікно, тобто в робочу памʼять моделі на час розмови. Модель складає відповідь із цього тексту, а номери в дужках показують, з якої сторінки вона взяла твердження. Сторінки, які до вікна не потрапили, на відповідь не впливають, хоч би що в них було написано.
Проте відкрити вдається не кожну сторінку. Інструмент заходить на сайт як відвідувач без облікового запису, тож усе, що видно лише після входу, для нього закрите: пошта, банківський кабінет, робочий диск, закрита група. Платні видання і журнали зазвичай показують йому заголовок і перший абзац. Реєстри, де результат зʼявляється після запиту у формі, здебільшого теж його не пропускають.
Що саме сайт закриває, залежить від того, чим він дорожить. Банки й лікарні бережуть персональні дані клієнтів і пацієнтів, бо цього вимагає закон. Видавці й платні бази бережуть текст, бо продають доступ до нього. Соцмережі й маркетплейси здебільшого обмежують автоматичне читання, щоб їхній вміст не копіювали масово. Державні реєстри часто ставлять перевірку «я не робот», щоб витримати навантаження.
Засобів для цього кілька. У файлі robots.txt власник сайту пише, куди програмам заходити не слід; це прохання, а не замок. Ліміт запитів зупиняє того, хто звертається надто часто, а CAPTCHA, перевірка «я не робот», відрізняє людину від програми. Є ще умови використання, які забороняють автоматичний збір, і платний доступ. Тому ту саму адресу людина в браузері відкриває, а інструмент отримує відмову.
Про все, чого інструмент не відкрив, відповідь зазвичай мовчить. У ній є посилання і впевнений тон, тому вона здається повною. Проте модель склала її лише з кількох сторінок, які вдалося прочитати, а закриті сторінки, платні тексти, реєстри й зовсім нові публікації в неї не потрапили. За самою відповіддю цього не видно: переліку того, що лишилося поза пошуком, асистент зазвичай не наводить.
До закритих даних асистент дістається лише тоді, коли йому дають окремий вхід. Пошту, диск або базу даних підключають через API, тобто вхід, зроблений не для людей, а для програм. Підключення дозволяєте ви самі, і відтоді асистент читає від вашого імені та бачить рівно те, що дозволено вашому обліковому запису. Без такого підключення цих даних для нього не існує.
У роботі ці засоби поєднують. Модель допомагає скласти план і чернетку, але може помилитися. Пошук знаходить відкриті джерела, хоча й не всі. Підключена база або реєстр дає точні записи, проте без висновків. Останній крок лишається за людиною: джерело, на яке спирається висновок, вона відкриває і читає сама, а про закриті джерела памʼятає, що асистент їх не бачив.
Які бувають дані і як до них дістатись
Дані, потрібні для роботи, лежать у різних місцях: на відкритому сайті, у вашій пошті, у системі компанії, а дещо взагалі ніде не опубліковане. Шлях до кожного місця свій, і пошукова система веде лише до невеликої частини. Мапа розкладає ці місця на вісім шарів, від найвідкритішого до найзакритішого. Наприкінці про будь-які дані можна буде сказати, у якому шарі вони лежать і як до них дістатися.
Верхній шар - відкрита мережа: сайти компаній і установ, новини, блоги, форуми, енциклопедії. Пошукова система заздалегідь обходить такі сторінки за посиланнями і заносить їх до індексу, тобто до свого покажчика слів і сторінок. Тому сюди веде звичайний запит словами. Це єдиний шар, який пошукова система бачить майже повністю, і через це здається, ніби в ній є все.
Другий шар теж відкритий, але лежить не сторінками, а наборами: державні дані, статистика, погода, карти. Набір завантажують файлом-таблицею або беруть через API, тобто окремий вхід, яким по дані приходять програми, а не люди. Пошукова система зазвичай бачить сторінку з описом набору, проте не рядки у файлі. Тому окремий запис через неї не знайти: набір спершу завантажують і шукають уже в ньому.
Третій шар лежить уже нижче межі, до якої дістає пошукова система. Це бази, що відповідають лише на запит у власній формі: реєстри компаній і судових рішень, розклади, каталоги бібліотек, патенти. Сторінка з результатом виникає в момент запиту, тож заздалегідь обійти її неможливо. Окремі записи трапляються у видачі, але пошук через пошукову систему тут неповний. Шукають у формі самої бази або через її API.
Четвертий шар відкривається за гроші: наукові журнали, платна преса, галузеві й ринкові бази. Назву й короткий опис статті часто видно всім, а повний текст відкривається лише після входу в обліковий запис із чинною підпискою. Пошукова система й асистент без такого входу бачать тільки цю вітрину. Підписку нерідко вже має організація чи бібліотека, тож перед оплатою варто спитати там.
Пʼятий шар складають ваші власні облікові записи: пошта, месенджери, хмарний диск, банк, медична картка. Ці дані стосуються вас, і відкриває їх ваш вхід: пароль і, зазвичай, другий крок підтвердження. Ззовні їх не бачить ніхто, зокрема й асистент. Він працює з ними лише тоді, коли ви самі підключите обліковий запис або передасте потрібний файл.
Шостий шар належить не вам, а організації, де ви працюєте: облік клієнтів, бухгалтерія, робочі чати, спільні диски, внутрішня база знань. Доступ тут визначає роль: бухгалтер бачить рахунки, менеджер бачить своїх клієнтів, і кожен рівно стільки, скільки дала організація. Зовнішній пошук сюди не заходить, тож шукають власним пошуком кожної системи. Через це один документ нерідко доводиться шукати в кількох місцях по черзі.
Сьомий шар закриває вже не пароль, а закон: чужі персональні й медичні дані, банківська таємниця, матеріали слідства. Пошук і підписка тут нічого не дають, бо такий доступ не продається. Потрібна правова підстава: згода самої людини, рішення суду або запит, який закон прямо дозволяє певній установі чи фахівцеві. Без такої підстави отримати ці дані законно неможливо.
Останній шар складають дані, які орган влади чи компанія має, але ніде не опублікував. Шукати їх марно, їх треба запитати. В органу влади просять запитом на публічну інформацію, і закон дає на відповідь пʼять робочих днів, а для великого обсягу до двадцяти. Якщо ж компанія тримає дані про вас самих, подають запит на власні дані: право отримати їх дає закон про захист персональних даних.
Вісім шарів дають вісім різних шляхів: запит словами, завантаження файла, форма бази, підписка, власний вхід, роль в організації, правова підстава, запит до того, хто дані тримає. Пошукова система бачить верхній шар і частину другого, решта для неї закрита. Тому спершу визначають, у якому шарі лежать потрібні дані, і вже потім обирають шлях. Коли пошук нічого не знайшов, дані можуть лежати шаром нижче.
Згадано у фільмах
Поняття
- Запит і індекс
- Те, чого немає в індексі
- Булів пошук
- Семантичний пошук
- Точність і повнота пошуку
- Відкриті реєстри
- API
- Пошук перед відповіддю