AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sprache erkennen

Ein Thema von XHelp · begonnen am 10. Feb 2007 · letzter Beitrag vom 12. Feb 2007
Antwort Antwort
Benutzerbild von XHelp
XHelp

Registriert seit: 12. Jul 2004
Ort: Duisburg
172 Beiträge
 
Delphi 6 Enterprise
 
#1

Sprache erkennen

  Alt 10. Feb 2007, 21:45
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!
Alex
Von allen Dingen die mir verloren gegangen,
hab ich am meisten an meinem Verstand gehangen
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#2

Re: Sprache erkennen

  Alt 10. Feb 2007, 22:01
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:
http://www.google.com/search?q=wort1+wort2+wort3&lr=lang_sprache
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.

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: Sprache erkennen

  Alt 10. Feb 2007, 22:05
Moin,

http://xxx.uni-augsburg.de/PS_cache/...08/0108530.pdf das könnte dich interessieren...

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 )...

  Mit Zitat antworten Zitat
Benutzerbild von XHelp
XHelp

Registriert seit: 12. Jul 2004
Ort: Duisburg
172 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Sprache erkennen

  Alt 10. Feb 2007, 23:04
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.
Alex
Von allen Dingen die mir verloren gegangen,
hab ich am meisten an meinem Verstand gehangen
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Sprache erkennen

  Alt 11. Feb 2007, 00:53
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
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
k-weddige

Registriert seit: 15. Okt 2005
20 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Sprache erkennen

  Alt 12. Feb 2007, 14:53
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 Kryptix verwendet. Der kennt zwar nur DE und EN, ab ordnet auch caesarverschlüsselte Texte richtig zu. Die Trefferwskt. ist IMHO sehr gut. In 99% aller Anendungen kannst du dich auf die Buchstabenverteilung verlassen.

Konstantin
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz