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

На примере текстов Ф. М. Достоевского рассказываем, как можно анализировать текстовые корпусы с помощью Voyant Tools. «‎‎Системный Блокъ»  удивительно мало писал о Фёдоре Михайловиче, а ведь он заслуживает внимания. Достоевскиий — один из самых знаменитых и влиятельных писателей, создатель полифонического романа, а также популярный публицист.

Что такое Voyant Tools?

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

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

Минусы VT:

  • у приложения всё-таки ограниченные возможности, например, для работы с коллокациями;
  • корпус, подаваемый на анализ, необходимость предварительно лемматизировать.

Вот, например, облако слов нелематизированных художественных текстов Достоевского:

Рисунок 1. Облако слов из художественных текстов Достоевского без лемматизации. Сделано с помощью Voyant Tools

Ряды «знал-знаете-знаю», «жизнь-жизни», «руки-руку» препятствуют точности анализа, поэтому текст необходимо предварительно обработать. Как это сделать, можно прочитать в нашем материале.

Для продвинутого пользователя, пожалуй, лучше подойдут корпусные менеджеры вроде SketchEngine или встроенные в национальные языковые корпусы (НКРЯ, British National Corpus и т. д.), но для начинающего исследователя VT почти идеален.

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

Начало работы. Как выбрать корпус?

Итак, вы перешли по ссылке voyant-tools.org, перед вами интерфейс инструмента.

Рисунок 2. Интерфейс Voyant Tools

Для выбора корпуса есть три варианта:

1. Напечатать с клавиатуры или вставить в текстовое поле текст или URL (или несколько URL’ов, каждый на отдельной строке), далее нажать «Показать» (в англоязычном интерфейсе Reveal):

Рисунок 3. Ввод текста для анализа

2. Открыть корпус, уже встроенный в VT: для этого нажимаем кнопку «Открыть» и выбираем. На момент создания тьюториала в VT встроены три корпуса текстов на английском: пьесы Шекспира, романы Остин, а также «Франкенштейн, или Современный Прометей» Шелли:

Рисунок 4. Выбор встроенного корпуса

3. Загрузить один или несколько файлов с вашего компьютера. Для этого нажимаем на кнопку «Загрузить», далее «Показать». Для загрузки более чем одного файла можно использовать комбинацию клавиш Ctrl и Shift, либо же предварительно сделать zip-архив, содержащий все файлы, которые вы хотите проанализировать, и загрузить его:

Рисунок 5. Загрузка собственного корпуса

Я буду делать именно так, у меня два таких zip-архива: один с художественными текстами Достоевского, второй — с его публицистикой, все они в обычном txt-формате, предварительно лемматизированные.

Загружаем свои тексты

VT понимает разные форматы:

  • txt;
  • HTML;
  • MS Word;
  • MS Excel;
  • ODT (Open Document Text);
  • Pages (Apple);
  • PDF;
  • RTF;
  • XML;
  • архивы (напр., .zip, .tar, .tgz).

Для всего вышеперечисленного подойдёт автоопределение.

Однако автоопределение не сработает для форматов:

  • DToC (Dynamic Table of Contexts), динамическая таблица контекстов — это формат, основанный на XML;
  • RSS (Really Simple Syndication), версия 2.0+. Еще один XML-формат, используемый в медиа, блогах и т. д.;
  • TEI (Text Encoding Initiative), формат кодирования текстов, часто используемый для создания DH-проектов и ресурсов;
  • TEI Corpus.

Перечисленные форматы надо выбрать в опциях вот тут:

Рисунок 6. Выбор формата документа для загрузки корпуса в Voyant Tools

Нажав на «Опции», также можно задать ряд параметров для разных форматов подаваемого материала:

  • Дать заглавие и подзаголовок корпусу:

Рисунок 7. Ввод названия корпуса

  • Выбрать порядок документов в корпусе (по умолчанию VT расставляет документы в алфавитном порядке):

Рисунок 8. Выбор порядка документов в корпусе

Общий вид и настройки Voyant Tools

Настройки по умолчанию рассмотрим на примере художественных текстов Достоевского разных периодов его творчества. На скриншотах ниже не используются стоп-слова, позже мы разберём, как подключить список стоп-слов, а также рассмотрим часть инструментов подробно.

Итак, дефолтные инструменты, работу которых видите сразу после загрузки текста(ов), это:

А) Cirrus (Облако слов);

Б) Reader (Чтение);

В) Trends (Тренды);

Г) Summary (Резюме);

Д) Contexts (Контексты).

На скриншоте ниже — дефолтные инструменты, их названия подсвечены синим:

Рисунок 9. Общий вид инструментов Voyant Tools

Инструменты VT взаимодействуют друг с другом. Например, кликнув на слово из Облака слов (Cirrus), получим график употребления этого же слова в Трендах (Trends). Если же кликнуть на определённое слово-узел в Trends, это слово отразится в Контекстах (Contexts) и будет выделено в инструменте чтения (Reader).

Рисунок 10. Вид Trends при нажатии на слово «говорить» в Cirrus

Нажимаем на «знать» в Trends — узел для романа «Игрок» — и получаем новый вид Reader и Contexts:

Рисунок 11. Вид окон Trends, Reader и Contexts при выборе слова «знать»

Добавление своего корпуса в закладки — интересная и полезная функция VT. Благодаря ей можно возвращаться к работе с корпусом, не подгружая его всякий раз. Экспортировать ссылку на свой корпус и текущий набор инструментов можно, нажав на значок (со стрелочкой) в синей полосе вверху. Также можно сделать ссылку на отдельный инструмент, нажав на аналогичный значок в панели того или иного инструмента.

После нажатия на «Экспорт» корпус будет открываться по ссылке.  Он будет доступен, если обращаться к нему хотя бы раз в месяц.

Создание корпуса: особые настройки

Посмотрим на некоторые специфические настройки VT для создания корпуса. В менеджере есть функция для игнорирования части документа с использованием регулярных выражений:

  • omit until: ignore everything until the start of this regular expression / опустить до: игнорировать всё до начала этого регулярного выражения;
  • omit until after: ignore everything until the end of this regular expression / опустить до тех пор: игнорировать всё до конца этого регулярного выражения;
  • omit from: ignore everything from the start of this regular expression onwards / опустить: игнорировать всё, начиная с начала этого регулярного выражения;
  • omit from after: ignore everything from the end of this regular expression onwards / опустить после: игнорировать всё, начиная с конца этого регулярного выражения и далее.

Рассмотрим, как работает эта функция на примере «Литературных анекдотов» Даниила Хармса. Чтобы убрать текст, указывающий на то, откуда скачан документ, я использовала omit until after «Приятного чтения!», и omit from after «ужас!..».

Рисунок 12. Окно настроек корпуса

Инструмент Reader при использовании операторов «игнорировать часть текста»:

Рисунок 13. Вид корпуса до и после применения оператора «игнорировать часть текста»

Эти же операторы можно использовать и в случае, если корпус загружен как html-документ по ссылке.

VT позволяет модифицировать корпус: можно добавить, удалить, перемещать документы.

Вернёмся к корпусу художественных текстов Достоевского. Заходим в Documents, видим, что у нас 18 документов. Допустим, мы хотим добавить ещё что-то.

Нажимаем на кнопку «Изменить» (Modify):

Рисунок 14. Список документов с произведениями Достоевского

И получаем окно следующего вида:

Рисунок 15. Окно добавления нового документа в корпус

Итак, мы можем:

  • добавить новые документы с помощью кнопки Add (появится окно создания корпуса, работает так же, как при первоначальном создания корпуса);
  • удалить документы, выбрав один или несколько документов одновременно (с помощью клавиш Shift или Ctrl/Command), затем нажав кнопку Remove;
  • оставить для работы только определённые документы. Удобно, если нужно сохранить бо́льшую их часть, а остальные убрать. Необходимо выбрать один или несколько документов одновременно (с помощью клавиш Shift или Ctrl/Command), затем нажать кнопку  «Сохранить» (Keep). Все невыделенные документы удаляются;
  • изменить порядок документов, перетащив их в сетку, а затем нажав кнопку «Изменить порядок», Reader.

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

Стоп-слова в Voyant Tools

Обращаясь к VT, мы хотим проанализировать текст, понять что-то важное, содержательно значимое, специфическое для конкретного автора, эпохи, жанра и т. д. Для этого нам нужно исключить из текста стоп-слова — как правило, служебные части речи, которых чрезвычайно много в любом тексте, но смысловой нагрузки они не несут. Для примера ниже облако слов из собрания публицистики Достоевского («Дневник писателя»), тексты загружены без применения списка стоп-слов. Из 125 слов изрядную долю составляют лексемы вроде «свой», «какой», «однако», «после», «чтоб».

Рисунок 16. Облако слов из «Дневника писателя» без очистки стоп-слов

Стоп-слова из корпуса можно удалить с помощью настроек инструмента Cirrus. Для этого нужно нажать на значок в правом верхнем углу в окне инструмента.

Рисунок 17. Настройки инструмента Cirrus

Появится окно такого вида, и, поскольку текст на русском языке, нужно выбрать русскоязычный список стоп-слов и нажать подтверждение (Confirm):

Рисунок 18. Выбор списка стоп-слов

Новое облако слов выглядит так:

 Рисунок 19. Облако слов из «Дневника писателя» после применения встроенного списка стоп-слов

Видим, что особых изменений нет. К сожалению, встроенный список стоп-слов далеко не всегда показывает хорошие результаты, но можно создать свой. Для этого в настройках инструмента Cirrus нужно выбрать «Новый список пользователя» (New User-Defined List), затем нажать на кнопку «Редактировать список» (Edit List):

Рисунок 20. Добавление списка слов пользователя

В появившемся окне нужно вписать свои слова, по одному на каждой строке и сохранить.

Рисунок 21. Редактирования списка стоп-слов

После произведённых манипуляций удалось получить новое облако слов. Видно, что это облако гораздо более содержательное, чем ранее:

Рисунок 22. Облако слов из «Дневника писателя» после применения пользовательского списка стоп-слов

Корпус после очистки стоп-слов будет отображаться и в других инструментах VT, например в Terms и Trends.