Telegram Whatsapp Viber

Про мене

Довгий час я займався розробкою і просуванням сайтів. Щоб зрозуміти, як пошукові системи ранжують сайти, я створював різноманітні скрипти для парсинга інформації в мережі. Будучи за своєю натурою дослідником, а за освітою фізиком, я не міг відмовитися від можливості експериментувати, нехай навіть з текстом, а не над природою. Завдяки старим проектам я міг собі дозволити витрачати весь свій час на дослідження в цій області. Спочатку у мене не було мети створити пошукову систему. Мене цікавили такі питання: як визначити мову текстової інформації, який статистичний розподіл слів у різних мовах світу, які найчастіше зустрічаються комбінації слів у великих обсягах текстової інформації. Це були не дуже складні завдання, і вони вже давно були вирішені кимось, але мені подобався сам процес, і я отримував та продовжую отримувати від цього задоволення.

Наведу приклад одного з моїх досліджень, яке полягало в тому, щоб знайти межу кількості можливих словосполучень. Нижче ви можете бачити графік (для англійської мови), на якому по осі X кількість відсканованих сторінок, а по осі Y кількість словосполучень з 1-го, 2-х, 3-х, 4-х і 5-ти слів (синій, зелений, жовтий, червоний, помаранчевий).

Я припускав, що в якийсь момент повинна настати межа, коли криві наблизяться до меж якихось чисел. Для англійської мови було знайдено близько 18 мільйонів словосполучень, при цьому графіки відповідні словосполученням з 3-х, 4-х і 5-ти слів, явно не збиралися сповільнювати своє зростання. Оперативна пам'ять сервера закінчилася, на той момент її було 32GB, і експеримент довелося зупинити.

Отже, у мене вже були добре працюючі скрипти для визначення мови текстової інформації та очищення html-сторінок від тегів. Написані всі вони були на Сі, що робило їх неймовірно швидкими в порівнянні з PHP. Також я помітив, що працювати з даними мені зручніше і швидше, якщо вони перебувають у файлах. В результаті я повністю відмовився від будь-яких баз даних. Це, звичайно ж, змусило мене розробити власні алгоритми пошуку по масивах, і самому реалізувати інші технічні моменти, пов'язані зі зберіганням інформації. В результаті я отримав повну свободу та широке поле для експериментів з текстом.

Очищення html-сторінок - ще непроста задачка. Багато інтернет сайти містять велику кількість помилок у вигляді незакритих тегів і лапок. Якщо використовувати стандартні методи, то в чистий текст починає потрапляти html-код.

Мені здалося, що до створення пошукової системи залишився маленький крок, але як я був неправий. Більше 3-х років наполегливої ​​праці та більше 20 000 рядків коду перетворилися у пошукову систему Kavunka.

© 2019-2020 Kavunka. Всі права захищені.