RE und KI.

Das wird interessant: Requirements Engineering trifft Künstliche Intelligenz. Welche Use Cases helfen beim Definieren und Bearbeiten von Requirements? Wann begrüßen Sie die sportliche Pepper in Ihrem Entwicklungsteam? Hubert Spieß zeigt Ihnen seine Applikation.

Künstliche Intelligenz

Hubert trifft Pepper

Künstliche Intelligenz, Maschinelles Lernen, Algorithmen und Bots sind wichtige Themen beim Wandel zur digitalen Gesellschaft. Intelligente Software und Roboter übernehmen immer mehr Aufgaben, die früher nur der Mensch machen konnte. Welche Bedeutung hat Künstliche Intelligenz für den Arbeitsmarkt?

KI kann ein Wachstums- und Wohlstandstreiber sein. Es bedeutet aber auch in vielen Berufen eine Umstellung der Prozesse. Welche Anwendungsmöglichkeiten bieten sich konkret einem Requirements Engineer, der bei der System- oder Softwareentwicklung zunehmende Komplexität bewältigen, hohe Qualitätsstandards einhalten und rasch auf Marktentwicklungen reagieren muss? In den nachfolgenden Anwendungsbeispielen schauen wir die Möglichkeiten an.

KI Grundlagen

  • Nachbilden von menschlicher Intelligenz
  • Simulationen intelligenten Verhaltens auf Basis vorgegebener oder erlernter Muster
  • Selbstlernende Maschinen
  • Treffen von Entscheidungen auch anhand von Wahrscheinlichkeiten
  • KI kann eigenständig Probleme lösen und ihre Handlung aufgrund von Erfahrungen anpassen
  • Empfindet als Unterscheidung von dem Denken eines Menschen keine Gefühle wie Liebe, Hass, Angst oder Freude

Künstliche neuronale Netze

Ein neuronales Netz ist eine Ansammlung von einzelnen Informationsverarbeitungseinheiten. Diese sogenannten Neuronen sind schichtweise in einer Netzarchitektur angeordnet. Von der Eingabeschicht (input layer) fließen Informationen über eine oder mehrere Zwischenschichten (hidden layer) bis hin zur Ausgabeschicht (output layer).

Künstliche neuronale Netze

Das neuronale Netz lernt durch entwickeln oder löschen von neuen Verbindungen, dem Ändern der Gewichtung, dem Anpassen der Schwellenwerte der Neuronen und einem Hinzufügen oder Löschen von Neuronen.

Beispiele für Künstliche Intelligenz

  • Text- und Schrifterkennung, Bild- und Gesichtserkennung
  • virtuelle Assistenten für Smartphone, Tablet oder Laptop
  • DeepText: Facebooks KI analysiert Post und Status-Updates
  • Erstellen von Börsenberichte, Wetter- oder Sportnachrichten
  • Dienstleistungsbereich: Übernahme von Transport; Telefonsupport; Klassifizierung von Mails
  • Wissensbasierte Systeme (IBM Watson)
  • Gesundheitswesen: Übernehmen von Teilaufgaben von Ärzten
weiter

Tools & Trends in Requirements Engineering

Grundlage für eine erfolgreiche System- oder Softwareentwicklung sind gute Anforderungen. Daneben kann eine passende RE-Lösung beim Definieren und bearbeiten von Anforderungen sehr hilfreich sein. Heutzutage kommen im Requirements Engineering bewährte Lösungen zum Einsatz, aber auch Dienste, wie Natural Language Understanding, Natural Language Classifier und Bots.

Tools & Trends in Requirements Engineering
weiter

Wie kann Künstliche Intelligenz im Requirements Engineering unterstützen?

Hubert erklärt am Whiteboard

In vielen Projekten sind Tausende oder sogar Millionen Anforderungen für ein System definiert. Damit fällt eine Transparenz nicht immer leicht. Ein wichtiger Anwendungsfall ist das Erkennen von Duplikate und Konflikte. Wichtig sind auch Anforderungen, die eindeutig, widerspruchsfrei, vollständig und testbar sind. Durch eine gute Anforderungsanalyse lassen sich viele Fehler frühzeitig erkennen. Ein anderer wichtiger Anwendungsfall betrifft das Bearbeiten von Ausschreibungen oder von Defekten. Durch eine automatische Klassifizierung der eingegebenen Anforderungen bzw. Defekte können diese unmittelbar und schnell an die entsprechende Fachabteilung oder Supportebene geliefert werden.

Hilfreiche Watson-Dienste für den Einsatz von KI in RE

Requirements Engineering mit Natural Language Understanding

Analysieren Sie Ihre Anforderungen mit dem Service IBM Watson Natural Language Understanding. Der Service wurde in IBM Watson Knowledge Studio mit einem benutzerdefinierten Modell trainiert, das Entitäten identifiziert. Sogenannte Weak-Words können mithilfe der Textanalyse erkannt werden. Wichtige Funktionalitäten des Watson-Dienstes sind ein eigenes deutsches Datenmodell und der Einsatz von Machine Learning für das Trainieren der Daten.

Hauptvorteile

Demo

https://dng2cognitive.mybluemix.net

Die Applikation läuft auf der IBM Cloud als Node.js und als Watson Service wird IBM Watson Natural Understanding verwendet. Das eigene Modell wurde mit Watson Knowledge Studio aufgesetzt und trainiert. Die Node.js-Applikation beinhaltet daneben ReactJS.

Requirements Engineering und Natural Language Understanding

Der Anwender kann in dieser Standalone-App (alternativ auch Einbindung als Widget innerhalb eines RE-Tools) eine Anforderung eingeben und mit einem Klick auf „Analysieren“ die Anforderungsqualität von dem IBM Watson NLU Service beurteilen lassen.

Die Applikation gibt für die eingegebene Anforderung die Anforderungsqualität zurück. Grundlage für den Qualitätsfaktor ist der Startwert von 100 Punkten. Findet der NLU Service einige qualitätsmindernde Indikatoren, wie mehrere Aktionen, Anweisungen oder fehlende Einheiten, dann werden vom Startwert die im Regelwerk hinterlegten Punkte dafür jeweils abgezogen. In der Ausgabe sind in der Tabelle die jeweiligen Abzüge, Erklärungen, das Vorkommen in der Anforderung und allgemeine Hinweise zu finden.

RE und NLU Application

In der Übersicht werden die in dem eingegebenen Anforderungstext bestimmten Entitäten dargestellt.

RE und NLU – Ergebnis der Anforderungsqualität

Training

Für das Training wird Watson Knowledge Studio (WKS) verwendet. Benötigt werden konsistente und vollständige positive Beispiele, wie auch negative Beispiele. Für das Training des kundenspezifischen Modells werden mehr als 2000 Beispielanforderungen empfohlen. Dazu ist das Beschäftigen mit einschlägigen RE-Schablonen und Grundsätzen von gutem Requirements Engineering sinnvoll. Das Training gelingt ohne Programmieraufwand.

RE und NLU – Entitäten

Im ersten Schritt wird in WKS ein Typsystem angelegt. Das Typsystem beschreibt welche Begriffe (Entitäten/Entities) durch das trainierte Modell aus dem Text extrahiert werden sollen (Actor, Action, Ambiguity, Escape Clause, Imperative, Operator, etc). Die hochgeladenen Beispielanforderungen werden mit den sogenannten Entitäten des Modells in WKS annotiert.

In Watson Knowledge Studio kann ein Modell für maschinelles Lernen trainiert werden. WKS bietet ein Dashboard, um den aktuellen Trainingsstand zu überprüfen. Als Metriken für das Machine Learning Model gibt es als Orientierungswert für einen ersten Überblick den F1-Wert (F1 Score). Dieser gibt den Mittelwert aus Genauigkeit und Trefferquote an. Der F1-Wert kombiniert die Precision (Genauigkeit) und Recall (Trefferquote) mittels des gewichteten harmonischen Mittels. Die Precision (Präzision) gibt die Wahrscheinlichkeit an, mit der eine vom Modell gefundene Erwähnung relevant ist (Positiver Vorhersagewert). Daneben gibt der Recall (Trefferquote) die Wahrscheinlichkeit an, mit der eine im Text enthaltene Erwähnung gefunden wird (Sensitivität).

IBM Watson Knowledge Studio – Performance

Wollen Sie mehr Informationen haben, wie ein eigenes Modell aufgebaut werden kann und wie lange das Trainieren das Modell dauert, dann nehmen Sie Kontakt mit mir auf. Gerne zeige ich Ihnen die einzelnen Schritte und meine Umsetzung mit IBM Watson Knowledge Studio, IBM Watson Natural Language Understanding, Node.js und ReactJS.

Kategorisieren von Infos

Natural Language Classifier (NLC) verwendet Algorithmen für maschinelles Lernen, um für Texteingaben die vordefinierten Klassen zurückzugeben, die die höchste Übereinstimmung aufweisen.

Anwendungsmöglichkeiten

NLC kann alleine oder in Kombination mit anderen Diensten eingesetzt werden. Es kann bei der Klassifizierung von häufig gestellter Fragen (FAQs) und eines Ausschreibungsdokuments unterstützen. Daneben können Anforderungen, Defekte oder Arbeitselemente schon unmittelbar nach der Eingabe damit automatisch kategorisiert und an die entsprechende Entwicklungsabteilung weitergeleitet werden.

Natural Language Classifier

Demo (Standalone-App): https://nlc.mybluemix.net

Kundenspezifisch bietet Natural Language Classifier eine Trainingsmöglichkeit an. Erstellen Sie die entsprechenden Klassen und geben Sie in diesen jeweils Beispielanforderungen ein.

Training Natural Language Classifier

Bots

Wollen Sie im Requirements Engineering Prozess Interaktionen mit Benutzern automatisieren lassen? Dann könnte ein virtueller Assistant oder ein Chat-Bot die richtige Wahl sein.

Chatbots

Demo: https://carconversation.mybluemix.net

weiter

Impressum

Hubert Spieß
Reventlowstraße 5
80805 München
Tel. 0175 7281914
Internet: www.hubert-spiess.de
E-Mail: mail@hubert-spiess.de

Datenschutzhinweis

Erhebung und Speicherung personenbezogener Daten sowie Art und Zweck von deren Verwendung beim Besuch der Website. Beim Aufrufen der Website hubert-spiess.de werden durch den auf Ihrem Endgerät zum Einsatz kommenden Browser automatisch Informationen an den Server unserer Website gesendet. Diese Informationen werden temporär in einem sog. Logfile gespeichert. Folgende Informationen werden dabei ohne Ihr Zutun erfasst und bis zur automatisierten Löschung gespeichert:

IP-Adresse des anfragenden Rechners, Datum und Uhrzeit des Zugriffs, Name und URL der abgerufenen Datei, Website, von der aus der Zugriff erfolgt (Referrer-URL), verwendeter Browser und ggf. das Betriebssystem Ihres Rechners sowie der Name Ihres Access-Providers.

Die genannten Daten werden durch uns zu folgenden Zwecken verarbeitet: Gewährleistung eines reibungslosen Verbindungsaufbaus der Website, Gewährleistung einer komfortablen Nutzung unserer Website, Auswertung der Systemsicherheit und -stabilität sowie zu weiteren administrativen Zwecken.

Die Rechtsgrundlage für die Datenverarbeitung ist Art. 6 Abs. 1 S. 1 lit. f DSGVO. Unser berechtigtes Interesse folgt aus oben aufgelisteten Zwecken zur Datenerhebung. In keinem Fall verwenden wir die erhobenen Daten zu dem Zweck, Rückschlüsse auf Ihre Person zu ziehen.

Weitergabe von Daten

Eine Übermittlung Ihrer persönlichen Daten an Dritte zu anderen als den im Folgenden aufgeführten Zwecken findet nicht statt. Wir geben Ihre persönlichen Daten nur an Dritte weiter, wenn: Sie Ihre nach Art. 6 Abs. 1 S. 1 lit. a DSGVO ausdrückliche Einwilligung dazu erteilt haben, die Weitergabe nach Art. 6 Abs. 1 S. 1 lit. f DSGVO zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich ist und kein Grund zur Annahme besteht, dass Sie ein überwiegendes schutzwürdiges Interesse an der Nichtweitergabe Ihrer Daten haben, für den Fall, dass für die Weitergabe nach Art. 6 Abs. 1 S. 1 lit. c DSGVO eine gesetzliche Verpflichtung besteht, sowie dies gesetzlich zulässig und nach Art. 6 Abs. 1 S. 1 lit. b DSGVO für die Abwicklung von Vertragsverhältnissen mit Ihnen erforderlich ist.

Betroffenenrechte

Sie haben das Recht:

gemäß Art. 15 DSGVO Auskunft über Ihre von uns verarbeiteten personenbezogenen Daten zu verlangen. Insbesondere können Sie Auskunft über die Verarbeitungszwecke, die Kategorie der personenbezogenen Daten, die Kategorien von Empfängern, gegenüber denen Ihre Daten offengelegt wurden oder werden, die geplante Speicherdauer, das Bestehen eines Rechts auf Berichtigung, Löschung, Einschränkung der Verarbeitung oder Widerspruch, das Bestehen eines Beschwerderechts, die Herkunft ihrer Daten, sofern diese nicht bei uns erhoben wurden, sowie über das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling und ggf. aussagekräftigen Informationen zu deren Einzelheiten verlangen;

gemäß Art. 16 DSGVO unverzüglich die Berichtigung unrichtiger oder Vervollständigung Ihrer bei uns gespeicherten personenbezogenen Daten zu verlangen;

gemäß Art. 17 DSGVO die Löschung Ihrer bei uns gespeicherten personenbezogenen Daten zu verlangen, soweit nicht die Verarbeitung zur Ausübung des Rechts auf freie Meinungsäußerung und Information, zur Erfüllung einer rechtlichen Verpflichtung, aus Gründen des öffentlichen Interesses oder zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen erforderlich ist;

gemäß Art. 18 DSGVO die Einschränkung der Verarbeitung Ihrer personenbezogenen Daten zu verlangen, soweit die Richtigkeit der Daten von Ihnen bestritten wird, die Verarbeitung unrechtmäßig ist, Sie aber deren Löschung ablehnen und wir die Daten nicht mehr benötigen, Sie jedoch diese zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen oder Sie gemäß Art. 21 DSGVO Widerspruch gegen die Verarbeitung eingelegt haben;

gemäß Art. 20 DSGVO Ihre personenbezogenen Daten, die Sie uns bereitgestellt haben, in einem strukturierten, gängigen und maschinenlesebaren Format zu erhalten oder die Übermittlung an einen anderen Verantwortlichen zu verlangen;

gemäß Art. 7 Abs. 3 DSGVO Ihre einmal erteilte Einwilligung jederzeit gegenüber uns zu widerrufen. Dies hat zur Folge, dass wir die Datenverarbeitung, die auf dieser Einwilligung beruhte, für die Zukunft nicht mehr fortführen dürfen und

gemäß Art. 77 DSGVO sich bei einer Aufsichtsbehörde zu beschweren. In der Regel können Sie sich hierfür an die Aufsichtsbehörde Ihres üblichen Aufenthaltsortes oder Arbeitsplatzes oder unseres Firmensitzes wenden.

Widerspruchsrecht

Sofern Ihre personenbezogenen Daten auf Grundlage von berechtigten Interessen gemäß Art. 6 Abs. 1 S. 1 lit. f DSGVO verarbeitet werden, haben Sie das Recht, gemäß Art. 21 DSGVO Widerspruch gegen die Verarbeitung Ihrer personenbezogenen Daten einzulegen, soweit dafür Gründe vorliegen, die sich aus Ihrer besonderen Situation ergeben oder sich der Widerspruch gegen Direktwerbung richtet. Im letzteren Fall haben Sie ein generelles Widerspruchsrecht, das ohne Angabe einer besonderen Situation von uns umgesetzt wird.

Möchten Sie von Ihrem Widerrufs- oder Widerspruchsrecht Gebrauch machen, genügt eine E-Mail mail@hubert-spiess.de

Datensicherheit

Wir bedienen uns geeigneter technischer und organisatorischer Sicherheitsmaßnahmen, um Ihre Daten gegen zufällige oder vorsätzliche Manipulationen, teilweisen oder vollständigen Verlust, Zerstörung oder gegen den unbefugten Zugriff Dritter zu schützen. Unsere Sicherheitsmaßnahmen werden entsprechend der technologischen Entwicklung fortlaufend verbessert.

Aktualität und Änderung dieser Datenschutzerklärung

Diese Datenschutzerklärung ist aktuell gültig und hat den Stand Mai 2018. Durch die Weiterentwicklung unserer Website und Angebote darüber oder aufgrund geänderter gesetzlicher beziehungsweise behördlicher Vorgaben kann es notwendig werden, diese Datenschutzerklärung zu ändern. Die jeweils aktuelle Datenschutzerklärung kann jederzeit auf der Website unter Datenschutzhinweis von Ihnen abgerufen und ausgedruckt werden.

Hinweis: Basistemplate ist von HTML5 UP und lizenziert unter Creative Commons Attribution 3.0 License.