3 Ansätze, natürlichsprachige Anforderungen maschinell zu verarbeiten

Modellbasierte Systembeschreibungen sind nützlich, doch fast alle Entwicklungen beginnen mit Anforderungen in der menschlichen Sprache. Das wird sich auch so schnell nicht ändern, denn Systeme werden für Menschen entwickelt. Schließlich denken wir in natürlicher Sprache (und Bildern).

Doch natürliche Sprache lässt sich nicht so ohne weiteres automatisiert weiterverarbeiten, aber gerade bei steigender Komplexität wäre das nützlich. Es gibt hier bereits kommerzielle Lösungen und natürlich Forschungsaktivität. im Folgenden stelle ich drei Lösungen vor, um Anforderungen in natürlicher Sprache automatisiert zu verarbeiten. Das Ergebnis sind verbesserte Anforderungen, Nachverfolgbarkeit oder sogar abgeleitete Modelle.

Eine Umfrage und eine Bitte

Mich würde sehr interessieren, ob das automatisierte Verarbeiten von Anforderungen für Sie von Interesse ist. Dazu habe ich in der Rechten Spalte eine neue Umfrage angelegt.

Weiterhin betreue ich gerade eine Masterarbeit zu diesem Thema. Wir sind auf der Suche nach Firmen, um diese Konzepte anzuwenden. Brauchen Sie Hilfe mit Ihren Anforderungen, die möglicherweise über ein automatisches System vereinfacht werden könnten? Dann sprechen Sie mich gern direkt per E-Mail an.

Vielen Dank fürs Mitmachen bei der Umfrage (rechte Spalte)!

1. Qualität von Anforderungen verbessern

Schon vor 15 Jahren gab das Werkzeug DESIRe der Hood Group im kostenlosen Download. DESIRe kann mit Word oder DOORS verwendet werden und analysiert die Anforderungen nach Weak-Words und anderen Begriffen. Das bedeutet allerdings, dass DESIRe die Anforderungen nicht automatisch verbessert, sondern lediglich auf Verbesserungsmöglichkeiten hinweist.

Seit kurzem versucht IBM das Problem mit künstlicher Intelligenz (KI) zu lösen, die dort unter dem Namen Watson vermarktet wird. Letztes Jahr wurde Watson in DOORS eingebaut, das Ergebnis ist in diesem Video zu sehen. Allerdings leistet Watson wenig mehr als DESIRe, was ich etwas enttäuschend finde. Hubert Spieß von IBM hat eine Demo-Seite aufgesetzt, auf der man die Analyse von Anforderungen durch Watson selbst ausprobieren kann.

Die junge Firma Qualicen hat mächtige Werkzeuge für die automatisierte Analyse natürlichsprachiger Anforderungen entwickelt. Dieser Blogartikel gibt einen Überblick über vier relevante Anwendungsfälle. Qualicen ist der Meinung, dass es schwer ist, diese Werkzeuge ohne eine entsprechende Begleitung einzusetzen. Daher setzt Qualicen diese nur im Kontext von Beratungs- oder Schulungsprojekten ein.

Fazit: Ja, es gibt automatisierte Hilfestellung, die Qualität von Anforderungen zu verbessern. Aber die Verbesserung selbst muss immer noch vom Menschen durchgeführt werden.

2. Beziehungen erkennen

Einen ganz anderen Weg geht die Firma Relatics. Deren Werkzeug führt eine semantische Analyse durch und berücksichtigt dabei Dokumente, E-Mails und vieles mehr. Basierend auf dieser Analyse erstellt das System eine Traceability, wie im folgenden Bild schematisch zu sehen ist:

Bildquelle: Relatics Video

Wie gut das in der Praxis funktioniert kann ich nicht beurteilen, das Konzept ist jedoch charmant, da hier noch nicht einmal verlangt wird, dass wir es mit sauberen Anforderungen zu tun haben. Trotzdem können wir jederzeit alle relevanten Informationen abrufen, bspw. zu Part A.

3. Modelle extrahieren

Und zuletzt gibt es die Möglichkeit, Modelle aus den natürlichsprachigen Anforderungen zu extrahieren. Hier ist mir keine kommerzielle Lösung bekannt. Es gibt aber Forschung und auch Fallstudien. Besonders interessant fand ich Extracting Domain Models from Natural-Language Requirements: Approach and Industrial Evaluation von Arora et.al. Dabei werden Anforderungen regelbasiert analysiert, um daraus Klassenmodelle der Domäne zu erzeugen. Hier ein Beispiel:

Quelle: Extracting Domain Models from Natural-Language Requirements: Approach and Industrial Evaluation, Arora et.al

In dem Paper analysieren die Autoren vier industrielle Spezifikationen. Die Ergebnisse sind vielversprechend: 90% der identifizierten Beziehungen waren korrekt. Ein größeres Problem war, dass viele der extrahierten Beziehungen von den Domänenexperten als überflüssig eingestuft wurden. Die Autoren setzen sich aktuell mit diesem Problem auseinander.

Fazit

Ehrlich gesagt war ich ein bisschen enttäuscht von Stand der Entwicklung. Gerade beim aktuellen Hype um Machine Learning und Künstliche Intelligenz hätte ich mehr erwartet. Insbesondere hätte ich von Systemen wie Watson erwartet, dass diese die Anforderungen im Kontext bewerten, und nicht nur einzelne Anforderungen.

Wenn Sie das auch so sehen und hier Herausforderungen haben, dann sprechen Sie mich gern direkt per E-Mail an.

Photo by Sharon McCutcheon on Unsplash

Michael Jastram

Creator and Author of SE-Trends