Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Natural Language Date Parser for JS that supports arbitrary text surrounding e.g. - "Follow up next week"

PROBLEM

Libraries like sugar.js can convert natural language date strings such as:
"next week" but cannot handle strings such as: "Blah blah blah... Follow up next week"

In my application, I need to process a paragraph of notes and detect action items in it. Siri and Google Calendar are able to do this.

Potential Solution

Option 1: Maintain a list of "Action Verbs" for each language such as "Follow Up", "Call back", "Remind me" and then grab the natural language date portion after it and pipe it into Sugar.js to get a date back.

I'm not sure if every language will work in this way though... like in all languages will there be ? or in some languages is the sentence structure be completely different...

Option2: I might be able to get back various supported prefixes from sugar.js locale specific grammars and by semi brute force pass in strings until I find a valid date.

QUESTION

Is there a library i've over looked that

  1. Works in Javascript
  2. Supports multiple languages
  3. Can handle arbitrary text surrounding the date grammar.

Related Posts

  • Is there a natural language parser for date/times in javascript?
  • JAVA: http://ocpsoft.org/prettytime/ - based on description it'd probably work... text to date only english
  • JAVA: http://nlp.stanford.edu/software/sutime.shtml - Too complex, java based. (Date Extraction from Text) *
like image 780
blak3r Avatar asked Dec 28 '13 20:12

blak3r


1 Answers

I know you asked this question a long time ago, but I was looking for the same thing and I finally found ChonoJS

It does exactly what you're looking for.

However it supports only 4 languages, but it seems relatively easy to add new ones.

like image 52
Julien Hobeika Avatar answered Nov 03 '22 01:11

Julien Hobeika