Читать нас в Telegram
Иллюстрация: Надежда Луценко

Когнитивные лингвисты определяют завтрак

Идея описывать семантику через фреймы (от англ. «рамка, структура») пришла к нам из когнитивной лингвистики [2]. Попробуем раскрыть эту идею, задавшись простым вопросом: «Что такое завтрак?»

Обратимся к «Викисловарю»:

Завтрак — еда утром, до обеда.

При всей лаконичности такого определения сложно определить завтрак точнее. Мы не можем сделать этого через определенное время, поскольку кто-то завтракает в четыре утра, а кто-то в десять. Трудно это сделать и через какое-то идеальное «завтрачное» меню, так как в разных культурах оно может сильно отличаться.

Чтобы понять этот концепт, нужно быть знакомым с обычаем принимать пищу три раза в день. Завтрак в этой системе — первый прием. Безусловно, время и меню также важны, потому что они ассоциированы с нашими представлениями о том, что из себя обычно представляет завтрак. Но вообразить завтрак мы можем даже без них. А вот идея трехразового питания обязательна, ведь заявление о «пропущенном завтраке» опирается на предположение, что в идеале должны существовать три приема пищи. В ситуации, когда их за день было всего два, мы можем получить «обедозавтраки», чтобы не выбрасывать из системы первый. Это лишний раз показывает, насколько наше понимание «обеда» и «завтрака» опирается именно на традицию трех приемов пищи.

Американский лингвист Чарльз Филлмор, один из отцов фреймовой семантики, называет идеальную ситуацию, в которой день содержит три приема пищи, «мотивирующим контекстом». Мотивирующий контекст таким образом становится ключевым компонентом фрейма.

Фрейм в этом случае можно определить как систему категорий, которые структурированы в соответствии с некоторым мотивирующим контекстом. То есть в случае с приемами пищи мотивирующим контекстом будет идея «принято принимать пищу три раза в день», а завтрак, обед и ужин будут категориями, которые распределены между собой в этом контексте.

Фреймовая семантика и грамматика конструкций

Система категорий с мотивирующим контекстом — не единственное определение фрейма. Можно сказать проще: фрейм представляет из себя ситуацию с набором ее участников. Например, фрейм сна можно описать как ситуацию, в которой некоторый субъект находится в состоянии сна определенное время.

Разберем это на примере предложения «Егор спал три часа». В нем слово спал указывает на сам фрейм сна — такие слова называются frame evoking elements, то есть элементами, вызывающими фрейм, оно заставляет нас обратить внимание на эту ситуацию. А слова Егор и три часа указывают на ее компоненты: спящего и продолжительность.

Этот подход к фреймам тесно связан с одним из направлений современной лингвистики — грамматикой конструкций. В этом материале мы не будем подробно останавливаться на ее особенностях, но введем базовое определение. Конструкция — это устойчивый набор языковых единиц [5].

Лингвистические конструкции можно выделять на разных уровнях абстракции. Так, например, на уровне частей речи слова «дом», «собака» и «груша» являются представителями одной и той же конструкции — Noun (существительное). Можно определять конструкции как паттерны с низким уровнем вариативности. Такой конструкцией, например, будет идиома «слон в посудной лавке». А можно и те, в которых сочетаются устойчивая и изменяемая часть, такой конструкцией можно назвать «выбить всю дурь из X», где X — изменяемая часть. Эта конструкция может реализоваться, например, в предложении «выбить всю дурь из Стёпы». Наконец, с помощью конструкций можно описывать сложные грамматические паттерны, такие как пассивный залог в английском языке. Предложение The cabbage was boiled («Капуста была сварена») — это реализация конструкции Subj aux VPpp (субъект — вспомогательный глагол — пассивное причастие).

Примеры конструкций на разных уровнях абстракции. Источник: Oxford Handbook of Construction Grammar
Примеры конструкций на разных уровнях абстракции. Источник: Oxford Handbook of Construction Grammar

Как устроены фреймбанки

FrameNet

Фреймы помогают исследовать, как устроены значения в естественном языке. В частности —как грамматические паттерны языка связаны со значениями слов в фреймах. Для упрощения работы лингвисты начали составлять базы данных фреймов — фреймбанки.

Одним из первых фреймбанков стал проект университета Беркли, в котором работал упоминавшийся выше сооснователь фреймовой семантики Чарльз Филлмор, — FrameNet [1]. FrameNet сфокусирован на описании крупных фреймов, например, движения. Для этого авторы базы выделяют ключевые компоненты фрейма движение, такие как «Путь», «Цель», «Исходная точка», «Тема» (то, что проходит путь от изначальной точки в конечную) и др. Потом описывают поведение лексем внутри фрейма. Так, например, для глагола blow («дуть») в базе приведены все возможные способы, которыми могут выражаться элементы фрейма:

Фрагмент лексического описания глагола blow в FrameNet: перечислены способы выразить место, переносчик, депиктив (состояние участника), цель и способ
Фрагмент лексического описания глагола blow в FrameNet: перечислены способы выразить место, переносчик, депиктив (состояние участника), цель и способ

Видим, что, к примеру, в конструкциях с глаголом blow цель может описываться как различными предлогами (in, into, to), так и существительным в позиции дополнения. Благодаря такому описанию мы можем представить, как выглядят возможные конструкции с этим глаголом.

Также в FrameNet приводятся и размеченные примеры предложений. Важно отметить, что не все элементы фрейма будут обязательно выражаться в предложении:

Размеченные примеры с глаголом blow в базе FrameNet, цветами выделены различные элементы фрейма
Размеченные примеры с глаголом blow в базе FrameNet, цветами выделены различные элементы фрейма

FrameBank

Похожим на FrameNet образом устроен FrameBank — крупнейший фреймбанк для русского языка [3]. В его основе лежат глаголы: для каждого из значений глагола собираются лексические конструкции, в которых он употребляется. Затем внутри самой конструкции размечаются семантические и грамматические параметры.

Посмотрим на разметку предложения «Пятно выступило на рубашке»:

Размеченное в формате FrameBank предложение «Пятно выступило на рубашке»
Размеченное в формате FrameBank предложение «Пятно выступило на рубашке» [3]

Для начала заметим, что этому описанию соответствует более абстрактная конструкция Snom V на + Sloc, которая означает: «субъект, выраженный существительным в именительным падеже, совершает действие V на + место, выраженное локативом (т. е. падежом, описывающим местонахождение, в данном случае ему соответствует русский предложный падеж)». Соответственно, лексическая конструкция с интересующим нас глаголом тут — Snom выступать на + Sloc.

Затем обратим внимание на синтаксическую разметку в двух столбцах — Phrase и Syntactic rank. Phrase отвечает за то, к какой синтаксической группе относится элемент конструкции (подробнее о том, что такое синтаксическая группа1, можно прочитать, например, в «Введении в генеративную грамматику» О. Митрениной, В. Романовой и Н. Слюсарь). С Syntactic Rank ситуация проще. «Пятно» выступает субъектом (приблизительно то же, что подлежащее). Глагол «выступило» является предикатом, то есть тем элементом ситуации, который задает базовый набор участников ситуации (в данном случае базовым является только субъект). «На рубашке» имеет периферийный ранг, так как информация о месте не является обязательной для ситуации, которую описывает глагол «выступать» (можно представить себе высказывание, в котором не будет сказано, где выступило пятно).

В FrameBank есть семантическая разметка. В столбце Explication находится семантическая роль, что практически полностью соответствует рассмотренными нами ранее элементам фрейма в системе FrameNet. В столбце Lexico-semantic constraints указывается самая общая группа значений, к которой относится элемент. В случае с «пятном» это «натуральный объект», а для «на рубашке» «место и пространство», так как это словосочетание описывает положение пятна в пространстве. Наконец, для каждого элемента примера указана его обязательность, которая определяется по тому, встречается ли в корпусе обсуждаемая лексическая конструкция без этого элемента. В обсуждаемом нами примере все элементы обязательны.

Ниже приводятся еще примеры лексических конструкций для разных значений глагола «выступить». Важно отметить, что у каждого значения меняется фрейм, а вместе с ним и набор участников.

Примеры лексических конструкций для разных значений глагола «выступить»
Примеры лексических конструкций для разных значений глагола «выступить» [3]

Как фреймы применяются в задачах NLP

Несмотря на абстрактность фреймовой семантики, она не раз применялась в обработке естественного языка и связанных проектах. Ниже мы рассмотрим пример исследования, в котором фреймы использовали в одной из самых прикладных областей — предсказание рыночной стоимости компаний.

В работе 2013 года американские исследователи собрали корпус новостей о крупных компаниях с 2007 по 2012 год [4]. Этот период интересен тем, что включает в себя как момент экономического упадка (2007–2010), так и экономического роста (2011-–2012). Новости собирались о компаниях из сферы телекоммуникаций, IT и товаров первой необходимости.

Для эксперимента из корпуса новостей извлекались все предложения с упоминанием интересующей исследователей компании, а затем при помощи парсера, основанного на базе FrameBank, преобразовывалось в структуру дерева, отражающую роли во всех фреймах, которые содержатся в предложении. Для выбора этих фреймов искался frame evoking element (элемент, вызывающий фрейм).

Пример репрезентации фреймовой структуры
Пример репрезентации фреймовой структуры [4]

Схема выше показывает, как выглядит дерево, отражающее, какую роль и в каких фреймах занимает компания Oracle в предложении Oracle sued Google in August 2010, saying Google’s Android mobile operating system infringes its copyrights and patents for the Java programming language (Oracle подал в суд на Google в августе 2010 года, говоря, что принадлежащая Google мобильная операционная система Android нарушает их авторские права и патенты на язык программирования Java). Здесь Oracle участвует в двух фреймах — как коммуникатор в фрейме осуждения (его вызывает глагол sue ‘подавать в суд’) и как говорящий в фрейме заявления (его вызывает глагол say). В дереве 5 оба этих фрейма объединены.

Для целей исследования эти фреймы затем преобразовывались в векторы. Для эксперимента авторы присваивали новости помету о том, изменилась ли после публикации стоимость упомянутых компаний, а также росла она или падала. Эти данные вместе с векторным представлением фреймов использовались как основа для решения задачи классификации. Чтобы посмотреть, имеет ли метод преимущество перед другими, авторы сравнили результаты с тем, как классификация проходила для не основанных на фреймах представлений текста, например мешка слов.

Эксперименты показали, что при использовании фреймов увеличивается точность предсказания полярности изменения цены (то есть росла она или падала), но хуже предсказывается сам факт изменения. Также исследователи более детально рассмотрели, какие элементы фрейма больше всего влияли на результат, обнаружив там интересные закономерности. Например, выяснилось, что одна и та же роль может указывать на разную полярность, в зависимости от того, к какому фрейму принадлежит. Так роль Victim ‘жертва’ указывает на негативную полярность в случае с фреймом причинения вреда, но на положительную в случае с фреймом защиты.

На предсказываемую элементом фрейма полярность влияет и экономическая сфера, к которой принадлежит компания. Скажем, роль оцениваемый в фрейме осуждения предсказывает сильно более негативную полярность для компаний в секторе IT, по сравнению c компаниями в секторе товаров первой необходимости. Авторы статьи предполагают, что это связано с тем, что в IT судебные разбирательства, как правило, связаны с авторскими правами, что приводит к более существенным экономическим последствиям, чем дела по неудовлетворительным практикам продаж в сфере продуктов первой необходимости. Наконец, на полярность элемента влияет и момент времени, в который написана новость. Скорее всего, это связано с общеэкономическим контекстом, который фреймовая модель сама по себе не учитывает.

Фреймовая семантика оказывается удобным инструментом не только в теоретической лингвистике, но и в более практических задачах. Предлагаемое ею описание значений в естественном языке может быть формализовано для задач компьютерной обработки. Это выделяет ее среди других семантических теорий и способствует популярности среди специалистов по NLP.

  1. Синтаксическая группа — группа слов, действующая как единое целое при синтаксических процессах (например, переносе группы при образовании вопросительного предложения). Группы имеют внутреннюю иерархию, главный элемент которой называется вершиной. Группы называются по части речи вершины — так в группе «зелёный куст» вершиной будет существительное «куст» и она будет называться «именной». А в группе «купить чай» вершина — глагол «купить», а соответственно группа называется глагольной. ↩︎

Источники

  1. FrameNet [Электронный ресурс]. URL: https://framenet.icsi.berkeley.edu (дата обращения: 18.08.2025).
  2. Fillmore C. J. Frame semantics // Linguistics in the morning calm: Selected Papers from SICOL-1981. Seoul, Korea: Hanshin Publishing Company, 1982. Pp. 111–137.
  3. Lyashevskaya O., Kashkin E. FrameBank: A Database of Russian Lexical Constructions // Analysis of Images, Social Networks and Texts Communications in Computer and Information Science. / под ред. M. Yu. Khachay и др. Cham: Springer International Publishing, 2015. Pp. 350–360.
  4. Boyi Xie, Rebecca J. Passonneau, Leon Wu, and Germán G. Creamer. 2013. Semantic Frames to Predict Stock Price Movement. In Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 873–883, Sofia, Bulgaria. Association for Computational Linguistics.
  5. Goldberg A. E. Constructionist Approaches / под ред. T. Hoffmann, G. Trousdale. : Oxford University Press, 2013.