Offline-Tool zum Finden identischer/ähnlicher Phrasen in einem Text?

Ich suche ein Tool, das identische Phrasen in einem langen Text wie einer Dissertation findet und auflistet.

Ziel ist es, sich wiederholende Texte zu finden, die versehentlich per Copy/Paste entstanden sind.

Es muss unbedingt ein Offline - Tool sein, da ich kein Online-Tool verwenden möchte, bei dem mein Text verarbeitet und möglicherweise auf einem Server unter fremder Kontrolle gespeichert wird.

Mögliches Duplikat von Word Clouds und Phrase Clouds . Sehen Sie sich meine Antwort unter dieser Frage an ( writers.stackexchange.com/a/14302/5645 ).
@what: Danke - diese andere Frage hat das gleiche Ziel. Ich möchte jedoch kein Online-Tool verwenden, bei dem mein Text verarbeitet und möglicherweise auf einem Server unter fremder Kontrolle gespeichert wird.
Ich denke, Plagiatsprüfer können auch Duplikate innerhalb einer Datei finden, aber Sie müssen es versuchen. Abgesehen davon können Sie Ihr eigenes Tool schreiben (Code ist online verfügbar) oder, wenn Sie nur nach vollständigen Sätzen suchen möchten, reguläre Ausdrücke in einem Texteditor verwenden, der sie unterstützt (wie Vi(m)) oder von der Befehlszeile aus (zB mit awk), wieder Beispiele sind online.

Antworten (3)

Es hängt davon ab, wie viel Sie sich einbringen möchten und wie groß das Projekt ist. Wenn nur identische Sätze oder Text gefunden werden, unterstützen die meisten Textverarbeitungsprogramme dies, und schließlich unterstützen viele Programmier-IDEs die Suche nach regulären Ausdrücken ( http://en.wikipedia.org/wiki/Regular_expression ). Wenn Sie andererseits nach umformulierten oder ähnlichen Absätzen und/oder Auszügen suchen und dies automatisieren möchten (anstatt manuell Substrings zu erstellen und nach Variationen zu suchen), würde ich Ihnen empfehlen, sich http://www.nltk.org anzusehen /

NLTKist ein Toolkit, das eine ganze Reihe von Sprachmanipulations-, Sortier- und Tagging-Tools integriert - ich weiß, dass es möglicherweise ausführlicher ist, als Sie möchten (aber es ist ziemlich einfach zu erlernen und hat eine sehr gute anfängerfreundliche Dokumentation http:// www.nltk.org/book/ ).

Ich überlasse es anderen, allgemeinere und vielleicht eher gebrauchsfertige Tools zu kommentieren, da ich damit keine Erfahrung habe.

Dies ist eine der Hauptfunktionen des Programms ClicheCleaner , das Passagen in Ihrem Text hervorhebt, die entweder Klischees, andere übermäßig verwendete allgemeine Ausdrücke oder eigene Phrasen sind, die Sie wiederholt innerhalb desselben Dokuments verwendet haben. ClicheCleaner enthält eine Liste von fast 7000 einzigartigen Klischees und gebräuchlichen Ausdrücken, die mit Ihrem Text verglichen werden.

Derzeit funktioniert es nur mit Textdateien; Eine derzeit in Arbeit befindliche neue Version ermöglicht die Bearbeitung von Text-, Word- und PDF-Dateien innerhalb des Dokuments.

Es läuft auf allen Versionen von Windows.

Offenlegung: Ich bin der Autor dieses Programms.

Vielen Dank für diese Informationen (und dafür, dass Sie Ihre Beziehung zu dem Produkt klargestellt haben). Erlaubt es Ihnen, auch etwas zum Wörterbuch der Klischees hinzuzufügen? Wenn ich weiß, dass ich die schlechte Angewohnheit habe, einen bestimmten Ausdruck zu verwenden, der nicht zu den 7000 gehört, die es bereits erkennt, kann ich das hinzufügen?
@MonicaCellio Derzeit können Sie der Liste der Klischees nichts hinzufügen, da das ursprüngliche Wörterbuch stark komprimiert ist. Wenn Sie beispielsweise nach dem Klischee "sein Hemd verlieren" suchen, werden die verschiedenen Verbformen verlieren, verloren und verlieren alle überprüft , sowie sein, ihr, mein und dein Ersetzen von "eines". Das sind 15 verschiedene Versionen von nur diesem einen Klischee. Aber in der nächsten Version plane ich, diese Funktion hinzuzufügen, allerdings muss der Benutzer alle Formen des Klischees manuell eingeben, die er überprüfen möchte.

Wie @user3467349 feststellt, sind reguläre Ausdrücke (regexes) Ihr (komplizierter) Freund. Es ist eine ziemliche Lernkurve erforderlich, aber es lohnt sich, wenn Sie eine erhebliche Menge an Textsuchen oder -änderungen durchführen müssen. Viele Tools unterstützen ihre Verwendung (und einige verwenden leicht unterschiedliche Dialekte für ihre Syntax).

Wenn Sie Zugriff auf ein Linux-System haben (wo es fast immer standardmäßig installiert wird – ich gehe davon aus, dass es auch auf OS X installiert werden muss, aber ich verwende dieses Betriebssystem nicht) oder auf ein Paket von Tools für Ihr Betriebssystem (z als Cygwin für Windows), dann ist der Ausgangspunkt der grepBefehl (globaler regulärer Ausdruck drucken). Es kann fast alles finden, sobald Sie die Grundlagen von Regexes kennen. Es gibt auch einen obskureren Befehl, agrep, der darauf spezialisiert ist, Dinge zu finden, die "wie" andere Dinge sind, aber ich habe ihn noch nicht benutzt.

Eine andere Alternative ist, wenn Sie die Programmiersprache perlauf Ihrem System haben oder installieren können (sollte für fast alle Betriebssysteme verfügbar sein), unterstützt sie ihren eigenen Dialekt regulärer Ausdrücke, von denen ich glaube, dass sie die leistungsstärkste Version sind. Es ist einfach, auf die Funktion für reguläre Ausdrücke von Perl zuzugreifen, ohne viel über den Rest der Sprache zu wissen.

Wenn Sie Zugriff auf ein Linux-System haben, wird der Befehl

info sed

zeigt Anweisungen zur Verwendung des sedTools (das Sie im Moment nicht benötigen). Aber wenn Sie in dieser Hilfedatei ganz nach unten scrollen, finden Sie einen ziemlich detaillierten Abschnitt, in dem erklärt wird, wie Sie reguläre Ausdrücke verwenden. Dies wird auch direkt auf die Verwendung übertragen grep.