ソフトウェアの電子メールクライアントと人間は電子メールの部分に便利な方法でタグを付けるので、電子メールの迷惑メールを簡単に消去することはできませんが、メッセージを消去するには、まず次のようにします。
応答には、引用符、前後、またはブロック引用符が混在したテキストを含めることができます。場合によっては、あなたが言及したように、いくつかの要素を直接クリーンアップすることができます:
- 非表示のヘッダー。
- 主要な電子メールクライアントからのヘッダーの転送と返信
- 主要な電子メールクライアントからの引用
それほどではありませんが、出発点です。
これを改善するには、メッセージをスレッドごとにチェーンし、gitがソースコードに対して行うのと同様の方法でdiffアルゴリズムを使用します。
電子メールメッセージには、返信をチェーンして転送するために使用できる非表示のヘッダーがあります。これを使用すると、会話の有向グラフをマウントできます。これがどれほど信頼できるかはわかりませんが、多くの会話がグループ化されると思います。多くのリストサーバーには「スレッド」ナビゲーションがあり、うまく機能します。メッセージがそのようにチェーンされていると思います。
同じソースからの電子メールを直接比較して署名を分離することにより、これを改善できます。
自動署名は、同じソースからのほとんどの電子メールに存在します。それだけでなく、作者がよく使用するキャッチフレーズやその他の装飾。同じ人物からの複数の電子メールを比較することにより、それらの装飾が見つかり、コンテンツにとって重要ではない淡色表示になります。私の直感は、電子メールの最初と最後の装飾を分離し、作者が使用するテキストの一般的な表現を避けるために、いくらかの調整が必要になることを教えてくれます。
これを改善するには、電子メールを電子メールデータベースと直接比較して、類似のテキストを見つけます。
これは開発が難しくなりますが、素晴らしい監査ツールになる可能性があります。
私の直感は、メッセージをチャンク化し、同じ単語を持つメッセージを見つけ、それらを比較することにより、PostgreSQLデータベースの全文検索を使用して、それに適切なパフォーマンスを与えることができるということです。
[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 ...
アイデアは、単語をチャンクにリストし、使用頻度の低い単語を特定し、それらを含む電子メールをデータベースに問い合わせることです。次に、比較アルゴリズムを使用して電子メールを比較し、どの部分が等しいかを確認します。
これにより、メッセージIDによる直接チェーンを超えることができます。たとえば、コピーアンドペーストを認識します。
ただし、ここでは多少の調整が必要になります
テキストマイニング技術を使用してマッチングを改善できます
標準的なテキストマイニング(多くの論文で説明されています)には、テキストが簡略化されている場所をクリーニングするステップが含まれています。結合詞はテキストから削除され(a、is、and、orなど)、単語は次のように変換されます(たとえば、変更された、変更可能に変更された)。この変換されたテキストは判読できませんが、テキストマッチングには適しています。
このようなクリーニングを行うと、ユーザーがメールを再フォーマットしたとき、またはメールがHTMLからプレーンテキストに変換されたときに通常発生する一致の問題が特定されます。これにより、チェーンを切断するための単純なスペル修正も防止されます。
結論
これはクールな問題です。私の提案は純粋に直感に基づいており、テストされておらず、せいぜい投機的です。これがこのような問題に直面した場合、私が研究を始める最初の道です。これは開発が難しいと思いますが、強力なコミュニケーションと監査のツールになるかもしれません。
このようなソリューションは、おそらく良い電子メールアーカイブを作成します。メッセージをチェーンし、diffとチャンクのみを保存することにより、zipが実行できるものを超える巨大な圧縮係数が得られるでしょう。
また、これは強力な監査ツールになります。これは、ブロッククォート、返信、または転送を偽造した場合に明らかになります。変更されたブロック引用は元のテキストとして識別され、ソリューションによって削除されません。