Каждый день мы получаем из интернета поток новой информации: новостных статей, страниц Википедии, твитов, блогов и многого другого. Чтобы узнать самое важное, не перегружая себя лишней информацией, можно прибегнуть к автоматическому реферированию — одной из задач компьютерной лингвистики, заключающейся в сокращении длинного текста до короткого резюме. Таким образом можно узнать суть текста, не читая его целиком, а также сравнить содержание нескольких текстов, чтобы решить, какие из них стоит прочитать полностью.
Ниже приведена новостная статья, резюме которой мы хотим получить (предложения статьи пронумерованы):
Каким образом можно сократить эту историю с помощью компьютера? Один из возможных подходов — научить компьютер выбирать из текста несколько предложений, из которых и будет составлено резюме. Для того, чтобы определить, какие предложения стоит использовать, каждому предложению компьютер должен присвоить некоторые числовые характеристики. Величина характеристики должна определить, достаточно ли информативным является предложение, чтобы быть включённым в резюме.
Ниже представлены определения характеристик Х1–Х6, которые мы будем использовать для автоматического реферирования, и таблица, демонстрирующая величину этих характеристик для предложений текста. Порядок предложений в таблице перепутан, а номера некоторых из них скрыты. В определениях характеристик пропущены некоторые термины — они содержатся в отдельном списке.
Х1. Присвоить значение 1, если в предложении содержится как минимум 1 (а)_______; в противном случае присвоить значение 0.
Х2. Увеличить значение характеристики на 1 за каждое имя собственное, которое содержится в предложении.
Х3. Посчитать разность количества слов в предложении и N. Если полученное значение меньше 0, присвоить это значение характеристике. В противном случае присвоить значение 0.
Х4. Увеличить значение характеристики на 1 за каждое (б)_______ в предложении.
Х5. Увеличить значение характеристики на 1 за каждое (в)_______ или (г)_______, если оно встречается ещё как минимум в одном из остальных предложений текста.
Х6. Присвоить значение 1, если это предложение (д)_______ либо (е)_______ в тексте; в противном случае присвоить значение 0.
| Предложение № | Характеристика | Сумма баллов | |||||
| Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||
| ? | 0 | 1 | 0 | 1 | 2 | 0 | 4 |
| (1) | 0 | 4 | 0 | 1 | 1 | 1 | 7 |
| ? | 0 | 0 | −1 | 0 | 0 | 0 | −1 |
| (3) | 1 | 2 | 0 | 2 | 1 | 0 | 6 |
| ? | 1 | 1 | 0 | 0 | 2 | 1 | 5 |
| ? | 0 | 0 | −2 | 0 | 2 | 0 | 0 |
| (2) | 0 | 2 | 0 | 2 | 2 | 0 | 6 |
Задание 1. Заполните пропуски (а)–(е) терминами из списка. Вам понадобятся не все термины; кроме того, вы можете использовать некоторые из них больше одного раза.
Задание 2. Установите величину N, если известно, что она находится в диапазоне от 1 до 20.
Задание 3. Определите те номера предложений из текста, которые были скрыты в таблице.
Примечание: Для некоторых терминов (например, для имён собственных) возможны несколько вариантов подсчёта их встречаемости в тексте. Определить, как именно компьютер вычисляет результат в этих случаях, — часть вашей задачи.
Итоговый балл для предложения определяется суммой баллов по каждой из его характеристик. В резюме попадают предложения, набравшие максимальный балл (в рамках этой задачи мы будем отбирать три предложения), в том же порядке, в каком они встречаются в оригинальном тексте. В данном случае резюме будет состоять из предложений (1), (2) и (3), получивших соответственно 7, 6 и 6 баллов.
Начните решение задачи с характеристики Х3. Два предложения, получившие отрицательное количество баллов, должны быть самыми короткими в тексте. Посчитав длину двух самых коротких предложений, вы не только сможете узнать величину N, но и установите соответствия для двух строк таблицы.
Если вы успешно воспользовались предыдущей подсказкой, соответствия между оставшимися двумя строками таблицы и предложениями текста определяются однозначным образом с помощью характеристики Х6.
Подумайте о том, как программа вычленяет из текста числа: это важно для точного подсчёта баллов сразу по двум характеристикам.
Начнём решение с характеристики Х3, связанной с количеством слов в предложении. Вчитаемся в её определение: чтобы значение характеристики было отличным от нуля, разность количества слов в предложении и N должна быть отрицательной — другими словами, число слов в предложении должно быть меньше N. В соответствующем столбце таблицы находим два отрицательных значения: −1 и −2. Два самых коротких предложения в тексте — это предложения (5) и (6), длиной 9 и 8 слов соответственно. Соответствующие значения можно получить только при N = 10; все остальные предложения имеют длину больше 10 слов и 0 баллов в столбце характеристики. Дополним определение характеристики и таблицу:
Х3. Посчитать разность количества слов в предложении и 10. Если полученное значение меньше 0, присвоить это значение характеристике. В противном случае присвоить значение 0.
| Предложение № | Характеристика | Сумма баллов | |||||
| Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||
| ? | 0 | 1 | 0 | 1 | 2 | 0 | 4 |
| (1) | 0 | 4 | 0 | 1 | 1 | 1 | 7 |
| (5) | 0 | 0 | −1 | 0 | 0 | 0 | −1 |
| (3) | 1 | 2 | 0 | 2 | 1 | 0 | 6 |
| ? | 1 | 1 | 0 | 0 | 2 | 1 | 5 |
| (6) | 0 | 0 | −2 | 0 | 2 | 0 | 0 |
| (2) | 0 | 2 | 0 | 2 | 2 | 0 | 6 |
Теперь обратим внимание на характеристику Х6: в пропуски (д) и (е) подходят только слова первое, второе, третье, последнее, предпоследнее и третье с конца. Из двух предложений, имеющих 1 балл по этой характеристике, одно нам уже известно — это предложение (1); таким образом, пропуск (д) можно заполнить словом первое. Решатель, вероятно, догадывается, что особенно важным в любом тексте является также последнее предложение, но убедимся в этом окончательно. Из оставшихся предложений (4) и (7), предложение (4) никак не могло получить 1 балл по этой характеристике — ни одно из определений не подошло бы в пропуск. Получается, что 1 балл получило предложение (7) — последнее предложение:
Х6. Присвоить значение 1, если это предложение первое либо последнее в тексте; в противном случае присвоить значение 0.
| Предложение № | Характеристика | Сумма баллов | |||||
| Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||
| (4) | 0 | 1 | 0 | 1 | 2 | 0 | 4 |
| (1) | 0 | 4 | 0 | 1 | 1 | 1 | 7 |
| (5) | 0 | 0 | −1 | 0 | 0 | 0 | −1 |
| (3) | 1 | 2 | 0 | 2 | 1 | 0 | 6 |
| (7) | 1 | 1 | 0 | 0 | 2 | 1 | 5 |
| (6) | 0 | 0 | −2 | 0 | 2 | 0 | 0 |
| (2) | 0 | 2 | 0 | 2 | 2 | 0 | 6 |
На этом этапе таблицу можно для удобства отсортировать по порядку предложений:
| Предложение № | Характеристика | Сумма баллов | |||||
| Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||
| (1) | 0 | 4 | 0 | 1 | 1 | 1 | 7 |
| (2) | 0 | 2 | 0 | 2 | 2 | 0 | 6 |
| (3) | 1 | 2 | 0 | 2 | 1 | 0 | 6 |
| (4) | 0 | 1 | 0 | 1 | 2 | 0 | 4 |
| (5) | 0 | 0 | −1 | 0 | 0 | 0 | −1 |
| (6) | 0 | 0 | −2 | 0 | 2 | 0 | 0 |
| (7) | 1 | 1 | 0 | 0 | 2 | 1 | 5 |
Правильность действий на предыдущих шагах подтверждается вычислениями характеристики Х2 (имена собственные). Отметим, что название корпорации (Большой Пузырь) или газеты (США Сегодня) программа считала за одно целое, а имя и фамилию Рональда МакБаббла — за отдельные имена собственные.
Из оставшихся характеристик наиболее простой представляется Х1. Из всего списка терминов единственное, что мы встречаем по одному разу в предложениях (3) и (7), это «слово, написанное курсивом». Однако здесь требуется уточнение: название США Сегодня, посчитанное за одно целое для характеристики Х2, будет посчитано одним целым и в этом случае.
Похоже, что характеристика Х4 связана с числами: предложения (1), (2), (3) и (4), каждое из которых содержит числа, имеют по ней положительный балл, а предложения (5), (6) и (7), не содержащие чисел, — нулевой. Почему предложения (2) и (3) имеют по 2 балла? Присмотримся: каждое из них содержит также число, записанное прописью: за одну неделю и девять лет. Очевидно, программа научена распознавать такую запись.
Обратимся к характеристике Х5. Выделим в тексте все повторяющиеся слова (судя по всему, наша программа умеет определять часть речи, а значит, в состоянии соотнести друг с другом разные формы одного и того же слова). Служебные слова выделять не будем: в списке терминов для заполнения пропусков их нет. Также не будем выделять имена собственные: посчитаем, что программа уже разобралась с ними при подсчёте характеристики Х2.
| Предложение | Х5 |
| (1) 22 января Рональда МакБаббла, президента корпорации Большой Пузырь, застали за жеванием жвачки конкурирующей компании Не Отлипнуть. | 1 |
| (2) Инцидент вызвал бурю негодования среди сторонников Большого Пузыря: за одну неделю более 10 000 фанатов жвачки подписали петицию с требованием, чтобы МакБаббл ушел в отставку. | 2 |
| (3) По данным газеты США Сегодня, продолжающаяся девять лет «великая война жвачек» может скоро закончиться, так как акции Большого Пузыря упали на 50 процентов с того рокового дня. | 1 |
| (4) МакБаббл утверждает, что жвачку ему «подбросили», и весь инцидент — «на 100 процентов подстава». | 2 |
| (5) Почему же он продолжил жевать, увидев надпись на этикетке? | 0 |
| (6) «Потому что эту жвачку невозможно выплюнуть — слишком липкая!» | 2 |
| (7) Остается надеяться, что МакБаббл всё же смог отделаться от жвачки, хотя... для его репутации эта история действительно окажется весьма липкой. | 2 |
Количество выделенных слов сходится со значением Х5 во всех предложениях, кроме (3) и (4). Эта проблема легко решается, если представить, что слово «процентов» программа воспринимает как часть числа (так оно и есть).
Повторяющиеся слова жвачка и липкий из списка терминов могут быть описаны не только как «нарицательное существительное» и «прилагательное», но и как «обозначение жевательной резинки» и «слово, которое присутствует в названии текста». Очевидно, чем плох для заполнения пропуска вариант «обозначение жевательной резинки»: программа должна быть рассчитана на реферирование любых текстов, а не конкретного текста о жвачках. Кроме того, чтобы охватить слова липкий и инцидент, не хватит одного пропуска. Получается, что один из пропусков в Х5 должен быть заполнен словами «нарицательное существительное».
«Слово, которое присутствует в названии текста» в составе характеристики действительно может коррелировать с важностью предложения для резюме. Но такое правило работало бы далеко не на всех названиях (например, на названии этой задачи). Вариант «прилагательное», напротив, универсален и логично вписывается в пару с нарицательным существительным. Заполняем последний пропуск:
Х5. Увеличить значение характеристики на 1 за каждое нарицательное существительное или прилагательное, если оно встречается ещё как минимум в одном из остальных предложений текста.
Повторим ответы на задания 1–3:
Задание 1.
(а) слово, написанное курсивом,
(б) число,
(в) / (г): нарицательное существительное / прилагательное,
(д) / (е): первое / последнее.
Задание 2. N = 10.
Задание 3. Сверху вниз: (4), (5), (7), (6).
Предложенная выше задача может показаться непривычно объёмной, хотя её оригинал с Североамериканской олимпиады по компьютерной лингвистике (NACLO) длиннее в несколько раз. Он включает в себя ещё две выдуманных новостных статьи, резюме которых нужно получить описанным методом, и несколько дополнительных наблюдений об автоматическом реферировании. Мы хотим поделиться с вами этими наблюдениями и предлагаем вам посмотреть на другие задания из оригинальной задачи.
Подход, с которым вы познакомились выше (выбор нескольких наиболее важных предложений из текста для включения в резюме), называется извлекающим, или экстрактивным. Существует и альтернативный подход — генерирующий, или абстрактивный. Вместо копирования избранных предложений программа создаёт собственное резюме, не ограничиваясь дословным копированием предложений оригинального текста. Этот подход к автоматическому реферированию больше похож на подход живого человека, но для машины он часто влечёт за собой фактические ошибки. Ниже представлено резюме текста «Липкий стыд» в одном предложении, сгенерированное с помощью такого подхода:
Корпорация Не Отлипнуть столкнулась с серьёзными проблемами после того, как её заместителя президента застали за жеванием жвачки конкурирующей компании Большой Пузырь 22 февраля.
Это резюме содержит несколько типичных ошибок, встречающихся при генерирующем подходе. Исправьте эти ошибки, ответив на следующие вопросы:
В сгенерированном резюме президент превратился в заместителя президента, названия корпораций перепутаны местами, а также перепутана дата — февраль вместо января.
Кроме того, из оригинальной задачи мы узнаём, что фактические ошибки порождаются не только при генерирующем подходе, но и при извлекающем. Попробуйте получить резюме статьи с продолжением истории о жвачках, самостоятельно составив таблицу характеристик:
(1) Репутационная катастрофа и дефицит поставок ознаменовали начало тяжёлых времён для Рональда МакБаббла.
(2) «Нам сейчас действительно приходится несладко», — комментирует он дрожащим голосом.
(3) Тем временем его соперник, Чикл "Полковник’ Сандерс, столкнулся с собственными проблемами, такими как неудовлетворительный квартальный отчёт.
(4) Пожалуй, самое серьёзное: он находится под следствием в Федеральной Службе Жевательной Безопасности по двум обвинениям в подделке обёрток.
(5) Одно очевидно — сейчас не лучший момент, чтобы заниматься бизнесом по производству жвачки.
| Предложение № | Характеристика | Сумма баллов | |||||
| Х1 | Х2 | Х3 | Х4 | Х5 | Х6 | ||
| (1) | 0 | 1 | 0 | 0 | 0 | 1 | 2 |
| (2) | 0 | 0 | −1 | 0 | 0 | 0 | −1 |
| (3) | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| (4) | 0 | 1 | 0 | 1 | 0 | 0 | 2 |
| (5) | 0 | 0 | 0 | 1 | 0 | 1 | 2 |
Если вы правильно выполнили подсчёты, получившееся резюме должно состоять из предложений (1), (4) и (5):
Репутационная катастрофа и дефицит поставок ознаменовали начало тяжёлых времён для Рональда МакБаббла. Пожалуй, самое серьёзное: он находится под следствием в Федеральной Службе Жевательной Безопасности по двум обвинениям в подделке обёрток. Одно очевидно — сейчас не лучший момент, чтобы заниматься бизнесом по производству жвачки.
Легко заметить, что оно содержит важную смысловую ошибку: местоимение он во втором предложении, изначально отсылавшее к сопернику МакБаббла Сандерсу, в получившемся тексте отсылает к самому МакБабблу. Избежать таких ошибок было бы можно, если бы наша программа справлялась с разрешением анафоры — определением, к чему именно относится то или иное местоимение, указательное слово или выражение в тексте.
Уже в процессе решения задачи вы могли заметить — чтобы успешно выполнить автоматическое реферирование, программа должна справляться с целым рядом более узких задач по автоматической обработке текста, таких как:
В заключение сравним, как с задачей резюмирования в трёх предложениях текста о «войне жвачек» из условия задачи справились три нейросетевых модели: Chat GPT-4, Google Gemini и Yandex GPT-4.
Chat GPT-4: Президент корпорации «Большой Пузырь» Рональд МакБаббл оказался в центре скандала после того, как его заметили за жеванием жвачки конкурирующей компании, что вызвало протесты среди фанатов и обвал акций корпорации на 50%. МакБаббл утверждает, что жвачку ему подбросили, но продолжил жевать из-за её необычайной липкости, что только усугубило ситуацию. Этот инцидент может привести к переменам в «великой войне жвачек», которая длится уже девять лет.
Google Gemini: Президент корпорации Большой Пузырь Рональд МакБаббл оказался в центре скандала после того, как его застали за жеванием жвачки конкурента. Этот инцидент спровоцировал массовые протесты фанатов и привел к резкому падению акций компании. Несмотря на то, что МакБаббл утверждает, что его подставили, его репутация серьезно пострадала.
Yandex GPT-4: Президент корпорации «Большой Пузырь» Рональд МакБаббл был замечен за жеванием жвачки конкурирующей компании «Не Отлипнуть», что вызвало недовольство сторонников и привело к сбору более 10 тысяч подписей за его отставку. За неделю после инцидента акции «Большого Пузыря» упали на 50%, а «великая война жвачек» может скоро закончиться. МакБаббл утверждает, что жвачку ему подбросили, и весь инцидент называет подставой.
Все резюме созданы с помощью генерирующего подхода, но можно заметить, что степень дословного сохранения выражений из оригинального текста разная — у Яндекса самая большая. Есть незначительные стилистические неровности: например, согласование однородных сказуемых по времени во втором предложении у Chat GPT. Google Gemini сразу же предлагает улучшить собственное резюме, уточняя ключевые моменты, которые можно добавить или подчеркнуть в зависимости от контекста (оригинальный текст статьи нейросеть также предлагает улучшить). Оригинальная выдуманная статься, безусловно, сама по себе звучит не вполне естественно — поэтому некоторая ненатуральность всех её резюме вполне оправданна.
Задача использовалась на I туре Североамериканской олимпиады по компьютерной лингвистике (NACLO) в 2022 году. На сайте представлена её сокращённая версия.
Автор задачи — Райан Чи.
Автор послесловия и перевода задачи на русский язык — Юлия Панченко.
Автор иллюстрации — Мария Леутина.




Липкий стыд
(1) 22 января Рональда МакБаббла, президента корпорации Большой Пузырь, застали за жеванием жвачки конкурирующей компании Не Отлипнуть.
(2) Инцидент вызвал бурю негодования среди сторонников Большого Пузыря: за одну неделю более 10 000 фанатов жвачки подписали петицию с требованием, чтобы МакБаббл ушел в отставку.
(3) По данным газеты США Сегодня, продолжающаяся девять лет «великая война жвачек» может скоро закончиться, так как акции Большого Пузыря упали на 50 процентов с того рокового дня.
(4) МакБаббл утверждает, что жвачку ему «подбросили» и весь инцидент — «на 100 процентов подстава».
(5) Почему же он продолжил жевать, увидев надпись на этикетке?
(6) «Потому что эту жвачку невозможно выплюнуть — слишком липкая!»
(7) Остается надеяться, что МакБаббл всё же смог отделаться от жвачки, хотя... для его репутации эта история действительно окажется весьма липкой.