Существует ли библиотека для преобразования числительного в число?

Существует ли библиотека (желательно на Java), которая бы умела парсить числа, записанные русскими словами? Хорошо бы она при этом еще умела работать с разными падежами.

Пример того, что у нее должно быть на входе и на выходе:
один -> 1
тридцать девятый -> 39
двести семьдесят восьмого -> 278

Замечательно было бы, если бы она умела находить числительные в произвольной строке текста. Например, вот так:
"Это происходило в девяносто восьмом году" -> "Это происходило в 98 году"
  • Вопрос задан
  • 439 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Ostrie_Brevna
IT engeneer
Попробуйте копать в сторону средств, реализующих морфологическую нормализацию. Тогда ваша задача будет разбита на два относительно простых шага:
1) по любой форме числительного будете получать "нормальную форму"
один -> один
тридцать девятый -> тридцать девять
двести семьдесят восьмого -> двести семьдесят восемь
2) числительное в нормальной форме будете транслировать уже в число (что проще, чем ваша исходная задача преобразования любой формы числительного)
В принципе какие-то инструменты морф. нормализации есть в Томита-парсере от Яндекса.
https://tech.yandex.ru/tomita/doc/dg/concept/inter...
(Но, наверняка есть и другие доступные реализации, не только в Томите)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы