Парсер дат на естественном языке для ruby ​​/ rails - PullRequest
6 голосов
/ 03 марта 2009

Кто-нибудь знает что-то похожее на Date.js в Ruby? Нечто, что могло бы вернуть объект даты из чего-то вроде: «две недели с сегодняшнего дня». Веб-приложение Remember the Milk включает эту функцию в свою систему, и ее невероятно легко использовать.

Я бы использовал саму библиотеку Date.js, но, поскольку она на стороне клиента, она имеет свои ограничения. Если у пользователя не включен JavaScript, функциональность будет потеряна. Это повлияет на пользователей мобильных телефонов, которые в идеале будут использовать нашу систему с помощью текстовых сообщений (смс).

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

Спасибо.

1 Ответ

15 голосов
/ 03 марта 2009

Не забывайте, что все, что является объектом в Ruby, у вас уже есть довольно удобочитаемое утверждение из самого языка:

2.weeks.from_now.utc

будет эквивалентно "две недели с сегодняшнего дня".

Однако для реального естественного языка может быть хронического может быть более специализированной библиотекой в ​​ rubyforge .

Chronic.parse('this tuesday 5:00')
#=> Tue Aug 29 17:00:00 PDT 2006
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...