Искусственный интеллект (artificial intelligence, AI, ИИ) — это область разработки, занимающаяся созданием интеллектуальных технических и программных систем, которые обладают возможностями, ранее связываемыми с разумом человека, то есть: обучение, творчество, понимание языка и т.д. ИИ позволяет компьютерам адаптироваться под задаваемые параметры, обучаться на собственном опыте и выполнять разного рода задачи.
Технологии искусственного интеллекта делятся на категории, относительно их возможностей имитировать человеческие способности. Используя эти характеристики, все системы искусственного интеллекта, как существующие, так и гипотетические, делятся на 3 типа:
- Узкий (или ограниченный) интеллект (Artificial Narrow Intelligence), обладающий узким спектром способностей, эти системы могут обучаться только для выполнения конкретных задач. Например, это Rankbrain от Google, Google поиск, Siri от Apple или Alexa от Amazon.
- Общий интеллект (Artificial General Intelligence), который соответствует человеческим возможностям, он универсален, способен решать множество задач и обучаться на своем опыте.
- Искусственный суперинтеллект (Artificial Superintelligence), который превосходит человеческие интеллектуальные способности.
Первый тип или ANI — это единственный тип искусственного интеллекта, который на сегодня успешно реализован человеком. Он ориентирован на достижение определенных целей и предназначен для выполнения отдельных задач.
Зачем нужно машинное обучение?
Ответ на этот вопрос, пожалуй, очевиден, но все же мы остановимся на нем немного подробнее. Мы хотим автоматизировать определенные процессы с помощью компьютера, и за последние 50 лет уже добились огромных результатов на этом поприще. Однако, в чем же разница между классическими способами программирования машин и машинным обучением?
То, как работает машина, представляет собой определенный алгоритм. Разберем понятие:
(Алгоритм — это система последовательных операций, которая проходит в соответствии с заданными правилами, и призвана для решения некоторой задачи. Подробное определение можно найти в Википедии.)
Следует отметить, что это определение не связано с кодом или конкретным языком программирования. Важной особенностью алгоритма является то, что это любая последовательность шагов, следующих определенным правилам. Однако, классический способ программирования основан на этом общем понимании алгоритма.
Схема такова:
Мы сталкиваемся с проблемой→ анализируем ее→ выявляем правила→ переводим эти правила в программный код, который позволяет автоматизировать решение проблемы в заданных условиях.
Однако в определенных случаях классический подход к автоматизации терпит неудачу. Существует ряд проблем, при которых мы можем выделить и явно записать правила. Например, распознавание изображений, человеческой речи, обработка и проверка качества текстов или выявление сложных паттернов в данных.
Мы общаемся с людьми, понимаем письмо или воспринимаем объекты с помощью зрения. То есть, наш мозг решает эти «проблемы», но записать то, какие правила он выполняет, чтобы сделать это, мы не можем. Например, мы легко определяем концепцию кошки на разнообразных изображениях, даже если они разных размеров, цветов, форм или, если кошка и вовсе игрушечная. Человек понимает, что перед ним кошка, даже если видит только ее глаз.
Мы сталкиваемся с фундаментальным ограничением решения проблемы, когда не можем выделить явных правил, которым должен следовать алгоритм. И нуждаемся в новом подходе к автоматизации, отличном от классического. Здесь и приходит на помощь искусственный интеллект.
ИИ обходит стороной ошибку классического подхода. Это позволяет системе самой выявлять шаблоны и изучать неявные правила (обычно анализируя тысячи примеров), чтобы анализировать данные (изображения, звуковые файлы, тексты и т. д.) по определенным схемам (как было в примере с кошкой).
С каждым днем количество информации, которую должен обрабатывать человек и, соответственно, рабочая нагрузка на него, увеличиваются в геометрической прогрессии. Поэтому машинное обучение (или ИИ) стало для человечества необходимостью, чтобы автоматизировать рутинную работу, экономить время и рабочую силу организаций, повышать производительность труда.
Как в алгоритмах поисковых систем применяется искусственный интеллект?
Мы уже немного разобрались в том, что такое искусственный интеллект и зачем он нужен в целом. Теперь перейдем ближе к SEO, так как разработки в сфере машинного обучения не обошли стороной поисковые системы и их алгоритмы ранжирования. По мере увеличения количества документов в интернете развиваются и сами поисковые системы, усложняются их алгоритмы ранжирования.
Достижения машинного обучения способствуют развитию искусственного интеллекта. Разработка этого направления велась еще с 2003 года, однако первым серьезным достижением стала программа Word2vec.
(Word2vec — это совокупность подходов для моделирования и обработки слов естественного языка на основе нейронных сетей. Программное обеспечение было разработано исследователями компании Google в 2013 году, и применяются для анализа семантики естественных языков.)
Позднее, в 2015 году, базе Word2vec в Google был создан RankBrain (входит в состав алгоритма Колибри).
(RankBrain — это самообучающаяся система на базе ИИ, которая позволила Google ускорить проверку по категориям ключевых слов, чтобы предоставлять пользователям наиболее подходящий контент в соответствии с поисковым запросом. RankBrain «умеет» понимать смысл текста, отыскивать связи между словами, учить слова и фразы, которых он не знает, и адаптировать специально под страну и язык запроса.)
Все это помогло сделать выдачу более релевантной. Представители Google отмечают, что этот алгоритм является третьим важным фактором в алгоритме ранжирования, наравне с контентом и ссылками.
Однако не только Google использует ИИ в своих алгоритмах. В 2016 Яндекс запустил свой новый алгоритм ранжирования — Палех.
(Палех — это алгоритм, который основан на нейронных сетях и помогает Яндексу находить соответствие между поисковым запросом и заголовками страниц, даже если у них нет общих ключевых фраз. С его помощью поисковик лучше понимает пользователя и находит страницы, которые соответствуют его запросам по смыслу, а не по словам.)
Следующим шагом для Яндекса стал выход алгоритма Королев, 2017 год.
(Королев — это продолжение Палеха, которое работает на весь текст, а не только на заголовки документа. Там и там для определения семантического сходства запроса и документа используются нейросети похожей архитектуры, обученные на поисковой статистике.)
Если отвлечься от технических деталей, то есть два отличия. Во-первых, «поиск по смыслу» теперь учитывает весь текст страницы, а не только заголовок. Во-вторых, работу Королева обеспечивает также вычисление сходства между разными поисковыми фразами, что позволяет «пристегнуть» к неизвестному для Яндекса запросу данные по хорошо изученному.
Ну и вишенкой на торте всего этого стал алгоритм Google BERT, вышедший в 2019 году.
(BERT (Bidirectional Encoder Representations from Transformers) — это также система обучения NLP (Natural Language Processing, Обработка Естественного Языка), основанная на нейронной сети. В отличие от других моделей, BERT предназначен для глубокого понимания естественной речи.)
Другими словами, BERT должен позволить машине понять, что означают слова в предложении, учитывая каждую деталь контекста. Google использует BERT, чтобы лучше понимать запросы пользователей и давать им действительно релевантные ответы.
Alexander Safonov
Master of Science in Information Technology
IWEBI GROUP