Анализатор дат на естественном языке для ruby / rails
-
03-07-2019 - |
Вопрос
Кто-нибудь знает о чем-то подобном Date.js в Ruby?Что-то, что могло бы вернуть объект date из чего-то вроде:"через две недели с сегодняшнего дня".Веб-приложение Remember the Milk встроило эту функцию в свою систему, и она невероятно проста в использовании.
Я бы использовал саму библиотеку Date.js, но поскольку она находится на стороне клиента, у нее есть свои ограничения.Если у пользователя не включен javascript, функциональность будет потеряна.Это повлияло бы на пользователей мобильных телефонов, которые в идеале пользовались бы нашей системой с помощью текстовых сообщений (sms).
Я бы с удовольствием использовал решение, которое уже существует, но если нет, то насколько сложно было бы перенести этот код в Ruby?Я действительно мало что знаю об интерпретации естественного языка, но, похоже, это займет некоторое время.
Спасибо.
Решение
Не забывайте, что все, что является объектом в Ruby, у вас уже есть какое-то довольно читаемое утверждение из самого языка:
2.weeks.from_now.utc
это было бы эквивалентно "через две недели с сегодняшнего дня".
Однако, для реальный естественный язык, может быть хронический возможно, более специализированная библиотека находится по адресу рубиновый горн.
Chronic.parse('this tuesday 5:00')
#=> Tue Aug 29 17:00:00 PDT 2006