Майбутнє браузерів і штучний інтелект. Дзен в Яндекс.Браузері

В майбутньому, як нам здається, всі популярні браузери вийдуть за рамки програм для відкриття веб-сторінок і навчаться краще розуміти людей, які ними користуються. Сьогодні я розповім вам, яким ми бачимо це майбутнє на прикладі персональної стрічки Дзен в Яндекс.Браузері, яка тепер доступна користувачам Windows, Android і iOS.



Незважаючи на уявну простоту, в основі Дзена лежать досить складні технології. Я розповім трохи про те, як це реалізовано у нас, де і чому ми використовували традиційне машинне навчання, а де — нейронні мережі та штучний інтелект, і буду вдячний за вашу думку про цьому підході.

Рекомендації добре знайомі всім, хто активно користується мережею. Інтернет-магазини пропонують схожі товари. Онлайн-кінотеатри радять фільми. Музика, книги, ігри, додатки — в будь-якій ніші можна знайти приклади подібних рішень. У сучасному світі, де кількість інформації зростає в геометричній прогресії, рекомендації допомагають людям знайти щось нове та цікаве.

Яндекс завжди спеціалізувався на пошуку. В широкому сенсі цього слова. Пошук відповідей на свої питання. Пошук оптимального маршруту. І навіть пошук вільного таксі поруч з вами. Приблизно два роки тому у нас з'явилася ще одна ідея. Навчити машину шукати в мережі той контент, який був би цікавий конкретній людині. Персоналізований пошук, де в якості запиту виступають не слова, а інтереси. З цієї ідеї і народилася стрічка рекомендованого контенту Дзен.

Дзен

Дзен – це нескінченна стрічка контенту, яка формується виходячи з інтересів конкретної людини. Ми хочемо допомогти користувачам знайти цікавий контент, а видавцям – цільовий трафік (клік по рекомендаціям відкриває матеріал на сайті-першоджерелі). Зазвичай розповіді про нові продукти починають з опису ідеології і продуктової стратегії, і тут я рекомендую вам прочитати пост Романа kukutz Іванова блозі Яндекса, а ми з вами відразу перейдемо до найважливішого для Хабра, до технологій. Тим більше, що саме вони відрізняють Дзен в Яндекс.Браузер від будь-яких інших браузерних (і не тільки) аналогів.



До речі, уважний читач може пригадати, що перші експерименти з Дзеном проводилися в 2015 році на сторінці zen.yandex.ru. Чому тепер стрічка рекомендацій стала частиною Браузера? На цей раз питання я обов'язково відповім трохи пізніше.

В основі Дзена лежить рекомендаційна технологія Диско, розроблена в Яндексі і вже знайшла застосування в Яндекс.Музиці і Яндекс.Маркеті. Слово «диско» співзвучно англійському слову discovery, яке означає «відкриття нового» і добре описує суть технології.

Спрощена логічна схема роботи Диско у випадку з Дзеном виглядає так:



Почнемо з самого початку, з вихідних даних, яким ще тільки належить як-то перетворитися на фактори.

З чого починаються рекомендації

Перш ніж що-небудь радити людині, потрібно зрозуміти його інтереси та уподобання. Дзен для цього використовує знання Яндекса про відвідуваних людьми сайтах. Завдяки цим знанням багато нові користувачі Дзена зможуть відразу побачити стрічку персональних рекомендацій без необхідності щось змінити. Але іноді їх недостатньо. Можна було б спробувати вирішити цю проблему за допомогою стрічки, орієнтованої на середньостатистичну людину. Але ми ж знаємо, що такої людини в реальності не існує (що добре було показано приклад американських військово-повітряних сил). Тому пішли іншим шляхом і запропонували людям самостійно обмежити коло своїх інтересів. У цих налаштувань немає своєї назви, але всередині ми називаємо їх «Онбордингом».



Важливо розуміти, що Онбординг – це не обов'язковий етап початкових налаштувань, а лише резервний варіант для тих, кому точно нічого запропонувати. Стрічка рекомендацій відразу після проходження Онбординга може досить сильно відрізнятися від добірок, формуються через кілька тижнів активного використання Дзена. Ці налаштування вже доступні користувачам Яндекс.Браузера для Android і iPhone. Для Windows стануть доступні найближчим часом (а поки можна скористатися тимчасовим рішенням).

Знання про інтереси людини – це лише половина необхідної інформації. Для того, щоб щось рекомендувати, потрібно для початку це щось знайти. Зазвичай рекомендаційні сервіси вирішують цю задачу примітивним способом – формують обмежений каталог RSS-стрічок за інтересами. У випадку з Дзеном таких обмежень немає. Пошукові роботи шукають будь-які матеріали. Це можуть бути як авторські публікації з популярних блогів, так і якісні історії з форумів або ролики з YouTube. Це те, що ми називаємо «диким вебом». Головне, щоб сайт не був покинутий і на сторінці містилася достатня кількість корисного контенту.

Отже, з одного боку у нас знання про улюблених публікаціях мільйонів користувачів, з іншого – вся міць глобального пошукового індексу Яндекса. Залишилося саме «просте». Навчити машину будувати рекомендації.

Види рекомендаційних систем

В історії рекомендаційних технологій добре відомі два основних види: фільтрування вмісту та коллаборативная фільтрація. Почнемо з першого, який заснований на порівнянні вмісту рекомендованих об'єктів. Для прикладу пропоную розглянути фільми. Якщо два фільми відносяться до одного і того ж жанру, і користувач вже високо оцінив один з них, то з певною ймовірністю можна порадити йому і другий. І тут цікаво згадати онлайн-кінотеатр Netflix, який збільшив кількість жанрів з кількох сотень до десятків тисяч, серед яких можна знайти навіть «Культові ужастики зі злими дітьми». Велика частина з цих жанрів прихована від очей глядачів і використовується тільки для побудови рекомендацій.



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

NLP + CV

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

Обробка природної мови (Natural Language Processing, NLP) і комп'ютерне зір (Computer Vision, CV) – два широко застосовуються в Дзене напряму з області штучного інтелекту.



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

Інший підхід до NLP, над яким працює команда Дзена, це автоматичне присвоєння міток для будь-якого тексту. Згадайте про приклад з Netflix'ом і десятками тисяч жанрів. Так і тут. Класифікація публікацій з допомогою міток допомагає підвищити точність підсумкових рекомендацій.

Робота з комп'ютерним зором в цілому схожа на NLP. Тільки замість читання тексту машина навчається «дивитися» і розуміти зміст зображення. Крім прямого застосування в рекомендаціях у комп'ютерного зору є й інші завдання в Дзене. Наприклад, мініатюри картинок далеко не завжди зручно масштабуються, і їх доводиться обрізати, а комп'ютерне зір допомагає знаходити на зображеннях людей і рятує їх від долі Неда Старка з «Гри престолів».

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

SVD

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



Спираючись на вже відомі оцінки, можна виявити закономірності у поведінці різних людей і спробувати передбачити реакцію на новий фільм. На математичному рівні для застосування колаборативної фільтрації придумані різні алгоритми, про яких свого часу на Хабре добре розповів мій колега Михайло Ройзнер.

У випадку з Дзеном ми використовуємо коллаборативную фільтрацію (а точніше алгоритм SVD) для передбачення інтересу людини до певного сайту в цілому. Ця інформація доповнює рекомендації, побудовані для окремих матеріалів з допомогою штучного інтелекту (NLP+CV). Дозволяє відсіяти зайвий шум і виявити нетривіальні закономірності (скажімо, може з'ясуватися, що люди, які цікавляться Хабром та історіями з Пикабу, найчастіше читають «N+1»).

Підсумуємо. Використовуючи вихідні дані про сайти і користувачів, ми з допомогою технологій обробки природної мови, комп'ютерного зору й алгоритму SVD формуємо комплект різних факторів, які характеризують інтереси людини до тих чи інших сайтів/матеріалів.



Точність підсумкових рекомендацій безпосередньо залежить від кількості і різноманітності вихідних даних, тому в якості факторів використовуються і багато інші наші знання. Наприклад, знання Яндекса про конкретному сайті або сторінці, інформація про те, як людина використовує Дзен, його зворотний зв'язок у вигляді кліків, «більше такого» і «менше такого», місце розташування і навіть час доби. Загальна кількість окремих факторів, які ми закладаємо в систему рекомендацій, обчислюється тисячами. Складність системи досягає такого рівня, що одних алгоритмів вже мало. Потрібна технологія, яка буде сама обчислювати ідеальну формулу для побудови підсумкової стрічки. І тут нам у нагоді досвід Яндекса в області машинного навчання.

Матрікснет

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

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

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

Здатність комп'ютера враховувати тисячі факторів і самостійно шукати найкраще рішення – це те, без чого неможливо побудувати сучасну рекомендаційну систему. Саме тому Матрікснет був взятий за основу при створенні власної рекомендаційної технології.

Результат роботи Матрікснета – це саме те, що користувач бачить в стрічці Дзен. З боку розробників не існує яких-небудь правил виду «Якщо людина любить, то рекомендуємо йому Б». Всі подібні закономірності народжуються і постійно змінюються всередині Матрікснета. І чим більше у нього даних, тим точніше рекомендації. Саме тому Дзен – це частина Яндекс.Браузера, а не самостійний веб-сервіс або додаток. Окремим додатком складніше зрозуміти інтереси користувача, який після двох-трьох днів може просто перестати його запускати. Щоб магія Дзена і машинного навчання вступила в повну силу, їм потрібно активно користуватися або хоча б регулярно проходити поруч. І браузер, як єдина точка виходу в інтернет, підходить для цього найкраще. Само собою, будь-який користувач може відмовитися від використання Дзена в Браузері.

У цьому пості я розповів вам про те, як формується стрічка персональних рекомендацій в Яндекс.Браузері, і чому Дзен – це не чергова «стрічка новин», а результат роботи серйозних технологій. Напрацювання з області штучного інтелекту вже зараз допомагають машині розуміти сенс контенту та інтереси людини. Але це лише початок. Хто знає, може бути, одного разу комп'ютери будуть розуміти нас краще, ніж ми самі?
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.