Für die Untersuchung der Anliegeneerkennung haben wir ebenfalls einen Use Case gewählt, der in der Praxis mit unseren Kunden umgesetzt werden kann bzw. wird.
Datengrundlage
Als Datengrundlage dienen hier 790 E-Mailanfragen von Endkunden an den Kundenservice. Die Anfragen sind sehr variantenreich, von förmlich bis umgangssprachlich und enthalten zum Teil auch ganze Mailkonversationen (threads). Die Mails sind in deutscher Sprache verfasst, lediglich vier englische Mails sind unter einem Anliegen (#4, siehe unten) enthalten. In den 790 Mails sind die folgenden sieben Anliegen enthalten:
- Anliegen #1 "Produkt defekt/mangelhaft", 239 Beispiele
- Anliegen #2 "Paket nicht erhalten", 245 Beispiele
- Anliegen #3 "Ich möchte mein Geld erhalten", 242 Beispiele
- Anliegen #4 "Wie kann ich mein Passwort ändern", 28 Beispiele
- Anliegen #5 "Ich möchte meinen Zählerstand übermitteln", 10 Beispiele
- Anliegen #6 "Bitte löschen Sie meinen Account", 11 Beispiele
- Anliegen #7 "Bitte senden Sie mir keine Werbung mehr zu", 29 Beispiele
Wie zu sehen sind nicht alle Anliegen gleich häufig vertreten. Die ersten 3 Anliegen testen mit jeweils über 200 Beispielen die Zuverlässigkeit der Erkennung im Hinblick auf sprachliche Variation ab. Den Ergebnissen dieser Anliegen können bei Interpretataion also eine höhere Representativität zugesprochen werden. Weiterhin enthalten 14 Mails mehr als eines der sieben Anliegen. Pro Mail sind höchstens drei Anliegen vorhanden.
Alle potentiell interessanten Modelle wurden einem Vortest mit 5 Nachrichten unterzogen. Für die ausführlichen Tests wurden nur Modelle in Betracht gezogen, die bei den Vortest akzeptable Resultate erzielten.
In Abhängigkeit von der Verfügbarkeit des Modells, testen wir die Anliegenerkennung entweder über die Webschnittstelle (API) oder setzten die Modelle lokal auf unseren eigenen Servern auf. Grundsätzlich wurden den Modellen die 790 E-Mails übergeben jeweils mit der Anweisung eine Antwort zu geben, ob eines der sieben oben genannten Anliegen in der jeweiligen Nachricht vorhanden ist. Falls eines der Anliegen gefunden wird, soll die entsprechende Nummer ausgegeben werden, andernfalls eine 0 als explizite Antwort, dass keines der Anliegen gefunden wurde.
In Abhängigkeit der jeweiligen Modelle, veränderten wir einige der folgenden Parameter. Falls dies relevant ist, ist das bei der Besprechung der Ergebnisse des jeweiligen Modells explizit erwähnt.
Promptvarianten:
- ML-setup: Beispielsweise testen wir alle Modelle zunächst zero-shot. Das bedeutet, wir geben dem Modell kein Beispiel für ein Anliegen, sondern nennen bloß den Namen des jeweiligen Anliegens, wie “Paket nicht erhalten” oder “Produkt defekt”. Danach werden die Modelle mit einem Beispiel (one-shot) getestet. Einige Modelle werden zusätzlich mit mehreren Beispielen getestet, beispielsweise wenn es sich um Embeddingmodelle handelt.
- Mehrfachantwort: Wir testen, wie es sich auf die Ergebnisse auswirkt, wenn wir dem Modell explizit mitteilen, dass die Nachrichten mehrere Anliegen enthalten können, die ausgeben werden sollen. Im Unterschied dazu lassen wir im Vergleichsfall unerwähnt, ob eine Mehrfachantwort möglich oder gewünscht ist.
- Anliegenformulierung: Für einige Modelle haben wir verschiedene Formulierungen der Anliegen getestet, da manche Modelle mutmaßlich Schwierigkeiten mit verneinten Aussagen zeigten, z.B. "Bitte senden Sie mir keine Werbung mehr zu" vs. "Ich möchte Werbung abbestellen"
Modelleinstellungen:
- Temperature: Die Temperature legt fest, wie “kreativ” ein generatives Modell bei der Bearbeitung einer Anfrage ist. Grundsätzlich ist bei der Anliegenerkennung wenig Kreativität erforderlich.
- Similarity Threshold: Bei Embeddingmodellen wird der die Analyse der Eingabe mit den gelernten Kategorien verglichen. Ein Vergleich wird als Treffer gewertet, wenn der Vergleichsgrenzwert überschritten wird. Eine Optimierung dieses Grenzwertes führt also zu besseren Ergebnissen.
Ergebniskriterien
Die Auswertung wird automatisch errechnet durch den Abgleich der Antworten des Modells und den Annotation der Testdaten. Diesen Abgleich präsentieren wir anhand der folgenden drei klassischen Auswertungskriterien:
- Precision: Ist hoch, wenn das Modell viele korrekt positive Vorhersagen macht und wenig inkorrekt positive Vorhersagen.
- Recall: Auch bekannt als Sensitivität. Misst, wie viele der tatsächlich positiven Ergebnisse auch erkannt wurden. Wenn also jedes Beispiel als positiv klassifiziert wird, wäre dieses Maß bei 1.
- F1-Score: Ist das harmonische Mittel zwischen Precision and Recall.