Share ZU:
12 April 2023 @ Hichem Bouricha

Wie könnte man mit dem Problem der mangelnden Daten umgehen?

Das Trainieren von Modellen, um bestimmte Aufgaben zu erledigen, insbesondere im Requirements Engineering, erfordert spezifische Daten, die für das Automatisieren der Aufgabe erforderlich sind. Im Rahmen des Forschungsprojekts progressivKI führen wir Experimente durch, um manche RE-Prozesse automatisieren zu können. Dennoch stehen wir meistens vor einer großen Herausforderung, wenn es um Daten geht. Anforderungen sind vor allem geistiges Eigentum und daher nicht ausreichend verfügbar. Es ist auch wichtig zu verstehen, dass das Trainieren von Natural Language Processing (NLP)-Modellen von der Domäne abhängt. Ein Beispiel dafür ist das Trainieren eines „supervised“ NLP-Modells, um Softwarekomponenten aus dem Text zu erkennen und zu extrahieren. Wenn man das gleiche Modell nutzt, um mechanische Komponenten aus einem Spezifikationsdokument zu erkennen, wird es schlichtweg nicht funktionieren. Entweder passt man das Modell zu der Domäne an, hier sprechen wir von Transfer Learning, oder man trainiert ein komplett neues Modell.

Erkennen von physikalische Einheiten in Texten

In diesem Ansatz war unser Ziel, physikalische Einheiten in Texten zu erkennen, um damit andere Merkmale in diesen Anforderungen zu erkennen, und ein Informationsmodell für bestimmten Merkmalen abzubilden. Hier gibt es auch die Option, dass man regelbasiert mit der Problematik umgeht. Dennoch stellt sich die Herausforderung, dass man viele einzelne Fälle betrachten muss, was die Aufgabe viel komplexer macht. Zum Beispiel gibt es Fälle, in denen ein “m” als Symbol für die physikalische Eigenschaft des Gewichts steht und nicht für die physikalische Einheit Meter.

Finden von Zusammenhänge in den Daten

Die Definition des maschinellen Lernens ist das Finden von Zusammenhänge in den Daten. Daher ist der Datensatz von großer Bedeutung. Das bedeutet auch, dass die zu erkennenden Einheiten möglichst vielfältig und ausgewogen sein sollten. Dank der Web-Scraping-Technik kann man Texte aus Webseiten extrahieren. Aber wie ist es mit der Qualität der Daten, wenn es sich nicht um Anforderungen bei Wikipedia handelt? Hier ist genau ein Fall, wo man auf Anforderungsdokumente verzichten kann, denn die Merkmale, die die Anforderungen in einem Satz definieren, spielen in diesem Anwendungsfall keine Rolle. Was zählt hier ist eher die Bandbreite der physikalischen Einheiten. Das heißt, dass man über möglichst viele verschiedene physikalische Einheiten aus allen Domänen verfügen sollte. Dies bedeutet auch, dass man seinen Scope definieren und dann nach Artikeln suchen muss, in denen man möglichst gezielte Einheiten finden kann. Der Abdeckungsbereich der Domänen sollte breit sein, je breiter desto besser. Hier sollte man allerdings darauf achten, dass die Suchergebnisse ausgewogen sind.

Figure 1: BIO Tagging Strategie

Geduld bei der Datensuche

Bei der Suche hat sich herausgestellt, dass einigen Wikipedia-Artikeln nicht genügend physikalischen Einheiten enthalten sind. Diese Aufgabe erfordert etwas Geduld, da manche Texte zu lang oder zu kurz sind, sodass der Aufbau der Daten etwas unausgewogen sein kann. Des Weiteren ist es auch sehr wichtig, in manchen Fällen negative Beispiele zu betrachten, insbesondere wenn es sich um den Namen von Erfindern der Einheiten wie Nikola Tesla handelt oder wenn eine chemische Einheit als physikalische Einheit vom Modell interpretiert werden kann.

Figure 2: Datenformat Ziel für das Trainieren des NER-Modells

Der Datensatz entstand dadurch, dass Texte in Sätze zerlegt wurden, dann in Tokens, die jeweils in einzelnen Excel-Zellen tabellarisch dargestellt wurden. Anschließend wurden manuell BIO-Tags unter jedem zerlegten Satz hinzugefügt. Diese Methode bietet mehr Transparenz und reduziert das Risiko von Fehlern beim Feature Engineering, um die entsprechenden Tokens mit der richtigen Länge und Reihenfolge zu markieren. Dabei wurden die folgenden Tags verwendet: B-Unit, I-Unit, B-Chem, I-Chem, B-Norm, I-Norm und O.

Ein Named Entity Recognition (NER)-Modell wurde mit 97% Genauigkeit trainiert. Beim Einsatz des Modells sehen die Ergebnisse vielversprechend aus. Eine weitere Arbeit könnte darin bestehen, die 10161 Sätze zu erweitern, um ein ausgeglichenes Datensatz zur Verfügung zu stellen.