Spracherkennung Teil 2

Zu erkennen in welcher Sprache ein Dokument geschrieben ist, hat es wirklich in sich. Ich denke aber ich habe das Problem nun soweit in den Griff bekommen. Die größte Schwierigkeit ist, alles zunächst in einen gemeinsamen Zeichensatz (hier UTF-8) zu bringen. Anschließend fällt die Spracherkennung wesentlich einfacher.

Insgesamt werden mehrere Parameter erkannt und mit einem Punktesystem verschieden stark gewichtet. Am Ende werden alle Punkte addiert und abwärts sortiert. Die Sprache mit der höchsten Punktzahl gewinnt.

1) HTTP-Response Header
Bei manchem Webserver wird die verwendete Sprache schon im HTTP-Header mit übergeben. Da dies aber nicht immer stimmen muss gibt es hier nur 5 Punkte.

2) Meta-Tag Language
Bei vielen Webseiten befindet sich unter den Meta-Tags auch eine Sprachangabe. Diese wird in den meisten Fällen manuell gesetzt und ist daher relativ Glaubwürdigkeit. In einigen Fällen, wie z.B. bei Shops oder Content-Management-Systemen sind diese jedoch auch wiederum schon mal falsch. So kann es sein das ein englischer Shop auch Produkte auf Deutsch verkauft, die Sprachangabe aber trotzdem auf Englisch gesetzt ist. 25 Punkte.

3) Sprachwahrscheinlichkeit laut Zeichensatz
Hat man mal einmal den Zeichensatz einer Seite identifiziert kann man daraus ableiten, wie hoch die Wahrscheinlichkeit für bestimmte Sprachen ist. So ist es z.B. unmöglich mit einem westeuropäischen Zeichensatz (ISO-8859-1) chinesische Schriftzeichen darzustellen. Umgekehrt gilt dann genauso, dass z.B. der Zeichensatz WINDOWS-1251 mit höherer Wahrscheinlichkeit Russisch oder Ukrainisch sein könnte. 1-15 Punkte, in Abhängigkeit von der Sprachwahrscheinlichkeit.

4) Sprache nach Stoppwortliste
In jeder Sprache gibt es Wörter die sehr häufig verwendet werden. Im Deutschen sind das z.B. “der, die, das, von, zu, auf, ..”. Sammelt man diese Wörter von jeder Sprache und vergleicht diese anschließend mit den tatsächlich im Dokument vorkommenden Worten, erhält man eine Schnittmenge pro Sprache (oder auch nicht). Sortiert nach den Schnittmengen ergibt sich eine Wahrscheinlichkeit für diese Sprache. 5-100 Punkte, je nach Trefferhäufigkeit.

5) Standort des Servers laut IP-Adresse
Wird nicht verwendet. Wenn es z.B. in Frankreich einen billigen Webhoster gibt, heißt das noch lange nicht, dass alle Webseiten auf diesen Servern auch auf Französisch sind. 0 Punkte.

6) Sprache laut Top-Level-Domain
Wird nicht verwendet. Es soll ja auch z.B. .de-Domains geben die englischsprachige Inhalte anbieten. 0 Punkte.

Diese Artikel könnten Sie auch interessieren:

Name (notwendig)
Email (notwendig, wird aber nicht veröffentlicht)
Website