В статье мы позволим себе немного подискутировать на тему смыслов, расскажем как мы пришли к необходимости создания открытой семантической разметки, расскажем о настоящих результатах и будущих направлениях этой большой работы. И, конечно, дадим ссылку на датасет, который вы сможете скачать и использовать для своих экспериментов и исследований.
TL;DR
В хабрастатье «Научи бота! — разметка эмоций и семантики русского языка» мы рассказывали о начале большой работы по созданию открытой семантической разметки русского языка. Сейчас получили первые результаты и хотим поделиться с сообществом.
В первую очередь нами был сделан акцент на разметке объектов материального мира, а также эмоционально-оценочной окраски слов и выражений русского языка. Это две наиболее ценные с практических позиций и наиболее понятные с точки зрения разметки области семантики.
Ссылка на Гитхаб: открытая семантика русского языка (датасет).
О семантике и о смыслах
Семантика или наука о смыслах общепризнано представляет собой один из самых трудных разделов лингвистики. Это неудивительно, учитывая тот факт, что даже понятие смысла определить оказывается не так просто. (Попробуйте объяснить на пальцах, что такое смысл?)
Текст, который мы анализируем компьютерными методами, оказывается лишён этих самых смыслов. Т.е. текст задаёт некую канву, но по-настоящему смысл материализуется лишь в момент прочтения текста человеком, когда наш мозг формирует внутри себя мыслеобраз или мыслесцену написанного.
Значимость слова есть фикция, пустой звук, если она не опирается на нечто не являющееся просто отношением. Мы можем рассуждать о значимости слова «mouton» (фр. «баран» и «баранина»), с одной стороны, и «баран» и «баранина», — с другой, только постольку, поскольку нам известно, о чем, собственно, идет речь, то есть, к какому отрезку внеязыковой действительности относятся эти слова.
Морковкин В. В. Идеографические словари. — М.: Из-во МГУ, 1970.
Это представляет для машины неразрешимую сложность, т.к. сама они ни в коей мере не обладает интерпретатором человеческого языка и может эффективно решать лишь те задачи, которые не требуют интерпретации, а решаемы на уровне текста и вычисленных поверх него статистик.
N.B. Строго говоря, когда вы применяете машинное обучение поверх размеченного массива текстов (например по сентименту), то разметка и является вашей семантикой в данной конкретной задаче. Проблема здесь заключается в низкой разрешающей способности подобной разметки и невозможности обобщения и применения полученных «знаний» к принципиально новой задаче.
Покажем наглядно. Для компьютера наш язык выглядит следующим образом:
Эзо кметдзафпяез тпя ращилы лемагмещирую дпожлодзь, з.н. дара оли ли ф ноей реме ле овпатаез илземкмезазомор хепофехедносо ягына и рожез эббензифло мещазь пищь зе гатахи, нозомые ле змевуюз илземкмезации, а мещаеры ла умофле зендза и фыхидпеллыч кофемч лесо дзазидзин.
Эго клебшгафряег бря насимы мелачлесиную шрохмошгь, г.т. шана оми ми ф тоей неле ме одрабаег имгелклегаголон жерофежештопо ячыта и нохег эвветгифмо лесагь рись ге чабажи, тоголые ме гледуюг имгелклегации, а лесаены ма улофме гетшга и фыжишреммыз кофелз мепо шгагишгит.
(Несколько вариантов параграфа выше, в которым сохранены гласные, а согласные перемешаны внутри сходных групп букв.)
В приведённом фрагменте можно подсчитать различные статистики, совстречаемости, н-граммы, системы окончаний и т.д. Можно построить алгоритм, который с учётом извлечённой статинформации будет имитировать вопрос-ответную систему, т.е. находить в тексте предложения, наиболее похожие на вопрос или даже составлять ответ из нескольких фрагментов. При наличии большого количества данных и при условии построения качественной модели такая система может очень даже неплохо имитировать человека.
Но реальная работа со смыслом, когда нужно оперировать с внеязыковыми знаниями о мире, например отвечать на вопросы, требующие вывода, в чисто статистической парадигме навряд ли осуществима.
Суть нашей работы заключается в том, чтобы создать упрощённую модель окружающего мира и разметить язык с точки зрения этой модели. Т.е. попытаться привязать элементы языка к внеязыковой действительности.
N.B. Справедливости ради стоит отметить, что люди заинтересовались возможностью группировки лексики по смысловому сходству ещё в Древнем Риме. Если вам будет интересно заглянуть в историю вопроса, рекомендуем обратиться к книге Морковкина В. В. «Идеографические словари», где во второй главе делается подробный исторический экскурс.
Что мы делаем: философия
Миры, в которых обитает человек, невероятно сложны и разнообразны. Особенно тот мир, который существует у нас в головах — эмоции, чувства и переживания, отвлечённые понятия, мыслетворчество, этика и мораль.
Семантикой нематериальных сфер занимаются целые коллективы именитых учёных на протяжении многих лет. Мы в эти области сознательно не влезаем. Пока. Точнее влезаем, но не столь детально и не в первую очередь.
В основном наш фокус направлен на материальный мир и тот небольшой кусочек мира неосязаемого, касающийся оценок и эмоций. В первую очередь это связано с тем, что в этих сферах находится большинство применений NLU и тем самым они наиболее интересны с практической точки зрения. Второе: начинать нужно с чего-то более простого и однозначного и выбор сферы материального в этом свете вполне оправдан.
Сфера эмоций — это, безусловно, мир нематериальный, но сложно найти более важный аспект человеческой психики. Более того, это имеет прямое отношение к полезной практической задаче — анализу тональности текста. К тому же письменный язык оказывается сильно обделён информацией об эмоциях. Так, например, контексты полярных эмоций зачастую сильно симметричны и чисто статистическими методами вы не отличите слова с положительным и отрицательным эмоциональным зарядом.
Что мы делаем: конкретика
Все слова мы делим на два больших класса — физические предметы/явления и всё остальное. Последнюю часть пока отставляем в сторону — она будет нас интересна во вторую очередь.
Физические сущности делим на четыре больших класса: живое, места, предметы и вещества.
Несколько обособленное место в человеческом сознании занимают погода и еда — ни под один из предыдущих классов по-хорошему они не подпадают. Соответственно имеет смысл доразметить их отдельно.
Вторая большая часть первого этапа нашей работы — это разметка эмоционально-оценочной компоненты языковых знаков. Здесь все сущности (материальные и нематериальные) делятся на три класса: положительные, отрицательные и нейтральные. В полярных классах оценивается сила оценочного заряда. Впрочем, оценки это тема для отдельного большого разговора, слишком они иллюзорны и трудноуловимы, но и здесь человеческая смекалка способна найти выход из положения.
Два ключевых принципа (допущения)
Два ключевых принципа, которых мы придерживаемся при разметке — это наивность картины мира и отказ от контекста.
Мир, который нас окружает может меняться в зависимости от наших знаний о нём. Точнее мир, скорее всего, остаётся таким же, но вот наше его восприятие и, соответсвенно, система классификации предметов и явлений — вещь гибкая. Так, например, мы с удивлением узнаём, что арбуз по биологической классификации является ягодой. Хотя, казалось бы, какая ягода — такой он огромный. А помидор в ряде научных систем является фруктом, что не соответствует ни нашему о нём бытовому представлению, ни порядку выкладки на витрине бакалейной лавки. Тем не менее для нас важно зафиксировать именно бытовую или наивную картину мира.
Второй важный принцип разметки — отказ от контекста. Единицы языка рассматриваются отдельно от потока речи и своего естественного окружения в некотором среднем, наиболее частотном и очевидном смысле. Иногда это выходит боком. Так, например, слово минус может быть вполне нейтральными, если трактовать его как арифметическую операцию. А вот как синоним слова недостаток он приобретает негативную коннотацию. Но в целом, если вы строите свою систему грамотно и не игнорируете законы статистики, то такие шероховатости должны сглаживаться на уровне методов машинного обучения.
Отказ от контекста — решение, как минимум, спорное. Но на первом этапе это важно было сделать по трём причинам. Во-первых, учёт контекста существенно повышает сложность и объём разметки при совершенно неочевидных выгодах. Во-вторых, извечный вопрос, как фиксировать контекст в машиночитаемом виде и как привязывать лексему к конкретному значению при использовании данных. И третий момент. Каждое значение слова в языке имеет свою частоту употребления, которая к тому же варьируется между тематиками. Это тот параметр, значение которого в толковых словарях фиксируется скупой пометой редк. для редкоупотребимых значений и совершенно недоступно машине.
Наше решение, которое мы приняли скорее как инженеры, чем как учёные, по результатам первых экспериментов оказалось оправданным и методы машинного обучения действительно в большинстве случаев действительно способны компенсировать усреднённость оценок по различным контекстам.
Дополнительная разметка
На первом этапе работы мы постарались охватить, как нам кажется, самые важные с практической точки зрения области — материальный мир и эмоционально-оценочную компоненту языковых знаков. Но параллельно с основным направлением разметки, мы постарались запустить несколько экспериментальных срезов, которые позволят более осмысленно планировать дальнейшую работу:
- еда и напитки;
- посуда и бытовая техника;
- погода и времена суток;
- глаголы движения;
- тезаурус, т.е. соотношение слов и выражений между собой.
В подробности пока вдаваться не будем; более подробное описание есть в репозитории.
Дальнейшие планы
В самом ближайшем будущем мы планируем запустить работу по следующим направлениям:
- деление глаголов на материальные и нематериальные;
- подробная разметка живых сущностей: растения, животные, люди;
- топология: способность физического предмета быть контейнером, плоские поверхности, пространственные взаимоотношения;
- здания и сооружения;
- вещества: твёрдые, жидкие, газообразные;
- цвета.
Но наш мир не ограничивается сферой осязаемого и в более отдалённых планах:
- разметка нематериальных сущностей: события, процессы, чувства/эмоции/переживания, меронимия, свойства, действия, взаимодействия, текст и информация, спорт и массовые мероприятия.
- градация материальных сущностей по размеру, мягкости (способности сопротивляться воздействию), воспринимаемой температуре.
Идеи экспериментов или что можно сделать с датасетом
Традиционно мы не только делимся данными, но и приводим идеи готовых экспериментов и направлений исследований, которые показались нам заслуживающими внимания.
- SUPER HOT! построить анализатор тональности, не требующий заранее размеченных данных;
- обучить систему семантической разметки. Например классификатор материальности/нематериальности существительных, исходя из окружающего контекста;
- исследовать семантические конструкции, присущие юмору, сарказму, иронии;
- научить компьютер автоматически определять контексты, где слово используется в переносном смысле;
- провести исследование стилистики известных авторов с точки зрения использования эмоционально окрашенных слов.
Интересные результаты можно получить, если совместить датасет по семантике и ассоциации (в том же репозитории). Мы уже делаем это для уточнения разметки по тональности; датасет лежит рядом в репозитории по ссылке.
С мира по кейсу — датасету польза
Вспомните и опишите в комментариях любой случай, когда вам в вашей работе нужна была явная семантическая разметка, но её не оказалось под рукой. Это даст нам ценную пищу для размышлений по дальнейшему развитию датасета.
Ссылка на скачивание и лицензия
Датасет: открытая семантика русского языка
Датасет распространяется по лицензии CC BY-NC-SA 4.0.
Комментарии (7)
panvartan
20.12.2017 20:11Нет никакого смысла описывать семантику языка средствами самого языка. «Материальная сущность», «предмет», «вещество» — не являются «отрезком внеязыковой действительности».
kdenisk Автор
20.12.2017 20:15Создаётся упрощённая модель окружающей действительности и слова здесь уже служат скорее человекопонятными искусственными тегами той самой «внеязыковой действительности», чем лингвистическими объектами. Если это работает в точных науках, например физике, почему бы не попробовать такой подход при семантической разметке.
ebt
20.12.2017 23:57Не желаете ли ради эксперимента запросить исследовательскую лицензию глобальной онтологии Cyc http://opencyc.org и соединить со своими наработками? В качестве бэкенда я бы рекомендовал GRAKN.AI или OpenLink Virtuoso.
ebt
21.12.2017 00:03Вот ещё релевантный обзор: http://www.semantic-web-journal.net/content/linked-data-quality-dbpedia-freebase-opencyc-wikidata-and-yago-0
kdenisk Автор
21.12.2017 09:27Спасибо за подсказку. Не смогу сейчас конструктивно прокомментировать — нужно разобраться что к чему в приведённом вами источнике, но посмотрю обязательно.
potan
А почему CSV? Более подходящим форматом был бы RDF.
kdenisk Автор
Хочется, чтобы люди могли загрузить датасет в Pandas прямо с ГХ, покрутить его 10 минут и начать работать. RDF на текущий момент будет overkill, хотя на будущее, особенно когда появятся графовые истории — я обязательно посмотрю в сторону этого формата. Так что спасибо за ценное замечание.