Wie kann man E-Mails nur für den Körper zuschneiden, wenn man E-Mails als Eingabe für ein externes System verwendet?

8

Wenn eine Anwendung das Senden von E-Mails an sie ermöglicht, um entweder auf Kommentare zu antworten oder Aufgaben hinzuzufügen, wird das Zuschneiden dieser E-Mails nur für den relevanten Text zu einem Problem, da es viele verschiedene Standards gibt. Oft werden Sie solche Dinge sehen:

Hey Joe, schön von dir zu hören. Lass es mich wissen, wenn du wieder in der Stadt bist.
Gepostet von Bob, vor 30 Minuten


Ich werde am 13. zurück sein.

-
Mit freundlichen Grüßen
Joseph R. Roberts
Senior Partner

Diese Mitteilung ist vertraulich und Eigentum der Anwaltskanzlei Whatever.
Gepostet von Joe, vor 10 Sekunden

Unterschriften sind wahrscheinlich am schwierigsten zu entfernen, und zitierter Text am einfachsten. Ich stelle mir vor, dass jede umfassende Strategie zum Trimmen vielschichtig und im Idealfall lernfähig sein wird. Ich denke, ein gutes System sollte:

  1. Zitierten Körper entfernen
  2. Entfernen Sie Anführungszeichen ("Am 15. Oktober schrieb Joe:")
  3. Unterschriften entfernen
  4. Behalten Sie alles bei, was manuell eingegeben wurde.

Welche Schritte müsste ein System unternehmen, um dies zu erreichen, und welche Fallstricke sollte es beachten?


Diese Antwort ist ein gutes Beispiel für eine nützliche Antwort auf eine ähnliche Frage

Nicole
quelle
Seien Sie vorsichtig beim Entfernen der tatsächlichen Informationen während des Parsens, da dadurch der Kontext entfernt wird. Markieren / Indexieren Sie Zeilen möglicherweise besser als verworfen, anstatt sie zu entfernen.
Carlo Kuip
Es gibt ein ungeschriebenes Standard-Signaturtrennzeichen, das aus zwei Bindestrichen und einem Leerzeichen in einer Zeile besteht.
Blrfl
Zwei Bindestriche bedeuten dies jedoch nicht immer, z. B. wenn der Absender etwas aufteilen möchte, die zweite Hälfte jedoch nicht mehr angezeigt wird. Das tut weh ...
Erica Xu
1
Die „-“ wird verwendet, weil eMail - Software in der Regel verwirft nachfolgende Leerzeichen, so dass es sollte nur als .sig Trennzeichen auftreten. Wie bei HTML und MIME im Allgemeinen, YMMV, aber ich bin in der Praxis nicht auf zufällige Vorkommnisse gestoßen. Unter anderem führen Evolution und Google Mail das "-" Parsen durch.
BRPocock

Antworten:

2

Richtig formatierte Signaturen sind leicht an der vorangestellten Zeile '-' (Bindestrich) zu erkennen. Viel Glück beim Finden vieler. Obwohl für die Netiquette nicht mehr als drei Zeilen erforderlich sind, haben viele Organisationen Standardsignaturen und Haftungsausschlüsse, die weit darüber hinausgehen.

Richtig formatierter Text in Anführungszeichen beginnt mit einem oder mehreren '>' Zeichen. Dies setzt voraus, dass Sie über eine Nur-Text-Kopie des Körpers verfügen, aus dem Sie Daten extrahieren können.

HTML-formatierte Nachrichten haben möglicherweise ein CSS-Design, mit dem Sie das tun können, was Sie möchten.

BillThor
quelle
1

Sie können die E-Mail einfach zuschneiden, wie es die Leute normalerweise mit ihren Augenlasern tun. Zitierte Teile und Unterschrift ignorieren.

Stellen Sie jedoch sicher, dass Sie eine Kopie speichern, falls der Zuschnitt fehlschlägt. Oder Sie lassen den Kunden zuerst ein paar E-Mails schneiden und seinen Gewohnheiten folgen.

So sorgfältig und rücksichtsvoll ich auch sein mag, ich glaube nicht, dass es eine Möglichkeit gibt, sicherzustellen, dass alle E-Mails beschnitten sind. Einige seltsame Dinge, die manuell geschrieben wurden, werden abgeschnitten.

(Oder Sie können die Art und Weise ändern, wie E-Mails geschrieben werden - machen Sie Markierungen, während Benutzer diese Teile tatsächlich eingeben oder kopieren und einfügen und beibehalten. Diese Änderung kann jedoch lange dauern ...)

Erica Xu
quelle
1

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.

Lucas
quelle
0

Die objektive Wahrheit ist, dass dies hier kein sicherer Weg ist - nicht für generische E-Mails / Diskussionen.

WENN die E-Mails, die Sie IMMER analysieren möchten, strengen Regeln folgen, haben Sie möglicherweise Glück.

WENN die E-Mails von jemandem kommen können, der einen E-Mail-Client verwendet, laufen Sie immer Gefahr, gute Daten wegzuwerfen und Müll aufzubewahren.

Signaturen: Sie kommen in allen Formen und Formen vor, von völlig fehlenden bis zu sehr kurzen, um komplexe Skripte und Animationen zu enthalten.

"Kopf- und Fußzeilen" können auch alle Arten von Inhalten / Schlüsselwörtern enthalten.

Was ist "am besten": Es ist eine Gewohnheit, dass, wenn die erste E-Mail eine Liste von Fragen enthält, die Antworten in der neuen E-Mail tatsächlich interlaced mit den Zeilen der alten E-Mail bearbeitet werden.

Virolino
quelle