К постам Опубликовано: 2016-11-15

Як працює алгоритм Google RankBrain

Протягом останніх кількох місяців, дуже великий обсяг мільйонів пошукових запитів в секунду, був інтерпретований системою штучного інтелекту. Вона отримала назву RankBrain. Про це 26 жовтня 2015 року агентству Bloomberg розповів старший науковий співробітник Google Грег Коррадо (Greg Corrado), описуючи вперше змінюється роль штучного інтелекту в пошуку.Greg Corrado про RankBrain в інтерв'ю Bloomberg Було нелегко.

Розгортання алгоритму RankBrain передував рік зусиль команди фахівців Google, в яку входили Peter Norvig, Corinna Cortes, Mehryar Mohri, Yoram Singer, Thomas Dean, Jeff Dean, спеціаліст пошуку Yonghui Ву і фахівець глибоко навчання — експерт Thomas Strohmann. Минуло багато часу,перш ніж команда переконалася, що система працює правильно. Це стало можливим завдяки величезним і тривалим інвестицій Google в машинне навчання і створення штучного інтелекту.

Машинне навчання. Термін «машинне навчання» з'явився ще в 50-х роках. Цей термін позначає спробу навчити комп'ютер вирішувати завдання, які легко даються людині, але формалізувати шлях їх вирішення складно. Мені дуже сподобалися ці два визначення.

Машинне навчання — процес, в результаті якого машина (комп'ютер) здатна показувати поведінку, яка в неї не було явно закладено (запрограмовано).

Пошукова система повинна навчитися будувати правило, яке визначає для кожного запиту, яка сторінка є хорошим відповіддю на нього, а яка — ні. Для цього пошукова машина аналізує властивості веб-сторінок і пошукових запитів. У всіх сторінок є якісь ознаки. Деякі з них — статичні — пов'язані з самою сторінкою: наприклад, кількість посилань на цю сторінку в інтернеті. Деякі ознаки — динамічні — пов'язані одночасно з запитом і сторінки: наприклад, присутність в тексті сторінки слів запиту, їх кількість і розташування.

Реймонд Курцвейл в інтерв'ю The Guardian сказав: “Комп'ютери знаходяться на порозі читання і розуміння смислового змісту мови, але поки ще не на рівні людини. Але так як вони можуть читати в мільйон разів більше матеріалу, ніж люди, вони можуть компенсувати це з кількістю“. З грудня 2012 року Курцвейл займає посаду технічного директора в області машинного навчання та обробки природної мови в компанії Google. Мова, на його думку, це ключ до всього. “І мій проект в кінцевому рахунку — створити основу пошуку на повному розумінні значення мови. Коли ви пишете статтю, ви не створюєте цікавий набір слів. У вас є що сказати і Google приречений грамотно організувати і обробляти світову інформацію. Повідомлення в вашій статті є інформацією. Тому ми хотіли б насправді мати комп'ютерне читання.

Ми хочемо читати все в інтернеті, кожну сторінку кожної книги, а потім брати участь в інтелектуальному діалозі з користувачем, щоб мати можливість відповісти на їх питання". RankBrain як сигнал ранжування RankBrain є одним з "сотні" сигналів, які отримує алгоритм визначаючи яка інформація повинна з'являються в результатах пошуку Google і оцінюючи їх, сказав Коррадо. Через кілька місяців після того, як був впроваджений RankBrain, він став третім за важливістю сигналом, сказав він. Інтерес веб-майстрів до цього нововведення Google підігрів той факт, що кілька місяців потому Gary Illyes відповідаючи в Твіттері на питання, яке задав Rand Fishkin, сказав наступне — “RankBrain допомагає нам краще розуміти запити. Немає ніякого впливу на сканування або індексування і заміну чого-небудь при ранжируванні".

Веб-майстри явно засумнівалися в подібному відповіді Gary Illyes і крім того, їм також хотілося знати, що ж є двома першими за важливістю сигналами для цілей ранжування Google. Так, Danny Sullivan у своїй статті стверджує, що зворотні посилання — головний сигнал ранжування. Угниченко Дмитро 10 листопада 2015 року на порталі megaindex.org у статті "Пошуковий алгоритм RankBrain від Google" написав, що алгоритм третій за важливістю в ранжируванні документів після посилань і поведінкових факторів.

Я вже писав на Хабрахабр, що співробітники Google заперечують вплив поведінкових факторів на ранжування. Двадцять третього березня 2016 року на відеоконференції "Q&A with Google" Андрій Липатцев (Search Quality Senior Strategist at Google) відповідаючи на питання Аммона Джонса (Ammon Johns), сказав: "я можу вам сказати, що це. Це контент і посилання, що вказують на ваш сайт".

RankBrain використовує штучний інтелект, щоб вбудувати величезну кількість письмової мови в математичні сутності — звані векторами — які розуміє комп'ютер. Якщо RankBrain бачить незнайоме йому слово або фразу, машина може зробити припущення щодо того, які слова чи фрази можуть мати аналогічний сенс і фільтрувати результат. Відповідно, це робить більш ефективною обробку запитів які, ніколи ще раніше не зустрічалися. Для кращого розуміння цього процесу звернемося до патенту Google US9104750 B1.

Патентна формула: Отримання першого, другого і третього терміна [в оригінальному запиті — прим. авт.]. Визначення відрізняється загальне значення запиту з трьох термінів від значення кожного з цих термінів окремо. Якщо в результаті відповіді на визначення встановлено, що є відмінність, формується запит складається з першого, другого, третього терміну оригінального запиту з додаванням додаткового терміну, який був відсутній в оригінальному запиті.

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

Розглянемо приклад. Відкриємо браузер Opera і введемо запит "New York Times Puzzle". система замінила в оригінальному запиті термін "Puzzle" на "Crossword". Отже, RankBrain прямо і суттєво впливає на результати пошукової видачі, оскільки він здатний модифікувати оригінальний пошуковий запит. Система надалі може обробляти дані, які пов'язані з таким модифікованим запитом, і результати видачі можуть містити сторінки, які не містять термінів з оригінального пошукового запиту.

Щоб визначити контекст у запиті, пошукова система традиційно може відслідковувати тільки одне або два слова навколо терміна з пошукового запиту з-за складності обчислень. Концепція (в нашому зазначеному вище прикладі — "New York Times") може включати більше двох слів. Правило заміни терміна в конкретному контексті певної концепції можуть бути визначені емпірично на основі взаємодії користувача з даними результату пошуку.

Наприклад, запит "Yankees" часто замінюється терміном "Baseball". Логіка заміни термінів Логіка заміни термінів частково описана в прикладах патенту: якщо перший термін ("кішка"), система заміни може оцінити умови ("котячий" або "банан"), які є кандидатами у терміни-замінники початкового терміну. Система заміни може визначити, що одні терміни є замінниками першого терміну (як у випадку з "котячим"), і що інші терміни такими не є (як у випадку з "бананом "). Система заміни може засновувати це визначення на правилах, що зберігаються в базі даних правил заміщення (185). Наприклад, правило підстановки "котяча" є заміною терміну "кішка", а "банан" не є заміною терміну для кішки. В деяких варіантах здійснення правило підстановки може включати в себе кілька слів оригінального запиту і однословную заміну терміну, або однословный оригінальний термін запиту і багатослівну заміну термінів-замінників.

Наприклад, правило замінника може вказати, що "SSN" у ролі терміна може замінити "Social Security Number". В іншому прикладі можна вказати "For Rent" у якості заміни терміну для "Rental". Контекст запиту зазначається щодо місця розташування для інших термінів або без його обліку. Можна оптимізувати сайт під RankBrain?

1. Швидше за все ні, ніж так. Достовірної інформації про те, як працює RankBrain дуже мало. Але, ми можемо допомогти Google правильно зрозуміти про що ми пишемо. Тому, потрібно взяти на озброєння гасло — "Розмітити все!".

2. Використовуйте всі доречні для вашого сайту типи структурованих даних. Прочитайте статтю Латентно-семантичний аналіз на Хабрахабр. Для тих, хто любить експерименти, рекомендую порівняти ваші тексти з текстами конкурентів на семантичну схожість використовуючи метрики lsa.colorado.edu.

3. Крім використання підказок, які Google відображає внизу сторінки з результатами пошукової видачі, враховуйте терміни-замінники, які є в результатах пошуку. Розглянемо результати пошукової видачі за запитом "туфлі чоловічі". В якості терміна-замінника Google використовує у фрагментах і в тайтлах сторінок термін "взуття". Додайте там, де це доречно, термін "взуття" в текст (опис) і HTML-теги h1, h2, h3, alt. 5. Не змушуйте RankBrain зайвий раз шукати слово-заміну. Намагайтеся писати грамотно. Уникайте в тексті жаргонізмів, сленгу, нецензурних виразів. Потрібно розуміти, що щоб ви не робили, в будь-якому випадку, вплив на RankBrain з цієї сторони монітора буде мінімально.

Висновки Rankbrain — це елемент основного алгоритму пошуку Колібрі. На мою думку, цей алгоритм відповідає за підбір релевантної інформації для цілей ранжирування, розпізнає мову запиту і розуміє логіку фраз (семантичну зв'язок слів) в запитах. RankBrain прямо і суттєво впливає на результати пошукової видачі, оскільки він здатний модифікувати оригінальний пошуковий запит. Контент і посилання — основні фактори ранжирування Google. Оптимізація під алгоритм Rankbrain нерозривно пов'язаний з поліпшенням якості сайту (оригінальності і доданої цінності контенту).