AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Soundex-Algorithmus für Deutsch
Thema durchsuchen
Ansicht
Themen-Optionen

Soundex-Algorithmus für Deutsch

Ein Thema von urs.liska · begonnen am 14. Dez 2004 · letzter Beitrag vom 15. Feb 2009
Antwort Antwort
Seite 3 von 3     123   
MathiasSimmack
(Gast)

n/a Beiträge
 
#21

Re: Soundex-Algorithmus für Deutsch

  Alt 16. Dez 2004, 14:37
Zitat von sakura:
Zitat von MathiasSimmack:
es gibt lediglich den Unterschied zwischen alter und neuer Rechtschreibung. Dagegen dürfte "Maße" und "Masse" nicht das gleiche Ergebnis haben.
Falsch, auch diese beiden würden das gleiche Ergebnis erzeugen. Es geht beim SoundEx nicht um die Rechtschreibung, im Gegenteil, SoundEx versucht diese vollständig zu egalisieren
Gut, dann habe ich den Sinn von SoundEx bisher nicht verstanden.

Zitat:
Ein Deutscher würde vielleicht den Unterschied zwischen Hrn. Masse und Hrn. Maße erkennen, [...]
Sieht irgendwie aus wie Hirnmasse.
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#22

Re: Soundex-Algorithmus für Deutsch

  Alt 16. Dez 2004, 17:17
@sakura
super, danke. konnte es mir noch nicht genau ansehe (weil mein kleiner auf dem schoß sitzt und quengelt), aber das ist wohl genau, was ich suche.

Urs
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#23

Re: Soundex-Algorithmus für Deutsch

  Alt 16. Dez 2004, 19:18
Zitat von MathiasSimmack:
Mir persönlich ist das Thema aber ohnehin egal
Richtig, mir ist das Thema im Prinzip auch egal. Ich wollte lediglich verdeutlichen, dass es momentan noch zwei Möglichkeiten gibt, das Wort "nass" zu schreiben und das so die Aussage glkgereons nicht hundertprozentig hinhaut.

Zitat von MathiasSimmack:
, mir ging´s nur um den Vergleich von unserem Cornel; von wg "ich sehe den sprachlichen Unterschied nicht".
Das war beabsichtigt. So was nennt man Rhetorische Figur
Falls dichs interessiert: Ich würde es als Oxymoron bezeichnen, aber darüber kann man sich streiten. (Und das sollte hier nicht näher ausgeführt werden)


mfg

Daniel
  Mit Zitat antworten Zitat
Acaenitus

Registriert seit: 7. Nov 2005
1 Beiträge
 
#24

Re: Soundex-Algorithmus für Deutsch

  Alt 7. Nov 2005, 19:02
[quote="sakura"]@urs....

Ich habe mal aus unseren Sourcen den SoundEx fürs Deutsche extrahiert. Da wir damals keine angenehme Lösung fürs Deutsche gefunden haben, ist der auf dem Mist eines Kollegen gewachsen, aber recht einfach zu verstehen und funktioniert (zumindest für unsere Kunden) wie gewünscht.


Hallo,

mich würde interessieren, wie Euer Soundex funktioniert, speziell welche Phonetischen Gruppen und welche Regeln. Ich arbeite allerdings mit VBA und nicht mit Delphi. Könnte ich die Informationen in Textform bekommen?

Grüsse
Anton
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#25

Re: Soundex-Algorithmus für Deutsch

  Alt 15. Feb 2009, 20:14
Hi!
Ich verwende schon ewig einen Soundex Algorytmus der Eigentlich für das Amerikanische gedacht war, aber von meinem Vater leicht angepasst wurde. Er funktioniert est super und es hat sich bis heute noch keiner beschwert...
hier ist er:
Delphi-Quellcode:
(* ------------------------------------------------------ *)
(*                    SOUNDEX.PAS                         *)
(*            Phonetisches Suchen mit Pascal              *)
(*             (c) 1990 Bodo Joest & TOOLBOX              *)
(*     Leichte Änderungen für Delphi32 JB, 2001           *)
(*     Anpassung für ersten Laut von Jens During          *)
(* ------------------------------------------------------ *)

UNIT Sound_Ex;

INTERFACE

FUNCTION SoundEx(CONST Idx: String): String;

IMPLEMENTATION

FUNCTION UpString(CONST Txt : String): String;
VAR
  i : INTEGER;
BEGIN
  Result := Txt;
  FOR i := 1 TO Length(Result) DO
    Result[i] := UpCase(Result[i]);
END;

FUNCTION SoundEx(CONST Idx : String): String;
            { Umwandlung eines Strings in eine Phonemkette }
CONST { Phoneme }
  BFPV = ['B', 'F', 'P', 'V'];
  CGJKQSXZ = ['C', 'G', 'J', 'K', 'Q', 'S', 'X', 'Z'];
  DT = ['D', 'T'];
  L = ['L'];
  MN = ['M', 'N'];
  R = ['R'];
VAR
  i : INTEGER;
  Code : String[5];
  CodeLen : BYTE ABSOLUTE Code;
  Index : String;
BEGIN
  Index := UpString(Idx);
//Code := Index[1]; //Änderung JD,Phonemkennung ab Laut 1!!
  Code := '';
  i := 1;
  WHILE (i <= Length(Index)) AND (CodeLen < 5) DO BEGIN
    IF (Index[i] IN BFPV) AND
            (Code[CodeLen] <> '1') THEN Code := Code + '1'
    ELSE IF (Index[i] IN CGJKQSXZ) AND
            (Code[CodeLen] <> '2') THEN Code := Code + '2'
    ELSE IF (Index[i] IN DT) AND
            (Code[CodeLen] <> '3') THEN Code := Code + '3'
    ELSE IF (Index[i] IN L) AND
            (Code[CodeLen] <> '4') THEN Code := Code + '4'
    ELSE IF (Index[i] IN MN) AND
            (Code[CodeLen] <> '5') THEN Code := Code + '5'
    ELSE IF (Index[i] IN R) AND
            (Code[CodeLen] <> '6') THEN Code := Code + '6';
    Inc(i);
  END;
  Code := Code + '0000';
  Result := Code;
END;

END.
gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 05:28 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