Lokale Plagarismus-Erkennungssoftware

Ich suche nach Software, die Plagiate erkennt und die folgenden Eigenschaften hat:

  1. Kostenlos (wie in Bier)
  2. Windows (7, 8, 8.1, 2012-Server R2)
  3. Befehlszeilenschnittstelle
  4. Liefert passende Textschnipsel

Schön zu haben:

  1. 3-Wege-Vergleiche (Text insgesamt, in paarweisen Dokumenten, in nur einem Dokument)
  2. XML-Ausgabe

Völlig bereit, aus dem Quellcode, allen vernünftigen Sprachen zu kompilieren oder stattdessen einfach eine Python-Bibliothek zu verwenden.

Falls es nicht klar war, möchte ich nur, dass es Plagiate aus den Quellen erkennt, die ich ihm übergebe. Kennt jemand eine solche Software?

Suchen Sie nach literarischen Plagiaten oder Software und suchen Sie diese aus bestimmten Quellen?
@SteveBarnes Spezifische Quellen (dh die Dateien, die ich daran übergebe)

Antworten (2)

Dies ist ein Tool, das all dies tut: http://ssdeep.sourceforge.net

Es ist hauptsächlich für die Computerforensik konzipiert - zum Aufspüren ähnlicher, modifizierter, optimierter oder abgeschnittener Dateien.

Ich habe es erfolgreich zur Spam-Bekämpfung eingesetzt, indem ich E-Mails erkannt habe, die im Vergleich zu anderen E-Mails und Spam-Beispielen geringfügig bis erheblich verändert wurden.

Ich denke, es wird Ihrem Zweck entsprechen, da es eine abstimmbare "Empfindlichkeit" für Änderungen aufweist und ähnliche Fragmente erkennen kann, siehe hier zur Demonstration:

http://ssdeep.sourceforge.net/usage.html#needles

Warnung: Ich habe die gemeinsam genutzte Bibliothek direkt über Python cffi ( https://cffi.readthedocs.org/en/latest/ ) verwendet, nicht das Befehlszeilentool selbst, obwohl ssdeep über ein Befehlszeilendienstprogramm verfügt. Dennoch war die Verwendung von cffi zum Ausführen von ssdeep-Bibliotheksaufrufen leistungsfähiger als die Befehlszeile und auch sehr einfach.

Ich dachte, dass Sie wahrscheinlich Python und das SciPy NLTK verwenden könnten , um eine Liste von Sätzen aus jedem Ihrer Texte zu erstellen, von denen Sie erwägen, dass die Verwendung von Tokenize ein Plagiat sein könnte - ich würde vorschlagen, Satzzeichen aus ihnen zu entfernen und alle mit weniger als auszuschließen 5 oder 6 Wörter und speichert sie, möglicherweise mit Hinweisen darauf, wo sie im Ausgangstext vorkommen.

Sie könnten dann denselben Algorithmus auf Ihre verdächtigen Texte anwenden und nach Übereinstimmungen suchen.

  • Frei sowohl als Bier als auch als Vogel.
  • Fast jede Plattform, auf der Python installiert werden kann, einschließlich Windows.
  • Befehlszeilenschnittstelle - ja, es sei denn, Sie geben ihr eine GUI.
  • Die Ausgänge könnten dann so ziemlich alles sein, was Sie möchten.
  • Von Ihren netten Extras können Sie eines oder beide hinzufügen.
Es muss andere Lösungen geben, als dies selbst von Hand zu codieren. Obwohl dies das Shell-Scripting-Tag hat, würde ich das nicht als offen für Bibliotheken interpretieren + Eigene als Lösung erstellen.
@Oxinabox Eines der schönen Dinge an der FOSS-Welt ist, dass Sie "Ihre eigenen rollen" können, wenn niemand anderes das Passende "von der Stange" liefert.