Die Herausforderung
Verträge sind oft komplex und nicht einfach zu verstehen. Viele Menschen übersehen beim Lesen wichtige Punkte oder kritische Stellen und Fehlerquellen bleiben unentdeckt. Diesen Problemen stellt sich Contract Check. Wir suchen nach einer Lösung, die verschiedene Vertragstypen erkennt, diese anschließend zusammenfasst und zudem noch analysiert.
Die Lösung
Die entwickelte Web-App ermöglicht den Nutzer:innen, ihre Verträge ohne großen Aufwand hochzuladen. Den Rest übernimmt unsere Künstliche Intelligenz, die automatisiert den Vertragstyp erkennt sowie wichtige und fehlerhafte Informationen im Vertrag sucht und übersichtlich darstellt. Dadurch können die Nutzer:innen ihre Verträge prüfen und erhalten ein besseres Verständnis.
Herangehensweise: Schlank und effektiv
Über das Webinterface können Nutzer:innen neue Verträge hochladen. Beispielsweise in Banken, der Steuerberatung und Kanzleien kommen teilweise Verträge zum Einsatz, die bis zu 200 Seiten lang und sehr komplex sein können. Die KI-Lösung Contract Check kategorisiert und analysiert die Verträge in Sekunden und erstellt eine übersichtliche Zusammenfassung davon. Die Analyseübersicht zeigt direkt die wichtigsten Informationen an und signalisiert kritische und unkritische Bereiche farblich. Die Nutzenden sehen eine Zusammenfassung über die wichtigsten Punkte des Mietvertrags, sodass ein Überblick über die Inhalte des Vertrags erlangt werden kann. Es besteht die Möglichkeit, einen Account anzulegen. In diesem sind die Analysen gespeichert, um eine erneute Einsicht in die bereits geprüften Verträge zu ermöglichen.
Das Frontend setzten wir mit Angular um. Dabei handelt es sich um ein Framework, das die Erstellung eines dynamischen Frontends erleichtert und einen hohen Funktionsumfang bietet. Für die Speicherung der Daten kommt Google Firebase zum Einsatz. Eine NoSQL-Datenbank ermöglicht es, Daten ohne einheitliche Strukturen abzuspeichern und zu laden. Ebenso können wir dort die analysierten Verträge für angemeldete Accounts speichern und verwalten.
Eine einfache Nutzung der Applikation ist uns wichtig! Mit Hilfe von ML und NLP ist das Backend optimal für seine Aufgabe vorbereitet.
Der eigentliche Prozess findet jedoch im Backend statt. Für die automatische Vertragsanalyse sind mehrere Bereiche wichtig, ohne die solch ein Vorhaben nicht möglich ist.
- Natural Language Processing (NLP):
Es ist zwingend notwendig, den Vertrag für Maschinen verständlich zu machen. Hierfür kommt das sogenannte Natural Language Processing zum Einsatz. Dies ermöglicht dem Computer ein Verständnis über den vorliegenden Text zu bekommen. Dadurch kann er Aufgaben wie die Zuordnung in eine Vertragskategorie oder das Herausfinden relevanter Bereiche und die damit verbundene Zusammenfassung ausführen. - Machine Learning (ML):
Ein alleiniges Verständnis reicht jedoch nicht aus, um wiederkehrende Merkmale in den Texten zu erkennen und damit die genannten Aufgaben erfüllen zu können. Hierfür sind Machine Learning Verfahren notwendig, die diese Aufgabe übernehmen.
Durch das Zusammenspiel dieser beiden Bereiche ist es uns gelungen, eine Software zu entwickeln, die Verträge nicht nur erkennen kann, sondern diese dazu noch zusammenfasst und analysiert.
Die Umsetzung für das NLP erfolgt mit Hilfe des Natural Language Toolkit (NLTK). Dabei handelt es sich um ein Python Package, dass bereits viele übliche NLP-Methoden zur Verfügung stellt. Für das Machine Learning kommt Scikit-Learn zum Einsatz. Dieses Python Package implementiert viele übliche ML-Algorithmen, die wir in der Contract Check Anwendung benötigen.
Die Datensammlung der Verträge und manuelle Analyse ist ebenfalls ein wichtiger Bestandteil. Insgesamt hinterlegten wir mehr als 1.000 Verträge in dem System und ordneten sie manuell einer Kategorie zu, um die Künstliche Intelligenz zu trainieren. Ebenso analysierten wir jeden einzelnen Mietvertrag händisch und extrahierten die wichtigsten Informationen bzw. Fehlerquellen. Diese brachten wir dem KI-System bei, sodass es eine zuverlässige Analyse und Zusammenfassung der hochgeladenen Mietverträge liefert.