See the English version below.
- Introduction
- How to anonymize a text
- Upload a custom corpora
- Pre-label text in corpora
- How to train a custom model
Bürokrati Anonümiseerija on Riigi Infosüsteemi Ameti tellimusel loodud tarkvararakendus, mis võimaldab kasutajal anonümiseerida etteantavat eestikeelset teksti nii rakenduses kui ka rakendusliidese (API) kaudu.
Rakendus jaguneb anonümiseerimis-
, treenija-
ja märgendamismooduliks
.
Anonümiseerijaga on võimalik tuvastada nimeolemeid (NER) kui ka ületreenida vastavalt vajadusele uus nimeolemi tuvastamise mudel, kasutades oma kohandatud korpust.
Teksti anonümiseerija töötab eestikeelsete tekstidega. Selleks, et teksti
anonümiseerida, tuleb sisestada tekstiväljale ning vajutada nupule
Anonümiseeri tekst
. Teksti anonümiseerimise tulemusel ilmub väljundtekst
kõrvalolevasse väljundkasti. Teksti sisendkasti ilmub algse teksti asemel
tuvastatud nimeolemitega tekst.
Samm 1: Sisesta tekst ja vajuta Anonümiseeri tekst
nupule.
Samm 2: Nimeolemitega märgendatud tekst ilmub algse teksti asemele ning väljundis on kuvatud anonümiseeritud tekst.
Korpuse üleslaadimine on esimene samm kohandatud nimeolemituvastusmudeli treenimiseks.
Korpus on UTF-8
kodeeringus tekstifail, mis sisaldab igal real lause või lauseid, mida soovitakse üles laadida,
et treenida uus kohandatud nimeolemituvastuse NER mudel
.
Näidiskorpuse sisu failis korpus.txt
:
Mina olen Maris Kask ning elan Pärnu-Jaagupis.
Eile ma kasutasin 35 protsenti oma nutitelefoni akut.
...
Korpuse üleslaadimiseks, vajutage Treenija
moodulis nupule Vali fail
,
näidake oma kohalikul kettal asuv fail ning laadige korpus rakendusse.
Samm 1: Lae üles korpuse fail korpus.txt
Samm 2: Korpus on üles laetud
Korpuse laadimine annab veateateid, tulenevalt valest vormingust, korpuse suurusest või sisend-väljundveast. Veateade ilmub märguandena.
Teksti käsitsi märgendamiseks kasutab rakendus vabavaralise märgendamisrakenduse Label Studio
kohandatud versiooni. Teksti automaatne märgendamine toimub, kasutades
olemasolevat või treenitud NER mudelit
.
Selleks, et märgendada nimeolemeid korpuses, tuleb kõigepealt laadida korpus üles, pärast
korpuse edukat üleslaadimist, tuleb takenduse treeningmoodulis vajutada nuppu
EELMÄRGENDA KORPUS
, misjärel korpus eelmärgendatakse. Kui eelmärgendamine on lõppenud, suunatakse kasutaja
märgendamisliidesesse
, et vajadusel tekstid käsitsi üle märgendada.
Täiendavaks käsitsi märgendamiseks on vajalik korpus üles laadida, soovi korral
automaatselt eelmärgendada (ei ole kohustuslik) ning seejärel vajutada nuppu
Märgenda täiendavalt käsitsi
.
Kasutaja suunatakse märgendamisliidesesse, kus on võimalik teha tekst aktiivseks ning seejärel vastava olemiga märgendada.
Samm 1: Vajuta nupule Märgenda täiendavalt käsitsi
Samm 2: Märgenda tekst märgendusliideses
Täiendavate olemite lisamise vajadus võib tekkida, kui olemasolevad nimeolemid ei tuvasta
piisavalt teie kohandatud mudelis. Täiendavaid nimeolemeid saab lisada ja kustutada, kasutades Treenija
moodulis nuppu Lisa uus olem
Samm 1: Lisa uus olem, vajutades nupule Lisa uus olem
Samm 2: Kustutamine - eemalda olem nimekirjast
Täiendavate mustrite vajadus võib tekkida, kui soovite defineerida
olemasolevatele nimeolemitele spetsiifilist mustrit, mida nimeolemina tuvastatakse.
Täiendavate mustri lisamiseks on vajalik see defineerida regex
-muster,
määrata olem, mida antud muster tuvastab ning see salvestada.
Regex kasutab POSIX notatsiooni, regexit saab kontrollida ja katsetada näiteks eelnevalt regex101.com.
Samm 1: Defineeri regex muster
Samm 2: Määra tuvastatav olem
Samm 3: Salvesta muster
Mudeli ületreenimise vajadus tekib, kui soovite lisaks avalikule korpusele kasutada spetsiifilisi nimeolemeid ning neid hiljem tuvastada ja anonümiseerida tekstis.
Mudeli treenimise eeldused on:
- Olete laadinud üles oma korpuse ja/või lisanud täiendavalt uusi mustreid olemasolevasse korpusse
- Olete märgendanud üles laetud korpuse, kasutades kas automaatset, käsitsi või mõlemat viisi.
Mudeli treenimisel salvestatakse kohalikule kettale viimane treenitud mudel, mida saab anonümiseerimisel vastavalt kasutada.
Treenida saab korraga üks kasutaja, mitut treeningut korraga ei käivitata.
Treenimise lõpetamisel antakse kasutajale märku ning mudel salvestatakse kohalikule kettale.
Rakendus kasutab viimast treenitud mudelit, kui see on loodud. Vaikimisi kasutab rakendus avalikus repositooriumis kasutatavat mudelit.
Samm 1: Korpus on üles laetud ja märgendatud
Samm 2: Alusta treenimist
Samm 3: Treenimine on lõpetatud ja mudel salvestatud kettale
Bürokratt Anonümiseerija (Anonymizer) is a software application created by Estonian State Information Authority, which allows the user to anonymize the given Estonian text both in the application and through the application programming interface (API).
The application is consists of Anonymization
, Trainer
and Labeling Interface
modules.
With the application, it is possible to perform name entity recognition (NER) task as well as overtrain a new NER model using your custom corpus.
The text anonymizer works with Estonian texts. In order to anonymize
the text, you have to enter it in the text field and press
the Anonymize Text
button. As a result of text anonymization,
the output text appears in the adjacent output box.
In the text input box, the text with the identified name
entities appears instead of the original text.
Step 1: Enter the text and press the Anonymize Text
button.
Step 2: The text tagged with Name Entities will appear in place of the original text
while the anonymized text will be displayed in the output.
Uploading the corpus is the first step in training a custom name entity recognition model.
A corpora is a UTF-8
encoded text file that contains a sentence
or sentences on each line that you want to upload to train a new custom name entity recognition (NER) model.
Contents of sample corpora in file corpora.txt
(In Estonian):
Mina olen Maris Kask ning elan Pärnu-Jaagupis.
Eile ma kasutasin 35 protsenti oma nutitelefoni akut.
...
To upload a corpora, press the Choose File
button in the Trainer Module
,
point to the file on your local drive, and upload the corpora
to the application.
Step 1: Upload the corpora file corpora.txt
Step 2: The corpora is uploaded
Loading gives an error messages due to incorrect format, too big file size, or I/O error. The error message appears as a notification.
The application uses a customized version of the open source labeling application Label Studio to manually label text. Automatic text labeling is done using an existing or overtrained NER model.
In order to label the name entities in the corpora, the corpora must
first be uploaded. After successfully uploading the corpus, the
button Pre-label Corpora
must be pressed to execute pre-labeling,
after which the corpora will be pre-labeled.
When the pre-labeling is finished, the user is redirected to the
Labeling Interface
to manually re-annotate the texts if necessary.
For additional manual marking, it is necessary to upload the corpora,
pre-label it automatically if necessary (not mandatory), and then press
the Label Manually
button.
The user is directed to the Labeling Interface
,
where it is possible to make the text active and then tag with the
corresponding entity.
Step 1: Click the button Label Manually
Step 2: Annotate the text in the Labeling Interface
You may need to add additional entities if the existing name entities
do not sufficiently identify with your custom model. Additional name
entities can be added and deleted using the
Add New Entity
button in the Trainer Module
Step 1: Add a new entity by pressing the button Add New Entity
Step 2: Delete - remove the entity from the list
Additional patterns may be needed if you want to define a pattern specific to existing name entities.
To add additional patterns, it is necessary to define a regex
pattern, specify the entity that this pattern identifies and save it.
Regex uses POSIX notation
, regex can be checked and tested in advance eg regex101.com.
Step 1: Define the regex pattern Step 2: Determine the entity to be detected Step 3: Save the pattern
The need to overtrain the model arises if you want to use specific name entities in addition to the public corpora and later identify and anonymize them in the text.
The prerequisites for model training are:
- You have uploaded your corpra and/or added additional new Named Entity patterns to an existing corpora
- You have tagged an uploaded corproa using either automatic, manual labeling or both.
- When training a model, the last trained model is saved on the local disk, which can be used accordingly for anonymization.
One user can train at the same time, several trainings cannot be started at the same time.
When the training is finished, the user is notified and the model is saved on the local disk overwriting the existing one.
Application uses last trained model if one exists, by default the application uses public model.
Step 1: The corpora is uploaded and labeled
Step 2: Start training
Step 3: Training is complete and the new model is saved to disk