ETK: Information Extraction Toolkit
ETK is a Python library for high precision information extraction from many document formats.
It proivdes a flexible framework of composable extractors that enables you to combine a host of predefined extractors provided in ETK with custom extractors that you may need to develop for your application.
It supports extraction from HTML pages, text documents, CSV and Excel files and JSON documents.
ETK is open-source software, released under the MIT license.
Documentation
Read the documentation here
Features
- Extraction from HTML, text, CSV, Excel, JSON
- High-precision predefined extractors for common entities (dates, phones, email, cities, ...)
- Extraction of microdata, schema.org and RDFa markup
- Integration with spaCy for text processing
- Automatic identification and extraction of HTML tables containing data
- Automatic identification and extraction of time series
- Semi-automatic generation of Web wrappers
- Scalable execution and management of extraction pipelines
- Automatic provenance recording
Releases
Installation
Operating system: | macOS / OS X, Linux, Windows |
Python version: | Python 3.6+ |
Install using pip
```
pip install etk
```
### OR
You can also install ETK Manually. Clone or fork this repository, open a terminal window and in the directory where you downloaded ETK type the following commands
```
python3 -m venv etk2_env
source etk2_env/bin/activate
pip install -e .
```
Load the spacy modules
```
python -m spacy download en_core_web_sm
python -m spacy download en_core_web_lg (optional)
```
Note: If the above commands fail with s SSL error, run this:
```
python -m spacy download en_core_web_sm-2.0.0 --direct
```
To deactivate this virtual environment
```
deactivate
```
## Run Tests
`python -m unittest discover`
## Run ETK CLI
> ETK needs to be installed as python package.
`python -m etk [options]`
For example:
`python -m etk regex_extractor "a.*c" "abcd"`
## Docker
Build image
`docker build -t etk:test .`
Run container
`docker run -it etk:dev /bin/bash`
Mount local volume for test
`docker run -it -v $(pwd):/app/etk etk:dev /bin/bash`