Skip to content

Latest commit

 

History

History
97 lines (54 loc) · 16.2 KB

seminar-7.md

File metadata and controls

97 lines (54 loc) · 16.2 KB

Работа с Национальным корпусом русского языка (НКРЯ)

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

НКРЯ представляет русский язык в наиболее полном виде: во всём многообразии жанров, стилей, территориальных и социальных вариантов и содержит все типы письменных и устных текстов, представленных в русском языке. В Корпусе собраны художественные тексты разных жанров от Фонвизина до Улицкой, поэзия с конца 18 века, публицистика XX-XXI веков (особенно широко представлена публицистика последних 40 лет), научная литература всех направлений (точные, естественные и гуманитарные науки), официально-деловые тексты: заявления, служебные записки, инструкции, тексты бытовых жанров: мемуары, дневниковые записи, личная переписка, фрагменты интернет-чатов, записи устной разговорной речи, а также записи устной речи из фильмов, диалектные тексты и др. [studiorum]

Чтобы лучше оценить объемы и многообразие данных в НКРЯ, можно посмотреть статистику.

Тексты размечены по следующим параметрам:

А чтобы было проще в них ориентироваться, НКРЯ разбит на подкорпуса:

Исторический корпус содержит тексты на древнерусском языке, в синтаксическом корпусе помимо морфологических характеристик слов указаны их синтаксические связи в предложении, в поэтическом имеется особая разметка для строфики и рифмы, а параллельный корпус представляет собой собрание одинаковых текстов на каких-либо двух языках (русский и французский, русский и китайский, русский и бурятский и т.п.)

У НКРЯ есть собственный образовательный портал, на котором вы найдете мануал по работе с корпусом с пошаговыми инструкциями и скриншотами по разным видам поиска (слово, словосочетание, слово с определенными грамматическими характеристиками...) и созданию собственных подкорпусов (это нужно, чтобы ограничить набор текстов, в которых вы будете искать какое-то слово, по годам или по жанрам, например).

Поисковая выдача выглядит вот так: списком даются тексты (они называются документами) и примеры с ключевым словом, найденные в них.

Также в скобках указано, снята омонимия или нет: если да, то у слова будет один грамматический разбор, выбранный разметчиком, а если нет, значит вы увидите несколько возможных разборов, сгенерированных машиной. Чтобы посмотреть грамматические характеристики слова, нужно просто нажать на него: во всплывающем окне будет указана его лемма (она же словарная форма), грамматический разбор и семантический класс.

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

Помимо стандартной выдачи можно посмотреть результаты в формате KWIC (Key Word In Context), в котором отображается правый и левый контекст ключевого слова. Все примеры выравниваются по ключевому слову, поэтому выдачу в таком формате очень удобно анализировать.

Небольшую выборку из результатов поиска можно скачать либо в стандартном формате XML (в котором, кстати, хранятся все тексты корпуса), либо в специальном XML, адаптированном под табличные процессоры Excel и Open Office. Панель скачивания результатов выдачи расположена в самом низу страницы.

Открыв такой файл, вы увидите результаты поиска в формате KWIC, разбитые по колонкам "левый контекст", "центральное слово", "пунктуация", "правый контекст", "источник текста". Если вы хотите поближе познакомиться с XML-разметкой, можно почитать вот этот мануал от Microsoft.

Кроме того, НКРЯ умеет смотреть статистику употребления слова по годам и строить по ней графики. Если навести курсор на график, можно увидеть значение** ipm** (items per million), или относительную частоту употребления за определенный год для данного слова. Частота ipm определяется как количество употреблений слова за год, поделенное на объем корпуса за этот год и умноженное на 1 миллион (подробнее про ipm см. ниже). Под графиком приведены таблицы с абсолютным количеством употреблений за определенный период времени. Перейти к графику можно либо по ссылке "Посмотреть статистику" на странице выдачи, либо вот здесь.

Чем меньше значение сглаживания, тем более ломаной будет линия на графике. Ниже приведены графики, построенные по одним и тем же данным со сглаживанием 0 и 20.

Частотность

Зачем вообще знать частотность слов? Например, она говорит о том, какие слова наиболее характеры для того или иного текста. Сравнивая частотные слова в разных текстах можно определить степень их близости, а также выявить явления, характерные для языка в целом. Кроме того, частотные слова могут помочь нам сгруппировать (это еще называется красивым словом кластеризация) тексты по жанру, стилю, эпохе. Как вы думаете, почему?

Абсолютная частота слова — это количество употреблений слова в тексте. Но это не очень удобная штука, ведь тексты различаются по длине и тематике. Например, если мы захотим узнать, кто популярнее: котики или пёсики, и возьмем для анализа один длинный текст про котиков и один короткий текст про пёсиков, то слово "котик", вероятно, окажется частотнее. А если наоборот — то частотнее будет "пёсик", и это никак не поможет нам ответить на поставленный вопрос, или — что ещё хуже — приведёт к ложным выводам.

Относительная частота слова — это отношение его абсолютной частоты к какой-нибудь другой величине, например, к длине текста. Существуют разные способы подсчета относительной частоты, но мы будем использовать ipm (items per million). Как следует из названия, это отношение абсолютной частоты какого-либо элемента к объему корпуса, умноженное на миллион. Это можно записать в виде формулы:

Например, если текст состоит из 500 слов, и слово "котик" встречается там 50 раз, то

Чем больше относительная частота слова, тем оно важнее (например, для определения темы текста).

Закон Ципфа

Закон Ципфа («ранг—частота») — эмпирическая закономерность распределения частоты слов естественного языка: если все слова языка (или просто достаточно длинного текста) упорядочить по убыванию частоты их использования, то частота n-го слова в таком списке окажется приблизительно обратно пропорциональной его порядковому номеру n (т.н. рангу этого слова). Например, второе по используемости слово встречается примерно в два раза реже, чем первое, третье — в три раза реже, чем первое, и так далее. Выглядит это распределение вот так.

Закон назван именем американского лингвиста Джорджа Ципфа (правда, популяризировал он данную закономерность не для лингвистических данных, а для описания распределения экономических сил и социального статуса). Если закон Ципфа соблюдается — значит, перед вами нормальный текст на естественном языке. Если нет, то что-то с ним не так...

Частотный словарь русского языка, составленный на основе НКРЯ О.Н. Ляшевской и С.А. Шаровым, можно найти вот тут.

Стоп-слова

Частотный список любого языка будут возглавлять служебные слова (частицы, предлоги, союзы) и неполнозначные глаголы ("говорить", "сказать", "(с)делать" и т.п.), это лингвистическая универсалия. Как правило, они ничего не дают нам для анализа конкретного текста, поэтому от них часто избавляются перед тем, как начать подсчеты. В инструментах для автоматического анализа текста часто есть встроенные списки стоп-слов, но об этом мы поговорим на следующем семинаре. Самостоятельно составить список стоп-слов можно, например, взяв верхушку частотного словаря. Сколько первых слов выкидывать — зависит от исследовательской задачи и вашей интуиции. Кстати, часто отрезают не только топ частотника, но и длинный низкочастотный хвост, поскольку слова, которые встречаются в корпусе один-два раза, тоже не особенно информативны.

Для анализа русской художественной литературы я когда-то делала вот такой список, можете пользоваться. :)