Как машина делает текст лучше
Люди — единственные существа на планете, владеющие речью и письменностью. Хотя стоп, уже не единственные — если, конечно, считать «существом» искусственный интеллект, который за последние десятилетия стал настоящим мастером слова. В материале, написанном в партнерстве с организаторами технологических конкурсов Up Great, N + 1 разбирается, что и как компьютерные алгоритмы могут делать с человеческим текстом, чего пока не могут и как мы до всего этого докатились.
Современный компьютер владеет всеми языками мира, причем на весьма продвинутом уровне. Попробуйте скопировать это предложение в Google-переводчик, выберите, к примеру, английский язык и убедитесь сами: алгоритм не ограничился дословным переводом каждого слова. Он разобрался, что «владеет» здесь значит не «обладает», а «разговаривает», и выдал подходящее по смыслу speaks вместо лежащего на поверхности owns.
Иногда способность электронных мозгов понимать, о чем мы пишем и говорим, даже пугает: вы наверняка сталкивались с ситуациями, когда после упоминания уборки, недвижимости или отпуска в телефонном разговоре вы открываете ленту новостей социальной сети и тут же видите рекламу клининговых служб, новостроек или авиабилетов.
Действительно ли соцсети подслушивают наши разговоры, это вопрос дискуссионный, — но технически, как неоднократно выясняли пользователи, это вполне возможно. Да и Facebook, к примеру, не отрицает, что в некоторых случаях анализирует акустическую информацию.
Ну а когда согласие на анализ получено прямо, программы идут гораздо дальше — и начинают не просто улавливать смысл наших слов, но и вполне разумно отвечать, устно или письменно, как это делают всем знакомые Siri, Алиса и тысячи безымянных чат-ботов разной степени продвинутости.
На этом фоне способность компьютерных алгоритмов составлять словесные описания изображений, как это делает сервис Microsoft CaptionBot, или подсказывать подходящие по смыслу запросы, как любая уважающая себя поисковая система, уже не кажется чем-то из ряда вон выходящим.
Люди, работающие с текстами, уже давно активно пользуются сервисами для редактуры, такими как англоязычный Grammarly или его российский собрат «Главред». Подобные программы уже не ограничиваются проверкой орфографии и пунктуации, которая давно встроена даже в примитивные текстовые редакторы, но работают со стилистикой, помогают сделать текст более понятным и плотным, борются с «водой», речевой избыточностью, неточным употреблением слов.
Правда, как сказано на сайте того же «Главреда», такие сервисы подходят для «рекламы, новостей, статей, сайтов, инструкций, писем и коммерческих предложений», и не подходят для «стихов, художественной прозы и СМС-диет» (что бы последнее ни значило).
Связано это с главным на сегодняшний день недостатком электронных «авторов» и «редакторов»: все они принимают решения о том, «что такое хорошо и что такое плохо», исключительно на основании накопленного опыта и не способны к созданию чего-то принципиально нового, будь то необычная структура текста или свежая метафора.
Впрочем, иногда случаются казусы (говорящие скорее о несовершенстве человека, чем о выдающихся способностях компьютера): например, в 2016 году японский писатель-робот прошел первый тур весьма престижного литературного конкурса. Его произведение называлось «Тот день, когда компьютер написал роман» и было довольно высоко оценено жюри.
На решение проблемы глубинного понимания смысла текста направлен новый технологический конкурс Up Great в области искусственного интеллекта. Главная задача — разработать такую программную систему, которая была бы способна успешно выявить смысловые и фактические ошибки в академическом эссе на уровне специалиста и в условиях ограниченного времени. Организаторы конкурса — РВК, АСИ и Фонд Сколково. Зарегистрироваться на участие можно уже сейчас на сайте конкурса.
Ну а написанием новостей искусственный интеллект занимается уже очень давно — например, в 2011 году программа «на спор» справилась с созданием отличной новости о бейсбольном матче.
Сервис Яндекс.Новости успешно использует алгоритмы для формирования новостной повестки. Причем без человеческого вмешательства происходит не только сбор новостей из разных источников и объединение их в сюжеты, но и создание сопровождающих их аннотаций и заголовков.
Искусственным интеллектом вовсю пользуются и международные информационные агентства, такие как Bloomberg, Associated Press и Reuters.
Уже лет десять журналисты переживают, что роботы вот-вот отнимут у них работу. Однако этого до сих пор не произошло: да, алгоритмы молниеносно анализируют огромные объемы информации, пишут быстро и четко, не прокрастинируют, не болеют и не путают факты, однако как только речь заходит о необходимости принять решение или сделать вывод на основании недостаточной информации, «додуматься» или «догадаться», люди по-прежнему оказываются далеко впереди.
Да, время от времени СМИ ставят эксперименты, заставляя алгоритмы писать редакционные тексты (как, например, журнал Esquire в Сингапуре, для одного из номеров которого искусственный интеллект создал даже письмо редактора).
Однако о том, чтобы действительно заменить авторов-людей электронными коллегами, сейчас можно говорить только применительно к новостным заметкам, излагающим сухие факты. Да и то с оговорками.
На самом деле компьютеры понимают «тексты» почти с того самого момента, когда на свет появились первые электронно-вычислительные устройства.
Все высокоуровневые языки программирования (способные обращаться к машине не «напрямую», через нули с единицами, а через условно-словесные команды, более удобные для человека, и превращаемые в низкоуровневый машинный код самим компьютером) построены по образу и подобию естественных языков.
В них есть синтаксис, орфография, пунктуация, семантика, — вся разница в количестве слов и их сочетаний (и, конечно, в многозначности человеческих слов, немыслимой в «компьютерном» языке, хотя и тут все не так однозначно).
Первым в мире высокоуровневым языком программирования считается Планкалкюль, созданный в 1943-45 годах немецким инженером Конрадом Цузе. Однако известен мировому сообществу этот язык стал только в 70-е годы, да и на практике никогда не применялся.
Поэтому за отправную точку в развитии отношений компьютера с текстом правильнее взять появление языка Fortran в 1957 году. За ним последовали С, Pascal, Delphi и многие, многие другие.
В сущности, для работы с человеческими языками уже на этом этапе компьютерам не хватало только памяти, позволяющей хранить и быстро использовать большие объемы данных. Любой словарь — это огромный объем данных по тем временам: в первых языках программирования было буквально по паре десятков «слов», а в английском, русском или любом другом естественном языке счет идет на сотни тысяч.
Однако в этот период уже появилась возможность набирать и редактировать на компьютере текст, что стало огромным шагом вперед по сравнению с печатной машинкой.
В 70-х появляются магнитные диски — и дефицит памяти преодолен. Создаются текстовые редакторы, позволяющие не просто набирать текст, но и форматировать его, и практически одновременно — программы, проверяющие правописание. Поначалу они существуют как отдельные продукты, однако уже в середине 80-х разработчики текстовых редакторов начинают «вшивать» их в свои программные пакеты.
Стандартная система проверки правописания функционирует примерно как человек, вооружившийся словарем и грамматическим справочником: ищет нужное слово, проверяет, в верную ли форму оно поставлено в соответствии с правилами (теми самыми, которые мы учим в школе), выделяет ошибку и, опционально, предлагает варианты ее исправления, опираясь на тот же справочник.
Примерно так же, через перебор слов и правил, работали и первые системы машинного перевода — конечно, они ошибались куда чаще, чем современный Google-переводчик, устроенный по принципу нейросети и постоянно совершенствующий свой уровень владения языками на основе миллионов уже переведенных кем-то документов.
Переход на качественно новый уровень в работе с текстами происходит в 90-е годы, с появлением поисковых машин. Именно благодаря нуждам поисковиков технологии машинной проверки и создания текстов начали бешено развиваться.
Долгое время продолжалась настоящая война между поисковиками, чья задача — сделать свою выдачу максимально осмысленной и полезной для пользователей, и SEO-оптимизаторами, стремящимися искусственно выдвинуть свои сайты на первые строчки выдачи.
Поскольку одним из основных критериев соответствия ресурса запросу было вхождение ключевых слов, сеть буквально кишела сайтами, содержащими бесконечные перечисления всех возможных популярных запросов. В ответ на засилье «переоптимизированных» сайтов разработчики поисковых систем начали создавать алгоритмы, проверяющие контент не просто на наличие ключевых слов, но и на связность, осмысленность и уникальность, — база, на которой создавались такие алгоритмы, восходит к работам лингвистов-структуралистов.
Поисковики постепенно «научились» воспринимать текст не просто как набор слов из словаря, но и работать с семантическим полем, то есть определять, выстраиваются ли слова как в грамматически правильный, так и в несущий смысловую нагрузку текст.
Ответом стала разработка «бредогенераторов» — программ, автоматически создающих вполне читабельный и посвященный определенной теме контент. Самые примитивные из них просто «подтягивают» в текст фразы и предложения из разных источников в интернете, более продвинутые используют базы синонимов и даже по-настоящему сложные алгоритмы, сродни тем, которыми пользуются поисковики для их «разоблачения».
В интернете по-прежнему можно найти массу сервисов-бредогенераторов, однако на практике поисковики все-таки победили: на данный момент обмануть их практически невозможно, о чем явно свидетельствует и то, что услугу генерации случайных текстов предоставляет даже сам Яндекс.
При этом Яндекс без устали совершенствует свои алгоритмы, призванные понижать в выдаче «переоптимизированные» и искусственно сгенерированные страницы. Нынешний называется «Баден-Баден», и мимо него даже муха не пролетит.
Большая часть современных удивительных возможностей компьютера, упомянутых в начале статьи, напрямую связана с уже примелькавшимися терминами «нейронные сети» и «машинное обучение». Кажется, что нейронные сети повсюду и могут буквально все.
Так, выдача статей на N + 1 по соответствующему запросу сообщает, что за последние годы они научились расшифровывать танцы пчел, предсказывать объятия, судить о книге по обложке и еще десятку не менее интересных вещей.
Это неудивительно: главное отличие нейронной сети от любой другой компьютерной программы именно в том, что она постоянно учится. Конечно, не всему подряд, а тому, что запланировали ее создатели, но смысл в том, что поначалу алгоритм обладает только неким базовым набором правил работы и впоследствии, с каждой пользовательской итерацией, становится «умнее» за счет приобретения нового «опыта».
Этот принцип работает и с распознаванием изображений, в котором нейросети особенно преуспели, и с различными системами компьютерной диагностики, и с текстами (не важно, идет речь о машинном переводе, редактуре или диалогах, которые ведет чат-бот).
Правда, с несложными задачами вроде проверки текста на уникальность или поверхностной редактуры справляются и программы из до-нейросетевой эпохи, — все это появилось еще в 90-е, в период бурного развития интернета.
Например, упомянутый в начале статьи сервис для проверки и редактирования текстов «Главред» — не нейросеть. Как сказано на сайте проекта, сервис собирает статистику по работе с пользовательскими текстами, однако функционирует все же по заранее заданному своду правил.
Каждый месяц эти правила обновляются и дополняются, — однако происходит это не в онлайн-режиме, по итогам действий пользователей, а усилиями создателей «Главреда».
Впрочем, отсутствие самообучающегося «интеллекта» ничуть не мешает сервису прекрасно справляться со своей задачей — отлавливать в текстах «рекламные, газетные и бытовые штампы, канцелярит, неточные и брехливые формулировки, необъективные оценки, огульные обобщения, плеоназмы, паразиты времени, неправильно используемые заимствования, некоторые проблемы синтаксиса, страдательный залог, вводные конструкции, модальность, матерные выражения и некоторые эвфемизмы».
Еще одна отличительная особенность «Главреда» — отсутствие проверки орфографии и пунктуации. Это можно счесть минусом, но не слишком существенным сегодня, когда проверка правописания встроена даже в мессенджеры.
Англоязычный собрат «Главреда» Grammarly правописание проверяет — и, кстати, активно использует принципы нейросетей и машинного обучения. Что неудивительно: у сервиса миллионы пользователей по всему миру, и все они ежедневно генерируют тексты, на которых алгоритмы могут плодотворно «учиться».
Одно из объяснений такой популярности — в том, что Grammarly изначально позиционировался не как чисто «писательский» сервис, а как инструмент для коммуникации, позволяющий людям со всего мира переписываться на английском и понимать друг друга, даже если язык для них не родной.
Большинство пользователей именно так его и применяет. Тем более, что это удобно: у Grammarly есть расширения для всех популярных браузеров, мессенджеров и почтовых клиентов.
Для тех же, кто работает с текстом профессионально, у сервиса есть расширенные наборы функций: проверка текста на уникальность, варианты словоупотребления и даже разные рекомендации в зависимости от жанра, в котором создается текст.
Неудивительно, что нейросети, благодаря сочетанию реальной эффективности и некоторой «зрелищности», позволяющей писать о них эффектные новости, сегодня у всех на виду. Но есть и другие подходы к машинному обучению, не менее востребованные и перспективные.
Среди них — обучение с подкреплением, метод опорных векторов (алгоритмы, тяготеющие к геометрическому решению задач), алгоритмы кластеризации и другие. Причем, как правило, крупные проекты, нацеленные не просто на развлечение пользователя, но и на решение настоящих бизнес-задач, не ограничиваются каким-то одним подходом.
Те же нейросети чаще всего работают в связке с другими алгоритмами. Даже Grammarly, чье единственное предназначение — улучшать тексты пользователей, владеет целым набором алгоритмов, постоянно развивает их и создает новые.
Одним из самых перспективных подходов к машинному обучению сегодня считается обучение с подкреплением — в отличие от нейросети, здесь программа-интеллект обучается, взаимодействуя не с пользователями, а со средой, меняющейся под влиянием действий «мозга» и дающей ему «обратную связь».
Применяется обучение с подкреплением в самых разных сферах: для разработки компьютерных игр, систем уклонения от космического мусора, беспилотных автомобилей, трейдинга финансовых рынков и криптовалют и так далее.
Впрочем, по каким именно принципам работает сервис, можно так и не узнать, если разработчики прямо не указывают это на своем сайте (а разработчики далеко не всегда охотно пускают посторонних на свою «кухню»).
Что же дальше? Из машинного обучения явно выжато далеко не все. Текстовые редакторы и переводчики наверняка еще будут удивлять нас все более тонким «чувством языка».
Однако для перехода на действительно новый уровень решения любых задач с помощью искусственного интеллекта потребуется прорыв уровня магнитных дисков или нейронных сетей. Пока что у ученых и инженеров подобных козырей в рукаве нет.
С одной стороны, это расстраивает: всем, включая бьющихся над проблемой исследователей, хочется, чтобы будущее скорее наступило и искусственный интеллект стал «настоящим», сродни человеческому, а не скучным компьютерным алгоритмом.
Но есть и другая, хорошая сторона: в ближайшее время нам точно не грозит восстание машин против наших скверных текстов.
Ольга Мустяц