NER Prototyp RexEx Add-In
Dieses Add-In ist ein PROTOTYP und ist NICHT IM PRODUKTIVEINSATZ ZU VERWENDEN!
Um das NER RegEx Add-In zu konfigurieren, muss zunächst der Client Service Prototyp mit dem Docker-Tag actiwareio/io-client-service:ner-prototype installiert sein. Dieser legt nach dem Starten in der Postgres-Datenbank für den Client Service die Tabelle ProjectNERAddinConfig
Dort muss ein neuer Eintrag erstellt werden mit id=1 und dem foglenden JSON als data:
{
"_id": "",
"_project": "",
"enabled_addins": [
{
"addin_id": "151fd292-a72c-47d1-b59d-b1e6bb96179a",
"module_id": "BE87224E-0E85-4047-9CA2-1862C7E15944",
"parameters": {
"Module.Core.Api.NER.Regex.Config": "..."
}
}
]
}
Der Wert in des Schlüssels Module.Core.Api.NER.Regex.Config
enthält die Konfiguration des Add-Ins. Diese sieht wie folgt aus:
{
"entities": {
"Person": ["<regex>", "<regex2>, "..."],
"NORP": ["<regex>", "<regex2>, "..."],
"Facility": ["<regex>", "<regex2>, "..."],
"Organization": ["<regex>", "<regex2>, "..."],
"GPE": ["<regex>", "<regex2>, "..."],
"Location": ["<regex>", "<regex2>, "..."],
"Product": ["<regex>", "<regex2>, "..."],
"Event": ["<regex>", "<regex2>, "..."],
"WorkOfArt": ["<regex>", "<regex2>, "..."],
"Law": ["<regex>", "<regex2>, "..."],
"Language": ["<regex>", "<regex2>, "..."],
"Date": ["<regex>", "<regex2>, "..."],
"Percent": ["<regex>", "<regex2>, "..."],
"Money": ["<regex>", "<regex2>, "..."],
"Quantity": ["<regex>", "<regex2>, "..."],
"Ordinal": ["<regex>", "<regex2>, "..."],
"Cardinal": ["<regex>", "<regex2>, "..."]
}
}
Hier können zu den Entitätstypen (Entsprechend den Entitäten, welche beim Objekt im Designer festgelegt werden können: Person, NORP, ….) jeweils 1 bis n reguläre Ausdrücke hinterlegt werden, welche dann als die entsprechende Entität erkannt werden. Der Übersichtlichkeit halber, können ungenutzte Entitäten entfernt werden.
Achtung: Der RegEx muss für JSON escaped werden. Dies kann z.B. über die Seite https://www.freeformatter.com/json-escape.html (Regex in die obere Textbox einfügen, “Escape” drücken und den entstehenden Regex aus der unteren Textbox verwenden) erledigt werden.
Soll z.B. für die Entität Person der RegEx [Herr|Frau] “[^ ]*” verwendet werden, sieht die Konfiguration wie folgt aus:
{
"entities": {
"Person": ["[Herr|Frau] \"[^ ]*\""]
}
}
Diese Konfiguration muss nun auch wieder für JSON escaped werden (https://www.freeformatter.com/json-escape.html ) so dass die endgültige Konfiguration für die Datenbank wie folgt aussieht: