Copyright ©
Mindbreeze GmbH, A-4020 Linz, 2024.
Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.
Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.
Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.
Noch nie war Textklassifizierung mit Mindbreeze InSpire so einfach wie heute. Kennzeichnen Sie einen Teil Ihrer Dokumente mit vorab definierten Labels. Mithilfe von Mindbreeze Insight Services und Machine Learning ist Mindbreeze InSpire in der Lage ihr Wissen zu erweitern und es für künftige Anwendungsfälle abzuspeichern. Auf Basis dieses Wissens können in weiterer Folge sämtliche anderen Dokumente voll automatisch klassifiziert werden.
Das Labeling kann ohne vordefiniertes Datenset einfach und direkt über die Insight App durchgeführt werden. Somit kann man starten, ohne ein vordefiniertes Datenset zu haben.
Die wichtigsten Schritte zur Durchführung dieses Anwendungsfalls sind:
Um die Textklassifizierung nutzen zu können, sind gewisse Konfigurationsschritte notwendig. Konfigurieren Sie dazu folgende Services:
Zusätzlich müssen Sie noch Konfigurationsanpassungen im Client Service und in den Index Services vornehmen.
Details dazu finden Sie in den nächsten Abschnitten.
Navigieren Sie im Mindbreeze Management Center zum „Configuration“ Menü und wechseln Sie zum „Indices“ Tab. Fügen Sie anschließend ein neues Service hinzu.
Vergeben Sie einen „Display Name“ und wählen Sie bei „Service“ das „PredictionService“ aus.
Für die zusätzliche minimale Konfiguration, füllen Sie in den folgenden Konfigurationsabschnitten folgende Felder aus:
Base Path | Dieser Parameter gibt den Pfad an, der vom Prediction Service verwendet werden soll, um die Trainings/Testdaten zu erhalten und wo die Modelle, die das Service erlernt, abgelegt werden sollen. Der Basepath ist frei wählbar. |
Bind Port | Gibt den TCP-Port an, unter dem das Prediction Service erreichbar sein wird. Wichtig hierbei ist, dass der Port nicht bereits von einem anderen Service (z.B. Principal Resolution, Index oder Client Service) in Gebrauch ist. |
Falls Sie speziellere Anwendungsfälle haben, finden Sie weitere Informationen im Abschnitt Detaillierte Konfiguration des Prediction Service.
Fügen Sie nun den „Text Classification Insight Service” hinzu. Vergeben Sie dazu wieder einen „Display Namen“ und wählen Sie bei „Service“ das „TextClassificationInsightService“ aus.
Für eine minimale Konfiguration, füllen Sie in den folgenden Konfigurationsabschnitten folgende Felder aus:
Falls Sie speziellere Anwendungsfälle haben, finden Sie weitere Informationen im Abschnitt Detaillierte Konfiguration des Text Classification Insight Service.
Zusätzlich zum Prediction Service und zum Text Classification Insight Service benötigen Sie noch Änderungen in der Konfiguration des Client Service und der Index Services.
Damit Benutzer in der Standard Insight App Dokumente Labeln können, müssen Sie noch Konfigurationsänderungen im Client Service vornehmen.
Aktivieren Sie die Advanced Settings und konfigurieren Sie die Resource Persistence Settings. Aktivieren Sie anschließend das Document Labeling, indem Sie folgende Option aktivieren:
Enable Document Labeling | Aktiviert das Labeling in der Insight App. Aktivieren Sie diese Option (Standardwert: deaktiviert) |
Die anderen Optionen im „Document Labeling“ Konfigurationabschnitt müssen Sie nur ändern, wenn Sie bestimmte Standardwerte im Text Classification Insight Service geändert haben:
Label Property | Der gleiche Wert wie bei „Label Property Name“ im Text Classification Insight Service |
Labeling Feedback Collection | Der gleiche Wert wie bei „Feedback Collection“ im Text Classification Insight Service |
Available Labels Collection | Der gleiche Wert wie bei „Label Collection“ im Text Classification Insight Service |
Die Dokumente werden klassifiziert, wenn Sie die Semantic Pipeline durchlaufen – genauer gesagt im „Item Transformation“ Schritt.
Fügen Sie den vorher erstellen „Text Classification Insight Service“ am Index bei den „Item Transformation Services“ hinzu. Falls Sie mehrere Indices verwenden, wiederholen Sie bitte diesen Schritt auf allen Index Services.
Wenn die Konfiguration abgeschlossen wurde, können Sie Labels definieren. Diese Label können Benutzer verwenden um Dokumente in der Insight App zu kennzeichnen.
Navigieren Sie im Mindbreeze Management Center zum Menü „Insight Services“ „Text Classification“. Klicken Sie anschließend auf „Edit“ bei „Label Definitions“.
Definieren Sie nun Ihre Labels, nach denen Sie Ihre Dokumente klassifizieren wollen.
Definieren Sie Übersetzungen für die Sprachen, die Sie in Ihrer Insight App unterstützen wollen. Wenn es für Sprachen keine Übersetzung gibt, wird die ID zur Anzeige in der Insight App verwendet. Mit dem „Save“ Button können Sie ihre Eingaben bestätigen.
Weitere Details:
Nun haben die Benutzer die Möglichkeit, Dokumente mit den gerade definierten Labels zu kennzeichnen. Nachdem in der Insight App gesucht wurde, können die gefundenen Dokumente gelabelt werden, indem das gewünschte Label im Dropdown-Menü ausgewählt wird.
Angemeldete Benutzer können Labels lesen und zuweisen. Anonyme Benutzer, die in der Insight App nicht angemeldet sind, können (automatische zugewiesene) Labels lesen. (Manuell zugewiesene Labels sind für anonyme Benutzer nicht sichtbar)
Wenn mehrere Benutzer Labels für dasselbe Dokument zuweisen, werden alle Zuweisungen gespeichert, aber effektiv wird nur das Label der letzten Zuweisung verwendet.
Benutzer haben außerdem die Möglichkeit, ihr eigenes Feedback wieder zu entfernen (Papierkorbsymbol). Falls das Dokument vorher schon von einem anderen Benutzer gelabelt wurde, ist nun das vorherige Label effektiv.
Wenn nun die benötigten Dokumente mit Labels gekennzeichnet wurden, können Sie den Trainingsdatensatz erstellen, der später zum Erstellen des Modells als Datengrundlage verwendet wird. Navigieren Sie dazu im Mindbreeze Management Center zum Menü „Insight Services“ „Text Classification“. Klicken Sie anschließend auf „Edit“ bei „Labeled Data“.
Sie können nun kontrollieren, ob die Benutzer die Dokumente manuell richtig gelabelt haben. Falls Labels falsch zugewiesen wurden, können diese Zuweisungen hier geändert werden oder sogar ignoriert werden. Klicken Sie anschließend auf „Create or Update Dataset“, um Ihre Änderungen zu speichern und den Trainingsdatensatz zu erstellen.
In den nächsten Schritten kann nun aus dem Trainingsdatensatz ein Modell erstellt und getestet werden.
Navigieren Sie im Mindbreeze Management Center zum Menü „Insight Services“ „Text Classification“. Klicken Sie anschließend auf „Train“ bei „Models“.
Klicken Sie nun auf „Train Model“, um ein Modell zu trainieren. Die Standardparameter sind für die meisten Use-Cases ausreichend. Sie können jedoch auch ein Fine-Tuning vornehmen, wenn Ihr Use-Case dies verlangt. Folgende Parameter können angepasst werden:
Label Property | Muss nur geändert werden, wenn in der Konfiguration des Text Classification Insight Service die Option „Dataset Label Property Name“ geändert wurde. Der hier angegebene Wert muss mit dem in der Konfiguration übereinstimmen. |
Training Query | Eine Such-Query, um Dokumente im Trainingsdatensatz zu filtern, mit denen das Modell dann trainiert wird. Wenn leer, werden alle Dokumente, die einen Content haben, zum Trainieren verwendet. |
Train/Test Split | Die Aufteilung des Datensets in Trainings- und Testdaten. Z.B.: „0.8“ bedeutet, dass 80% der Daten zum Trainieren verwendet werden, 20% zum Testen. |
Token Pattern | Siehe Mindbreeze Prediction Service – Trainieren und validieren eines Modells „token_pattern“. Wenn “Custom Regex” ausgewählt ist, erscheint das Feld “Custom Pattern”, indem eine eigene Regex angegeben werden kann |
Word Ngram Length | If a value greater than 1 is set, for example 3, adjacent words are collected and stored during the inversion of the index: Single words with value > = 1 Additional adjacent pairs of words with a value > = 2 Additional adjacent word triplets with a value of >= 3 |
Im nächsten Schritt können Sie nun das Modell testen, um Auskunft über die Qualität des soeben trainierten Modells zu erhalten. Scrollen Sie zu „Test Model“. Das gerade vorher trainierte Modell sollte bereits ausgewählt sein. Wenn Sie nun auf „Test Model“ klicken, wird das Modell mit den Testdaten getestet und Sie erhalten Kennzahlen, die Ihnen Auskunft über die Qualität des Modells geben, wie z.B. „Accuracy“.
Klicken Sie anschließend auf „Set Default“, damit dieses Modell zur Klassifizierung verwendet wird.
Wie bereits erwähnt, werden die Dokumente automatisch klassifiziert, wenn Sie die Semantic Pipeline durchlaufen wird – genauer gesagt im Item Transformation Schritt. Wenn nicht explizit in der Servicekonfiguration anders konfiguriert, wird zur Klassifizierung das Default Model verwendet, welches Sie im vorherigen Schritt mit „Set Default“ gesetzt haben.
Da die Semantic Pipeline nur bei neuen oder geänderten Dokumenten vollständig durchlaufen wird, werden nur neuen oder geänderten Dokumente klassifiziert. Damit jedoch auch bereits indizierte Dokumente klassifiziert werden, haben Sie zwei Möglichkeiten, die in den nächsten Abschnitten genauer beschrieben sind:
Wenn der Index klein ist und eine vollständige Indizierung sehr schnell durchgeführt werden kann, wird eine Re-Indizierung empfehlen, um eine Klassifizierung aller Dokumente anzustoßen. Navigieren Sie dazu im Mindbreeze Management Center zu „Services“. Klicken Sie dann bei dem Index, den Sie re-indizieren wollen auf das Zahnradsymbol und anschließend auf „Reindex“. Sobald die Re-Indizierung erfolgreich abgeschlossen ist, sind Ihre Dokumente klassifiziert.
Wenn der Index groß ist und eine vollständige Indizierung lange dauert, wird eine Re-Invertierung empfohlen, um eine Klassifizierung aller Dokumente anzustoßen. Navigieren Sie dazu im Management Center zu „Configuration“ und wechseln Sie auf den „Indices“ Tab. Aktivieren Sie die „Advanced Settings“ und ändern Sie die „Aggregated Metadata Keys“. Eine Änderung dieser Option führt automatisch zu einer Re-Invertierung des Indizes. Sie können beispielsweise „label“ angeben, was dazu führt, dass in der Insight App nach dem Label gefiltert werden kann. Sie können jedoch auch einen nicht existierenden Metadatum Key angeben, z.B. „V1“. Speichern Sie die Konfiguration anschließend.
Sobald die Re-Invertierung erfolgreich abgeschlossen ist, sind Ihre Dokumente klassifiziert.
Sobald Ihre Dokumente klassifiziert sind, können Benutzer in der Insight App auch weithin Feedback geben und das Labeling der Dokumente ändern, falls z.B. die automatische Klassifizierung ungenau und in manchen Fällen nicht korrekt war (siehe auch Manuelles Labeling).
Dieses Feedback kann dann verwendet werden, um den Trainingsdatensatz zu aktualisieren (siehe Erstellen / Aktualisieren des Trainingsdatensatz).
Anschließend kann ein neues Modell trainiert (siehe Modell trainieren), getestet und verwendet werden (siehe Modell testen und verwenden).
Wenn sich nun ein Dokument ändert oder ein neues Dokument indiziert wird, wird für die Klassifizierung bereits das neue, soeben trainierte Modell verwendet. Falls Sie alle Dokumente, inklusive auch der bereits indizierten Dokumente, mit dem neuen, verbesserten Modell klassifizieren wollen, müssen Sie einen Reindex oder Reinvert anstoßen.
Diese Schritte zur iterativen Verbesserung des Modells können Sie beliebig oft durchführen, bis Sie mit der Qualität Ihres Klassifizierungsmodells zufrieden sind.
In diesem Abschnitt werden alle Optionen beschrieben, die im Text Classification Insight Service verfügbar sind. Dieser Abschnitt ist für Sie nur dann relevant, wenn Sie spezielle Anwendungsfälle haben, die eine spezielle Konfiguration erfordern.
Bind port | Der TCP Port des Service |
Max Request Handling Threads | Anzahl der Threads, die maximal zum Verarbeiten der HTTP-Serveranfragen verwendet werden |
Max Feedback Processing Threads (advanced) | Anzahl der Threads, die zum Prozessieren der Benutzer-Feedbacks („Labeled Data“) verwendet werden |
URL | Die URL des Prediction Service. Z.B. http://localhost:23910, wenn Sie 23910 als „Bind Port“ im Prediction Service ausgewählt haben | ||||||||
Project ID | Die Projekt ID, die zur Strukturierung von Datensätzen im Prediction Service verwendet wird. Abgelegt in: <PredictionService-Data-Directory>/tenants/<TenantID>/projects/<ProjectID> | ||||||||
Tenant ID | Die Tenant ID, die zur Strukturierung von Datensätzen im Prediction Service verwendet wird. Abgelegt in: <PredictionService-Data-Directory>/tenants/<TenantID>/projects/<ProjectID> | ||||||||
Label Property Name | Der Name des Metadatums, welches für die Label-Eigenschaft am Dokument verwendet wird. | ||||||||
Dataset Label Property Name | Der Name der Property im Dataset | ||||||||
Default Label Value | Dokumente, die aus gewissen Gründen von der Klassifizierung ausgeschlossen werden (z.B. weil die „Minimum Content Length“ unterschritten wurde), bekommen einen Standardwert als Label zugewiesen. Dieser Standardwert kann hier definiert werden. | ||||||||
Model ID (optional) | Wenn leer, wird das „Default Model“ verwendet (kann im Management Center unter „Text Classification“ „Models“ gesetzt werden). Hier kann jedoch auch explizit eine Model ID angegeben werden, welches dann für die Klassifizierung verwendet wird. | ||||||||
Additional Labeling Models (optional) | Hier können weitere Modelle angegeben werden, die bei der Klassifizierung verwendet werden.
|
Weitere Details zum Prediction Service finden Sie in der Dokumentation Mindbreeze Prediction Service mit Beispiel Textklassifizierung.
Content Length Limit (Characters) | Die Maximale Anzahl an Zeichen des Dokumentinhalts, die zur Klassifizierung herangezogen werden. Überschreitet die Anzahl der Zeichen diesen konfigurierten Wert, werden die darüberhinausgehenden Zeichen aus Performance-Gründen während der Klassifizierung nicht herangezogen. Der Wert „0“ oder ein leerer Wert deaktiviert die Zeichenlimitierung. | ||||||
Minimum Content Length (Characters) (optional) | Die minimale Anzahl an Zeichen des Dokumentinhalts, die benötigt wird, damit das Dokument klassifiziert wird. Dokumente, die diese Anforderung nicht erfüllen, werden mit dem konfigurierten „Default Label Value“ klassifiziert. Der Wert „0“ oder ein leerer Wert deaktiviert diesen Filter. | ||||||
Source Metadata Keys (optional) | Standardmäßig wird nur anhand des Dokumentinhalts (Content) klassifiziert. Hier können zusätzliche Metadaten angegeben werden, welche bei der Klassifizierung miteinbezogen werden. | ||||||
Add annotations | Sollte immer aktiviert sein | ||||||
Trainings Link Extraction (optional) | Links in Dokumenten (HTML Anchor-Tags) werden beim Training und bei der Klassifizierung standardmäßig nicht miteinbezogen. Um gewisse Links, die fürs Labeling aussagekräftig sind, trotzdem miteinzubeziehen, können hier Regeln definiert werden.
|
Hier können Regeln definiert werden, um gewisse Dokumente zu labeln, ohne dass das Prediction Service aufgerufen wird. Sie können damit z.B. alle Dokumente als „Documentation“ klassifizieren, die im Titel „Doku“ oder „Dokumentation“ enthalten.
Es wird immer die erste Regel angewendet, die auf ein Dokument matcht. Wenn keine Regel matcht, dann wird das Prediction Service verwendet um das Label zu setzen.
Property Name | Zum Selektieren der Dokumente, auf denen die Regel angewendet wird. Es werden jene Dokumente selektiert, bei denen das „Value Pattern“ auf den Wert des Metadatums mit dem Key „Property Name“ matchen. |
Value Pattern (Regex) | Siehe oben. Value Pattern ist eine Java Regex, wobei Groß- und Kleinschreibung beachtet wird (wird nicht beachtet, wenn das Pattern mit (?i) beginnt) |
Action | Welche Aktion durgeführt werden soll:
|
Label Value | Nur relevant, wenn „Action“ auf „Set Label“ gesetzt ist (siehe oben) |
Dataset Index Port | Die Ports der Indices, in denen die zu klassifizierenden Dokumente liegen |
Konfigurieren Sie für die folgenden Optionen die gleichen Werte wie bei „Resource Persistence Settings“ im Client Service: „JDBC URL“, „Database Credentials“, „Database Table Prefix“
Siehe dazu auch Resource Persistence Settings.
JDBC URL | siehe Client Service |
Database Credentials | siehe Client Service |
Database Table Prefix | siehe Client Service |
Owner Encryption Credential | Wenn Sie „Identity Encryption“ im Client Service verwenden, müssen Sie hier ein Credential auswählen. Bitte wählen Sie in diesem Fall das gleiche Credential wie in der Client Service Option „Identity Encryption Credential“ aus. |
Feedback Collection | Der Name der Collection in den „itemdata“ Persisted Resources, in der das Label-Feedback der Benutzer gespeichert wird. |
Label Collection | Der Name der Collection in den „labeldefinition“ Persisted Resources, in der die Label-Definitionen gespeichert werden. |
Zusätzlich zum User Feedback (über die Insight App) kann eine CSV Datei verwendet werden, um Labels für Dokumente zu setzen. Diese Labels werden in der Insight App nicht angezeigt, können aber zum Trainieren des Klassifizierungsmodell verwendet werden.
Beispiel:
Fqcategory;Key;LabelValue;IgnoreFeedback
Web:helpmindbreeze;http://help.mindbreeze.com/de/index.php?topic=doc/Konfiguration---Microsoft-File-Connector/index.htm;performancetest;false
Web:helpmindbreeze;http://help.mindbreeze.com/de/index.php?topic=doc/Installation--Konfiguration---Caching-Principal-Resolution-Service/index.htm;performancetest;false
Enable CSV Processing | Zum Aktivieren des CSV Feedback Processings |
CSV File Path | Der Pfad zur CSV-Datei (Schreibrechte notwendig) |
In diesem Abschnitt werden alle weiteren speziellen Optionen beschrieben, die im Prediction Service neben den Pflichtfeldern verfügbar sind. Dieser Abschnitt ist für Sie nur dann relevant, wenn Sie spezielle Anwendungsfälle haben, die eine spezielle Konfiguration erfordern. In diesem Abschnitt sind außerdem diejenigen Optionen, die nicht durch „(Pflichtfeld)“ oder „(Advanced)“ markiert sind, automatisch als Advanced zu betrachten.
Base Path (Pflichtfeld) | Dieser Parameter gibt den Pfad an, der vom Prediction Service verwendet werden soll um die Trainings/Testdaten zu erhalten und den Pfad wo die Modelle die das Service erlernt abgelegt werden sollen. Der Basepath ist frei wählbar. |
Bind Port (Pflichtfeld) | Gibt den TCP-Port an, unter dem das Prediction Service erreichbar sein wird. Wichtig hierbei ist dass der Port nicht bereits von einem anderen Service (Cache, Index, Client,… -Service) in Gebrauch ist. |
Dump Request/Responses (Advanced) | Hier kann angegeben werden unter welchen Umständen ein Dump Requests/Responses des Prediction Service in den Dump Path geschrieben werden sollen. Dabei kann man die folgenden Optionen auswählen: |
Dump Path (Advanced) | Hier kann man den Pfad definieren, indem die Dumps geschrieben werden. Hierbei ist lediglich zu beachten, dass diese Daten in der „/data/“ Partition liegen. Die Unterordner sind dabei selbstdefinierbar. |
Dataset Source Query | Damit kann das Trainingsset mit einer Query eingeschränkt werden (z.B. nur PDFs). Wird das Text Classification Insight Service eingesetzt, sollte diese Einstellung leer gelassen werden. | ||||||
Dataset Source Property | Aktuell kann nur “UNIFORM_ITEM_ID” ausgewählt werden. | ||||||
Train Dataset Source Ratio | Legt fest wieviel % aller Dokumente für das Training verwendet werden. Wird das Text Classification Insight Service eingesetzt, sollte diese Einstellung leer gelassen werden. | ||||||
Label Alias CSV (optional) | Mit dieser Erweiterung kann man die Label Values übersetzen, falls im Datenset ein anderer Wert enthalten ist als für die Klassifizierung benötigt.
|