Herausforderung
In der Erforschung und Entwicklung neuer Medikamente fallen im Laufe des Prozesses unzählige Daten an. Insbesondere im Rahmen von klinischen Studien stand unser Kunde dabei vor der Herausforderung, dass die erhobenen Daten wenig standardisiert und dokumentiert sind. Um neue Daten zu erschließen, muss daher viel Arbeit in die Integration von nicht-standardisierten Daten investiert werden. Der dazu notwendige Programmiercode wird im Rahmen der Integration jedes Mal neu manuell erstellt. Um diesen Prozess zu beschleunigen und die Fragmentierung der Codebasis zu reduzieren, wurde ein neuer innovativer Ansatz mit hohem Automatisierungspotenzial gesucht.
Ansatz
Große Sprachmodelle bieten mittlerweile nicht nur ein sehr gutes Verständnis natürlicher Sprache, sondern sind auch in der Lage eine Vielzahl von Programmiersprachen zu verstehen und sogar zu generieren. Darüber hinaus können diese Modelle auch dazu verwendet werden, natürliche Sprache in Programmiersprache zu „übersetzen“. Da die spezifische Programmiersprache unseres Kunden unterrepräsentiert war, haben wir ein vortrainiertes Sprachmodell auf seine Daten (Programmiercode und Dokumentationen) weiter trainiert. Dadurch konnte das Modell ein semantisches Verständnis dieser kundenspezifischen Codebasis erlernen. Nach der Integration in eine Suchmaschine kann das Modell nun nach ähnlichen Code-Bestandteilen suchen oder diese anhand vorhandener Beispiele erstellen.
Ergebnis
Durch die Kombination eines angepassten Sprachmodells mit einer semantischen Suche konnte der Prozess der Datenintegration deutlich beschleunigt und qualitativ verbessert werden. Dies ist möglich, indem neuer Programmiercode nicht von der ersten Zeile an generiert werden muss, sondern eine hohe Wiederverwertbarkeit des bestehenden Codes erreicht werden konnte. Die beteiligten Entwickler:innen können so bereits implementiere Funktionalitäten schnell finden, wiederverwenden und sogar automatisiert anpassen lassen. Durch die Wiederverwendbarkeit des Codes wird zudem eine zunehmende Fragmentierung durch immer neue Funktionalitäten und doppelte Strukturen reduziert.