dida Logo
Unser Kunde

Semantische Suche für die öffentliche Verwaltung

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

Input:Umgangssprachliche Beschreibung eines Gewerbes
Output:    Relevanter Branchencode
Ziel:Die Gewerbeanmeldung für Bürger vereinfachen

Ausgangspunkt

Bürger, die in Deutschland ein neues Gewerbe anmelden, müssen bei der Anmeldung einen Branchencode angeben. Dieser Branchencode wird aus einer Liste von über 800 verschiedenen Codes ausgewählt, die jeweils in der komplizierten "Sprache der öffentlichen Verwaltung" beschrieben und definiert sind. Aus all diesen Möglichkeiten den richtigen Code zu finden ist eine schwierige Aufgabe, insbesondere wenn man mit der verwendeten Fachsprache nicht vertraut ist.

Unser Kunde bietet einen Chatbot an, der Bürgern den Zugang zu Dienstleistungen der öffentlichen Verwaltung ermöglicht. Sie wollten dessen Funktionalität durch eine intuitive Suchfunktion für Branchencodes erweitern.

Unser Kunde PublicPlan hat für das Bundesland Nordrhein-Westfalen ein Online-Serviceportal entwickelt, das den Bürgern den Zugang zu Dienstleistungen der öffentlichen Verwaltung ermöglicht. PublicPlan wollte seine Funktionalität durch eine intuitive Suchfunktion für Branchencodes erweitern, die sowohl in den Chatbot des Portals als auch in den Assistenten zur Gewerbeanmeldung integriert ist.

Herausforderungen

Die Eingabedaten für den hier entwickelten Algorithmus sollte die umgangssprachliche Beschreibung des Gewerbes sein, das angemeldet werden soll.

Da Behörden oft Wörter und Wendungen verwenden, die sich stark von der Umgangssprache unterscheiden, ist es eine nicht triviale Aufgabe, den richtigen Branchencode für eine bestimmte Gewerbeanmeldung zu finden.

Daher reichen einfache Algorithmen für die Textsuche nicht aus, um den richtigen Branchencode zu finden.

Lösung

Wir haben eine KI-Architektur, die besonders auf die Verarbeitung natürlicher Sprache angepasst ist, auf die spezifische Aufgabe trainiert. Das trainierte Modell gibt für eine gegebene umgangssprachliche Gewerbebeschreibung die relevanten Branchencodes aus.

Die Trainingsdaten für die KI waren historische umgangssprachliche Gewerbebeschreibungen und dazugehörige Branchencodes. Diese Daten wurden vom Kunden zur Verfügung gestellt.

Das Endprodukt kann in verschiedenen Settings eingesetzt werden. Aktuell ist es als Bestandteil des Chatbots und des Gewerbeanmeldungsassistenten implementiert, über die der Kunde bereits verfügte. Unsere Lösung ist flexibel und einfach zu erweitern: neue Branchencodes können mit sehr geringem Aufwand integriert werden.

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.

Technische Details

Anforderungen des Kunden

Der Kunde verfügte über bereits vorhandene Lösungen (Chatbot und Gewerbeanmeldungsassistent), die als Schnittstelle verwendet werden konnte, so dass die Bürgerinnen und Bürger ihre Gewerbebeschreibungen in Umgangssprache eingeben konnten und die fünf relevantesten Branchencodes als Antwort vom Chatbot erhielten.

Beide vorhandenen Lösungen ermöglichen die Weiterleitung verschiedener Benutzerfragen an entsprechende API-Endpunkte, was bedeutet, dass wir die von Benutzern geschriebenen umgangssprachlichen Gewerbebeschreibungen als API-Aufrufe erhalten haben. Unser Algorithmus sollte eine Antwort auf diese API-Aufrufe erstellen, die die 5 relevantesten Branchencodes enthält.

Es gab eine bereits existierende Lösung mit einfachen Worteinbettungen, die oft unbefriedigende Ergebnisse zeigte. Dies deutete darauf hin, dass ein besseres semantisches Verständnis der Definitionen und Beschreibungen der verschiedenen Branchencodes sowie der umgangssprachlichen Gewerbebeschreibungen erforderlich war.

Unsere Lösung

Backend: Python, spaCy, PyTorch, NumPy, Pandas, fastAPI, Pydantic, Docker, Elasticsearch
Infrastruktur: Google Cloud (Training), Git, DVC, TensorBoard

Die Grundlage für unseren Algorithmus ist eine Version von BERT, einer von Google entwickelten neuronalen Netzarchitektur, die bereits auf einem großen deutschen Textkorpus vortrainiert wurde. Wir haben die vorhandenen Schichten nachtrainiert und die Ausgabe von BERT mit aufgabenspezifischen Features angereichert. Durch Hinzufügen einiger neuer Schichten und Nachbearbeitungsschritte waren wir in der Lage, einen Textklassifikator zu erstellen, der die vollen semantischen Fähigkeiten von BERT nutzt und gleichzeitig performant genug ist, um auf einer CPU zu laufen.

Dieser Klassifikator wurde dann anhand historischer Gewerbebeschreibung - Branchencode-Paare trainiert. Für eine gegebene Gewerbebeschreibung gibt er für jeden Branchencode einen Relevanzscore aus. Die 5 Branchencodes mit dem höchsten Score werden dann nach ihrer Relevanz sortiert und als Antwort auf die ursprüngliche Benutzeranfrage zurückgeschickt.

Weitere Projekte

Eine Auswahl von Projekten, die wir bereits abgeschlossen haben

Automatische Zugangskontrolle mit Gesichtserkennung

Für eine automatische Zugangskontrolle entwickelten wir ein mehrstufiges Sicherheitssystem mit Gesichtserkennung.

Informationen aus Kundenanfragen extrahieren

Aus den kurzen Begründungstexten für Tierarztbesuche extrahieren wir Symptome, Krankheiten und gewünschte Dienstleistungen.

Rechtliche Überprüfung von Mietverträgen

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

© unsplash/@nicolasp

Klassifizierung der Kulturpflanzenart

Wir erkennen angebaute Feldfrüchte anhand von Satellitendaten, um die Landwirtschaft zu unterstützen.