scieee Science in your language
[en] (orig)
Heinrich C. Mayr,Martin Pinzger (Hrsg.): INFORMATIK 2016,
Lecture Notes in Informatics (LNI), Gesellschaft f¨
ur Informatik, Bonn 2016 1537
Automatische Klassifikation vonAnforderungen zur
Unterst¨
utzung vonQualit¨
atssicherungsprozessen
Jonas Winkler1
Abstract: W¨
ahrend des Requirements-Engineering werden Anforderungen an zu entwickelnde Sys-
teme und Komponenten in Form vonLastenheften dokumentiert. Diese Lastenhefte enthalten neben
rechtlich relevanten Anforderungen weitere Inhalte wie Erkl¨
arungen, Zusammenfassungen und Ab-
bildungen. Um zwischen Anforderungen und solchen Zusatzinformationen unterscheiden zu k¨
onnen,
werden alle Lastenheftinhalte manuell als Anforderung oder Information eingestuft. Analysen ha-
ben ergeben, dass diese Klassi®kation nicht konsequent durchgef¨
uhrt wird. Daher liegt es nahe, diese
Klassi®kation zu automatisieren. In diesem Beitrag wird ein Ansatz vorgestellt, der diese Klassi®-
kation mithilfe vonTechniken aus dem Bereich Data Mining und Machine Learning automatisch
durchf¨
uhren kann.
Keywords: Anforderungsmanagement, Qualit¨
atssicherung, Data Mining, Machine Learning, Text-
klassi®kation, Text-Clustering, Neurale Netzwerke
1Motivation
Im Rahmen des Entwicklungsprozesses vonFahrzeugen werden Anforderungen an neu
entwickelte Fahrzeugkomponenten in Form vonLastenheften dokumentiert. Diese Doku-
mente dienen dem Zweck, die Verbindlichkeiten zwischen Auftraggeber (Automobilher-
steller) und Auftragnehmer (Lieferant)festzulegen. Vo rder ¨
Ubergabe eines Lastenhefts
an einen Lieferanten durchl¨
auft dieses einen intensivenQualit¨
atssicherungsprozess. Da-
bei wird unter anderem darauf geachtet, dass die Anforderungen vollst¨
andig und eindeutig
formuliert sind.
Neben Anforderungen enthalten Lastenhefte weitere Informationen wie beispielsweise Er-
kl¨
arungen, Zusammenfassungen, Beispiele, Abbildungen und Verweise auf andere Doku-
mente. Diese Elemente sind keine Anforderungen, die der Lieferant in seinem Produkt
umsetzen muss. Um zwischen solchen Zusatzinformationen und rechtlich verbindlichen
Anforderungen zu unterscheiden, werden alle Elemente eines Dokuments mit speziellen
Markierungen versehen, die ein Objekt entweder als Anforderung oder als Information
kennzeichnen.
Durch die Analyse mehrerer realer Lastenhefte wurde festgestellt, dass diese Markierung
nur selten konsequent durchgef¨
uhrt wird. Bei der Lastenhefterstellung wird das Attribut
oftmals nicht beachtet und die nachtr¨
agliche Bearbeitung stellt einen erheblichen Auf-
wand dar.Dieser Umstand erschwert die Weiterverwendung eines Dokuments in sp¨
ateren
Entwicklungsschritten, beispielsweise bei der Erstellung der Testspezi®kation zum Las-
tenheft.
1Technische Universit¨
at Berlin, DCAITI, Ernst-Reuter-Platz 7, 10587 Berlin, [email protected]
1538 Jonas Winkler
In diesem Beitrag wird untersucht, inwieweit es m¨
oglich ist, die Klassi®zierung vonAnfor-
derungen und Informationen mithilfe computergest¨
utzter Werkzeuge automatisch durch-
zuf¨
uhren. Mithilfe eines solchen Werkzeugs w¨
are es m¨
oglich, sowohl nicht klassi®zierte
Dokumente zu klassi®zieren, als auch in bereits klassi®zierten Dokumenten den Autor auf
m¨
oglicherweise falsch klassi®zierte Dokumententeile hinzuweisen.
Dazu wurde zun¨
achst eine Feldstudie an mehreren Anforderungsdokumenten durchge-
f¨
uhrt, um die Machbarkeit und m¨
ogliche Grenzen besser einsch¨
atzen zu k¨
onnen und um
die Entwicklung eines Ansatzes zur automatischen Klassi®zierung planen zu k¨
onnen. Die-
se Studie, ein daraufhin entwickelter Ansatz und erste Evaluationsergebnisse werden in
diesem Beitrag vorgestellt.
2Grundlagen
In diesem Beitrag wird mit Dokumenten gearbeitet, welche in der Dokumentendatenbank
IBM Rational DOORS2gep¯egt werden. In dieser Datenbank besteht jedes Dokument
aus mehreren Objekten.Jedes Objekt eines Dokuments enth¨
alt jeweils einen atomaren
Dokumentenbaustein wie beispielsweise einen Satz oder eine Abbildung.
Jedes Objekt eines Dokuments besitzt Attribute.Diese k¨
onnen vonAutoren frei de®niert
werden. H¨
au®g verwendete und f¨
ur diesen Beitrag relevante Attribute sind die folgenden:
Text:Indiesem Attribut wird der Textk¨
orper des Objekts abgelegt.
Schl¨
ussel:Der Schl¨
ussel identi®ziert ein Objekt innerhalb eines Dokuments ein-
deutig. Wird ein Dokument kopiert, bleiben die Schl¨
ussel erhalten. So kann ermit-
telt werden, welche Objekte eines Dokuments neu erstellt wurden und welche aus
einem anderen Dokument stammen.
Typ:Indiesem Attribut wird der Typdes Objekts gespeichert. F¨
ur diesen Beitrag
sind folgende Typen relevant:
–Anforderung:Der Text des Objekts ist eine verbindliche Anforderung und
vomLieferanten umzusetzen.
–Information:Das Objekt enth¨
alt lediglich erg¨
anzende, nicht verbindliche Zu-
satzinformationen.
3Studie
Untersucht wurden mehrere deutsche Lastenhefte eines OEMs vonKomponenten aus dem
Fahrzeuginnenraum. Die Art des Inhalts ist bei allen Dokumenten identisch, geschrieben
wurden die Lastenhefte allerdings vonunabh¨
angigen Personen aus verschiedenen Abtei-
lungen. Anhand dieser Lastenhefte wurden folgende Beobachtungen gemacht:
2http://www.ibm.com/software/products/de/ratidoor
Automatische Anforderungsklassi®kation 1539
1. Viele Lastenheftbestandteile wie beispielsweise die Kapitelstruktur,Erkl¨
arungen zu
den Lastenheftinhalten und komponentenunabh¨
angige Anforderungensind in allen
Dokumenten nahezu identisch. Dies liegt daran, dass Dokumente stets auf Basis
einer gemeinsamen Vorlage erstellt werden. F¨
ur alle aus einer Vorlage stammenden
Objekte steht die Klassi®zierung fest und darf nicht ge¨
andert werden.
2. Die meisten komponentenspezi®schen Lastenheftinhalte werden in nat¨
urlicher Spra-
che verfasst. Es wurde beobachtet, dass f¨
ur Anforderungen generell eher pr¨
azisere
Formulierungen verwendet werden, als f¨
ur Zusatzinformationen. Weiterhin werden
bestimmte Inhalte wie Verweise auf andere Dokumente und Erl¨
auterungen zu einem
Kapitel grunds¨
atzlich immer als Information klassi®ziert.
3. Einige Lastenheftinhalte werden nicht ausformuliert, sondern in Form vonSchl¨
us-
sel-Wert-Paaren, Aufz¨
ahlungen, Tabellen und Abbildungen dokumentiert. Einige
Inhalte wie Signalspezi®kationen und Kontakt¯¨
achenspezi®kationen werden stets
nach dem gleichen Muster erstellt und immer gleich klassi®ziert.
4. In vielen Dokumenten lieûen sich wiederholt Formulierungen und Formatierungen
®nden, die f¨
ur das jeweilige Dokument einzigartig sind. Dies l¨
asst sich auf die un-
terschiedlichen Autoren der Dokumente zur¨
uckf¨
uhren.
5. Die Klassi®zierung wurde in einigen Lastenheften nicht konsequent durchgef¨
uhrt.
Teilweise wurden Hinweise, die offensichtlich keine Anforderungen sind, nicht als
Information markiert, teilweise wurde die Klassi®zierung garnicht vorgenommen.
Zur Veranschaulichung werden im Folgenden einige markante Beispiele gegeben. Beispie-
le f¨
ur die in (2) genannten nat¨
urlichsprachlichen Objekte sind die folgenden S¨
atze:
(Anforderung) Es muss ein Resetz¨
ahler implementiert werden.
(Anforderung) Das Relais darf bei einem Spannungseinbruch nicht abfallen.
(Information) Weitere Informationen sind dem Kapitel zu entnehmen.
(Information) Das Schaltbild zeigt schematisch die Bauteile dieser Komponente.
Anforderungen k¨
onnen meist an pr¨
azisen Formulierungen (mussª, darf nichtª) erkannt
werden. Informationen werden meist mit anderen Formulierungen geschrieben (Weitere
Informationenª, zeigt schematischª).
Beispiele f¨
ur nicht nat¨
urlichsprachliche Objekte in (3) sind Pinnings (Spezi®kation der
Schnittstelle einer elektronischen Komponente) oder auch Ansprechpartner:
Pin Nr: 3
Pin Bezeichnung: Kontrollsignal
Nenn-Spannung: 12 V
Nenn-Strom: 0,1 A
Max-Strom: 0,2 A
Ansprechpartner
Name, Vorname: Mustermann, Max
Abteilung: ABC12
Telefon: +49 123 456789
1540 Jonas Winkler
Alle Objekte, in denen ein Pin spezi®ziert wird, werden grunds¨
atzlich als Anforderung
klassi®ziert. Analog dazu werden Ansprechpartner grunds¨
atzlich als Information klassi®-
ziert. F¨
ur jedes dieser Muster l¨
asst sich meist eindeutig eine Klassi®zierung bestimmen.
Da die Lastenheftinhalte in sehr unterschiedlichen Formaten vorliegen und die notwen-
digen Merkmale zur Diskriminierung zwischen Anforderung und Information sehr unter-
schiedlich sind, kann ein einziger Klassi®zierungsalgorithmus keine guten Ergebnisse lie-
fern. Vielmehr muss zwischen den unterschiedlichen Formaten unterschieden werden und
je nach Format ein spezialisiertes Klassi®zierungsverfahren eingesetzt werden. Innerhalb
der betrachteten Dokumente wurden vorrangig folgende Formate identi®ziert:
¨
Uberschrift.Das Objekt ist eine ¨
Uberschrift.
Satz.Das Objekt enth¨
alt einen oder mehrere wohlgeformte, nat¨
urlichsprachliche
S¨
atze.
Aufz¨
ahlung.Das Objekt enth¨
alt eine Aufz¨
ahlung oder Nummerierung verschiede-
ner Begriffe.
Definition.Eine De®nition umfasst eine oder mehrere Zeilen, die jeweils dem Mus-
ter <Schl¨ussel>: <Wert>ªfolgen.
Abbildung.Das Objekt enth¨
alt ein Foto, eine schematische Darstellung oder sons-
tige Abbildung.
Tabelle.Das Objekt enth¨
alt eine Tabelle.
Diese Typisierung wird in den weiteren Abschnitten Strukturtyp genannt. Auf Basis der
getroffenen Beobachtungen wird im Folgenden ein Ansatz zur automatischen Klassi®zie-
rung vorgestellt.
4Ansatz zur automatischen Klassifikation
Alle Objekte eines Dokuments werden einzeln klassi®ziert. Jedes Objekt durchl¨
auft w¨
ah-
rend der Klassi®zierung mehrere Klassi®zierungsschritte. Der Ablauf ist in Abbildung 1
schematisch dargestellt. Jeder Schritt (in der Abbildung grau hinterlegt) untersucht ein
Objekt und versucht, mithilfe geeigneter Techniken eine Klassi®zierung durchzuf¨
uhren.
Ein Schritt kann ein Objekt entweder in eine Klasse einordnen oder keine Aussage ¨
uber
die Klassi®zierung treffen. Wird ein Objekt durch einen Schritt erfolgreich klassi®ziert,
endet die Klassi®zierung mit diesem Schritt. Ist durch einen Schritt keine Aussage ¨
uber
die Klassi®kation m¨
oglich, wird der n¨
achste Schritt ausgef¨
uhrt.
Schritte, die sich nur auf wenige Objekte anwenden lassen, daf¨
ur allerdings eine sehr hohe
Genauigkeit haben, werden zuerst ausgef¨
uhrt. Schritte, die sich auf sehr viele Objekte an-
wenden lassen und eine geringere Genauigkeit haben, werden sp¨
ater ausgef¨
uhrt. Dies hat
zur Folge, dass einfach zu klassi®zierende Objekte durch einfache Klassi®zierungstechni-
kenrichtig klassi®ziert werden und nicht durch komplizierte Techniken m¨
oglicherweise
falsch klassi®ziert werden.
Automatische Anforderungsklassi®kation 1541
Vorlagen-
sammlung
Dokument
Vorlagen-
Klassifizierung
Cluster-
Klassifizierung
Satz-
Klassifizierung
Vorlage
Cluster
Trainings-
daten
Dokument-
objekte
Strukturtyp-
Klassifizierung Satz
Abb.1: ¨
Ubersicht ¨
uber Klassi®zierungsansatz
Die Vorlagen-Klassi®zierung ¨
uberpr¨
uft Objekte, die aus einer Vorlage kopiert wurden
und klassi®ziert entsprechend der Vorlage. Die Cluster-Klassi®zierung sucht nach textu-
ell ¨
ahnlichen und identisch klassi®zierten Objekten und benutzt die daraus entstehenden
Cluster zur Klassi®zierung h¨
au®g wiederkehrender Muster.
Danach wird wird abh¨
angig vomStrukturtyp eines Objekts ein speziell auf den Struktur-
typ ausgerichtetes Klassi®zierungsverfahren angewendet. Objekte, deren Strukturtyp nicht
bestimmt werden kann, werden nicht weiter klassi®ziert. Dadurch werden schwierig zu
klassi®zierende Objekte und Objekte mit nicht eindeutiger Klassi®kation ¨
ubersprungen.
Derzeit existiert lediglich f¨
ur den Strukturtyp Satz ein Klassi®zierungsverfahren.
4.1 Klassifizierung nach Vorlage
In diesem Schritt werden Objekte, welche aus einer Vorlage stammen, identi®ziert und
klassi®ziert. Dazu wird zuerst die dem Dokument zugrundeliegende Vorlage identi®ziert
und aus einer Vorlagensammlung geholt. Diese Vo rlage enth¨
alt vonallen Objekten der
Vorlage deren Text, Typund Schl¨
ussel.
Anhand des Schl¨
ussels und des Texts eines zu klassi®zierenden Objekts wird ermittelt,
ob es aus der Vorlage kopiert wurde. Dies ist m¨
oglich, da der Schl¨
ussel bei der Kopie
eines Objekts nicht ver¨
andert wird. Ist dies der Fall, wird das Objekt gem¨
der Vorlage
klassi®ziert. Alle Objekte, welche nicht aus einer Vorlage kopiert wurden, werden durch
diesen Schritt nicht klassi®ziert.
1542 Jonas Winkler
4.2 Klassifikation durch Clustering
W¨
ahrend der Studie in Abschnitt 3wurde festgestellt, dass viele Arten vonInhalten (bspw.
Pinning, Ansprechpartner) meist nach einem einheitlichen Muster dokumentiert werden.
Weiterhin werden alle Objekte einer Art immer gleich klassi®ziert. Es liegt also nahe, wie-
derkehrende Muster zu erkennen und entsprechend der f¨
ur das jeweilige Muster ¨
ublichen
Klassi®zierung zu klassi®zieren.
Dazu wurde zun¨
achst ein hierarchischer Complete-Link-Clusterer auf eine sehr groûe An-
zahl bereits klassi®zierter Objekte aus vielen Dokumenten angewendet. Als Textdistanz-
maû wurde die Levenshtein-Distanz verwendet. Dieses Verfahren bildet aus einer Menge
vonZeichenketten Cluster,wobei die Distanz jeweils aller Paare zweier Zeichenketten in-
nerhalb eines Clusters nicht gr¨
oûer ist als ein festgelegter Schwellenwert. Die Elemente
eines Clusters sehen sich daher sehr ¨
ahnlich. Details zu den verwendeten Verfahren werden
in [AZ12b] beschrieben.
Ein geeigneter Schwellwert f¨
ur das Textdistanzmaû wurde empirisch ermittelt.
Die erzeugten Cluster enthielten sowohl die erwarteten Cluster f¨
ur Muster wie Pinning und
Signalspezi®kation, allerdings auch Cluster ¨
ahnlicher,aber sehr unterschiedlich klassi®-
zierter S¨
atze. Weiterhin enthielten einige Cluster Objekte aus lediglich einem oder weni-
gen Dokumenten. Solche Cluster sind zur Erkennung vonMustern in anderen Dokumenten
nicht hilfreich. Daher wurden die erkannten Cluster mithilfe zweier Metriken ge®ltert.
Sei Cein Cluster.Sei ctypes(C)eine Liste, wobei diese Liste so viele Elemente hat, wie
in Ceinzigartige Klassi®zierungen vorkommen. Jedes Element stellt die Anzahl der Vo r-
kommen einer Klassi®zierung dar.Bei einem Cluster C,indem 10 Objekte als Anforde-
rung, 2Objekte als Information und 1Objekt nicht klassi®ziert sind, ist beispielsweise
ctypes(C)=[10,2,1].Analog dazu sei csources(C)eine Liste, wobei jedes Element die An-
zahl der Objekte enth¨
alt, welche aus demselben Dokument stammen. Bei einem Clus-
ter Cmit 4Objekten aus Dokument Aund 6Objekten aus Dokument Bw
¨
are somit
csources(C)=[4,6].Mithilfe der Funktion
f(L)= L
maxL
kann ein Cluster Cnun wie folgt bewertet werden:
Ist f(ctypes(C)) = 1, wird f¨
ur alle Objekte die gleiche Klassi®zierung verwendet.
Je gr¨
oûer der Wert von f,desto mehr unterschiedliche Klassi®zierungen werden
verwendet.
Ist f(csources(C)) = 1, stammen alle Objekte eines Clusters aus demselben Doku-
ment. Je gr¨
oûer der Wert von f,aus desto mehr unterschiedlichen Dokumenten
stammen die Objekte eines Clusters.
Automatische Anforderungsklassi®kation 1543
W¨
unschenswert sind Cluster mit kleinem f(ctypes(C)) und hohem f(csources(C)).Schwell-
werte wurden wiederum empirisch ermittelt. Einige der erkannten Cluster sind in Tabelle
1dargestellt. Neben den erwarteten Clustern f¨
ur Signalspezi®kationen, Pinning und An-
sprechpartner wurden auch viele Cluster gefunden, die ¨
ahnlich formulierte S¨
atze zusam-
menfassen.
Clustername Anzahl f(ctypes(C)) f(csources(C)) Klassi®kation
Ansprechpartner 177 1.208 4.750 Information
Signalspezi®kation 84 1.201 3.448 Anforderung
Pinning 130 1.127 4.057 Anforderung
Kontaktierung 60 1.089 4.357 Anforderung
Verweis auf anderes Dokument 59 1.594 2.204 Information
Identi®kationsnummer 198 1.200 2.250 Information
Tab. 1: Erkannte Cluster
Auf Basis dieser Cluster kann nun ein einfaches und effektivesKlassi®zierungsverfahren
konstruiert werden. Soll ein Objekt klassi®ziert werden, wird die Distanz des Texts des Ob-
jekts zu jedem Cluster ermittelt. Dabei wird dasselbe Textdistanzmaû eingesetzt, welches
auch zur Erstellung der Cluster verwendet wurde. Das Objekt wird demjenigen Cluster
zugeordnet, zu dem die Distanz am kleinsten ist. Dabei werden allerdings nur Cluster be-
trachtet, zu denen die Distanz kleiner ist, als der w¨
ahrend der Cluster-Erstellung festgeleg-
te Distanz-Schwellwert. Wird ein Cluster gefunden, wird das Objekt entsprechend der im
Cluster am h¨
au®gsten vorkommenden Klassi®zierung klassi®ziert. Wird kein passendes
Cluster gefunden, trifft dieser Klassi®zierungsschritt keine Aussage ¨
uber die Klassi®zie-
rung.
4.3 Strukturtyp-Klassifizierung
Zur weiteren Klassi®kation muss der Strukturtyp eines Objekts ermittelt werden. Dazu
wurde ein einfaches Verfahren entwickelt, welches ein Objekt schrittweise auf bestimmte
Merkmale untersucht:
1. Besitzt das Objekt eine Kapitelnummer,wird es als ¨
Uberschrift eingestuft.
2. Enth¨
alt das Objekt eine Gra®k, so wird es als Abbildung eingestuft.
3. Enth¨
alt das Objekt eine Tabelle, so wird es als Tabelle eingestuft.
4. Umfasst das Objekt mehrere Zeilen und beginnt ein Groûteil der Zeilen mit dem-
selben Zeichen oder beginnt ein Groûteil der Zeilen mit den f¨
ur Nummerierungen
typischen Zeichen (1, 2, 3, ...; a, b, c,...), so ist es eine Aufz¨
ahlung.
5. Umfasst das Objekt eine oder mehrere Zeilen, die dem Muster <Schl¨ussel>:
<Wert>ªfolgen, so ist das Objekt eine De®nition.
Alle weiteren Objekte sind potentiell S¨
atze oder schwer zu klassi®zierende Sonderformate.
Zur Erkennung vonS
¨
atzen wird der Text der ¨
ubriggebliebenen Anforderungen mithilfe des
1544 Jonas Winkler
Stanford-Parsers [KM03] analysiert. Dieser ordnet jedem Wort ein sogenanntes Part-of-
Speech-Tag zu und erkennt unter anderem S¨
atze, Nominalphrasen und Adverbialphrasen.
Alle Objekte, deren Text durch den Stanford-Parser als vollst¨
andiger Satz eingestuft wird
(erkennbar an den Markierungen und CSªf
¨
ur Sentence und Coordinated Sentence),
werden im weiteren Verlauf als Satz behandelt.
Alle durch diese Schritte nicht erfassten Objekte werden derzeit nicht betrachtet.
4.4 Satz-Klassifikation
Zur Klassi®kation vonS
¨
atzen werden Convolutional Neural Networks (CNN) eingesetzt
[Ki14]. Diese bieten gegen¨
uber etablierten Textklassi®zierungsverfahren wie beispielswei-
se Naive Bayes [AZ12a] und Support-Vector-Machines [Kw98] die folgenden Vo rteile:
Andere Verfahren nutzen meist die Bag-of-Words-Technik. Bei dieser gehen Infor-
mationen ¨
uber die Reihenfolge der W¨
orter verloren. Dies ist bei CNNs nicht der
Fall.
Durch Verwendung eines Wortvektorisierungsverfahrens (hier: word2vec [Mi13])
k¨
onnen auch Muster erkannt werden, bei denen die verwendeten W¨
orter leicht un-
terschiedlich sind.
Im Vergleich zu anderen Verfahren hat diese Art vonneuralen Netzwerken bei di-
versen Textklassi®zierungsaufgaben bessere Ergebnisse erzielt [KGB14].
Das Netzwerk wurde gem¨
den in [ZW15] gegebenen Hinweisen erstellt. Die verwendete
Netzwerkarchitektur ist mit der dort vorgestellten Architektur identisch. Die Vo rbereitung
der Trainingsdaten, die generelle Funktionsweise und der Trainingsprozess des Netzwerks
werden im Folgenden kurz beschrieben. F¨
ur detaillierte Erkl¨
arungen zur Funktionsweise
vonCNNs sollte [Ki14] und [ZW15] konsultiert werden.
Ausgangsbasis sind alle Objekte aus s¨
amtlichen zur Verf¨
ugung stehenden Anforderungs-
dokumenten, die durch die Strukturtyp-Klassi®zierung als Satz eingestuft wurden und ent-
weder als Anforderung oder Information klassi®ziert wurden. Die Trainingsmenge um-
fasst etwa10000 S¨
atze aus 89 Dokumenten. Alle S¨
atze werden vorverarbeitet, um das
Training des Netzwerks zu vereinfachen: Klammerausdr¨
uckeund Sonderzeichen werden
entfernt, Groûbuchstaben werden in Kleinbuchstaben umgewandelt. Die daraus resultie-
rende Datenmenge wird zur Erstellung einer Word-Vektor-Abbildung gem¨
[Mi13] ge-
nutzt. Nach diesem Schritt besitzt jedes Wort aus der Datenmenge eine Vektordarstellung
und damit jeder Satz eine Matrixdarstellung. Diese Matrizen dienen als Eingabe f¨
ur das
neurale Netzwerk.
Kernbestandteil des Netzwerks sind sogenannte Filter: Diese haben eine festgelegte L¨
ange
und werden wie ein Fenster ¨
uber die Matrix eines Satzes geschoben. Diese Filter erm¨
og-
lichen es dem Netzwerk, Muster in Wortfolgen entsprechend der L¨
ange der Filter zu erler-
nen. F¨
ur diese Arbeit wurden die Filterl¨
angen 2, 3, 4, 5und jeweils 64 Filter pro Filterl¨
ange
verwendet.
Automatische Anforderungsklassi®kation 1545
Das Netzwerk besitzt f¨
ur die zwei Klassen Information und Anforderung zwei Ausgangs-
neuronen. Diese sind jeweils vollst¨
andig mit allen Filtern verbunden. ¨
Uber diese Neuronen
zeigt das Netzwerk die Klassi®zierung einer Eingabe an.
Zum Training des Netzwerks wurde wiederum die vorverarbeitete Datenmenge verwen-
det. Diese wurde in 90% Trainingsdaten und 10% Testdaten geteilt. Das Netzwerk wurde
mithilfe der Trainingsdaten solange optimiert, bis es die Trainingsdaten zu 100% korrekt
abbilden konnte.
Die Leistung des Netzwerks zur Klassi®kation vonS
¨
atzen wurde mithilfe der Testda-
ten evaluiert. Dazu ist in Abbildung 2die Entwicklung der Genauigkeit der Klassi®ka-
tion der Trainingsdaten (blau) und Testdaten (rot) w¨
ahrend des Trainingsprozesses darge-
stellt. Nach etwa1000 Trainingsschritten ist das Netzwerk in der Lage, die Trainingsda-
ten zu 100% korrekt zu klassi®zieren. Die dabei aus den Trainingsdaten erlernten Muster
erm¨
oglichen es dem Netzwerk, insgesamt ca. 81% der Testdaten richtig zu klassi®zieren.
0200 400 600 800 1,000 1,200 1,400 1,600 1,800 2,000
0.4
0.6
0.8
1
Trainingsschritt
Genauigkeit
Traininsdaten
Testdaten
Abb.2:Evaluation Lernprozess CNN
Zur Klassi®zierung eines Objekts mithilfe des trainierten Netzwerks wird dieses genauso
wie die Trainingsdaten vorverarbeitet, mithilfe der Wort-Vektor-Abbildung in eine Ma-
trix konvertiert und als Eingabe f¨
ur das Netzwerk verwendet. Das Netzwerk zeigt an den
Ausgangsneuronen die Klassi®zierung an.
5Evaluation
Zur Evaluation wurde das Verfahren auf ein ausgew¨
ahltes Lastenheft angewendet. Dieses
wurde weder zum Training verwendet, noch waren die Inhalte w¨
ahrend der Konstruktion
des Ansatzes bekannt. Die Ergebnisse jedes einzelnen Klassi®zierungsschritts werden im
Folgenden vorgestellt.
Das Lastenheftheft enth¨
alt insgesamt 747 Objekte. 20,7% dieser Objekte sind ¨
Uberschrif-
ten. Insgesamt wurden 3,6% durch die Vorlagen-Klassi®zierung, 11,6% durch die Cluster-
1546 Jonas Winkler
Klassi®zierung und 41,5% durch die Satz-Klassi®zierung abgedeckt. Die verbleibenden
22,6% konnten nicht klassi®ziert werden.
Zur Evaluation der Strukturtyp-Klassi®zierung wurde der Strukturtyp aller Objekte des
Lastenhefts manuell gem¨
der in Abschnitt 3de®nierten Strukturtypen bestimmt und mit
der automatischen Klassi®zierung verglichen. Die Ergebnisse sind in Tabelle 2dargestellt.
Die Klassi®zierung von ¨
Uberschriften ist erwartungsgem¨
fehlerfrei. Die Genauigkeit
der Erkennung vonS
¨
atzen ist akzeptabel, k¨
onnte durch den Einsatz anderer Verfahren ggf.
noch verbessert werden. Die beiden Strukturtypen Aufz¨
ahlung und De®nition konnten
nur mit m¨
aûiger Genauigkeit erkannt werden, dies liegt vorallem an inkonsistenten und
teilweise sehr unterschiedlichen Formatierungen im Lastenheft. F¨
ur die restlichen 136 von
insgesamt 747 Objekten konnte kein Strukturtyp ermittelt werden.
Strukturtyp Anzahl Recall Precision f1-Score
¨
Uberschrift 155 1.0 1.0 1.0
Satz 383 0.937 0.970 0.954
Aufz¨
ahlung 13 1.0 0.813 0.897
De®nition 60 0.817 0.645 0.721
Unbekannt 136
Tab. 2: Evaluation Strukturtyp-Erkennung
Zur Evaluation der Genauigkeit der einzelnen Klassi®zierungsschritte wurde die vonden
Schritten ermittelte Klassi®zierung mit der tats¨
achlichen Klassi®zierung verglichen. Jeder
Schritt wurde dabei anhand der Objekte evaluiert, die durch den jeweiligen Schritt klassi-
®ziert wurden. Die Ergebnisse sind in Tabelle 3dargestellt.
Klassi®zierer TypRecall Precision f1-Score
Vorlage Anforderung 1.0 1.0 1.0
Information 1.0 1.0 1.0
Cluster Anforderung 0.982 0.964 0.973
Information 0.938 0.968 0.952
CNN Anforderung 0.828 0.951 0.885
Information 0.870 0.626 0.728
Gesamt Anforderung 0.862 0.955 0.906
Information 0.906 0.737 0.813
Tab. 3: Evaluation Klassi®zierungsschritte
Die Genauigkeit der Vorlagenklassi®zierung ist erwartungsgem¨
perfekt. Vonden 747
Objekten werden allerdings nur 27 durch diesen Schritt abgedeckt. Die Cluster-Klassi-
®zierung hat im Lastenheft einige Muster und viele S¨
atze erkannt, die h¨
au®g in ande-
ren Dokumenten in ¨
ahnlicher Form vorkommen und hat die Klassi®zierung ¨
ubernommen.
Dies funktioniert erstaunlich gut. Die Satz-Klassi®kation mittels CNNs hat 83% der klas-
si®zierten Objekte richtig klassi®ziert. Dies deckt sich mit der in Abschnitt 4.4 an den
Testdaten ermittelten Genauigkeit. Ein Problem ist die niedrige Pr¨
azision vonInformatio-
nen: Viele Anforderungen wurden durch das Netzwerk als Information klassi®ziert. Die
drei Klassi®zierungsschritte konnten insgesamt 87.5% der Objekte richtig klassi®zieren.
Automatische Anforderungsklassi®kation 1547
Die Evaluation hat gezeigt, dass die Klassi®kation vonS
¨
atzen mittels CNNs nur m¨
aûig
funktioniert. Um die St¨
arken und Schw¨
achen der Klassi®zierung vonS
¨
atzen durch CNNs
einsch¨
atzen zu k¨
onnen, werden in Tabelle 4einige pr¨
agnante Beispiele gegeben, bei denen
die Klassi®kation besonders gut oder schlecht funktioniert.
Satz TypKorrekt? Ausgabe Inf /Anf
Der Wandler muss entsprechend der Strategie in den
Selbstschutz gehen.
Anf ja -1.655 /0.986
Der Strom des Heizelements muss mit einer Au¯¨
osung
von... gemessen werden .
Anf ja -3.860 /1.483
F¨
ur die LED ist das Signal ... zu verwenden. Anf ja -1.701 /0.343
Diese Funktion ist in der Systembeschreibung ... im De-
tail beschrieben.
Inf ja 3.386 /-4.359
Kurzschl¨
usse im Ger¨
ateinnern durch mutwilligen Ein-
griffd
¨
urfen zur Zerst¨
orung f¨
uhren.
Inf nein -0.919 /-0.551
Die Funktionsanteile f¨
ur die Komponente sind im Sys-
temlastenheft ... beschrieben.
Inf nein -0.898 /0.302
Tab. 4: Beispiele
Die Tabelle enth¨
alt zu jedem Satz die jeweils richtige Klassi®zierung und die Information,
ob das CNN den Satz richtig klassi®zieren konnte. Die letzte Spalte enth¨
alt die Ausgabe
des Netzwerks f¨
ur die beiden Klassen Information und Anforderung. Der jeweils gr¨
oûere
Wert ist ausschlaggebend f¨
ur die Ausgabe des Netzwerks. Je gr¨
oûer /kleiner eine Ausgabe,
desto sicherer ist sich das Netzwerk, dass der Satz der jeweiligen Klasse angeh¨
ort /nicht
angeh¨
ort.
Beispiel 1und 2konnten durch das CNN richtig klassi®ziert werden. Anhaltspunkte f¨
ur die
richtige Klassi®zierung dieser Beispiele sind m¨
oglicherweise die W¨
orter und Wortgruppen
mussª, gemessen werdenªoder auch entsprechend der Strategieª. Die Klassi®zierung
durch das Netzwerk ist bei diesen beiden Beispielen glaubw¨
urdig, da die Ausgabewerte
hinreichend groû bzw.klein sind.
Beispiel 3wurde ebenfalls richtig klassi®ziert. Die Ausgabe des Netzwerks f¨
ur die Klasse
Anforderung ist bei diesem Beispiel allerdings deutlich kleiner.Ursache daf¨
ur ist m¨
ogli-
cherweise das Nichtvorhandensein ausschlaggebender Formulierungen im Satz. Die Glaub-
w¨
urdigkeit dieses Ergebnisses muss daher hinterfragt werden.
Beispiel 4ist eine Zusatzinformation, die durch das CNN mit groûer Sicherheit als solche
erkannt wurde. Angezeigt wird dies durch die sehr groûen bzw.kleinen Ausgabewerte.
Beispiel 5ist ebenfalls eine Zusatzinformation, die durch das Netzwerk f¨
alschlicherweise
als Anforderung eingestuft wird. Bei Betrachtung der Ausgabewerte f¨
allt allerdings auf,
dass keine derbeiden Klassen auf diesen Satz zutreffen. Dieses Ergebnis deutet auf un-
g¨
unstig gew¨
ahlte Formulierungen des Satzes hin, oder auch auf eine zu kleine Trainings-
datenmenge.
1548 Jonas Winkler
Der in Beispiel 6gegebene Satz wurde ebenfalls falsch klassi®ziert, obwohl er groûe
¨
Ahnlichkeit zu dem sehr gut klassi®zierbaren Beispiel 4besitzt. Die Gr¨
unde daf¨
ur m¨
ussen
weiter untersucht werden.
Anhand dieser Beispiele l¨
asst sich erkennen, dass bei der Klassi®kation durch CNNs in
viele F¨
allen erkennbar ist, ob das Ergebnis der Klassi®kation glaubw¨
urdig ist. Allerdings
ist es unklar,welche Teile der S¨
atze f¨
ur die jeweilige Klassi®kation ausschlaggebend sind,
da das Netzwerk hier¨
uber keine Informationen preisgibt. Ob und wie solche Aussagen
anhand des Netzwerks getroffen werden k¨
onnen, muss in weiteren Arbeiten genauer un-
tersucht werden.
Die vonkeinem Schritt klassi®zierten Objekte (22.6%) konnten nicht klassi®ziert werden,
da entweder der Strukturtyp nicht erkannt wurde, oder f¨
ur den erkannten Strukturtyp kein
Klassi®zierungsschritt zur Verf¨
ugung steht.
6Verwandte Arbeiten
Die Autoren von[HLR14] stellen ein graphisches Werkzeug zur Analyse vonAnforde-
rungen vorund haben f¨
ur dieses Werkzeug mehrere Komponenten zur Klassi®kation von
Anforderungen entwickelt. Das Werkzeug kann unter anderem temporale Anforderungen
vonnicht temporalen Anforderungen unterscheiden. Auf Basis vonFallstudien zeigen die
Autoren, dass Techniken aus dem Bereich Machine Learning zur L¨
osung vonProblemen
des Requirements-Engineering grunds¨
atzlich anwendbar sind.
In [Ot13] wird ebenfalls ein Ansatz zur Klassi®zierung vonAnforderungen vorgestellt. In
diesem Beitrag werden Naive-Bayes und Support Vector Machines zur Bestimmung des
Themas vonAnforderungen eingesetzt, um Reviewprozesse zu unterst¨
utzen.
7Zusammenfassung und Ausblick
In diesem Beitrag wurde ein Ansatz zur Klassi®kation der Objekte vonLastenheften in
Anforderung und Information vorgestellt. Der Ansatz kombiniert unterschiedliche Klassi-
®zierungstechniken, um eine m¨
oglichst genaue Klassi®zierung zu gew¨
ahrleisten.
Die vorgestellte Cluster-Klassi®zierung sucht nach textuell ¨
ahnlichen, identisch klassi-
®zierten Objekten und benutzt die daraus entstehenden Cluster zur Klassi®zierung. Die
erzielten Ergebnisse sind bereits sehr gut, ggf. k¨
onnen allerdings mit anderen Cluster-
Techniken oder Textdistanzmaûen noch bessere Ergebnisse erzielt werden.
Ein weiterer Bestandteil des Ansatzes ist die Unterscheidung vonStrukturtypen: Abh¨
angig
vomFormat der in einem Objekt vorkommenden Inhalte wird ein geeigneter Klassi®-
zierungsschritt ausgew¨
ahlt. Dies wurde f¨
ur den Strukturtyp Satz gezeigt. Es muss weiter
untersucht werden, wie andere Strukturtypen klassi®ziert werden k¨
onnen und wie die Er-
kennung unterschiedlicher Strukturtypen ggf. durch den Einsatz neuraler Netzwerkever-
bessert werden kann, um noch mehr Objekte klassi®zieren zu k¨
onnen.
Automatische Anforderungsklassi®kation 1549
Die Klassi®zierung vonS
¨
atzen mittels Convolutional Neural Networks liefert akzeptable
Ergebnisse. Gr¨
oûtes Verbesserungspotential liegt hier in der Trainingsdatenmenge: Durch
weitere Vorverarbeitung und Filterung der Datenmenge kann das Netzwerk m¨
oglicherwei-
se besser lernen.
Neben der Verbesserung der verwendeten Techniken ist der n¨
achste Schritt die Integrati-
on in ein GUI-Werkzeug zur Benutzerunterst¨
utzung. Dieses soll den Benutzer auf falsch
klassi®zierte Objekte hinweisen. F¨
ur den Nutzer ist dabei neben einer hohen Genauig-
keit wichtig, dass gegebene Hinweise zu falsch klassi®zierten Objekten begr¨
undet wer-
den. Insbesondere bei neuralen Netzwerken ist eine derartige Begr¨
undung schwierig, da
der Entscheidungsprozess innerhalb des Netzwerks sehr komplexist. Im Rahmen einer
Werkzeugintegration muss dieses Problem weiter untersucht werden.
Literaturverzeichnis
[AZ12a] Aggarwal, Charu C.; Zhai, ChengXiang: ASurvey of Text Classi®cation Algorithms. In
(Aggarwal, Charu C.; Zhai, ChengXiang, Hrsg.): Mining Text Data, S. 163±222. Springer
US, 2012.
[AZ12b] Aggarwal, Charu C.; Zhai, ChengXiang: ASurvey of Text Clustering Algorithms. In
(Aggarwal, Charu C.; Zhai, ChengXiang, Hrsg.): Mining Text Data, S. 77±128. Springer
US, 2012.
[HLR14] Hayes, Jane H.; Li, Wenbin; Rahimi, Mona: Weka meets TraceLab: Toward Convenient
Classi®cation: Machine Learning for Requirements Engineering Problems: APosition
Paper. In: 1st IEEE International Workshop on Arti®cial Intelligence for Requirements
Engineering. AIRE, S. 9±12, 2014.
[KGB14] Kalchbrenner,Nal; Grefenstette, Edward; Blunsom, Phil: AConvolutional Neural Net-
work for Modelling Sentences. arXivpreprint, abs/1404.2188, 2014.
[Ki14] Kim, Yoon: Convolutional Neural Networks for Sentence Classi®cation. arXivpreprint,
abs/1408.5882, 2014.
[KM03] Klein, Dan; Manning, Christopher D.: Accurate Unlexicalized Parsing. In: Proceedings
of the 41st Annual Meeting on Association for Computational Linguistics -Volume 1.
ACL’03, Association for Computational Linguistics, Stroudsburg, PA,USA, S. 423±430,
2003.
[Kw98] Kwok, James Tin-yau: Automated Text Categorization Using Support Vector Machine.
In: In Proceedings of the International Conference on Neural Information Processing
(ICONIP.S.347±351, 1998.
[Mi13] Mikolov, Tomas; Chen, Kai; Corrado, Greg; Dean, Jeffrey: Ef®cient Estimation of Word
Representations in Vector Space. arXivpreprint, abs/1301.3781, 2013.
[Ot13] Ott, Daniel: Automatic Requirement Categorization of Large Natural Language Speci-
®cations at Mercedes-benz for ReviewImprovements. In: Proceedings of the 19th In-
ternational Conference on Requirements Engineering: Foundation for Software Quality.
REFSQ, Springer-Verlag, Berlin, Heidelberg, S. 50±64, 2013.
[ZW15] Zhang, Ye;Wallace, Byron C.: ASensitivity Analysis of (and Practitioners’ Guide
to) Convolutional Neural Networks for Sentence Classi®cation. arXivpreprint, ab-
s/1510.03820, 2015.