Build Named Entity Recognition (NER) training dataset and learn a model dedicated to French legal case anonymization by leveraging pre-trained language models.
The projects goes above the scope covered by our previous rule based system which was limited to address and natural person names (this rule based system was used by most legal actors in France).
This model can be used in a pseudo-anonymization system.
Measures computed over manually annotated data show strong performance, in particular on natural person and legal professionals names.
The only French legal cases massively acquired by Lefebvre Sarrut not pseudo-anonymized are those from appeal courts (Jurica database).
The input data are manually annotated data by Lefebvre Sarrut employees.
The project is focused on finding mentions of entities and guessing their types.
It doesn't manage the pseudo-anonymization step, meaning replacing entities found in precedent step by another representation.
Previous version of the project in 2018 was based on Spacy library.
In 2019, new pre-trained language models appeared and provided a much butter quality than what Spacy delivered.
Current project is now based on Flair.
If you want more information about the project, check these articles:
- Why we switched from Spacy to Flair to anonymize French case law
- NER algo benchmark: spaCy, Flair, m-BERT and camemBERT on anonymizing French commercial legal cases
This project uses Python virtual environment to manage dependencies without interfering with those used by the machine.
pip3 and python3 are the only requirements.
To setup a virtual environment on the machine, install virtualenv from pip3 and install the project dependencies (from the requirements.txt file).
These steps are scripted in the Makefile (tested only on Ubuntu) and can be performed with the following command:
make setupVariable
VIRT_ENV_FOLDERcan be changed in theMakefileto change where to installPythondependencies.
... then you can use the project by running one of the following actions:
All commands can be found in the Makefile.
For tests run from Pycharm, you need to create a Pytest test task.
Then the working folder by default (implicit) is the test folder.
It has to be setup as the project root folder explicitly.
This project is licensed under Apache 2.0 License (found in the LICENSE file in the root directory).