Ähnlichkeit zwischen zwei Texten

port29

deus.Server
Hallo Leute,

ich bin derzeit auf der Suche nach einer Software oder einem Verfahren, um Ähnlichkeiten zwichen zwei (Quell-)Texten feststellen und bewerten zu können. Leider funktionieren die einfachen Methoden, wie z.B. die Levenshtein-Distanz da nicht.

Hat da jemand mal ein Stichwort für mich, wo ich ansetzen könnte?
 

CPoly

Mitglied Weizenbier
Was genau hast du denn vor? Möchtest du es für dich nutzen, um etwas zu vergleichen oder soll irgendein System damit automatisiert arbeiten?

Da ich nicht genau weiß, was du vor hast, hier mal zwei Sachen die mir einfallen. Jeweils mit Beispiel Ausgabe mit zwei Testdateien.

http://meld.sourceforge.net/
Ausgabe: s. Anhang

http://manpages.ubuntu.com/manpages/hardy/man1/diff.1.html

Ausgabe
1c1
< <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
---
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
14a15,16
> alert(1);
> alert(1);
15a18,20
> alert(1);
> alert(1);
> alert(1);
22c27
< <div></div>
---
> <div>HUHU</div>
24c29
<
---
> fail
 

Anhänge

  • Screenshot.png
    Screenshot.png
    93,6 KB · Aufrufe: 20
Hallo,

bei Quelltexten könntest du es mal mit einem diff-Ansatz versuchen. Ob das sinnvoll ist, kommt aber ganz darauf an, welches Ähnlichkeitsmaß dir vorschwebt.

Grüße,
Matthias
 

port29

deus.Server
Ich suche momentan eher nach einem Algorithmus, als nach einer fertigen Softwarelösung. Das Problem von diff ist leider, dass dieses Programm recht dumm ist. Wenn ich jetzt große Änderungen an den Variablen durchführe, wird es keine Ähnlichkeit anzeigen und auch das Umstellen von unabhängigen Blöcken würde diff nicht auffinden können.

Ich weiß nicht so ganz, wie ich es sagen soll, aber ihr kennt das doch auch. Ihr seht einen Quelltext, den ihr selbst geschrieben habt, allerdings wurde er ziemlich vergewaltigt. Die Formatierung ist nicht in Ordnung, Kommentare sind anders, Variablen wurden umbenannt, Zahlen wurden an eine andere Umgebung angepasst, etc. Aber die eigentliche Funktion des Quelltextes ist immer noch die gleiche.