Share ZU:
25 January 2023 @ Hichem Bouricha

Besseres Requirements Engineering durch NLP?

Natural Language Processing (NLP) ist ein Teilgebiet der künstlichen Intelligenz, das sich mit der Verarbeitung und Analyse natürlicher Sprache durch Computer beschäftigt. Es beinhaltet Technologien wie Spracherkennung, Maschinelles Lernen und Text-Mining, die es ermöglichen, menschliche Sprache automatisch zu verstehen und zu generieren. NLP hat in den letzten vier Jahren viele Industrien geprägt, wie beispielsweise bei der automatisierten Bewertung der Rezensionen bei Amazon oder Netflix.
Aber wie kann die Produktentwicklung und damit das Requirements Engineering von dieser Technologie profitieren?

Um genauer zu sein, inwieweit kann NLP das Requirements Engineering im klassischen und agilen Umfeld revolutionieren?

Wir können Erhebung und Verarbeitung von den Anforderungen mittels NLP automatisieren. Im klassischen Ansatz werden Anforderungen oft in langen Dokumenten beschrieben, die schwer zu verstehen und zu verwalten sind. Mit NLP könnten wir Anforderungen jedoch in natürlicher Sprache aufnehmen. Das würde es einfacher gestalten, sie zu verstehen und zu organisieren. Die Sprachaufnahme kann sowohl in Online- oder Präsenzmeetings gemacht werden.

Im agilen Ansatz werden Anforderungen oft in kurzen Gesprächen oder schnellen Meetings aufgenommen. Mit NLP könnten diese Gespräche ebenso aufgezeichnet und automatisch in leicht verständliche Anforderungen umgewandelt werden. Das würde es einfacher machen, die Anforderungen zu verfolgen und sicherzustellen, dass sie im Projektverlauf erfüllt werden.

Kann NLP auch Anforderungsmanagement verändern?

NLP kann fast bei jeder Lebensphase einer Anforderung unterstützen. Die Art und Weise wie man Anforderungsmanagement betreibt, wird durch NLP verbessert und somit die Kommunikation zwischen Kunden und anderen Stakeholdern optimiert.

NLP-Tools können beispielsweise verwendet werden, um die Verfolgung von Anforderungen zu automatisieren und sicherzustellen, dass sie im Projektverlauf erfüllt werden. NLP-Technologien wie automatische Textzusammenfassung und Textklassifizierung können helfen, Anforderungen schneller zu erfassen und zusammenzufassen, während maschinelle Übersetzung die Zusammenarbeit in internationalen Teams erleichtern kann.

Abbildung: Berechnung der Häufigkeit eines Begriffs, um einen Text zusammenzufassen [Quelle: https://www.seobility.net/en/wiki/Term_Frequency]

NLP-Technologien können uns helfen, die Qualität der Anforderungen zu verbessern. sie überprüfen automatisch auf Fehler oder Inkonsistenzen und übersetzen die Anforderungen in leicht verständliche natürliche Sprache.

Ein Beispiel für den Einsatz von NLP zur Identifizierung von Inkonsistenzen in Anforderungen wäre die Verwendung von NLP-Technologien wie Named-Entity-Recognition (NER) und Coreference-Resolution (CR). Mit Hilfe dieser Technologien können wir automatisiert Ähnlichkeiten und Unterschiede in Anforderungen erkennen und vergleichen, die in verschiedenen Dokumenten aufgeführt sind. So können wir entsprechende Warnungen oder Anmerkungen generieren, wenn Inkonsistenzen festgestellt werden.

Generell können wir das Kundenfeedback aus sozialen Medien, E-Mails oder Umfragen sammeln und mittels NLP erfassen. Durch die Verwendung von Sentiment-Analysis-Technologien könnte das Unternehmen automatisch erkennen, ob das Feedback positiv, negativ oder neutral ist und auch, welche Themen am häufigsten angesprochen werden. Mit dieser Information können wir wichtige Anforderungen schneller identifizieren und priorisieren und das Anforderungsmanagement effektiver gestalten.

Insgesamt kann NLP das Anforderungsmanagement erheblich verbessern, indem es die Erfassung, Verarbeitung und Verfolgung von Anforderungen vereinfacht und die Kommunikation und Zusammenarbeit zwischen allen Beteiligten verbessert.

Welches sind Ihre Erfahrungen mit NLP in den Entwicklungsphasen?