morpher.ru +7 (925) 336 9960
nowhere@morpher.ru
 
 
Мой Морфер

Пользовательский словарь: описание формата, инструкция по использованию

Словарь пользователя предназначен для оперативного исправления ошибок склонения в следующих программных продуктах:

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

Откуда берутся ошибки?

Каким бы «умным» ни был алгоритм склонения, все равно найдутся случаи, которые ему не по зубам. Программа делает только то, что заложил в нее создатель, а русский язык настолько богат и могуч, что учесть все нюансы просто невозможно. Плюс, язык постоянно меняется, а преследовать движущуюся мишень можно бесконечно. Чтобы окончательно усложнить программисту жизнь, люди придумали слова, склонение которых зависит от значения (Крузенштерн – человек и пароход: вижу «Крузенштерн» – вижу Крузенштерна; сюда же Ростов, Кишенёв, Могилёв, Горький...)

Словарь позволяет указать программе, как именно вы хотите склонять то или иное словосочетание.

Структура словаря

Словарь представляет собой XML-файл со следующей структурой:

        
            <?xml version="1.0" encoding="utf-8"?>
            <dictionary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  xsi:noNamespaceSchemaLocation="Russian.xsd">
                <entry>
                    <singular>
                        <И>Гвардейский ордена Ленина Краснознаменный полк</И>
                        <Р>Гвардейского ордена Ленина Краснознаменного полка</Р>
                        <Д>Гвардейскому ордена Ленина Краснознаменному полку</Д>
                        <В>Гвардейский ордена Ленина Краснознаменный полк</В>
                        <Т>Гвардейским ордена Ленина Краснознаменным полком</Т>
                        <П>Гвардейском ордена Ленина Краснознаменном полке</П>
                        <М>в Гвардейском ордена Ленина Краснознаменном полку</М>
                    </singular>
                </entry>
                <entry>
                    <singular>
                        <И>Гражданский персонал (рабочие), содержащийся за счет бюджета</И>
                        <Р>Гражданского персонала (рабочих), содержащегося за счет бюджета</Р>
                        <Д>Гражданскому персоналу (рабочим), содержащемуся за счет бюджета</Д>
                        <В>Гражданский персонал (рабочих), содержащийся за счет бюджета</В>
                        <Т>Гражданским персоналом (рабочими), содержащимся за счет бюджета</Т>
                        <П>Гражданском персонале (рабочих), содержащемся за счет бюджета</П>
                        <М>в Гражданском персонале (рабочих), содержащемся за счет бюджета</М>
                    </singular>
                </entry>
                <entry>
                    <singular>
                        <И>Аппарат совета государств – участников СНГ</И>
                        <Р>Аппарата совета государств – участников СНГ</Р>
                        <Д>Аппарату совета государств – участников СНГ</Д>
                        <В>Аппарат совета государств – участников СНГ</В>
                        <Т>Аппаратом совета государств – участников СНГ</Т>
                        <П>Аппарате совета государств – участников СНГ</П>
                        <М>в Аппарате совета государств – участников СНГ</М>
                    </singular>
                </entry>
            </dictionary>
        
    

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

Если вы незнакомы с форматом XML, не пугайтесь. XML — это простой текстовый файл, который можно открыть и редактировать в любом текстовом редакторе, например, в Блокноте (Notepad).

Краткий ликбез по XML

XML позволяет размечать текстовые документы, делая явной их структуру. Основное средство разметки – теги – это слова, заключенные в угловые скобки: <entry>, <singular>, <И> и т.п. Теги обычно бывают парные: <entry> … </entry>, <И> … </И>. Такие пары обозначают начало и конец значимых элементов.

Теги могут быть вложены друг в друга, создавая иерархическую структуру: <singular><И>кошка</И></singular>. В нашем словаре тегом самого высшего уровня является тег <dictionary> … </dictionary>, в который «обернут» весь словарь. Словарь состоит из статей – тегов <entry> … </entry>. Статьи содержат теги <singular> (единственное число) и <plural> (множественное число), каждый из которых содержит набор падежных форм <И> … </И> <Р> … </Р> <Д> … </Д> и т.д.

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

Текст, заключенный в теги, по понятным причинам не может содержать знаки ‘<’ и ‘>’. Для их передачи служат специальные сочетания &lt; и &gt;.

Как добавить слово в словарь

Чтобы добавить новое словосочетание в словарь, скопируйте существующую статью, например:

        
            <entry>
                <singular>
                    <И>Аппарат совета государств – участников СНГ</И>
                    <Р>Аппарата совета государств – участников СНГ</Р>
                    <Д>Аппарату совета государств – участников СНГ</Д>
                    <В>Аппарат совета государств – участников СНГ</В>
                    <Т>Аппаратом совета государств – участников СНГ</Т>
                    <П>Аппарате совета государств – участников СНГ</П>
                    <М>в Аппарате совета государств – участников СНГ</М>
                </singular>
            </entry>
        
    

и вставьте копию в конец файла перед закрывающим тегом </dictionary>, а затем замените текст внутри падежных тегов <И> ... </И>, <Р> ... </Р> и т.д.

Падежные теги

Вдобавок ко всем известным шести падежам (Иван Родил Девчонку, Велел Тащить Пелёнку), словарь содержит еще один падеж, про который в школе нам не рассказывали. Он называется местный (М) и отвечает на вопрос где? : во Франции, в Париже, в лесу, в поле, на берегу. Он употребляется только с предлогами В(ВО) или НА. Для большинства слов он совпадает с предложным: о Франции — во Франции, о поле — в поле, но для некоторых слов отличается: в лесу — о лесе, на берегу — о береге, что и послужило основанием для выделения его в отдельный падеж.

Именительный падеж: кто? что? <И>река</И> <И>лес</И>
Родительный падеж: кого? чего? <Р>реки</Р> <Р>леса</Р>
Дательный падеж: кому? чему? <Д>реке</Д> <Д>лесу</Д>
Винительный падеж: кого? что? <В>реку</В> <В>лес</В>
Творительный падеж: кем? чем? <Т>рекой</Т> <Т>лесом</Т>
Предложный падеж: о ком? о чём? <П>реке</П> <П>лесе</П>
Местный падеж: где? <М>в реке</М> <М>в лесу</М>

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

Падежные теги могут появляться только внутри тегов <singular> (единственное число) и <plural> (множественное число).

Необязательно указывать все падежи. Достаточно добавить только те, что нужны вам. Но как минимум необходимо указать форму именительного падежа единственного числа (<singular><И>). Отсутствующие формы будут также отсуствовать в выдаче программы.

Теги <singular> и <plural>

Тег <singular> содержит набор падежных форм единственного числа или множественного числа, если слово употребляется только во множественном: сани, брюки, Канары, Чебоксары.

Тег <plural> содержит набор падежных форм множественного числа и может отсутствовать.

Атрибут gender (род)

Для указания рода слова или словосочетания служит атрибут gender тега <entry>:

        
            <entry gender="feminine">
                <singular>
                    <И>кошка</И>
                    <Р>кошки</Р>
                    <Д>кошке</Д>
                    <В>кошку</В>
                    <Т>кошкой</Т>
                </singular>
            </entry>
        
    

Значения атрибута gender:

masculineмужской род(он мой)папа, сын, тесть
feminineженский род(она моя)мама, дочь, кошка
neuterсредний род(оно моё)окно, море, копьё
pluralмножественное число(они мои)очки, часы, Канары, Чебоксары

Какой род указывать для словосочетаний с союзом и? Например, Краснодарский край и Республика Адыгея? Обычно такие конструкции сочетаются с глаголами и прилагательными во множественном числе:

Нам понравились Краснодарский край и Республика Адыгея.

Хотя не будет ошибкой также сказать:

Нам понравился Краснодарский край и Республика Адыгея.

Поэтому в подобных случаях рекомендуется указывать множественное число (gender="plural").

Какой программой редактировать словарь?

Подойдет любой текстовый редактор, даже простейший Блокнот. Чтобы открыть словарь Блокнотом, кликните на XML-файле правой кнопкой мыши и выберите Редактировать (Edit).

Не пользуйтесь для редактирование словаря программой Microsoft Word - она автоматически заменяет прямые кавычки ("") на «лапки» (“”) или «ёлочки» («»), а в XML это недопустимо.

Лучше всего для редактирования XML-файлов подходит бесплатая программа Visual Studio Express. В ней есть подсветка синтаксиса и подсказки. Например, программа может подсказать, какие есть варианты для значения атрибута gender (род):

Редактирование XML в Visual Studio 2012

Кроме того, программа умеет проверять XML на ошибки: если вы, например, забудете закрывающий тег или опечатаетесь в слове femimine, программа подчеркнет ошибку волнистой линией.

Чтобы Visual Studio знала, какие теги есть в нашем словаре и могла более квалифицированно находить ошибки, вам нужно скачать небольшой файл Russian.xsd и поместить его рядом с вашим XML-словарем:

  • Russian.xsd (нажмите правой кнопкой, Сохранить как...)

Однотипные ошибки

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

Остались вопросы, пожелания? Оставьте свой комментарий ниже.



 

Библиотеки

© Сергей Слепов, 2003 - 2024.