A maioria dos conjuntos de dados de código aberto está bem formatada, ou seja, cada mensagem de email é separada bem como o conjunto de dados da Enron. Mas, no mundo real, é altamente difícil separar uma mensagem de email principal de um segmento de emails.
Por exemplo, considere a mensagem abaixo.
Hi,
Can you offer me a better discount.
Thanks,
Mr.X
Customer Relations.
---- On Wed, 10 May 2017 04:05:16 -0700 [email protected] wrote ------
Hello Mr.X,
Does the below work out. Do let us know your thoughts.
Thanks,
Mr.Y
Sales Manager.
Agora, a razão pela qual queremos dividir os e-mails é porque queremos fazer uma análise de sentimentos. Quando não conseguirmos dividir o email, os resultados estarão errados.
Eu procurei e encontrei este artigo de pesquisa muito abrangente . Também foi encontrada uma implementação por mail gun chamada mail gun talon . Mas, infelizmente, não funciona bem para certos tipos de padrões.
Por exemplo, quando a segunda mensagem no segmento de email é interrompida como
---------- Forwarded message ----------
em vez do acima
---- On Wed, 10 May 2017 04:05:16 -0700 [email protected] wrote ------
Minha pergunta é que muitas pessoas que estão tentando fazer essas coisas definitivamente enfrentariam esses problemas, mas a área continua bastante sombria. Existe alguma implementação bastante sólida do documento ou outra coisa que divida o email muito bem.
Respostas:
Primeiro, você pode ler sobre o formato das mensagens de texto na Internet ARPA .
Você precisará analisar a Regex se quiser extrair qualquer informação significativa dos e-mails. Eu sugeriria o livro Oreilly sobre regex ou ler sobre expressões regulares .
Há também uma ferramenta para capturar texto de e-mails recebidos e gravar em um arquivo de texto .
fonte