bob
bob

Reputation:

Chronic (Ruby NLP date/time parser) for python?

Does anyone know of a library like chronic but for python?

Thanks!

Upvotes: 4

Views: 1966

Answers (3)

sarc360
sarc360

Reputation: 349

You can try Stanford NLP's SUTime. Related Python bindings are here: https://github.com/FraBle/python-sutime

Make sure that all the Java dependencies are installed.

Upvotes: 1

Natus Drew
Natus Drew

Reputation: 1896

I was talking to Stephen Russett at chronic. I came up with a Python example after he suggested tokenization.

Here is the Python example. You run the output into chronic.

import nltk
import MySQLdb
import time
import string
import re

#tokenize
sentence = 'Available June 9 -- August first week'
tokens = nltk.word_tokenize(sentence)

parts_of_speech = nltk.pos_tag(tokens)
print parts_of_speech

#allow white list
white_list = ['first']

#allow only prepositions
#NNP, CD
approved_prepositions = ['NNP', 'CD']
filtered = []
for word in parts_of_speech:

    if any(x in word[1] for x in approved_prepositions):
        filtered.append(word[0])
    elif any(x in word[0] for x in white_list):
        #if word in white list, append it
        filtered.append(word[0])

print filtered

#normalize to alphanumeric only
normalized = re.sub(r'\s\W+', ' ', ' '.join(filtered))
print filtered

Upvotes: 0

Ryan Duffield
Ryan Duffield

Reputation: 19009

Have you tried parsedatetime?

Upvotes: 5

Related Questions