«В поиске аргументов я не верю в объективность: не думаю, что она существует»
Для осмысленной беседы каждый участник должен уметь слышать аргументы другого. Но можно ли научить компьютер выделять доводы собеседника или автора текста? Лингвисты считают, что да, и называют этот подход argumentation mining (поиск обоснования, или аргумента). Рассказываем, что это за направление, — по следам доклада Штеде на конференции «Диалог», посвященной компьютерной лингвистике и интеллектуальным технологиям и организованной ABBYY и Московским физико-техническим институтом.
— В вашем докладе вы упоминаете несколько методов поиска обоснования. Насколько я понимаю, основа вашего подхода — анализ союзов и связок в каждой фразе. На основании чего алгоритм заключает, что перед нами условие, оценочное суждение или уточнение?
— Мы используем три различных источника информации для поиска аргументов. Во-первых, это логические связки, которые вы упомянули. Они могут быть очень специфичны, как следовательно или хотя. Следовательно означает «сказанное ранее — причина», а хотя означает «есть причина, чтобы этого не было, но это все равно происходит».
Например: «Хотя солнце светит, я в плохом настроении», — мы видим, что такая комбинация событий необычна, но она возникла.
Другие соединительные слова более размыты, как и или потом. Это может указывать на временную последовательность событий, но также может просто означать, что говорящий что-то добавил к сказанному ранее. Одни союзы, означающие причину, могут помочь найти доказательства, или аргументы, другие могут указать на подведение итогов. Другое дело — противительные союзы, которые я обсуждал в моем докладе. Они связывают разные точки зрения на один и тот же вопрос, возможно, высказанные разными воображаемыми авторами. Они позволяют в одной фразе сказать о плюсах и минусах одного и того же решения — допустим, перевода часов на летнее время.
Приведу пример. «Перевод часов на летнее время — отличная идея, потому что у нас будет больше времени для интересных вечерних занятий, несмотря на то что домашние животные будут недовольны, что их кормят в разное время», — здесь автор все еще полагает, что это хорошая мысль, видимо, считая людей более важными или еще по какой-то причине.
Я могу поддержать и ту, и другую точку зрения дополнительными аргументами, показывая доводы «за» и «против» много раз. Когда обе точки зрения нужно представить в тексте, требуется сигнал, который поможет переключаться между ними. В этом и помогают противительные союзы — однако, зато, но, несмотря на.
Во-вторых, кроме соединительных слов мы можем использовать некоторые характеристики самого предложения, которые позволяют отличить заявление от нейтральной констатации факта. Здесь интересно рассмотреть модальные глаголы и модальные слова, передающие отношения говорящего. «Тебе следует что-то сделать», «это может быть хорошей идеей», «она ни в коем случае не должна что-то делать» — это не просто факты, а субъективные утверждения. Обычно они выделены в речи, поэтому их легко обнаружить:
I wish that tomorrow there will be rain. — Хотелось бы, чтобы завтра пошел дождь.
I suspect Trump will win the election. — Я предполагаю, что Трамп выиграет выборы.
Затем можно добавить доводы, чтобы поддержать это заявление. Например, сказать, что у вас есть статистические данные, которые подтверждают, что Трамп лидирует в президентской гонке. Такие индикаторы модальности — второй источник информации для нашего поиска.
Наконец, третий пункт — это то, как организованы все элементы в тексте, где они собираются воедино. Текст, начинающийся с контраргумента и продолжающийся еще двумя, а затем оканчивающийся противоположным выводом безо всякого подкрепления, будет очень нетипичным. Скорее всего, он будет неубедителен. Часто текст начинается с заявления или вводного утверждения, затем следуют аргументы, которые будут объединены обобщающим заявлением. Могут приводиться и контраргументы, но автор часто опровергает их и затем приходит к выводу. Есть различные типы последовательности шагов обоснования (argumentative moves), как мы их называем, которые работают хорошо, и те, которые работают плохо. Это связано с риторикой. Еще древнегреческие философы понимали, как составить хороший текст. Мы тоже ищем паттерны, которые успешны и часто используются, и паттерны, которые встречаются редко и убеждают плохо.
Итак, компьютер может использовать три типа сигналов: о чем говорят соединительные слова, на что указывает грамматика фразы и каков линейный порядок моего текста. Эти три типа подсказок мы можем собрать вместе и попытаться автоматически отыскать структуру логического обоснования.
— Какие жанры текстов вы анализируете чаще всего?
— Мы много работали с редакционными колонками газет. Они могут касаться очень спорных вопросов, приводя аргументы за и против один за другим. Такие тексты могут быть относительно простыми примерами для тренировки наших моделей, если автор кристально ясно излагает мысль и не пускается в пространные лирические отступления. Но со стилем некоторых СМИ тяжело работать: иногда в тексте вовсе нет доводов и обоснований, а комментируется какой-то факт без высказывания четкой позиции по этому вопросу.
Кроме того, мы используем тексты, которые делаем с нуля. Мы создаем такие корпуса (своды, подборки документов — прим. Indicator.Ru) не вручную, а задавая студентам вопросы, на которые нужно дать развернутый письменный ответ (например, должно ли высшее образование в Германии быть платным или что-то еще, о чем у них точно есть мнение). В результате получаются короткие тексты с мнениями с обеих сторон. Они немного искусственны, но могут быть полезны для обучения наших компьютерных моделей перед тем, как перейти на более сложный материал.
Также существует множество онлайн-платформ для дискуссий и обмена мнениями, как Change My View или createdebate.com. С одной стороны, этот источник легко использовать, но с другой, они созданы пользователями и сложны для автоматической обработки.
— Как вы создаете такие корпуса? Допустим, вы хотите научить чему-то алгоритм. Для этого вам нужно много материала с простыми и понятными примерами. В самом начале вы подписываете «правильные ответы» вручную?
— Это хороший вопрос. Мы начинаем с коротких текстов, созданных нашими студентами (мы называем их микротекстами). Для обучения модели нам нужно аннотирование, и мы сначала вручную подписываем, где «аргумент за», «аргумент против», «заявление» и так далее. Ассоциируя эти подписи с текстом, компьютер создает свои модели. Когда у нас есть первое поколение моделей, пусть и далекое от идеала, мы можем использовать их для ускорения аннотирования. Так у нас появляется больше данных для автоматической разметки, и люди могут корректировать ошибки компьютера — обычно это быстрее, чем делать все полностью вручную. То есть мы начинаем с коротких и простых текстов и подписей, данных людьми, и затем постепенно продвигаемся к более сложным текстам и автоматизируем процесс, насколько это возможно.
Чтобы создать такие модели, нам нужна лингвистическая информация. Для этого используются те индикаторы, которые я уже упомянул, например модальные слова и признаки субъективного высказывания («вероятно, завтра будет дождливая погода»). Автоматические инструменты позволяют выделить такие слова при помощи анализа строения предложения, чтобы понять, где мы видим констатацию факта, а где нам дано мнение. Эти характеристики помогают улучшать модели.
Таким образом, для каждого образца текста нужно аннотирование на двух уровнях: лингвистических характеристик и пометок, указывающих на доводы за и против, а также на заявление. Вместе на их основе можно построить статистическую модель, которая покажет, какие характеристики помогают предсказать наличие обоснования лучше всего.
— Вы привели примеры соединительных слов с неясным значением. Как добиться объективности в вашем первом аннотировании вручную?
— В поиске аргументов я не верю в объективность: на самом деле, я не думаю, что она существует. Мы опираемся на интерсубъективность, которая означает, что много человек согласились с данной трактовкой предложения и лишь малое число поняло бы его иначе. «Объективность» означала бы, что предложение может быть понято лишь одним правильным способом. Интерсубъективность — это мнение большинства. Чтобы его получить, мы привлекаем столько людей, сколько можем себе позволить (как минимум двоих), и измеряем, насколько они согласны и какую долю от этого составляет случайность, а какую — интересующее нас активное согласие. Это помогает нам создавать инструкции и рекомендации, которые пригодятся для последующей аннотации: «считайте это аргументом за, если у образца текста есть хотя бы одна из следующих характеристик». Мы можем протестировать, насколько успешны наши инструкции, или даже обнаружить, что задача неразрешима независимо от того, насколько они хороши. Иногда она просто слишком сложна.
— Такие характеристики могут быть очень специфичны для разных языков. Как вы работаете с этим?
— Я работаю в основном с немецким и английским, и, поскольку языки родственны друг другу, эти черты в них похожи и похожи будут и мои методы. Синтаксический анализ может быть разным, но грамматика в разных языках бывает очень сходной. Иногда можно даже «одолжить» грамматику одного языка и применять ее в другом, лишь немного подкорректировав свою модель. Так сработает с итальянским и испанским или испанским и французским. Отражение субъективности (как модальные глаголы) очень похоже в немецком и английском, и можно взять ту же самую модель, поменять слова и использовать ее. Что касается последовательности аргументов для хорошего или плохого обоснования, то они не должны зависеть от конкретного языка, это общее знание риторики. Универсальны ли они для всех языков? Я думаю, да, но было бы интересно изучить это глубже. В тех же колонках газет попадаются любопытные контрасты. В редколонках японских и немецких СМИ вы увидите культурные и лингвистические различия в способе представления своей точки зрения. В Японии люди стремятся к подчеркнутой вежливости, поэтому, даже защищая противоположную точку зрения, они отметят важность вашей. В Германии авторы могут быть менее тактичными и осторожными, добавляя больше контрастности в свою позицию. То есть различия скрыты в том, как принято строить коммуникацию, а не на уровне лингвистики.
— В прошлом году вы стали соавтором публикации о корпусе ConnectiveLex. Можно ли использовать базу данных вроде этой для сравнения разных языков?
— Да, сейчас там можно сделать поиск между разными языками, хоть и очень простой, как найти все союзы, означающие причинно-следственную связь. Пока что это все, у нас нет детализированного сравнения того, как ведут себя эти слова. В дальнейшем мы хотели бы делать более детализированный анализ добавленных слов, хоть это и усложняет задачу. Сейчас в корпусе нет данных и о переводе — можно получить подборку соединительных союзов из двух языков, но не будет понятно, какой союз какому соответствует. Мы хотим связать слова, которые соотносятся друг с другом в разных языках, а также добавить больше характеристик… Но потребуется больше осторожности, ведь не всегда можно найти в языке А слово, идеально соответствующее слову в языке Б, что и для союзов справедливо. Мы хотим дополнить наши модели теми характеристиками, которые помогут различить слова с похожими, но не абсолютно идентичными значениями в разных языках, ведь это и должен содержать каждый хороший словарь.
— Какие практические применения вашего подхода вы видите в будущем? Есть ли примеры использования таких методов компаниями или чиновниками?
— Argumentation mining — относительно новое направление, так что не думаю, что существует много успешных применений автоматического подхода. Однако инструменты для этого известны давно: люди могут рисовать схемы на экране и графически вести протокол сказанного, отмечая, кто защищал какую точку зрения в дискуссии. Для этого существует множество применений в компаниях, в принятии решений. Инструменты могут быть во многом автоматизированы, что позволяет компьютеру схематически конспектировать дискуссию между людьми. Пока что нам необходимо вмешиваться и вносить поправки, но автоматические инструменты упрощают и ускоряют процесс.
Другое применение, над которым сейчас работает одна из производящих компьютеры фирм, это автоматическая система для дебатов, которую уже даже представили публике. Получив противоречивую тему, система ищет аргументы в сети и соединяет их автоматически, а затем формулирует маленькую речь. Она может начать с предположения, расположить обоснования в нужном порядке и реагировать на доводы человека, ведя короткие диалоги. Практическая польза здесь менее очевидна: люди не очень-то любят спорить с машиной ради удовольствия. Но для образовательных целей, для выработки хороших стратегий аргументации автоматические системы продемонстрируют, как обосновать свою позицию в речи. Кроме того, понимание аргументации может помочь не просто усовершенствовать систему для дискуссий, но и объединить несколько разнонаправленных аргументов и суммировать данные. Это не заменит принятия решения человеком, но сделает более прозрачным сам процесс принятия решения. Также это может помочь в оценке эссе, дискуссионных по своей природе. Одна из американских компаний ведет исследования на эту тему. Точно не знаю, как далеко они зашли, но это относительно несложная задача.
Также мы используем свои методы в соцсетях, когда исследуем мнения людей. Один из моих PhD изучает аргументацию в Twitter и собирает данные об изменениях климата, чтобы понять, как много людей уверены, что виной ему антропогенное влияние, как много людей в это не верит и чем они подкрепляют свою точку зрения. Одна из моих постдоков занимается исследованием обоснований антивакцинаторов, ее подход автоматизирован лишь наполовину. Кроме того, мы активно сотрудничаем с социологами, которые интервьюируют людей и тоже исследуют высказывания в социальных сетях.
— В чем, с вашей точки зрения, заключаются основные трудности в вашей научной области? Как ученые надеются их преодолеть?
— Самая большая сложность — когда компьютер для понимания языка должен понять контекст. Слово или предложение могут значить совсем разное в разном контексте. Что было сказано ранее, уточнили ли мы информацию позже, где мы это прочитали — все эти факторы в сочетании сильно влияют на то, как будет понято утверждение. Добавить это к модели очень тяжело, ведь никто точно не знает, какие контексты нужно подразумевать, как они работают и как управлять этой сложной системой. Наши подходы помогают формализировать это знание, ввести разные правила в разных областях. Мы можем добавлять информацию, находить влияние терминов друг на друга. Чтобы не усложнять ситуацию, можно взять огромное количество данных и проверить, какие слова будут встречаться в одном предложении. Статистика поможет оценить, что слово будет значить в определенном окружении. Это позволит избежать путаницы во множестве слов: когда «операция» стоит рядом со словами «врач» и «скальпель», оно будет означать не то же самое, что и рядом со словосочетанием «воздушные силы». Для таких моделей нужны огромные массивы данных, оценивая которые, они станут статистически еще более сильными.
Понравился материал? Добавьте Indicator.Ru в «Мои источники» Яндекс.Новостей и читайте нас чаще.
Подписывайтесь на Indicator.Ru в соцсетях: Facebook, ВКонтакте, Twitter, Telegram, Одноклассники.