![]() |
Sprache erkennen
Hallo!
Ich muss ein Programm machen, welches die Sprache von einem Text (deutsch, englisch etc.) erkennt. Bis jetzt habe ich 2 Möglichkeiten gefunden: 1. Für jede Sprache, die das Programm erkennen muss, 10-20 am häufigsten benutzen Wörter spreichern und dann einfach in Text dannach suchen. 2. Nach sprachspezifischen Buchstaben suchen: wenn z.b. viele kyrilische Zeichen im Text sind, dann kann es schon mal kein Deutsch sein. So kann man die Sprache nicht genau erkennen, aber zumindestens die Sprachgruppe. Hat jemand weitere Ideen? Danke im Vorraus! |
Re: Sprache erkennen
Buchstaben(tupel)haeufigkeiten koennten auch Aufschluss geben. D.h. welche Buchstaben in einer Sprache sehr oft genutzt werden, welche weniger, welche Buchstabenkombinationen oft vorkommen, ect. Dabei ist es nicht wichtig zu vergleichen, welche Buchstaben genau wie oft vorkommen, sondern das Hauptaugenmerk auf bestimmte Buchstaben legen. Das y ist bspw. im Englischen mehr benutzt als im Deutschen, waehrend Umlaute ein relativ sicheres Zeichen der deutschen Sprache sind.
Und was auch ein grosser Unterschied zwischen Deutsch und Englisch ist: Im Englischen schreibt man fast alles klein, nur Eigennamen nicht, im Deutschen beginnt min. jedes Nomen mit einem Grossbuchstaben ;) Eine coole Idee waere folgendes: du nimmst dir beliebige Woerter aus dem Text, und fuegst sie in die url einer Suchmaschine ein. bspw. fuer google:
Code:
fuer Sprache setzt du dann bspw. de fuer Deutschland, en fuer Englisch ect. ein, und vergleichst, wo du am meisten Treffer findest. Das ist dann ziemlich sicher die Sprache, in der der Text geschrieben ist. Dafuer braeuchte man aber eine Internetverbindung.
http://www.google.com/search?q=wort1+wort2+wort3&lr=lang_sprache
greetz Mike |
Re: Sprache erkennen
Moin,
![]() Vielleicht lässt sich auch irgendwie die Funktionalität der ctfmon.exe gebrauchen, die bei Windows von Haus aus dabei ist und genau das macht (also Sprache erkennen, wie weiß ich nicht, besonders gut jedenfalls nicht :roll: )... |
Re: Sprache erkennen
Also was Internet betrifft, habe ich eine andere Möglichkeit schon umgesetzt.
Mal angenomen ich vermute, dass der Text auf Italienisch ist. Ich übersetze den Text mit Bubelfish von Italienisch > Englisch und gucke, ob sich viel verändert hat. Was Windowsfunktionen betrifft, fällt das aus, weil das Programm in Java sein soll. |
Re: Sprache erkennen
Wie lang ist denn so ein Text?
Wenn er relativ lang ist dürfte deine erste Idee gut funktionieren. Wichtig ist, das du mit Gewichten arbeitest und häufig auftretende Wörter / Buchstabentupel entsprechend stärker berücksichtigst. Sonst kann es z.B. bei Eigennamen oder Zitaten zu problemen kommen. LG Christian |
Re: Sprache erkennen
Häufige Worte, Buchstabengruppen, ect. sind viel zu aufwändig.
Wenn man nur Häufigkeit der einzelnen Buchstaben nimmt, reicht das vollkommen aus. Sowas habe ich in ![]() Konstantin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz