Oktober 5, 2022

Hybrides maschinelles Lernen: Heirat von NLP und RegEx

Mitwirkende
Mathias Leys
Machine Learning Engineer
Matthias Feys
Q / CTO
Newsletter abonnieren
Diesen Beitrag teilen

Einführung

Bei der Entwicklung von NLP-Anwendungen in der Praxis sind Sie oft mit begrenzten (markierten) Daten, Latenzanforderungen, Kostenbeschränkungen usw. konfrontiert, die die Ausschöpfung des vollen Potenzials Ihrer Lösung behindern.

Ein hybrider Aufbau, bei dem Sie Fachwissen nutzen , um die Genauigkeit, Effizienz, Zuverlässigkeit und/oder Interpretierbarkeit zu verbessern, wäre perfekt.
Aber es ist alles andere als offensichtlich, wie man eine solche hybride Lösung entwickeln kann.

Das ist so wenig offensichtlich, dass wir beschlossen haben, am 17. Oktober 2022 ein Webinar zu diesem Thema zu veranstalten. Wenn Sie dies vor diesem Datum lesen, können Sie sich hier anmelden!

Schauen wir uns einige gängige hybride NLP-Entwurfsmuster an und betrachten Beispiele dafür, wann Sie sich für welches Muster entscheiden sollten.

(1) REGELN VS ML

Rein ML-basiertes Entwurfsmuster
Rein regelbasiertes Entwurfsmuster

Das erste Muster, das wir betrachten, ist der kontradiktorische Fall: Sie wählen entweder eine rein regelbasierte oder eine rein ML-basierte Lösung.

Betrachten wir einige Beispiele, bei denen diese Entwurfsmuster sehr sinnvoll sind:

Named Entity Recognition (NER): Die Entscheidung für oder gegen einen ML-basierten Ansatz läuft im Wesentlichen darauf hinaus, wie kontextbezogen die Entitäten sind.

Datumsangaben können beispielsweise auf eine bestimmte Weise strukturiert sein (z. B. "TT/MM/JJJJ"). Wenn eine Entität diesem Format folgt, ist sie ein Datum, andernfalls ist sie es nicht. Es handelt sich also um eine sehr "kontextunabhängige Entität", d. h. ein konkretes festes Muster bestimmt, ob es sich um ein Datum handelt oder nicht, unabhängig vom Kontext.
Es ist einfach, diese Art von Entitäten mit Hilfe einfacher Regeln zu extrahieren.

Eine einfache RegEx-Regel kann beide Daten leicht erkennen

Nehmen wir jedoch an, Sie wollen nur Geburtsdaten extrahieren und keine anderen Datumsarten. Nun haben wir es mit einer sehr "kontextabhängigen Entität" zu tun: Geburtsdaten und andere Datumsarten sehen genau gleich aus; ohne Kontext wäre man nicht in der Lage, zwischen den beiden zu unterscheiden.
Es ist sehr schwierig, diese Entitäten auf regelbasierte Weise zu extrahieren, daher ist ein rein ML-basierter Ansatz am besten geeignet.

Ein kontextbezogenes Sprachmodell sagt voraus, dass nur das erste Datum ein Geburtsdatum ist

Textklassifizierung: In Anwendungsfällen der Textklassifizierung sind die zugrundeliegenden Merkmale, die bestimmen, zu welcher Klasse ein Text gehört, oft sehr latent. Da regelbasierte Systeme in diesen Szenarien in der Regel nicht gut abschneiden, ist ein rein ML-basiertes Entwurfsmuster in der Regel der richtige Weg. Das Gleiche gilt für komplexe Aufgaben wie die Extraktion von Schlüsselwörtern, Textzusammenfassungen usw.

Einige Aufgaben sind einfach zu komplex, als dass regelbasierte Ansätze eine sinnvolle Wirkung entfalten könnten

(2) REGELN NACH/VOR ML

Regelbasierte Vorverarbeitungsentwurfsmuster
Regelbasiertes Nachbearbeitungsentwurfsmuster

Das nächste Muster, das wir uns ansehen werden, hat einen sequentiellen Charakter: Die Geschäftsregeln fungieren entweder als erster Filter oder als Nachbearbeitungsschritt für das ML-Modell.

Schauen wir uns noch einige Beispiele an:

Hochpassfilter: Angenommen, Sie möchten Geburtsdaten und keine anderen Daten extrahieren, dann könnten Sie sich für einen reinen ML-Ansatz entscheiden (siehe oben). Allerdings enthält nur ein Bruchteil Ihrer Daten tatsächlich Datumsangaben, so dass eine Inferenz für jede einzelne Instanz eine ziemliche Verschwendung wäre.

Wir wissen, dass jedes Geburtsdatum auch ein Datum ist und dass Daten einem festen Muster folgen. Wir können also zunächst mit einer einfachen Geschäftsregel prüfen, ob ein Text ein Datum enthält, und dann nur in den Fällen, in denen dies der Fall ist, eine Inferenz durchführen.

Mit einer einfachen Regel werden nur noch 2 statt 7 Passagen abgeleitet, ohne dass dies Auswirkungen auf die Leistung hat.

Mit ein paar einfachen Regeln können Sie die von Ihnen genutzte Rechenleistung oft drastisch reduzieren, ohne dass die Leistung darunter leidet.

(Semantische) Suche: In ähnlicher Weise wie oben beschrieben können Sie die Datenmenge, die Sie für eine semantische Suche verarbeiten, reduzieren, indem Sie zunächst die Ergebnisse herausfiltern, bei denen Sie (fast) sicher sind, dass sie nicht relevant sind (z. B. einen TF-IDF-Score von (fast) Null haben). Diese Art von Aufbau wird als "Abrufen und neu einordnen"-Architektur bezeichnet.

Je nach Datenlage ist eine Verringerung der Latenzzeit um einen zweistelligen Prozentsatz möglich, wobei die Auswirkungen auf die Suchleistung vernachlässigbar sind.

Entitätsverknüpfung: Nehmen wir an, wir möchten Produktnamen zusammen mit Verkaufspreisen extrahieren und die beiden Entitäten miteinander verknüpfen (d. h. herausfinden, welcher Verkaufspreis zu welchem Produktnamen gehört). Wir kennen unsere Daten und gehen einfach davon aus, dass ein Verkaufspreis zum nächstgelegenen Produktnamen gehört.

Dies ist ein regelbasierter Nachbearbeitungsschritt ("Verknüpfung"), der nach der ML-basierten Extraktion von Verkaufspreisen und Produktnamen erfolgt.

Eine einfache Regel wird die ML-extrahierten Entitäten miteinander verbinden

(3) REGELN UND ML

Ensemble-Entwurfsmuster

Bei diesem Muster wird versucht, die Ergebnisse von Regeln und ML als Ensemble zu kombinieren.

Auch hierfür gibt es Beispiele:

Mehr Determinismus: Nicht alle Fehler sind gleich. Vielleicht gibt es einige Muster, von denen Sie wissen, dass sie richtig sind, und Sie wollen, dass Ihre Lösung jedes Mal richtig ist.

In diesem Szenario können Sie ein restriktives regelbasiertes System einsetzen, das sicherstellt, dass diese kritischen Situationen abgedeckt sind, und parallel dazu ein verallgemeinerbares ML-basiertes System, das die anderen (komplexen) Fälle erfassen soll.

Sie können zum Beispiel ein Verzeichnis von Namen anlegen, von denen Sie wissen, dass sie sauber und korrekt sind. Diese Namen werden immer erkannt. Die (ungewöhnlichen) Namen, die nicht in diese Liste fallen, werden vom ML-Modell erfasst.

Ein Gazetteer kann gebräuchliche Namen erfassen, und ein NER-Modell greift die Nischen auf.

Optimierung für Recall/Präzision: Da Sie im Wesentlichen mehrere Vorhersagen kombinieren, können Sie durch die Wahl des "Abstimmungsschemas" (d. h. die Art und Weise, wie Sie von mehreren Einzelvorhersagen zu einer endgültigen Vorhersage gelangen) den Recall oder die Präzision optimieren.

(4) ML-GEPRÜFTE REGELN

Entwurfsmuster für ML-gestützte Regeln

Eine Nischensituation könnte sein, dass Ihr Anwendungsfall wirklich ein regelbasiertes System erfordert - sei es aus regulatorischen Gründen (z. B. das "Recht auf Erklärung" der GDPR ) oder aus anderen Gründen - aber dass diese Regeln sehr schwer zu bestimmen sind.

In diesem Szenario könnten Sie maschinelles Lernen einsetzen, um optimale (RegEx-)Regeln zu erstellen.

Es gibt mehrere Möglichkeiten, dies zu erreichen - von natürlichsprachlichen Seq2Seq-Modellen wie SemRegex bis hin zu Modellen, die auf gelabelten Daten trainiert werden, wie der evolutionäre RegexGenerator-Algorithmus, und Modellen wie TransRegex, die sowohl natürliche Sprache als auch gelabelte Beispiele verwenden.

(5) REGELGELEITETES ML

Regelgeleitetes ML-Entwurfsmuster

Auch bei diesem Muster geht es darum, Regeln und ML zu kombinieren, doch geschieht dies durch die Suche nach einer geeigneten Darstellung der RegEx-Ergebnisse und die echte Integration des Domänenwissens in die Modellarchitektur.

Theoretisch ist dies eine sehr saubere Lösung, aber in der Praxis werden solche Architekturen nicht (weit) verbreitet eingesetzt. Zumindest noch nicht.

Wenn Sie eine Vorstellung davon bekommen wollen, wie so etwas aussehen könnte, lesen Sie dieses Papier. Zum Zeitpunkt der Erstellung dieses Dokuments würden wir ein solches Entwurfsmuster jedoch nicht empfehlen.

Fazit

Zusammenfassend lässt sich sagen, dass hybrides NLP das Potenzial hat, die Genauigkeit, Effizienz, Zuverlässigkeit und/oder Interpretierbarkeit Ihrer Lösung drastisch zu verbessern, insbesondere bei wenig gelabelten Daten. Das heißt, wenn man es richtig macht.

Die Wahl des richtigen Aufbaus ist von Natur aus sehr daten- und problemspezifisch, aber ich hoffe, die obigen Beispiele haben Ihnen ein Gefühl dafür vermittelt, welcher Ansatz zu wählen ist.

Verwandte Beiträge

Alle anzeigen
Keine Ergebnisse gefunden.
Es gibt keine Ergebnisse mit diesen Kriterien. Versuchen Sie, Ihre Suche zu ändern.
Stiftung Modelle
Unternehmen
Unser Team
Verantwortungsvolle und ethische KI
Strukturierte Daten
Chat GPT
Nachhaltigkeit
Stimme und Ton
Front-End-Entwicklung
Schutz und Sicherheit von Daten
Verantwortungsvolle/ethische KI
Infrastruktur
Hardware und Sensoren
MLOps
Generative KI
Verarbeitung natürlicher Sprache
Computer Vision