SEM tool for text annotation
Project description
SEM: a free NLP tool to tag and create annotated data
SEM (Segmenteur-Étiqueteur Markovien) is a free NLP tool relying on Machine Learning technologies, especially CRFs. SEM provides powerful and configurable preprocessing and postprocessing. SEM also has an online version.
Main SEM features
- A GUI for manual annotation (requires TkInter)
- from terminal: run
sem annotation_gui - fast annotation: keyboard shortcuts and document-wide annotation broadcast
- can load pre-annotated files
- support for hierarchical tags (dot-separated, eg: "noun.common")
- handles multiple input format
- export in different formats
- from terminal: run
- A GUI for easier use (requires TkInter)
- on Linux: double-clic on sem_gui.sh
- on Windows: double-clic on sem_gui.bat
- from terminal: run
sem gui
- segmentation
- segmentation for: French, English
- easy creation and integration of new tokenisers
- feature generation
- XML file to write features without coding them
- single-token and multi-token dictionary features
- Regular expression features
- sequenced features
- train/label mode
- display option for features that are useful for generation, but not needed in output
- exporting output
- supported export formats: CoNLL, text, HTML (from plain text), two XML-TEI (one specific to NP-chunks and another one for the rest)
- easy creation and integration of new exporters
- extension of existing features
- automatic integration of new segmenters and exporters
- semi automatic integration of new feature functions
- easy creation of new CSS formats for HTML exports
First steps with SEM
- install SEM
- see install.md
- It will compile Wapiti and create necessary directories. Currently, SEM datas are located in
~/sem_data
- run tests
- run
sem --testin a terminal
- run
- run SEM
- run GUI (see "main features" above) and annotate "non-regression/fr/in/segmentation.txt"
- or run:
sem tagger resources/master/fr/NER.xml ./non-regression/fr/in/segmentation.txt -o sem_output
- (optional) go through the SEM tutorial
- (optional) go through some of the examples given in the
examplesfolder.
External resources used by SEM
- French Treebank by Abeillé et al. (2003): corpus used for POS and chunking.
- NER annotated French Treebank by Sagot et al. (2012): corpus used for NER.
- Lexique des Formes Fléchies du Français (LeFFF) by Clément et al. (2004): french lexicon of inflected forms with various informations, such as their POS tag and lemmatization.
- Wapiti by Lavergne et al. (2010): linear-chain CRF library.
- setuptools: to install SEM.
- Tkinter: for GUI modules (they will not be installed if Tkinter is not present).
- Windows only: MinGW64: used to compile Wapiti on Windows.
- Windows only: POSIX threads for Windows: if you want to multithread Wapiti on Windows.
SEM source code vs SEM resources
While SEM source code is released under the MIT licence, the resources present in this repository (including but not limited to lexica and models) have each their own licence which may (usually does) differ. SEM provides them for research, teaching and personal use, they may not be used for any other reason. If you wish to create your own models, you will have to provide your own lexica, annotate your own data (or use data annotated under a permissive licence) and train your models yourself. You have to to check every resource licence and its compatibility for your project.
SEM resources are being moved to a specific repository: SEM-resources. SEM will provide means to download them on your computer.
Planned changes (for latest changes, see changelog.md)
- add lemmatiser
- have more unit tests
- publish some benchmarks
SEM references (with task[s] of interest)
- DUPONT, Yoann et PLANCQ, Clément. Un étiqueteur en ligne du Français. session démonstration de TALN-RECITAL, 2017, p. 15.
- Online interface
- (best RECITAL paper award) DUPONT, Yoann. Exploration de traits pour la reconnaissance d’entités nommées du Français par apprentissage automatique. RECITAL, 2017, p. 42.
- Named Entity Recognition (new, please use this one)
- TELLIER, Isabelle, DUCHIER, Denys, ESHKOL, Iris, et al. Apprentissage automatique d'un chunker pour le français. In : TALN2012. 2012. p. 431–438.
- Chunking
- TELLIER, Isabelle, DUPONT, Yoann, et COURMET, Arnaud. Un segmenteur-étiqueteur et un chunker pour le français. JEP-TALN-RECITAL 2012
- Part-Of-Speech Tagging
- chunking
- DUPONT, Yoann et TELLIER, Isabelle. Un reconnaisseur d’entités nommées du Français. session démonstration de TALN, 2014, p. 40.
- Named Entity Recognition (old, please do not use)
SEM references (bibtex format)
@inproceedings{dupont2017etiqueteur,
title={Un {'e}tiqueteur en ligne du fran{\c{c}}ais},
author={Dupont, Yoann and Plancq, Cl{'e}ment},
booktitle={24e Conf{'e}rence sur le Traitement Automatique des Langues Naturelles (TALN)},
pages={15--16},
year={2017}
}
@inproceedings{dupont2017exploration,
title={Exploration de traits pour la reconnaissance d’entit{'e}s nomm{'e}es du Fran{\c{c}}ais par apprentissage automatique},
author={Dupont, Yoann},
booktitle={24e Conf{'e}rence sur le Traitement Automatique des Langues Naturelles (TALN)},
pages={42},
year={2017}
}
@inproceedings{tellier2012apprentissage,
title={Apprentissage automatique d'un chunker pour le fran{\c{c}}ais},
author={Tellier, Isabelle and Duchier, Denys and Eshkol, Iris and Courmet, Arnaud and Martinet, Mathieu},
booktitle={TALN2012},
volume={2},
pages={431--438},
year={2012}
}
@inproceedings{tellier2012segmenteur,
title={Un segmenteur-{'e}tiqueteur et un chunker pour le fran{\c{c}}ais (A Segmenter-POS Labeller and a Chunker for French)[in French]},
author={Tellier, Isabelle and Dupont, Yoann and Courmet, Arnaud},
booktitle={Proceedings of the Joint Conference JEP-TALN-RECITAL 2012, volume 5: Software Demonstrations},
pages={7--8},
year={2012}
}
@article{dupont2014reconnaisseur,
title={Un reconnaisseur d’entit{'e}s nomm{'e}es du Fran{\c{c}}ais (A Named Entity recognizer for French)[in French]},
author={Dupont, Yoann and Tellier, Isabelle},
journal={Proceedings of TALN 2014 (Volume 3: System Demonstrations)},
volume={3},
pages={40--41},
year={2014}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file semtagger-4.0.0a2.tar.gz.
File metadata
- Download URL: semtagger-4.0.0a2.tar.gz
- Upload date:
- Size: 103.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.1 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09f29d62dda5cd2401d9c9843b1b39ad45f3ae9e1e2c054fab51578d199aa31b
|
|
| MD5 |
2fdacdaed57bbbc39fad943e445b4b95
|
|
| BLAKE2b-256 |
78aec61cf6ed11bb7a7e84f445bd9027016ac59dcab73ed6975981981a34ab4c
|
File details
Details for the file semtagger-4.0.0a2-py3-none-any.whl.
File metadata
- Download URL: semtagger-4.0.0a2-py3-none-any.whl
- Upload date:
- Size: 133.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.1 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
015a9ab875c9c608c0bac622612d44931376e77d3f6a0cd7733be5c216f0b613
|
|
| MD5 |
8478c702be71976821de30576ee6ae79
|
|
| BLAKE2b-256 |
62ad65dbc8f96c00f7494735c63834a7b2139c673b0cc0c6bec99f31b4b2c47b
|