dida Logo

Informationen aus Kundenanfragen extrahieren

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

Ausgangspunkt

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.

Herausforderungen

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.

Lösung

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!

Philipp Jackmuth

Geschäftsführer

p.jackmuth@dida.do

Erzählen Sie uns ein wenig über Ihre Projektanforderungen und wir setzen uns mit Ihnen in Verbindung.

Weitere Projekte

Eine Auswahl von Projekten, die wir bereits abgeschlossen haben

Semantische Suche für die öffentliche Verwaltung

Unser Algorithmus hilft Bürgern durch die Bürokratie einer Gewerbeanmeldung.

Rechtliche Überprüfung von Mietverträgen

Mit Hilfe verschiedener Methoden aus dem Bereich NLP entdeckt unsere Software Fehler in Mietverträgen.

Extraktion numerischer Attribute aus Produktbeschreibungen

Automatisches Extrahieren von numerischen Attributen aus Produktbeschreibungen, um die bestehende Datenbank anzureichern.

Automatische Planung von Solaranlagen

Durch kreative Lösungen konnten wir die Planung von Solaranlagen automatisieren.