Es wird nicht einfach sein, den Müll in E-Mails zu bereinigen, da Software-E-Mail-Clients und Menschen die E-Mail-Teile auf bequeme Weise markieren, aber um die Nachrichten zu bereinigen, mit denen ich beginnen würde:
Bei Antworten kann der Text vor, nach oder nach Anführungszeichen mit Anführungszeichen gemischt werden. In einigen Fällen können, wie Sie bereits erwähnt haben, mehrere Elemente direkt gereinigt werden:
- versteckte Überschriften;
- Weiterleiten und Beantworten von Headern von wichtigen E-Mail-Clients
- Blockzitate von wichtigen E-Mail-Clients
Ist nicht viel, ist aber ein Anfang.
Sie können dies verbessern, indem Sie die Nachrichten nach Thread verketten und einen Diff-Algorithmus auf ähnliche Weise wie git für den Quellcode verwenden
E-Mail-Nachrichten haben versteckte Header, mit denen die Antworten verkettet und weitergeleitet werden können. Auf diese Weise können Sie ein gerichtetes Diagramm von Konversationen bereitstellen. Ich weiß nicht, wie zuverlässig dies ist, aber ich vermute, dass dies viele Gespräche zusammenfassen wird. Viele Listenserver verfügen über eine gut funktionierende "Thread" -Navigation, und ich vermute, dass sie die Nachrichten auf diese Weise verketten.
Sie können dies verbessern, indem Sie E-Mails aus derselben Quelle direkt vergleichen, um Signaturen zu isolieren
Automatisierte Signaturen sind in den meisten E-Mails derselben Quelle vorhanden. Nicht nur das, sondern auch Slogans und andere Dekorationen, die häufig von einem Autor verwendet werden. Durch den Vergleich mehrerer E-Mails derselben Person können diese Dekorationen gefunden und gedimmt werden, die für den Inhalt nicht von Bedeutung sind. Meine Intuition sagt mir, dass einige Anpassungen erforderlich sind, um die Dekoration am Anfang und Ende der E-Mail zu isolieren und häufige Ausdrücke im vom Autor verwendeten Text zu vermeiden.
Sie können dies verbessern, indem Sie die E-Mail direkt mit einer E-Mail-Datenbank vergleichen, um ähnliche Texte zu finden
Dies wird schwer zu entwickeln sein, kann sich jedoch als fantastisches Prüfungsinstrument erweisen.
Meine Intuition ist, dass es möglich ist, eine PostgreSQL-Datenbank-Volltextsuche zu verwenden, um eine angemessene Leistung zu erzielen, indem eine Nachricht aufgeteilt, die Nachrichten mit denselben Wörtern gefunden und verglichen werden.
[chunk 1][chunk 3][chunk 5][chunk 7]
[chunk 2][chunk 4][chunk 6]
chunk 1: 0-50; chunk 2: 25-75; chunk 3: 50-100 ...
Die Idee ist, die Wörter in einem Block aufzulisten, diejenigen zu identifizieren, die weniger verwendet werden, und die Datenbank nach den E-Mails abzufragen, die sie enthalten. Vergleichen Sie dann die E-Mails mithilfe eines Diff-Algorithmus, um festzustellen, welche Teile gleich sind.
Dies ermöglicht es, über die direkte Verkettung durch Nachrichten-ID hinauszugehen. Beispielsweise wird das Kopieren und Einfügen erkannt.
Hier ist jedoch eine gewisse Abstimmung erforderlich
Sie können den Abgleich mithilfe von Text Mining-Techniken verbessern
Standard-Text-Mining (wie in vielen Arbeiten beschrieben) umfasst einen Reinigungsschritt, bei dem der Text vereinfacht wird. Konnektiva werden aus dem Text entfernt (a, is und, oder usw.) und Wörter werden wie folgt transformiert (z. B. geändert, änderbar in änderbar). Dieser konvertierte Text ist nicht lesbar, aber für die Textübereinstimmung ist gut.
Bei einer solchen Bereinigung werden Übereinstimmungsprobleme eingegrenzt, die normalerweise auftreten, wenn die Person die E-Mail neu formatiert oder die E-Mail von HTML aus / in einfachen Text konvertiert wird. Dies verhindert auch einfache Rechtschreibkorrekturen, um die Kette zu brechen.
Fazit
Das ist ein cooles Problem. Mein Vorschlag basiert ausschließlich auf Intuition, ist ungetestet und bestenfalls spekulativ. Es ist der erste Weg, den ich zu erforschen beginnen würde, wenn ich ein solches Problem hätte. Ich glaube, dass dies schwierig zu entwickeln sein wird, aber möglicherweise ein leistungsfähiges Kommunikations- und Prüfungsinstrument ist.
Eine solche Lösung wird wahrscheinlich ein gutes E-Mail-Archiv ergeben. Wenn Sie die Nachrichten verketten und nur die Unterschiede und Blöcke speichern, haben Sie wahrscheinlich einen enormen Komprimierungsfaktor, der über alles hinausgeht, was ein Zip leisten kann.
Dies wäre auch ein leistungsstarkes Auditing-Tool. Es würde deutlich werden, wenn eine Person ein Blockzitat, eine Antwort oder eine Weiterleitung fälscht. Das geänderte Blockzitat wird als Originaltext identifiziert und von der Lösung nicht bereinigt.