何年も前にメンバーだったメーリングリストを見つける目的で、メールの件名の長いリストをダウンロードしていて、Gmailアカウントからそれらを削除したいと思っています(かなり遅くなっています)。
私は特に同じアドレスから来ることが多いニュースレターを考えており、件名に製品/サービス/グループの名前を繰り返しています。
特定の電子メールアドレスからのアイテムの一般的な出現によって検索/並べ替えることができることは知っていますが(そして私はそうするつもりです)、そのデータを繰り返しの件名と関連付けたいと思います...。
これで、多くの件名が文字列の一致に失敗しますが、「Google Friends:最新ニュース」「GoogleFriends:今日行っていること」は、ランダムな件名よりも互いに似ています。「VirginAirlinesは今日の素晴らしいセール」「ヴァージン航空で飛行機に乗る」
だから-どうすればもっと似ているかもしれない文字列の傾向/例を自動的に抽出し始めることができますか?
私が検討して破棄したアプローチ(「もっと良い方法があるはずだから」):
- 可能なすべての部分文字列を抽出し、それらが表示される頻度で並べ替え、関連する部分文字列を手動で選択します
- 最初の1つまたは2つの単語を取り除き、各サブ文字列の出現をカウントします
- エントリ間のレーベンシュタイン距離の比較
- ある種の文字列類似性インデックス..。
これらのほとんどは、膨大な量の手動介入が必要となるという非常に非効率的または可能性があるために拒否されました。ある種のあいまい文字列マッチングが必要だと思います。
結局、これを行うための厄介な方法を考えることができますが、より一般的なものを探しているので、このデータセットの特別なケーシングではなく、ツールのセットに追加しました。
この後、特定の件名文字列の発生を「From」アドレスと照合します-2つのメッセージが同じ電子メールの一部である可能性/低いことを表すデータ構造を構築する良い方法があるかどうかはわかりませんリスト」またはすべての電子メールの件名/アドレスから「関連する」可能性のある電子メールのプールにフィルタリングしますが、これはこの後解決する問題です。
任意のガイダンスをいただければ幸いです。