Как научить искусственный интеллект понимать смысл текста?
Один из волнующих меня вопросов в области искусственного интеллекта — осмысление текста. Как известно, современные нейросети относительно успешно справляются с языковыми переводами и другими задачами, но эта относительность обусловлена как раз тем, что они не понимают смысла переводимого текста.
Каждому лингвисту известна фраза следующего содержания: «гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка«. Для русского уха звучит вполне по-славянски и определенно выражает некое действие — но не более того. В моем понимании примерно так нейросети и воспринимают переводимый текст, выделяя в нем подлежащее и сказуемое, существительные, глаголы, прилагательные и прочие части речи — не понимая при этом их смысла.
Но что есть смысл? Чем от фразы выше отличается, к примеру, следующий текст: «большая собака больно укусила кота и лижет котенка«, смысл которого нам уже вполне понятен? На мой взгляд, эта понятность выражается в первую очередь в зрительных образах и отчасти — эмоциональных и физических ощущениях, когда-либо нами испытанных. Все мы видели собак, котов, котят, понимаем разницу между большим и малым (по крайнем мере в рамках некоей воображаемой нами сцены), видели как животные кусают и лижут, и знаем что такое чувство боли.
Означает ли это, что задав в нашей искусственной системе набор соответствий между словами и образами (в виде изображения, видео или звука), мы сможем хотя бы частично (возможно за исключением ощущений) научить её понимать смысл прочитанного текста? На мой взгляд — да, во всяком случае примерно так осознаем прочитанный или услышанный текст мы сами. Благодаря наличию такой взаимосвязи можно произвести и обратное действие: описать текстом увиденный репортаж или кинофильм (в принципе современные нейросети уже научились описывать текстом сюжет, который видят на изображении).
Но на этом осмысление текста не заканчивается. Машине будет непросто объяснить смысл вышеупомянутых эмоциональных и физических ощущений — их испытывает только живое существо. Хотя по сути это все лишь набор сигналов, поступивших в мозг, поэтому теоретически для восприятия ощущений органы чувств необязательны — возможно в перспективе воспроизвести все эти ощущения удасться в самой машине. И даже без этого можно задать набор соответствий между словами, которые эти ощущения выражают (боль, страх, ненависть, любовь и т.д.) и, например, соответствующим выражением на лице человека. Или даже набором сюжетов, в которых эти ощущения сопровождаются определенными действиями. В этом случае ИИ по крайне мере будет понимать как эти ощущения проявляются у человека. Для примера можно взять трогательный монолог Сони в финале чеховской пьесы «Дядя Ваня». Эмоционально машина сможет осмыслить его только после знакомства с экранизацией этого произведения — но благодаря этому научится уже без всякой экранизации понимать другой похожий по тональности текст.
Более сложная, на мой взгляд, проблема возникает тогда, когда надо «отделить зерна от плевел» — выделить в тексте главное. Это довольно непростая задача даже для человека — к примеру роман Достоевского «Преступление и наказание» можно описать как в виде последовательности конкретных событий (в традициях обычного детектива), так и в виде философской дилеммы и тяжелых душевных переживаний главного героя. Упростим задачу и попросим ИИ пересказать нам событийную линию этого сюжета. Как он поймет, что в нем главное?
Для начала придадим человеческим поступкам веса значимости — убийство безусловно заслуживает большего внимания, чем поход в булочную. В свою очередь с позиции морали (общественного одобрения или порицания) можно дать человеческим поступкам ту или иную нравственную оценку. Впрочем эти веса возможно получится присвоить в процессе обучения ИИ на базе мировой литературы (см. ниже).
Еще один вопрос — определение главных героев повествования (значимые поступки которых надо пересказать), но это вроде бы достаточно просто — достаточно принять во внимание частоту упоминания того или иного персонажа. Чтобы лакей, который регулярно произносит «Кушать подано!», не стал одним из героев повествования, к регулярности упоминания надо будет присовокупить вышеупомянутую значимость поступков. Таким образом, основная сюжетная линия будет определяться ИИ на основе количественных и качественных параметров — аналогично тому, как это происходит у человека.
Но и зрительного осмысления с возможностью краткого пересказа недостаточно — очевидно необходимо также логическое осмысление, т.е. понимание причинно-следственной взаимосвязи. Логика может быть как задана изначально, так и, возможно, выработана в процессе выявления взаимосвязей между отдельными событиями внутри прочитанных сюжетов. Например, в «Ромео и Джульетте» можно выделить такие события: 1) вражда Монтекки и Капулетти; 2) возникшая между Ромео и Джульеттой любовь при случайной встрече; 3) стремление влюбленных сочетаться браком; 4) невозможность такого брака из-за междоусобицы их семей; 5) самоубийство Ромео и Джульетты, не способных смириться с утратой любимого человека. Не считая сюрреализма с фантастикой, художественные произведения вполне реалистично иллюстрируют человеческие взаимоотношения и позволяют выявить в них закономерности: 1) если люди влюбляются — они стремятся быть вместе; 3) если их семьи враждуют — им этого не позволяют; 4) если им этого не позволяют — они страдают. Едва ли наше собственное осмысление подобных художественных перипетий всегда основывается на личном опыте — зачастую это результат нашего знакомства со множеством подобных сюжетов. Возможно, что пропустив через ИИ мировую художественную и научную историческую литературу, мы обучим его вполне человеческому осмыслению человеческих поступков и переживаний.
Последнее — пожалуй самая сложная и трудно формализуемая задача. Возможно её решение следует предварить более формальным описание сюжета из художественной литературы. Например, представить его в виде набора таблиц, у которых горизонтальная и вертикальная шапка — это персонажи или даже неодушевленные категории, а в ячейках — описание отношений или действий между ними.
Возьмем роман «Робинзон Крузо», основной сюжет которого не изобилует персонажами. Его можно описать парами:
- Робинзон — корабль: Робинзон плывет на корабле
- Корабль — море: корабль тонет
- Робинзон — остров: Робинзон оказывается на острове
- Робинзон — остров: Робинзон выживает благодаря острову
- Робинзон — Пятница: Робинзон и Пятница встречаются
- Робинзон — Пятница: Робинзон спасает Пятницу.
И т.д. и т.п. По мере накопления тысяч всевозможных сюжетов из художественной литературы с миллионами пар, описывающих взаимоотношения и события между персонажами этих сюжетов, ИИ будет выявлять в них в них закономерности и таким образом как бы логически осмысливать сам сюжет. В конце концов что такое логика, как не обобщение причинно-следственных связей, наблюдаемых нами в повседневной жизни?
В рамках нейросети эти связи будут выражаться через усиление или ослабление связей между нейронами — в зависимости от того, насколько часто эта взаимосвязь встречается в мировой литературе. С этой целью можно попытаться описать встречающиеся в мировой литературе категории, отношения и действия посредством ассоциируемых с ними визуальных образов (или их набора). Каждое литературное произведение (а тем более кинофильм) подобно комиксу будет содержать набор этих образов. На базе миллионов этих произведений (одних книг насчитывается около 130 млн.), в зависимости от того в какой последовательности обычно следуют эти визуальные образы, как они обычно между собой комбинируют и т.д., нейронная сеть выстраивает между ними связи. Тогда, встретив уже новый текст и выразив его в виде собственного набора образов, ИИ сможет оценить насколько сочетания и комбинации этих образов в данном тексте устойчиво встречаются в мировой литературе — и таким образом этот текст осмыслить.
Очевидно, что по аналогии с нынешним творчеством в изобразительном искусстве и музыке, такая система когда-нибудь сможет сама создавать новые литературные произведения.
Если резюмировать, осмысление текста искусственным интеллектом на мой взгляд можно реализовать следующим образом:
- каждому слову на естественном языке, а также текстовому описанию всех возможных действий (отношений, явлений, процессов) задается соответствующий им набор зрительных ассоциаций;
- посредством подсчитанных в тексте количественных, а также заранее заданных или выявленных в процессе обучения качественных параметров, в этом тексте выделяется и визуально описывается основной сюжет;
- этот сюжет осмысливается на основе предварительно выявленных в мировой литературе и кинематографе закономерностей.
Реализация этого подхода при помощи нейросети в моем понимании будет выглядеть так:
- Нейросеть содержит тысячи кратко описанных текстом действий: «кто-то любит», «кто-то тонет», «кто-то спасает» и т.д. Каждому из этих действий задается набор визуальных образов соответствующего содержания — например, фото, картин, фрагментов из кино, роликов YouTube и т.д. Сначала они задаются вручную, потом нейросеть учится находить их самостоятельно (по сходству с образами, отобранными вручную);
- На базе миллионов сюжетов мирового кинематографа и мировой литературы (описанной набором из готовых визуальных образов), нейросеть между встречающимися там действиями выстраивает связи (которые тем сильнее, чем чаще эти связи встречаются в кино и литературе);
- Получив новый, требующий понимания, сюжет, нейросеть описывает встречающиеся в нем действия готовым набором визуальных образов и осмысливает связи между ними с точки зрения устойчивости этих связей в мировом искусстве.
В биологическом смысле осмысление услышанного или прочитанного текста вероятно происходит схожим образом, но совсем необязательно сопровождается визуальными образами. В моем понимании текст разбивается на составные фрагменты с некими законченными утверждениями, между которыми наш мозг пытается установить соединение. При этом затрагиваются те группы нейронов, которые работали с аналогичными утверждениями на протяжении всей нашей жизни, по мере биологического и социального развития, накопления опыта. Если благодаря этому опыту между нейронами установились сильные связи, то происходит понимание нового текста. В противном текст либо воспринимается как бессмысленный или ложный, либо осмысливается через абстрактную логику — другие группы нейронов, которые выражают составные элементы логических конструкций. Вероятно абстрактное мышление, способность к которому у всех разная, состоит как раз в способности устанавливать связи между группами нейронов, моделирующих прочитанный текст, и группами нейронов, моделирующих соответствующие логические конструкции.
Примерно таким видится мне общий, теоретический, подход к реализации понимания смысла текста искусственным интеллектом. Это мнение ни в коем случае не претендует на экспертное, поэтому прошу читателя не судить строго за возможно слишком наивное понимание столь сложной проблемы. Причем пока речь идет о довольно простых текстах с конкретным сюжетом — на уровне детской литературы. В литературе более зрелой много иносказательного и недосказанного, сложных эмоциональных переживаний. Поймет ли их бездушная машина?..