morpher.ru 8 (499) 647 86 54
nowhere@morpher.ru
 
 
Мой морфер

Библиотека склонения на украинском языке

Библиотека Morpher.Ukrainian.dll выполняет автоматическое склонение ФИО на украинcком языке. На входе программы — форма именительного падежа (називний вiдмiнок), на выходе — формы всех падежей в единственном числе (демо). Множественное число пока не строится.

Склонение по падежам и определение рода

using Morpher.Ukrainian;

void Main()
{
    var declension = new Declension();
    INounPhrase nounPhrase = declension.Parse("Крутько Катерина Володимирiвна");
    Console.WriteLine(nounPhrase.Dative);   // Крутько Катерині Володимирівні
    Console.WriteLine(nounPhrase.GenderAndNumber); // Feminine
}

В данном случае строится форма единственного числа дательного падежа (nounPhrase.Dative). Интерфейс INounPhrase содержит следующие свойства:

interface INounPhrase
{
    string          Nominative;      // Називний
    string          Genetive;        // Родовий
    string          Dative;          // Давальний
    string          Accusative;      // Знахiдний
    string          Instrumental;    // Орудний
    string          Locative;        // Мiсцевий
    string          Vocative;        // Кличний
    GenderAndNumber GenderAndNumber; // Род и число
}

Свойство GenderAndNumber возвращает автоматически распознанные род и число словосочетания:

enum GenderAndNumber
{
    Masculine, // мужской род
    Feminine,  // женский род
    Neuter,    // средний род
    Plural     // множественное число
}

Передача рода и числа в функцию склонения

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

    var declensionArgs = new DeclensionArgs()
    {
        GenderAndNumber = GenderAndNumber.Feminine
    };
    INounPhrase nounPhrase = declension.Parse("Черновалюк Женя", declensionArgs);
    Console.WriteLine(nounPhrase.Dative);   // Черновалюк Жені, если женский
                                            // Черновалюку Жені, если мужской

Пропись чисел

var numberSpeller = new NumberSpeller();
INumeralPhrase numeralPhrase = numberSpeller.spell("10", "рубль");
Console.WriteLine($"У розмiрi {numeralPhrase.Numeral.Genitive} 
                              {numeralPhrase.Unit.Genitive}");

В результате выполнения получим “У розмiрi десяти рублів”.

Технические характеристики библиотеки

  • Поддерживаемые платформы: .NET 4.0.
  • Для работы библиотеки необходим Microsoft Visual C++ 2015 Redistributable.
  • Библиотека поддерживает 32 и 64 битную архитектуру.
  • Библиотека не имеет интерфейса пользователя и не требует прав доступа к диску или сети.
  • Все классы неизменяемы и потокобезопасны.

 

Библиотеки

Заметили опечатку? Выделите слово мышкой и нажмите Ctrl-Enter. Система Orphus

© Сергей Слепов, 2003 - 2017. Перепечатка материалов сайта только с разрешения автора.