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
user69

Registriert seit: 11. Dez 2004
115 Beiträge
 
#1

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

  Alt 14. Jan 2025, 06:05
Hallo,

Vielleicht kannmir da ja irgendwer weiterhelfen….

Gibt es eine Weg oder eine Komponente, wo ich ähnliche strings finden kann?
Also allgmein umz.B. Schreibfehler beseitigen bzw ähnliche schreibweisen zu finden (nicht per Rechtschribung).
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.367 Beiträge
 
Delphi 11 Alexandria
 
#2

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

  Alt 14. Jan 2025, 06:15
Meinst du etwas wie https://docwiki.embarcadero.com/Libr...rUtils.Soundex oder https://www.gausi.de/approxstrutils-en.html?
Peter
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 14. Jan 2025, 08:30
Suche mal nach Levenshtein-Distanzwerte und dann lies das hier
https://xprofan.net/intl/de/quelltex...r-algorithmus/

Viuelleicht hilft das?
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

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

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

  Alt 14. Jan 2025, 09: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
900 Beiträge
 
Delphi 11 Alexandria
 
#5

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

  Alt 14. Jan 2025, 09: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 09:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

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, 09: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 09:35 Uhr)
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
614 Beiträge
 
Delphi XE6 Enterprise
 
#7

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

  Alt 14. Jan 2025, 10:29
Soundex ist für Englisch. Für deutsche Texte gibts die "Kölner Phonetik" (siehe Anhang; aus dem Delphi-Treff).
Angehängte Dateien
Dateityp: txt KoelnerPhonetik.txt (2,8 KB, 21x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.351 Beiträge
 
Delphi 11 Alexandria
 
#8

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

  Alt 14. Jan 2025, 10:42
Hier hatten wir mal einiges zusammengetragen:
https://www.delphipraxis.net/154811-...rozentual.html
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#9

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

  Alt 14. Jan 2025, 12:54
Noch eine Option - aber auch das hängt vom Anwendungsfall ab - wäre via API ChatGPT (oder andere) zu fragen, ob zwei Worte ähnlich sind.

Zitat:
Ordne die Worte Mayer, Maier, Maierhofer, Müller, Apfel absteigend nach ihrer Ähnlichkeit mit dem Wort Meier.
Zitat:
Die Ähnlichkeit der Worte zum Wort „Meier“ basiert auf Buchstaben- und Lautähnlichkeiten. Absteigend geordnet ergibt sich folgende Reihenfolge:

1. **Maier** (nur ein Buchstabe Unterschied, sehr ähnlich in Schreibweise und Klang)
2. **Mayer** (ähnlich in Schreibweise, gleiche Lautung wie „Meier“ in manchen Regionen)
3. **Maierhofer** (enthält „Maier“ und ist somit ein erweiterter Begriff)
4. **Müller** (unterschiedliche Buchstaben und Lautung, aber beide Namen, schwächere Ähnlichkeit)
5. **Apfel** (keine Ähnlichkeit zu „Meier“ in Buchstaben oder Klang)

Diese Ordnung orientiert sich an der phonetischen und orthografischen Nähe der Wörter zu „Meier“.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 14. Jan 2025, 14:26
Code:
text = ["Meier", "Maier", "Mayer"]
test = embedding_model.encode(text)
print(f"{text[0]} {text[1]} ", cosine_similarity(test[0], test[1]))

text = ["tough", "though"]
test = embedding_model.encode(text)
print(f"{text[0]} {text[1]} ", cosine_similarity(test[0], test[1]))

text = ["Baum", "Tanne"]
test = embedding_model.encode(text)
print(f"{text[0]} {text[1]} ", cosine_similarity(test[0], test[1]))

text = ["Nadelbaum", "Laubbaum"]
test = embedding_model.encode(text)
print(f"{text[0]} {text[1]} ", cosine_similarity(test[0], test[1]))

text = ["Hamster", "Goldfisch", "Schäferhund", "Dackel"]
test = embedding_model.encode(text)
print(f"{text[0]} {text[1]} ", cosine_similarity(test[0], test[1]))
print(f"{text[2]} {text[3]} ", cosine_similarity(test[2], test[3]))

text = ["Mann", "Frau", "Junge", "Bube", "Auto", "Haus"]
test = embedding_model.encode(text)
print(f"{text[0]} {text[1]} ", cosine_similarity(test[0], test[1]))
print(f"{text[2]} {text[3]} ", cosine_similarity(test[2], test[3]))
print(f"{text[4]} {text[5]} ", cosine_similarity(test[4], test[5]))
Code:
intfloat/multilingual-e5-large

Meier Maier 0.93333364
tough though 0.86950207
Baum Tanne 0.79528135
Nadelbaum Laubbaum 0.8690178
Hamster Goldfisch 0.80143225
Schäferhund Dackel 0.786349
Mann Frau 0.86286455
Junge Bube 0.83770347
Auto Haus 0.8216029
Ehrlich gesagt, hätte ich die Hunde in der Ähnlichkeit höher erwartet, als die anderen Tiere.

OK, passt doch
Code:
Alignment-Lab-AI/e5-mistral-7b-instruct

Meier Maier 0.93829346
tough though 0.7688065
Baum Tanne 0.90267164
Nadelbaum Laubbaum 0.88353676
Hamster Goldfisch 0.78831625
Schäferhund Dackel 0.844885
Mann Frau 0.84775054
Junge Bube 0.8940252
Auto Haus 0.67513704

Achtung, Alignment-Lab-AI/e5-mistral-7b-instruct benötigt 32 GB RAM.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (14. Jan 2025 um 14:28 Uhr)
  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 22:57 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 by Thomas Breitkreuz