Склоняем точнее

Oct 05, 2018 04:51

Мы стали более лучше одеваться^W^W^W правильнее склонять имена с фамилиями. Вчера вышла свежая версия предназначенного для этого перлового модуля Lingua::RU::Inflect (он же есть и на гитхабе - чуть свеже́е, чем на CPAN).




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

Итак, в новой версии:
  • Закрыты все имевшиеся по состоянию на вчерашний день issues, в том числе
  • Исправлена проблема с экспортом всего возможного оператором use Lingua::RU::Inflect ':all' - компилятор теперь не ругается на попытку экспортировать функции, убранные в другой модуль.
  • Имена с беглыми гласными (Лев, Павел) и некоторые фамилии на -ец (Песец, Писец и Отец) стали склоняться правильно - беглая гласная убегает, как ей и положено. Там, где убегать не положено (Швец, Жнец, Надудеигрец и полный крах, крушение всех надежд - шесть букв, вторая И, но не фиаско) - не убегает.
  • Женские фамилии, оканчивающиеся на -ов, -ёв, -ин, -ий, -ый - похожие на мужские, но всё-таки женские - перестали склоняться.
  • Мужские фамилии, оканчивающиеся на -их и -ых, могут всё-таки склоняться: например, Бултых, Жмых, Отдых, Дитрих, Рерих, Ульрих, Фрейндлих и Эрлих склоняются, а Синих, Серых, Карих, Чёрных - нет.
  • Точнее определяются имена, нехарактерные для русских и не подпадающие под обычное правило: женские оканчиваются на -а и -я, мужские - на согласную. В списки исключений добавлено несколько десятков имён. Определитель теперь знает тюркоязычные и исландские отчества.
В итоге количество ошибок на тестовом наборе данных сократилось в 2-3 раза, до одной ошибки на 200-300 человек - есть неочевидные случаи, потому и оценка приблизительна. Двойные имена и фамилии пока слоняются неправильно - исправлю как-нибудь потом.

http://shoorick.ru/2018/10/05/inflect-006/

имя, русский язык, perl

Previous post Next post
Up