Sprache in mehrsprachigen Texten erkennen
Warum automatische Spracherkennung so wertvoll ist
Praxisbeispiele:
- Mehrsprachiger Chatbot: Nutzer schreibt "Hola, como estoy?" → erkennt Spanisch → antwortet auf Spanisch (statt der Standardsprache)
- Globaler Content-Feed: Nachrichtenaggregator muss Artikel nach Sprache gruppieren, bevor er sie übersetzt
- Support: Ein Ticket auf Japanisch muss ans Japan-Team, nicht ans lokale Team
- Moderation: Regeln für sensible Inhalte variieren je nach Region und Sprache
- Analytics: Sprachliche Vielfalt deiner Zielgruppe messen
Das Modell fastText language identification, Open Source von Facebook, erkennt 176 Sprachen in weniger als 10ms pro Text.

Wie das Modell Sprachen unterscheidet
fastText repräsentiert jedes Wort als Charakter-N-Gramme (Subwords). Diese Vektoren werden anschließend summiert und per Softmax-Regression klassifiziert. Warum das funktioniert:
- Portugiesisch hat charakteristische Muster wie "ção", "nh", "lh"
- Englisch hat typische Muster wie "th", "ing", "ed"
- Deutsch hat "sch", "ch", "äöü"
- Mandarin in Pinyin zeigt völlig andere Muster als Hanzi
Das Modell analysiert die statistische Signatur der N-Gramme und trifft seine Entscheidung. Kurze Texte (<3 Wörter) sind mehrdeutig; Texte mit 20+ Wörtern erreichen eine Genauigkeit von > 99 %.
Schwierige Fälle und wie man damit umgeht
- Code-Switching: Text, der 2 Sprachen mischt ("Hello, tudo bem?") — das Modell gibt die dominante Sprache mit reduziertem Score zurück
- Ähnliche Sprachen: Portugiesisch vs. Spanisch vs. Katalanisch — fastText trifft > 90 % der Fälle, aber Grenzfälle existieren
- Transliteration: Chinesisch in Pinyin, Arabisch in lateinischen Buchstaben — wird fälschlicherweise als "Englisch" erkannt
- Sehr kurze Texte: "OK" könnte jede Sprache sein — wird immer mit niedrigem Score zurückgegeben, daher Threshold verwenden
- Quellcode: Programmiercode wird als "Englisch" erkannt — ggf. vorher herausfiltern
Empfohlener Threshold: Erkennungen nur akzeptieren, wenn Confidence > 0,75. Darunter als "unknown" markieren und manuell prüfen lassen.

Integration in deinen Stack
Typisches Python-Beispiel:
`python
import httpx
r = httpx.post(
"https://api.brainiall.com/api/nlp/language",
json={"text": "Hola, ¿cómo estás hoy?"},
headers={"Authorization": "Bearer brnl-xxx"}
)
# {"language": "es", "confidence": 0.96, "top_3": [
# {"lang": "es", "conf": 0.96},
# {"lang": "pt", "conf": 0.02},
# {"lang": "ca", "conf": 0.01}
# ]}`
Nutze top_3, wenn du bei geringer Konfidenz Alternativen anzeigen möchtest (z. B.: "Scheint Spanisch zu sein, könnte aber Katalanisch sein — bitte bestätigen").
Erweiterte Anwendungsfälle
- NLP-Vorverarbeitung: Vor der Sentiment Analysis Sprache erkennen und an das passende Modell weiterleiten
- Filtering: Texte außerhalb der Zielsprache aus großen Datensätzen entfernen
- Traffic Routing: Last zwischen mehrsprachigen Clustern verteilen
- Segmentierung: Lange Dokumente mit gemischten Sprachen nach Sprache aufteilen
- Suche: Nutzern ermöglichen zu filtern: "Zeig mir nur deutschsprachige Inhalte dieser Plattform"
Jetzt direkt ausprobieren
Frag im Brainiall-Chat: "Erkenne die Sprache dieses Textes: [einfügen]". API unter /api/nlp/language. Typische Latenz < 10ms — ideal für den Einsatz in Echtzeit. Der Pro-Plan bietet großzügiges Kontingent; Business beinhaltet die Batch API.