Skip to main content

SynTime implementation in Python.

Project description

pysyntime

pysyntime is a python library implementing SynTime algorithm from paper – Time Expression Analysis and Recognition Using Syntactic Token Types and General Heuristic Rules.

Features

pysyntime supports extracting timex (time expressions) from raw text. For example, given the following text:

The last 6 months surviving member of the team which first conquered Everest in 6 a.m. 17 Jan 1953 has died in a Derbyshire nursing home.

pysyntime will extract timex from the text and produce the following annotated text in TimeML format:

<TIMEX3 tid="t1" type="DATE" value="2016-10-10">The last 6 months</TIMEX3> surviving member of the team which first conquered Everest in <TIMEX3 tid="t2" type="DATE" value="2016-10-10">6 a.m. 17 Jan 1953</TIMEX3> has died in a Derbyshire nursing home.

Installation

You can install the package by easily running the pip command:

pip install pysyntime

Since pysyntime relies on spaCy which is an NLP library, the required model needs to be downloaded:

python -m spacy download en_core_web_sm

Note: The above command will download spaCy model and create symbol link, make sure you have root permission. If you are working with python virtualenv, you don't need the root permission. See spaCy documentation for details.

Usage

from pysyntime import SynTime

# Instanciate SynTime
synTime = SynTime()

# Your raw text
text = 'The last 6 months surviving member of the team which first conquered Everest in 6 a.m. 17 Jan 1953 has died in a Derbyshire nursing home.'
date = '2016-10-10'

# Extract timex from raw text
timeMLText = synTime.extractTimexFromText(text, date)
print(timeMLText)

References

[1] Xiaoshi Zhong, Aixin Sun, and Erik Cambria. Time Expression Analysis and Recognition Using Syntactic Token Types and General Heuristic Rules. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (ACL), pages 420-429, 2017. [pdf] [slides]
[2] Syntime implementation in Java. [github]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysyntime-1.0.0.tar.gz (13.8 kB view hashes)

Uploaded Source

Built Distribution

pysyntime-1.0.0-py3-none-any.whl (14.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page