RitmInMe Описание программы Интернет реклама сайтов - Dilibrium / Дилибриум Facebook Twitter Google+ LiveJournal Мой Мир ВКонтакте Одноклассники

Font Size

4. Словари

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

 

Доступ возможен из пункта главного меню "Словари" и по кнопке , а словарь всех форм для конкретного слова – из контекстного меню окна редактирования текста.

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

Реализованы три уровня словарей: базовые, словари пользователя и словари произведения. При анализе словари всех форм просматриваются в обратном порядке, в результате чего описатель слова из словаря произведения имеет приоритет над словом из словаря пользователя, а они вместе – над базовым.

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

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

4.1. Словарь синонимов Н. Абрамова

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

  • убраны статьи, разъясняющие окончания слов;
  • различные статьи, касающиеся одного слова или начинающиеся с одного и того же слова, объединены в одну статью с подстатьями;
  • произведено минимальное кодирование, убраны повторы;
  • по возможности унифицирован стиль цитирования (добавлены кавычки, авторство указано в скобках);
  • реализован механизм ссылок на слова, следующие после указаний " см.", " ср." и " прот.", а так же на следующее и предыдущее слово в словаре.

Поскольку статьи данного словаря ко́ротки, то для него введено два режима: быстрый просмотр (по одной статье) и просмотр с максимальным заполнением страницы браузера (как вы догадываетесь, этот помедленнее будет). Переключение между режимами – через меню или кнопки  / .

Примечание.   В режиме индикации страницы браузера с максимальным заполнением не удалось сделать листание PgDn/PgUp полностью симметричным, поскольку степень заполнения окна броузера оценивается программой по принципу "лучше перебдеть".

4.2. Работа с орфографическими словарями

4.2.1. Просмотр словарей

Далее изложение ведётся на примере базовых словарей для русского языка. Так, окно просмотра для орфографического словаря имеет 4 основных панели:  

1. инструменты;
2. текущий словарь;
3. дерево словарей;
4. браузер.

Размер панелей 2-4 можно изменять согласно своим потребностям с помощью перетаскивания границ. Текущий словарь можно развернуть на всю высоту экрана с помощью кнопки .

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

Перемещение по тексту словаря производится вручную или с помощью поиска. Окошко поиска инициализируется напрямую или контекстно (набором первого символа в панели текущего словаря). Поиск выполняется по ключу текущего словаря и результаты индицируются по мере набора текста. Если очередной символ неприемлем для данного словаря, то он не заносится в окно поиска и оно желтеет. Если набранный текст не найден в словаре, то окно краснеет.

Орфографический словарь – самый сложный из входящих в базу данных данной программы. Он является основой для многих действий, его записи индицируются для иллюстрации работы других словарей. В самом простом варианте при просмотре элемента этого словаря мы видим таблицу его склонения/спряжения, словоформы в которой при помощи подсветки разделены на неизменную часть слова (базу) и изменяемое окончание. Подсвечен так же ударный символ.

Если активировать кнопки расшифровки (обведены красным), то можно увидеть "кирпичики", из которых построена данная словарная статья (набор окончаний лексемы и схему ударений), а так же орфоэпические формы слов:

Меню панели текущего словаря (см. очередной рисунок) и кнопки панели инструментов отчасти дублируют друг друга. Рассмотрим действие кнопок.

Исторически на первом месте в панели находится кнопка  – "горшок с золотом", предназначенная для пополнения словаря из внешнего источника (см. п.4.2.3). Впрочем, пользователю она вряд ли нужна.

Следующие три кнопки служат для настройки степени подробности расшифровки информации о парадигме.

Кнопка  /  – "кирпичики" – служит для отображения исходников используемой лексемы и схемы ударений (в случае, если последняя не статична). Если эта кнопка зелёная, то на экране под строчкой с номером строки в словаре, информацией о коде лексемы и ударении отображается таблица из трёх строк, первая из которых – номера словоформ, вторая – их окончания, третья – ударения. Номера словоформ при этом индицируются и в нижней таблице.

Примечание.   Если ударение для всех словоформ одинаково, то строка ударений не отображается. Если же и все окончания пусты́ (как в случае неизменяемых слов), то "кирпичики" не отображаются как не имеющие смысла.

Кнопка  /  – "способ кладки" – служит для отображения сокращенных окончаний или полных слов.

Например

Кнопка  /  – "звучание" – служит для отображения орфоэпической транскрипции звучания словоформ.

Ещё есть кнопка  /  – "снежинки" – служит для регулировки степени заполнения экрана в словаре синонимов Н.Абрамова и, соответственно, видима только при просмотре этого словаря.

4.2.2. Правка орфографического словаря

Правка орфографического словаря – довольно-таки непростой процесс, поскольку может затронуть как собственно орфографический словарь, так и справочники лексем и схем ударений, а после него требуется частично переформировать словари всех форм. Кроме того, орфографический словарь существует в трёх ипостасях:

  • базовый – поставляемый в составе программы;
  • пользовательский (файл ru20.txt– имена файлов пользовательского словаря с префиксом "ru" для русского языка) – должен пополняться пользователем программы общеупотребительными словами, не вошедшими в базовый словарь; располагается в подкаталоге \RitmInMe\ABC;
  • словарь данного произведения (файл <имя файла произведения>.orf) – должен пополняться пользователем программы словами, специфическими для данного произведения и вряд ли представляющими ценность вне его контекста. Может располагаться где угодно, но лучше рядом с редактируемым файлом, либо в подкаталоге \RitmInMe\ABC.

Разделение орфографического словаря на базовый и пользовательские обусловлена громоздкостью базового словаря. Кроме того, есть утопическая идея, что пользователи будут обмениваться такими словарями, или пересылать их автору программы для пополнения базового словаря. Словарь данного произведения предназначен для того, чтобы не загрязнять словарь пользователя собственным словотворчеством, уникальными именами либо чем-то малоупотребительным. Впрочем, вести или нет эти словари – решать пользователю. Но править можно только пользовательский словарь и словари произведений.

Запускается правка орфографического словаря по кнопке  или соответствующему пункту контекстного меню.

    •A-D  - см. выше;
    •1  кнопка выхода из режима правки без сохранения;
    •2  кнопка общего отката (восстановление данных до редактирования);
    •3  кнопка вставки результатов редактирования в орфографический словарь;
    •4  кнопка удаления строки из орфографического словаря; при этом происходит так же удаление ссылок на это слово из словарей лексем и ударений и удаление принадлежащих ему словоформ из словарей всех форм; в привилегированном режиме возможно (через контекстное меню этой кнопки) удаление одного описателя слова (если описателей в слове несколько); поскольку такое действие требует переформирования словарей всех форм и крайне маловероятно, то во фриварном режиме оно недоступно;
    •5  кнопка сохранения результатов редактирования;
    •6  тип слова; при попытке корректировки запускается пункт контекстного меню "Изменить тип лексемы (немедленно) " – см.ниже;
    •7  род слова (имеет смысл для существительных и местоимений);
    •8  № окончания;
    •9  № варианта окончания;
    •10  № ударного слога;
    •11  установить все ударения в словоформах (расположенных после текущей и имеющих не меньше, чем текущая, слогов) равными заданному в (10);
    •12  изменить базовое ударение слова (см. примечание к п. 2.3.3.3); работает только в случае использования схемы ударений;
    •13  запретить текущее окончание (или отменить запрет);
    •14  переключатель режима редактирования (ударные слоги/окончания);
    •15  поле текста текущей словоформы (дублирует одну из словоформ, индицируемых в окне браузера); ударный слог отображается красным цветом;
    •16  поле редактирования варианта окончания;
    •17  поле длины базы слова; это подготовительное действие; чтобы оно возымело эффект, следует воспользоваться пунктом контекстного меню "Занести новую длину базы (немедленно)" – см.ниже;
    •18  кнопка выбора варианта окончания кликом мышки (вместо перебора переключателями (8) и (9));
    •19  рамка текущей словоформы;
    •20  признак исправления: ударный слог, отличный от начального – зелёным цветом (если словоформа стала безударной – весь текст зелёным); исправленное окончание – словоформа подчеркнута.

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

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

Кроме кнопок, можно пользоваться контекстными меню. Они привязаны ко всем элементам панели управления, расположенным после кнопки отключения редактирования ( ). Меню имеет две разновидности: для поля правки окончания и прочих элементов:

Поле правки окончания активизируется расположенным справа от поля текста текущей словоформы переключателем:  (при неактивном переключателе в поле текста можно кликом править позицию ударного слога). Как следует из подсказок в меню, завершить правку окончания можно по Enter (добавлю – или просто выходом из поля), отказаться от корректировки – по Esc, отменить правку без выхода из поля – по Ctrl-Z.

Оригинальная часть контекстного меню прочих элементов позволяет отменить изменения по текущей словоформе, а так же:

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

Совпадающая часть контекстных меню позволяет

    •  удалить один из описателей слова (если их несколько);
    •  изменить тип лексемы, базируясь на их полном списке; это особенно актуально, если неудовлетворительно сработал механизм поиска подходящих лексем по звучанию слова;
    •  установить новое значение длины базы слова.

Примечание.  Пометка "немедленно" в строке меню означает, что изменения будут внесены непосредственно в описатель слова без нажатия кнопки "Сохранить". Если пользователь сделал какие-то исправления в текущем слове, то они будут утеряны.

Прочие пункты повторяют функции кнопок: "Сохранить" ( ), "Прекратить редактирование" ( ) и "Отмена исправлений" ( ). А по пункту "Настройка словарей" запускается форма настроек (см. п.4.5).

Поскольку предусмотрена иерархическая система словарей "базовый / пользователя / произведения", то при корректировке словарей лексем или схем ударений возникает неоднозначность – куда помещать результат. Причем ситуация усугубляется тем, что результатов может быть до 3-х: лексема, схема ударений и собственно слово.

Со словом вроде бы всё просто: результат можно заносить в корректируемый словарь (или в словарь, на который ссылается корректируемый). Но только как же свобода выбора? Поэтому пользователю задаётся прямой вопрос (иногда – в трёх экземплярах): что с этим делать?

При корректировке орфографического словаря запоминается:

    •  новая лексема в словаре лексем (при необходимости);
    •  новая схема ударений в словаре схем ударений (при необходимости);
    •  новое слово в орфографическом словаре (отдельной строкой или описателем в уже имеющемся слове);
    •  все новые словоформы в словаре всех форм;
    •  все новые транскрипции в словаре всех обратных форм.

С его помощью можно:

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

Красными рамочками выделены варианты окончаний, отличные от исходных (исходные выведены на желтом фоне).

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

Зато на "Отказ" можно нажимать невозбранно: вы вернётесь к редактированию слова и (после правки) можете снова предпринять попытку сохранить изменения. Правда, если кнопка "Отказ" нажата при сохранении слова, по результатам корректировки которого мы уже́ согласились сохранить лексему и/или схему ударений, то будет задан вопрос – что с ними делать? Возможны варианты: таки сохранить или откат. Первое означает, что корректировали именно лексему и/или схему ударений, а сохранение слова не обязательно (скорректированная лексема и/или схема ударений и так на него повлияет). В принципе, в некоторых ситуациях такое решение программа могла бы принять и автоматически, но я не стал переусложнять код. К тому́ же, не хотелось накладывать жесткие рамки на место сохранения словаря.

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

4.2.3. Пополнение орфографического словаря

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

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

За этим следует стандартный диалог открытия текстового файла и запрос подсказки о месте ударения в слове.

Ударный слог можно задать с помощью счетчика или кликнув по нему мышкой. При клике по согласной ударной становится предшествующая гласная. Нежелательное слово можно пропустить или вовсе прекратить пополнение словаря из этого файла (которое, впрочем, можно повторить позже – уже занесённые в словарь слова вновь предлагаться не будут). Фильтр тонкой настройки имеет смысл задавать, когда словарь пополняется группой однотипных слов – тогда последующий выбор придётся производить из меньшего количества (а при задании кода лексемы нижеприведенный диалог упрощается).

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

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

Колонка рейтинга строится по аналогии со штрафными коеффициентами в рифмовнике, т.е. на основе обратного словаря орфоэпических форм. Как показывает опыт импорта орфографического словаря В.В. Лопатина, для 80% случаев лексема с нулевым рейтингом является и наиболее подходящей. Ещё 15% случаев решаются несколькими кликами мышки. И в 5% приходится пускать в ход меры третьей степени – корректировать позиции ударений или искать подходящую лексему в их полном списке с помощью фильтрации, интуиции и (от крайности) грамматики.

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

Если исходный текстовый файл содержит орфографический словарь (признаком чего программа считает наличие в строке символа " /" и свыше 4-х символов после него), то пополнение проходит быстро, без лишних вопросов и с индикацией прогресса процесса в адресной строке браузера. Правда, перед таким пополнением следует вручную выставить словарь-приёмник в настройках программы.

По опыту импорта орфографического словаря В.В. Лопатина, отмечу, что алгоритм подбора сходных по звучанию словоформ работает очень хорошо. Если вы видите, что подобрано однокоренное слово, то лексему можно не проверять. В более сложных случаях в первую очередь следует обращать внимание:

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

О замеченных неудобствах. Форма пополнения словаря иногда как бы теряет управление. Один из вариантов – вы что-то делали с её встроенным браузером. Чтобы он отдал фокус, не потеряв текущего слова, следует кликнуть мышкой по "шапке" списка слов. Если не перерисовался список слов, следует кликнуть по текущей позиции дерева типов слов. От "заклинивания" переключения родов существительных мне помогал переход на ветку существительных вцелом. Впрочем, последняя пара ситуаций относится к "глюкам" и крайне редка.

Для удобства работы, при нахождении в списке нажатие на пробел соответствует занесению в словарь, а клавиша Esc – отказ от оного. Работа с ритмичностью от этого не пострадает (ударение проставлено), но в случае, если это слово снова случится в тексте, вам снова придется делать выбор: заносить новое слово в словарь, или отказаться от этого.

4.3. Словари всех форм

Словарь всех словоформ состоит из строк вида "слово/описатели". Описатель в свою очередь состоит из номера ударного слога и ссылки на орфографический словарь (индекса). Если связи с орфографическим словарем нет (словоформа напрямую занесена в словарь всех форм), то ссылка пустая.

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

Словарь всех орфоэпических форм слов имеет похожий вид:

Словарь состоит из строк вида "код/описатели". Код формируется на основе орфоэпического вида, имеет весьма невразумительный вид и, чтобы не пугать вас, не индицируется. Описатель – из ссылки на орфографический словарь (индекса) и номера варианта и подварианта окончания в лексеме. Поиск идёт по коду, что делает его применение практически невозможным для всех (кроме автора), сортировка – по коду же (в алфавитном порядке). Впрочем, такой поиск и не нужен – намного удобнее он реализован в виде рифмовника.

На экране слева мы имеем перечень слов с индексами, справа – соответствующие им записи орфографического словаря. Вхождения текущего слова выделены желтым.

4.4. Словари лексем

Как видно из картинки, по лексемам хранится информация посложнее:

Упорядочен словарь по двухбуквенному коду лексемы. Код имеет некоторую претензию на мнемоничность, которая реализуется на первых двух сотнях лексем каждого типа. Остальная информация в левой части носит вспомогательный характер: индекс в орфографическом словаре и соответствующий ему образец слова, использующий данную лексему + общее количество таких слов. Если номер описателя в слове-образце больше единицы, то он выводится за индексом через двоеточие (но с правой стороны такой описатель помещается на первое место).

Для правой части имеет смысл кнопка , позволяющая увидеть содержимое лексемы – набор вариантов и подвариантов окончаний.

Поиск возможен по коду лексемы.

При хранении вариантов в описателе лексемы используется некоторое кодирование:

    •  окончание для архаичных и простонародных форм предваряются символом " ?" (и выделяются цветом в области расшифровки);

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

    4.5. Словари схем ударений

    Словарь схем ударений имеет похожий вид:

    Упорядочен словарь по двухбуквенному коду схемы ударений. Остальная информация в левой части аналогична справочнику лексем: индекс в орфографическом словаре и соответствующий ему образец слова, использующий данную схему ударений + общее количество таких слов. Если номер описателя в слове-образце больше единицы, то он выводится за индексом через двоеточие (но с правой стороны такой описатель помещается на первое место).

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

    Поиск возможен по коду схемы ударений.

                                      Загрузить программу
                                      Краткое описание

    Программа "Ритм во мне"

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