Aus den kurzen Begründungstexten für Tierarztbesuche extrahieren wir Symptome, Krankheiten und gewünschte Dienstleistungen.
Input: | Ein kurzer Text mit Angabe des Termingrundes |
Output: | Alle Symptome, Krankheiten oder gewünschte Dienstleistungen, die dem Text zu entnehmen sind |
Ziel: | Strukturierte Daten aus den Termingründen zu gewinnen |
Unser Kunde, felmo, bietet in vielen deutschen Städten Hausbesuche von Tierärzten für Katzen und Hunde an. Bei der Online-Terminvergabe kann der Kunde einen kurzen Text als Begründung eingeben.
Ziel des Projekts war es, alle Symptome, Krankheiten und Dienstleistungen aus den Termingründen zu extrahieren.
Um ein Modell dafür trainieren zu können, hat felmo uns ein Datensatz mit tausenden von Termingründen zur Verfügung gestellt mit jeweils bis zu 10 Symptomen, Krankheiten und Dienstleistungen, die Tierärzte aus dem Text ableiten konnten.
Einer der Herausforderungen dieser Aufgabe war, dass es mehr als 500 unterschiedliche Symptome, Krankheiten und Leistungen gab und viele Symptome nur geringfügige Unterschiede aufwiesen.
Auch die große Variation der Schreibstile machte diese Aufgabe anspruchsvoll. Die meisten Benutzer gaben eine Liste der beobachteten Symptome an. Einige fügten auch Spekulationen über die zugrunde liegende Ursache an, oder führten auch auf, welche Symptome sie ausschließen konnten. Andere beschrieben das Verhalten ihres Haustieres während der letzten Tage in vollständigen Sätzen.
Als ersten Schritt schrieben wir einen einfachen Algorithmus, der auf regular expressions basierte, damit wir ein Vergleichswert für unsere Modelle hatten. Dies funktionierte bereits recht gut für Eingaben, die Listen von einzelnen Wörtern oder kurzen Beschreibungen waren.
Um mit Spekulationen, Negationen und detaillierten Beschreibungen umgehen zu können, haben wir ein vortrainiertes Sprachmodell verwendet (ein Modell, das auf einem großen öffentlichen Datensatz trainiert wurde, um ein allgemeines Sprachverständnis zu erlernen). Dies haben wir dann weiter trainiert auf dem Datensatz von felmo.
Wir haben auch mit felmo zusammengearbeitet, um den Datensatz zu verbessern. Das führte dann auch zu einer Verbesserung der Modellvorhersagen.
Dieses neue Modell hatte eine ebenso hohe Genauigkeit bei den listenartigen Termingründen wie unser ursprünglicher Algorithmus. War aber jetzt auch in der Lage, Negationen zu erkennen oder Symptome aus längeren Beschreibungen abzuleiten.
In dem einmonatigen Proof-of-Concept-Projekt konnten wir:
zeigen, dass ein tiefes neuronales Netzwerk Algorithmen basierend auf regular expressions übertreffen kann
ein Modell präsentieren, das bereits produktionsreife Ergebnisse liefert
Jetzt kann felmo die Ergebnisses dieses Modells mit ihrer Erfahrung und Fachwissen kombinieren, um ihre Prozesse zu verbessern. So kann felmo den Tierärzten wertvolle Zeit einsparen!
Eine Auswahl von Projekten, die wir bereits abgeschlossen haben
Unser Algorithmus hilft Bürgern durch die Bürokratie einer Gewerbeanmeldung.
Mit Hilfe verschiedener Methoden aus dem Bereich NLP entdeckt unsere Software Fehler in Mietverträgen.
Automatisches Extrahieren von numerischen Attributen aus Produktbeschreibungen, um die bestehende Datenbank anzureichern.
Durch kreative Lösungen konnten wir die Planung von Solaranlagen automatisieren.