Christoph Zurnieden: Wiki-Test in JavaScript

Beitrag lesen

Hi,

Beckmessereien ? (Error: unbekannter Ausdruck)

Die klassische Bildung läßt aber schwer zu wünschen übrig heutzutage!
Und faul sind die Leute auch noch!
http://www.google.de/search?q=Beckmessereien&ie=UTF-8&oe=UTF-8
Aber gut, zumindest letzteres ist entschuldbar, denn wer im Glashaus sitzt ... ;-)

reguläre Ausdrücke brauchen länger - ich vermeide sie halt, wo ich kann.

Das ist Microoptimierung und zu meiden.

Das wird relevant, wenn du Texte mit über 1000 Smilies in JS formatierst.

Dann hast Du etwas falsch gemacht. Normalerweise ist ein guter Regex nicht wesentlich langsamer als ein handgeschnitzter Automat.

Suche noch immer eine Website für die punctsum/whitesum Methoden, auf der ich den Algorithmus verstehe :-(

Nunja, am Algorithmus gibt es nicht viel zu verstehen. Den habe ich in irgendeiner Zeitschrift gefunden als Vorschlag für eine Spamfilter. Die haben den aber auch irgendwo geklaut. Da das auch noch einige Jahre her ist kann ich Dir wirklich nicht mehr sagen, wer's erfunden hat.
Google schmeißt zwar einen Link aus, aber das kommt mir zeitlich nicht ganz richtig vor.

Das Problem ist jedoch zu verstehen, _warum_ es funktioniert und wie Du es für Deine Zwecke anpassen kannst.

Das Prinzip ist erstmal simpel: die Spammer ändern innerhalb eines Wortes zufällig Buchstaben jedoch nie die Reihenfolge. Leerzeichen und/oder Interpunktion bleiben für gewöhnlich gleich.
Das kannst Du so nicht benutzen, denn es interessiert Dich ja sehr wohl die Art und Reihenfolge der Buchstaben der Worte zwischen den Leerzeichen und der Interpunktion. Nun trägt aber die deutsche Sprache ihren Sinn bevorzugt am Anfang des Wortes. Somit ist die Erweiterung o.a. fuzzy Checksums auf den ersten folgende Buchstaben statistisch ausreichend. Ob der vorhergehende Buchstabe ebenfalls hinzuzunehmen ist, wäre die Sache einer Probe. Aus dem Bauch raus würde ich das aber bejahen.

Für Levenshtein habe ich folgendes gefunden:
http://www.levenshtein.de/

Merriampark erscheint mir besser.

Die Qualität einer Änderung in Levenshtein ähnelt sehr dem, was ich als Hamming-Abstand kenne
http://de.wikipedia.org/wiki/Hammingdistanz

Ja, die sind sehr eng verwandt.

Vorallem habe ich das dumpfe Gefühl,

Gefühl? Du wirst doch wohl noch in der Lage sein Dir aus der Javascript-Funktion und einem Formular mit zwei Textfeldern eine Probiermaschine zu machen?

Warum ist das wichtiger? Nein, ernsthafte Frage: warum meinst Du, das es wichtiger ist?

Reine Intuition/Überzeugung:
Wenn ein Absatz verschoben wird, dann ist die Wahrscheinlichkeit eines groben Sinnfehlers des ganzen Textes geringer als beim Löschen oder Einfügen eines Wortes.

Bereits zwischen "ist ein" und "ist kein" können 30 Jahre Knast liegen.
Wenn Du es so genau nehmen möchtest ist jeder Schreibzugriff auf die Datei der Hinweis sich das Dingen anzuschauen.

Letztlich muß man sich den Text sowieso nochmals durchlesen, um zu sehen, ob er iO ist.

Deshalb bin ich ja auch der Meinung, das für die Feststellung des Änderungsmaßes einfache statistische Methoden vollkommen ausreichen.

Sowas wie Summe der absoluten Differenzen von gleichen Worten ?

Nein, die Betonung lag auch _einfach_! ;-)

Mir geht es um eine Erleichterung beim Auffinden der relevanten Stellen. Wenn man zwei Texte mit 3000 Worten abgleicht, in dem nur ein Schreibfehler verbessert wurde, dann braucht man schon sehr viel Konzentration - finde ich.
Dieser Algorithmus soll ja dazu dienen, um letztlich Änderungen zu überwachen.

Ach, das soll als Editierhilfe dienen?
Ja, dann sag' das doch auch!
Manch einer ist da nämlich etwas schwer von Begriff und wundert sich die ganze Zeit, was Du da anstellst ;-)

Ja, für die Darstellung ist das schonmal ganz gut geeignet. Würde das CSS noch auf Klassen umbauen, damit sich die User das individuell anpassen können.

Du könntest Dir auch mal folgende Visualisierungsprogramme anschauen (sind alle Opensource, daher gilt das anschauen nicht nur für die hier verlinkten Screenshots ;-)
http://kdiff3.sourceforge.net/doc/screenshots.html@tile=Kdiff3
http://www.caffeinated.me.uk/kompare/@tile=Kompare
http://meld.sourceforge.net/screenshots.html@tile=meld

Apropos Bilder: wie vergleichst Du die in Javascript?

JavaScript kann nicht auf Infos aus Grafiken zugreifen...

Ach! ;-)

Autopano sucht erstmal gemeinsame deutliche Bildteile aus mehreren Bildern, um dann sukzessive undeutlichere Bildteile zu vergleichen.

Ja, ist aber schon viiiiel zu kompliziert.

Geht so, ich habe Schillers Glocke und die Bürgschaft getestet, auch gegeneinander, und es hat jeweils ne Sekunde gedauert, bis das Ergebniss vorlag.

So ist dieser Benchmark rein gar nix wert, es werden schon einige Eckwerte der Maschine benötigt.

Aber bei einer modernen Maschine und so kurzen Texten dürfte das wohl hinkommen.

Oder meinst du damit, ich sollte mal den Algorithmus auch in PHP schreiben und dann vergleichen ?

Ja (wenn auch nicht unbedingt in PHP ;-), aber da Du das dynamisch haben willst und vor allem etwas ganz anderes, als ich die ganze Zeit dachte hat sich das eh erledigt.

so short

Christoph Zurnieden