アプリケーションがコメントを返信したり、ToDoを追加したりするためにメールを送信することを許可している場合、さまざまな標準が存在するため、関連するテキストだけのためにメールをトリミングすることが問題になります。多くの場合、次のようなものが表示されます。
ジョー、こんにちは。いつ町に戻るか教えてください。
投稿者ボブ、30分前13日に戻ります。
-
今後ともよろしくお願いいたします。
ジョセフRロバーツ
シニアパートナーこの通信は機密情報であり、Whatever Law Firmの所有物です。
Joeによる投稿、10秒前
署名はおそらく取り除くのが最も難しく、引用されたテキストが最も簡単です。トリミングの包括的な戦略は多面的であり、理想的には学習になると思います。私は良いシステムがすべきだと思います:
これを達成するためにシステムはどのような手順を踏む必要がありますか?また、システムが認識すべき落とし穴は何ですか?
この回答 は、同様の質問に対する有用な回答の良い例です
適切にフォーマットされたシグニチャーは、その前にある '-'(ダッシュとダッシュのスペース)の行で簡単に識別できます。多くを見つける幸運。ネチケットは署名が3行以下であることを要求しますが、多くの組織はこれをはるかに超える標準の署名と免責事項を持っています。
適切にフォーマットされた引用テキストは、1つ以上の「>」文字で始まります。これは、データを抽出する本文のプレーンテキストコピーがあることを前提としています。
HTML形式のメッセージには、CSSスタイルが設定されている場合があります。
普通、アイレーザーで行うのと同じように、メールをトリミングできます。引用部分と署名は無視してください。
ただし、トリミングが失敗した場合に備えて、必ずコピーを保存してください。または、お客様に最初に数通のメールを切り取らせ、その習慣を順守させることもできます。
どんなに注意深く、思いやりがあっても、私はすべての電子メールが整えられた財産であることを確認する方法はないと思います。手動で書かれたいくつかの奇妙なものが切り取られます。
(または、電子メールの記述方法を変更できます。実際に入力するか、コピーして貼り付けて保存する間にマークを付けます。ただし、この変更には時間がかかる場合があります...)
応答には、引用符、前後、または引用符が混在したテキストを含めることができます。場合によっては、あなたが言及したように、いくつかの要素を直接クリーンアップすることができます:
それほどではありませんが、出発点です。
電子メールメッセージには、返信を転送して転送するために使用できる非表示のヘッダーがあります。これを使用すると、会話の有向グラフをマウントできます。これがどれほど信頼できるかはわかりませんが、多くの会話がグループ化されると思います。多くのリストサーバーには「スレッド」ナビゲーションがあり、うまく機能しているので、メッセージがそのようにチェーンされていると思います。
自動署名は、同じソースからのほとんどの電子メールに存在します。それだけでなく、作者がよく使用するキャッチフレーズやその他の装飾。同じ人物からの複数の電子メールを比較することにより、それらの装飾が見つかり、コンテンツにとって重要ではない淡色表示になります。私の直感は、電子メールの最初と最後の装飾を分離し、作者が使用するテキストの一般的な表現を避けるために、いくらかの調整が必要になることを教えてくれます。
これは開発が難しくなりますが、素晴らしい監査ツールになる可能性があります。
私の直感は、メッセージをチャンク化し、同じ単語を含むメッセージを見つけて比較することにより、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ができること以上の巨大な圧縮係数が得られるでしょう。
また、これは強力な監査ツールになります。これは、ブロッククォート、返信、または転送を偽造した場合に明らかになります。変更されたブロック引用は元のテキストとして識別され、ソリューションによって削除されません。
客観的な真実は、ここでそれを行う安全な方法はないということです-一般的な電子メール/ディスカッションのためではありません。
解析したいメールが常にいくつかの厳格なルールに従っている場合は、運が良いかもしれません。
電子メールが任意の電子メールクライアントを使用しているだれからでも送信される可能性がある場合、常に適切なデータを捨ててゴミを残すリスクに遭遇します。
シグネチャ:完全に欠落しているものから非常に簡潔なものまで、複雑なスクリプトやアニメーションが含まれているものまで、すべての形式と形状があります。
「ヘッダー」と「フッター」もあらゆる種類のコンテンツ/キーワードを持つことができます。
「最善」とは:最初のメールに質問のリストが含まれている場合、新しいメールの回答は古いメールの行とインターレースされて実際に編集されるのが習慣です。