Vergleich der NLU-Komponenten ============================= Einleitung ---------- Natural Language Understanding (NLU) ist ein Teilgebiet der natürlichen Sprachverarbeitung (Natural Language Processing, NLP), das sich mit dem Verstehen und Interpretieren menschlicher Sprache beschäftigt. In den folgenden Abschnitten werden drei zentrale NLU-Aufgaben behandelt: - Intent Recognition (Absichtserkennung) - Named Entity Recognition (NER) - Sentimentanalyse (Stimmungserkennung) Ziel ist es, durch konkrete Notebook-Beispiele ein praktisches Verständnis für deren Funktionsweise und Leistungsfähigkeit zu vermitteln. Grundlagen ---------- **Intent Recognition** Die Intenterkennung identifiziert die kommunikative Absicht einer Aussage. Im Beispielprojekt wurde ein **Zero-Shot-Modell** (`joeddav/xlm-roberta-large-xnli`) verwendet, das ohne zusätzliche Trainingsdaten auskommt. Stattdessen werden mögliche Intents als Labels übergeben, z. B.: - `greeting`, `report`, `system failure`, `reassurance`, `reflection` Der verwendete Text über eine Konferenzpräsentation wurde in Einzelsätze aufgeteilt, die jeweils einem Intent zugeordnet wurden. Dies zeigt, dass bereits ohne explizites Training präzise Absichtserkennung möglich ist. **Named Entity Recognition (NER)** NER dient dazu, Entitäten wie Personen, Organisationen, Zahlen oder Zeitangaben in Texten zu erkennen. Mithilfe von **spaCy** wurden zwei Sprachmodelle (`de_core_news_sm` und `en_core_web_sm`) auf einen deutschen und einen englischen Beispieltext angewendet. Erkannte Entitäten (Auswahl): - *Deutsch*: `Anna Schneider` (PER), `Forschungszentrums` (ORG), `15%` (PERCENT), `950` (MONEY) - *Englisch*: `Emily Carter` (PERSON), `Thursday, March 14, 2024` (DATE), `92.4%`, `just $950` **Sentimentanalyse** Zur Stimmungsanalyse wurde **VADER** verwendet – ein regelbasiertes Tool, das kurze Texte in positiv, neutral oder negativ klassifiziert. Beispiele: - „I love this product!“ → *positiv* (Compound: 0.862) - „This is an average experience.“ → *neutral* (Compound: -0.3089) - „I hate this. Waste of money.“ → *negativ* (Compound: -0.7579) Anwendungsbereiche ------------------ NLU-Module kommen in vielfältigen Szenarien zum Einsatz: - Chatbots und Sprachassistenten (Intenterkennung) - Kundenservice-Analyse und Feedbackauswertung (Sentimentanalyse) - Automatisierte Textklassifikation und Dokumentenverständnis (NER) - Konversationsanalyse in Meetings, Support-Logs, E-Mails Herausforderungen ----------------- Die Modelle stehen vor typischen NLP-Problemen: - **Mehrdeutigkeit und Ironie**: schwer durch Regeln oder einfache Wahrscheinlichkeiten zu erfassen - **Domänenspezifisches Wissen**: häufig notwendig, aber selten explizit trainiert - **Mehrsprachigkeit und Varianten**: v. a. bei NER und Sentimentanalyse relevant - **Fehlertoleranz bei Transkriptionsfehlern** (aus STT-Anbindung) - **Live-Anforderungen** (z. B. bei Chatbots oder Echtzeit-Sentiment) Modelle im Vergleich -------------------- +-----------------------------+---------------------+---------------------+------------------------+---------------------+-----------------------------------------------------------+ | Modell/System | Komponente | Erklärbarkeit | Sprachabdeckung | Robustheit | Anmerkung | +=============================+=====================+=====================+========================+=====================+===========================================================+ | XLM-RoBERTa (Zero-Shot) | Intent Recognition | hoch | multilingual (EN/DE) | kontextsensitiv | keine Trainingsdaten erforderlich, flexibel einsetzbar | +-----------------------------+---------------------+---------------------+------------------------+---------------------+-----------------------------------------------------------+ | spaCy (de/en models) | NER | hoch | gut (modellabhängig) | formal text-optim. | präzise bei Standardsprache, schwächer bei freiem Input | +-----------------------------+---------------------+---------------------+------------------------+---------------------+-----------------------------------------------------------+ | VADER (nltk) | Sentimentanalyse | mittel | nur Englisch | sehr schnell | gut bei kurzen Aussagen, nicht für komplexe Texte geeignet| +-----------------------------+---------------------+---------------------+------------------------+---------------------+-----------------------------------------------------------+ Zusammenfassung --------------- Die NLU-Komponenten **Intent Recognition**, **Named Entity Recognition** und **Sentimentanalyse** lassen sich mit vortrainierten Modellen effizient umsetzen: - Mit **XLM-RoBERTa** gelingt flexible Absichtserkennung ohne Trainingsdaten (Zero-Shot). - **spaCy** liefert solide Entitätenerkennung auf Deutsch und Englisch. - **VADER** eignet sich für schnelle, regelbasierte Stimmungsanalysen – besonders bei kurzen Texten. Diese Ergebnisse zeigen, dass sich moderne NLP-Anwendungen bereits mit leichtgewichtigen Tools und öffentlich verfügbaren Modellen umsetzen lassen – auch mehrsprachig und ohne tiefes ML-Wissen. Quellen ------- - https://huggingface.co/joeddav/xlm-roberta-large-xnli - https://spacy.io/models - https://github.com/cjhutto/vaderSentiment