Procurando por um aplicativo de recuperação de informação / texto de mineração ou biblioteca
Pergunta
Nós extrair várias informações de e-mails - voos, aluguel de carros, hotéis e muito mais. o método é extrair o corpo do e-mail, geralmente em forma de HTML, mas em algum momento ele de texto ou usamos a informação em um / Word / anexo em PDF RTF. Em seguida, aplicamos expressões regulares (por vezes em várias etapas), a fim de obter informações, que é fornecido em forma de tabela (você pode pensar em uma mesa de vôo, mesa de hotel, etc.). Observe, ainda que analisar HTML, isso não é web scraping.
Atualmente estamos usando o motor WebQL de QL2, mas nós estamos olhando para substituí-lo por razões de negócios. Você pode recomendar outro motor? Ele deve ser executado no Linux e ser acessível a partir de Java (a API Java seria o melhor, mas os serviços da Web são boa solução também). Ele também deve suportar expressões regulares para extração de texto e não apenas para ser com base na estrutura HTML.
Solução 3
Apenas queria atualização - a nossa decisão final foi para implementar a análise em Groovy , e para adicionar algum funcionalidade necessária (html para texto, pdf ao texto, espaço em branco limpo, etc.), quer pela implementação em Java ot por depender de bibliotecas 3o partido.
Outras dicas
Eu recomendo que você tem uma olhada R . Ele tem um extenso número de pacotes de mineração de texto: ter um olhar para o Processamento de Língua Natural ver . Em particular, olhar para o pacote tm
. Aqui estão alguns links relevantes:
- Paper sobre o pacote no Journal of Statistical Computing: http://www.jstatsoft.org/v25/i05/paper . O documento inclui um bom exemplo de uma análise da R-volvimento mailing list ( https://stat.ethz.ch/pipermail/r-devel/) newsgroup partir de 2006. homepage
- Pacote: http: //cran.r-project. org / web / packages / tm / index.html
- Olhe para a vinheta de introdução: http: // cran .R-project.org / web / packages / tm / vinhetas / tm.pdf
Além disso, R fornece muitas ferramentas para análise de HTML ou XML. Ter uma olhada esta pergunta para um exemplo usando os pacotes RCurl
e XML
.
Editar: Você pode integrar R com Java com JRI . É um pacote muito utilizado, com muitos exemplos. Você também pode ver essas perguntas relacionadas .
Eu uso um analisador personalizado feito com Flex e C ++ para fins semelhantes. Eu sugiro que você dê uma olhada em geradores de analisador em Java (arquivos JavaCC .jj) javacc-faq Nutch faz isso dessa maneira. (NutchAnalysis.jj)