AGB  ·  Datenschutz  ·  Impressum  







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

Ähnliche strings finden (wie z.B. google Suche)

Ein Thema von user69 · begonnen am 14. Jan 2025 · letzter Beitrag vom 14. Jan 2025
Antwort Antwort
Benutzerbild von joachimd
joachimd
Online

Registriert seit: 17. Feb 2005
Ort: Weitingen
684 Beiträge
 
Delphi 12 Athens
 
#1

AW: Ähnliche strings finden (wie z.B. google Suche)

  Alt 14. Jan 2025, 08:04
Levenshtein und soundex sind nicht ganz so gut für deutsch. Kälner Phonetik bringt dich hier weiter.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
903 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Ähnliche strings finden (wie z.B. google Suche)

  Alt 14. Jan 2025, 08:19
Warum sollte Levenshtein nicht gut sein für die deutsche Sprache? Das Verfahren ist doch komplett unabhängig von der Sprache, und zählt einfach die minmale Anzahl von Ersetzungen/Einfügen/Entfernen-Operationen auf Zeichenebene. Ob ich da deutsche oder englische Wörter oder ein Stück DNA-Code reinschmeiße, ist völlig egal.

Wenn man also ähnliche Strings finden möchte, ist das unabhängig von der Sprache gut geeignet. Für ähnlich klingende Worte (Meier, Mayer etc.) dann tatsächlich nicht unbedingt, und dafür sind dann sprachabhängige Algorithmen sinnvoll. Die Frage ist dann aber, inwiefern diese lautbasierten Verfahren Buchstabendreher erkennen können, oder wie diese mit anderen Zeichen (Klammern, Satzzeichen, ...) umgehen. Kommt halt auf den Anwendungsfall an.

Für die Titelsuche in meinem mp3-Player fahre ich mit Levenshtein (das ist ja in meinen oben verlinkten ApproxStrUtils implementiert) ganz gut - und da habe ich ja auch Fälle wie "Pink" und "P!nk" und ähnliche Scherze.

Edit: @TigerLilly: danke für den Link. Die Ergänzung mit "Verdreher als eine Operation zählen" muss ich mir mal genauer anschauen. Das scheint mir eine sinnvolle Ergänzung zu sein.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.

Geändert von Gausi (14. Jan 2025 um 08:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd
Online

Registriert seit: 17. Feb 2005
Ort: Weitingen
684 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ähnliche strings finden (wie z.B. google Suche)

  Alt 14. Jan 2025, 08:29
Warum sollte Levenshtein nicht gut sein für die deutsche Sprache?
Mit Levenshtein bildest Du nur die Anzahl der Ersetzungen ab, nicht unbedingt ähnlich klingende Worte. Dafür gibt es ja soundex - das aber nur im englischen richtig funktioniert. Oder eben die Kölner Phonetik, welche speziell für die deutsche Sprache entwickelt wurde.

Edit: Beispiel Maier und Meyr haben eine Distanz von 3, bei Kölner Phonetik sind beide identisch
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de

Geändert von joachimd (14. Jan 2025 um 08:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#4

AW: Ähnliche strings finden (wie z.B. google Suche)

  Alt 14. Jan 2025, 08:46
Warum sollte Levenshtein nicht gut sein für die deutsche Sprache?
Jupp, bei Levenstein wäre es praktisch egal, aber bei Soundex ....

Wenn man also ähnliche Strings finden möchte, ist das unabhängig von der Sprache gut geeignet. Für ähnlich klingende Worte (Meier, Mayer etc.) dann tatsächlich nicht unbedingt, und dafür sind dann sprachabhängige Algorithmen sinnvoll. Die Frage ist dann aber, inwiefern diese lautbasierten Verfahren Buchstabendreher erkennen können, oder wie diese mit anderen Zeichen (Klammern, Satzzeichen, ...) umgehen. Kommt halt auf den Anwendungsfall an.
z.B. 'ne KI/AI oder ein Embedding nutzen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Jan 2025 um 08:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
903 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Ähnliche strings finden (wie z.B. google Suche)

  Alt 14. Jan 2025, 08:46
Das stimmt schon, aber dann ist die eigentliche Aussage ja, dass Levenshtein nicht gut geeignet ist für Sprache.

Levenshtein und SoundEx (und verwandte Verfahren) sind halt völlig verschiedene Ansätze - einmal reine Betrachtung der Zeichenketten, und dann die (sprachabhängige) Umsetzung dieser Zeichenketten in akkustische Signale. Was sinnvoller ist, hängt vom Anwendungsfall ab.

Nebenbei, semi-OT: Was macht eigentlich Soundex bei englischen Inkonsistenzen wie "tough" und "though"? Oder anders: Sollen diese beiden Worte als ähnlich gelten (sehr ähnliche Zeichenketten), oder als grundverschieden (völlig andere Aussprache)?
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd
Online

Registriert seit: 17. Feb 2005
Ort: Weitingen
684 Beiträge
 
Delphi 12 Athens
 
#6

AW: Ähnliche strings finden (wie z.B. google Suche)

  Alt 14. Jan 2025, 08:52
Was macht eigentlich Soundex bei englischen Inkonsistenzen wie "tough" und "though"?
dasselbe T200 https://de.toolpage.org/tool/soundex
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  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 12:26 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