Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
3. Sep 2008
Vorsicht, bisher wurde kein aussagekräftiger Vergleich angestellt. Zb. möchte ich per RegEx eine große Textdatei durchsuchen und die Anzahl unterschiedlicher Wörter im Text ermitteln. Ich wette einen Kasten Bier das das DAWG als komplett anderer Algorithmus diese Aufgabe bei weitem besser erledigt als RegEx. Es hängt also von den Rahmenbedingungen ab und später beim Vergleich der verschiedenen...
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
3. Sep 2008
Ich habe mal eine 144Mb Textdatei erzeugt, das DAWG benötigt 1.6 Sekunden um daraus alle Wörter sortiert zu extrahieren. Deine Methode ist also mit 3 Sekunden wirklich schon sehr schnell. Könntest du hier deinen Source posten ?
Gruß Hagen
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
3. Sep 2008
DAWG zu klein und Datei zu groß. Man könnte das DWAG anpassen damit es mit wesentlich größeren Datenmengen auskommt ist aber nicht ganz so einfach. Primär habe ich es entwickelt als hoch effiziente Suchmachine in einer Wortdatenbank mit ca. 200.000 deutschen und 250.000 englischen Wörtern. Dabei werden aber nur sehr wenige Wortseparatoren benutzt, also die Sonderzeichen die ein Wort von einem...
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
3. Sep 2008
Kannst du irgendwie mal diese 122Mb Datei zur Verfügung stellen, oder aus dem DAWG.zip die mitgeliferte EXE an deiner Datei ausprobieren -> Button "DAWG importieren".
Gruß Hagen
Forum: Object-Pascal / Delphi-Language
Delphi
by negaH,
3. Sep 2008
Lade dir von hier http://www.michael-puff.de/Developer/Delphi/Importe/Hagen_Reddmann/ die Datei Dawg.zip.
Ein DAWG -> Directed Acyclic Word Graph ist eine Wörterdatenbank. Normalerweise benutzt man sie eher um Suchen in großen Wörterdatenbanken sehr effizient durchzuführen zb. Rechtschreibprüfungen, Scrabble Engine, Kreuzworträtsel Solver/Generatoren. Man kann damit auch einen langen Text in...