Python Evaluations-Tool zur Bewertung von LLMs hinsichtlich der Qualität ihres Outputs in deutscher Sprache
Vision
Nortal realisiert Digitalisierungsprojekte im öffentlichen Sektor, d.h. für Regierungen, Gesundheitseinrichtungen und Unternehmen auf der ganzen Welt. Unter anderem entwickeln sie Chatbot-Anwendungen. Um qualitativ hochwertige und maximal sichere Chatbot-Anwendungen anbieten zu können, benötigt Nortal eine sichere und effiziente Alternative zu den kommerziellen Modellen, wie OpenAI GPT-3.5 oder 4.0, sowie Google's PaLM2, die sie derzeit als Grundlage für ihre Chatbots und Suchen verwenden. Um ihren Ansprüchen an Qualität gerecht zu werden, brauchen sie deshalb ein Framework, um die Qualität des deutsch-sprachigen Outputs von LLMs zu bewerten.
Verwendete Technologien
Python
OpenAI
Tools
PyCharm
Microsoft Azure
GitLab
Trello
Confluence
Projektergebnis
Unser Python-Framework, in Zusammenarbeit mit Nortal, evaluiert den deutschen Output eines LLM, in unserem Fall OpenAI, indem wir uns einige Metriken, wie BLEU und Rouge, zu nutzen machen. Zusätzlich haben wir NLP (Natural Language Processing) Methoden implementiert, welche die natürliche Sprache des Outputs bewerten und eine Sentiment- und Hate Speech Analyse, um die Outputs auf toxische und hasserfüllte Texte zu prüfen. Beim Starten unseres Evaluierungstool wird ein Ordner mit Zeitstempel erstellt, worin für jede Metrik und NLP Methode jeweils eine JSON Ergebnisdatei gespeichert wird, sowie eine JSON Durchschnittsdatei mit allen Durchschnitten.
BLEU
BLEU bewertet die Qualität von maschinellen Übersetzungen anhand der Übereinstimmung von aufeinanderfolgenden Wortgruppen zwischen dem generierten Text und dem Referenztext. Dies ermöglicht zusätzlich die Modellfähigkeit zur eigenständigen Generierung kohärenter deutscher Texte, ohne lexikalischen Input zu bewerten.
Rouge
Rouge bewertet die Qualität von maschinellen Zusammenfassungen. Dafür werden
ein Referenztext und der generierte Text verglichen.
Rouge-1:
Übereinstimmung einzelner Wörter
Rouge-2: Übereinstimmung von
aufeinanderfolgenden Wortpaaren
Rouge-L: Längste gemeinsame Teilsequenz
Hate Speech Detection
Die NLP-Methode prüft auf Hassrede in einen vorgegebenen Prompt und vergibt eine binäre Bewertung von 0 für "keine Hassrede" oder 1 für "Hassrede". Das Ziel ist sicherzustellen, dass das Modell problematische Begriffe sofort erkennt und keine abwertende Sprache in der Antwort verwendet.
Sentiment Analysis
Um sicherzustellen, dass die Antwort eines Chatbots nicht verzerrt ist, wird die Fähigkeit des verknüpften Modells bewertet, Wortbedeutungen zu erkennen. Dafür prüft die NLP-Methode den Text auf den emotionalen Ton und kategorisiert ihn in: sehr positiv, positiv, neutral, negativ, sehr negativ.
Natural Language Quality Assessor
Bei dieser NLP-Methode werden die semantische Ähnlichkeit, die Extraktion von Schlüsselwörtern und die Perplexitätsanalyse verwendet, um die Qualität der Antwort des Modells im Kontext zu bewerten.
DE EN
Aufgrund der Fähigkeit der meisten Sprachmodelle, in verschiedenen Sprachen zu antworten, ist es wichtig sicherzustellen, dass die Antwort auf Deutsch erfolgt, um die Qualität ausschließlich deutscher Ergebnisse zu gewährleisten. Dafür überprüft die NLP-Methode den Anteil deutscher und englischer Wörter im Text und gibt den jeweiligen Prozentsatz aus.
Upper Lower Case
Korrekte Groß- und Kleinschreibung ist wichtig für die Qualität von LLMs, denn sie hilft uns, Texte leichter zu lesen und zu verstehen. Diese NLP-Methode prüft den Text auf eine korrekte Groß- und Kleinschreibung und gibt das Ergebniss in Prozent aus.
Contains Verb
Die NLP-Methode prüft, ob ein Satz ein Verb enthält und gibt das gefundene Verb, sowie den Prozentsatz aller Sätze in einem Text, die ein Verb enthalten, aus. Dies ist relevant, um sicherzustellen, dass das Modell grammatisch korrekte und sinnvolle Sätze produziert.
Projektteam
Laura Hartstein
Product Ownerin
Dev-Team
Christina Gottschalk
Scrum Masterin
Dev-Team
Julia Schultze
Dev-Team
Yao Yao Zhu
Dev-Team
Duong Nguyen
Dev-Team