About | Download | Usage | Questions | Mailing lists | Online demo | Release history
SUTime is a library for recognizing and normalizing time expressions. SUTime is available as part of the Stanford CoreNLP pipeline and can be used to annotate documents with temporal information. It is a deterministic rule-based system designed for extensibility.
SUTime was developed using TokensRegex, a generic framework for definining patterns over text and mapping to semantic objects. An included set of powerpoint slides and the javadoc for SUTime provide an overview of this package.
SUTime was written by Angel Chang. These programs also rely on classes developed by others as part of the Stanford JavaNLP project.
There is a paper describing SUTime. You're encouraged to cite it if you use SUTime.
Angel X. Chang and Christopher D. Manning. 2012. SUTIME: A Library for Recognizing and Normalizing Time Expressions. 8th International Conference on Language Resources and Evaluation (LREC 2012).
SUTime annotations are provided automatically with the StanfordCoreNLP pipeline by including the
ner annotator. When a time expression is identified, the
NamedEntityTagAnnotation is set with the temporal type (
DURATION) and the
NormalizedNamedEntityTagAnnotation is set to the value of the normalized temporal expression. The temporal type and value corresponds to the TIMEX3 type and value.
SUTime also sets the
TimexAnnotation key to an
edu.stanford.nlp.time.Timex object, which contains the complete list of TIMEX3 fields for the corresponding expressions, such as "val", "alt_val", "type", "tid". This might be useful to developers interested in recovering complete TIMEX3 expressions.
There is also a stand-alone
SUTimeMain class for invoking
SUTime. It can read certain temporal text data sets and can annotate
text files. It is mainly intended for validating the performance of SUTime.
sutime.rules = [path to rules file]Example:
sutime.rules = sutime/defs.sutime.txt, sutime/english.sutime.txt
customAnnotatorClass.[name]=edu.stanford.nlp.time.TimeAnnotator [name].rules = [path to rules file]Example:
customAnnotatorClass.sutime=edu.stanford.nlp.time.TimeAnnotator sutime.rules = sutime/defs.sutime.txt, sutime/english.sutime.txt
java -cp stanford-corenlp-2012-05-22.jar:stanford-corenlp-2012-05-22-models.jar:xom.jar:joda-time.jar -Xmx3g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,sutime -properties sutime.properties -file input.txt
java -Dpos.model=edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger -cp stanford-corenlp-2012-07-06.jar:stanford-corenlp-2012-07-09-models.jar:xom.jar:joda-time.jar -Xmx3g edu.stanford.nlp.time.SUTimeMain -in.type TEXTFILE -date <YYYY-MM-dd> -i <input.txt> -o <output file>
SUTime is integrated in the Stanford suite of NLP tools, StanfordCoreNLP. Please download the entire suite from this page.
Questions, feedback, and bug reports/fixes can be sent to our mailing lists.
We have 3 mailing lists for SUTime, all of which are shared
with other JavaNLP tools (with the exclusion of the parser). Each address is
java-nlp-userThis is the best list to post to in order to ask questions, make announcements, or for discussion among JavaNLP users. You have to subscribe to be able to use it. Join the list via this webpage or by emailing
email@example.com. (Leave the subject and message body empty.) You can also look at the list archives.
java-nlp-announceThis list will be used only to announce new versions of Stanford JavaNLP tools. So it will be very low volume (expect 1-3 messages a year). Join the list via this webpage or by emailing
firstname.lastname@example.org. (Leave the subject and message body empty.)
java-nlp-supportThis list goes only to the software maintainers. It's a good address for licensing questions, etc. For general use and support questions, you're better off joining and using
java-nlp-user. You cannot join
java-nlp-support, but you can mail questions to
We have an online demo of SUTime.
|Version 1.3.3||2012-07-09||SUTimeMain supports annotation of text files|
|Version 1.3.2||2012-05-22||SUTime can be configured using rules|
|Version 1.2.0||2011-09-14||Initial version of SUTime time phrase recognizer added to NER annotator|
Site design by Bill MacCartney