YARN/Словари

Материал из NLPub
Перейти к: навигация, поиск
Руководство по добавлению нового словаря YARN
Warning.svg Автор: Дмитрий Усталов при поддержке РГНФ[1].

Программное обеспечение проекта YARN имеет развитые средства импорта данных. Процесс импорта состоит из простых этапов:

  1. создать пользователя для нового словаря или воспользоваться существующим пользователем;
  2. загрузить новые слова, определения и примеры употреблений слов;
  3. загрузить синонимические ряды (необязательно);
  4. загрузить частотный словарь (необязательно).

Перед началом работы

Данное руководство подразумевает, что программное обеспечение проекта корректно работает на целевом компьютере, а все консольные команды запускаются внутри каталога yarn.

Добавление пользователя

При импорте словаря необходимо создать виртуального пользователя, к которому будет приписано авторство добавленных записей. Если словарь импортируется впервые и пользователя не существует, то необходимо создать его.

dmchk@tazik{~/Work/yarn/editor}% rake yarn:useradd name=Викисловарь
User was successfully created with ID=12.

Обратите внимание на запись ID=12. Это число является идентификатором нового пользователя в системе и требуется для выполнения дальнейших действий.

Загрузка новых слов, определений и примеров

Задача yarn:import:lexicon принимает следующие параметры:

  • xml — имя XML-файла с загружаемым словарём;
  • author_id — идентификатор существующего пользователя;
  • dry — тестовый режим добавления данных (по умолчанию выключен).

В качестве параметра xml передаётся путь к файлу лексикона, соответствующему XML-схеме yarn-raw-lexicon.xsd (пример: yarn-raw-lexicon.xml). Параметр author_id указывает на пользователя, от которого будет выполняться модификация базы данных. Вся информация об изменениях данных и их авторах обязательно фиксируется автоматически. Необязательный параметр dry отменяет запись данных и предназначен для отладки.

dmchk@tazik{~/Work/yarn}$ rake yarn:import:lexicon xml=lexicon.xml author_id=12
Mapping the duplicate word "кошка" to ID=6303
Mapping the duplicate word "актёр" to ID=8542
Mapping the duplicate word "актриса" to ID=11127
Mapping the duplicate word "артист" to ID=6741
...

В приведённом примере файл lexicon.xml расположен в той же директории, что и программное обеспечение. Через некоторое время импорт должен завершиться. Слова-дубликаты будут автоматически привязаны к уже существующим лексемам.

Загрузка синонимических рядов

После того, как слова оказываются загружены, можно осуществить загрузку синонимических рядов, которые будут использоваться в качестве «сырых» данных в редакторе YARN. Для этого требуется иметь CSV-файл формата, подобного указанному в файле yarn-raw-synonyms.csv.

Задача yarn:import:synonyms принимает следующие параметры:

  • csv — имя CSV-файла со списком рядов;
  • author_id — идентификатор существующего пользователя;
  • dry — тестовый режим добавления данных (по умолчанию выключен).
dmchk@tazik{~/Work/yarn}$ rake yarn:import:synonyms csv=synonyms.csv author_id=12

Важно, чтобы все слова в CSV-файле присутствовали в словаре на момент загрузки рядов. В противном случае будет напечатано сообщение Insufficient lexicon. Если всё в порядке, то выполнение команды завершится без вывода сообщений в консоль.

Загрузка частотного словаря

Можно загрузить частотный словарь, чтобы присвоить лексемам веса.

Задача yarn:frequencies принимает следующие параметры:

  • csv — имя CSV-файла с частотными данными.
dmchk@tazik{~/Work/yarn}$ rake yarn:frequencies csv=freqrnc2012.csv

Команда должна завершиться без каких-либо сообщений.

Примечания

  1. Исследование выполняется при финансовой поддержке РГНФ (проект № 13-04-12020 «Новый открытый электронный тезаурус русского языка»).