Ofertas Relacionadas – JáCotei Contextual

jacotei

Pus em teste um novo projeto meu. Trata-se do de um sistema para obter ofertas contextuais no JáCotei, ele funciona relacionando o conteúdo a ofertas da vitríne XML que o JáCotei disponibiliza.

Ele foi criado com base nas informações que o Janio passou no Lucrando na Rede, nos artigos sobre o JáCotei Contextual. O meu funciona de maneira bem semelhante ao dele.

Estou construindo o sistema de maneira modular, de maneira que a parte que realiza a atualização das ofertas funcione de maneira independente do “contextualizador”.

Periodicamente o sistema baixa os arquivos XML, fazer a leitura de cada um deles e adiciona as ofertas ao banco de dados MySQL. Este processo é agendado via cron-job, executado uma vez ao dia de madrugada, pois trata-se de um processo lento e que consume muito CPU.

A outra parte do sistema, relaciona um texto as ofertas do banco de dados. Em duas etapas básicas. A primeira analisa o texto e extrai keywords, estou trabalhando no extrator para ignorar termos comuns da língua portuguesa, hoje adicionei uma grande quantidade de termos manualmente, o resultado da extração não está nem perto do que eu quero, mais está razoável para uma fase de testes. A segunda parte é o fraco do sistema, uma consulta do tipo MATCH AGAINST no banco de dados, onde o MySQL relaciona os termos extraidos com as ofertas. Descobrir outros métodos e/ou otimizar essa etapa é o ponto mais importante para tornar as ofertas mais relevantes.

No final dos artigos é possível conferir uma lista de ofertas relacionadas. Como você pode ver, acontece na maioria das vezes das ofertas não terem relação nenhuma com o contexto. Isso por causa de alguma palavra irrelevante extraída pelo extrator de termos e/ou pela consulta do tipo MATCH AGAINST no MySQL, que parece não funcionar muito bem se não for com o inglês.

Ainda é necessário trabalhar muito. O sistema foi desenvolvido as pressas, portanto, ainda é extremamente experimental, mas tenho muitas expectativas.

Pretendo liberar o sistema em breve, mais na fase que está não tenho como de maneira alguma liberar.

Escreverei mais sobre isso no próximo artigo, onde vou deixar uma ferramenta pela web onde vocês vão poder testar a eficiência da extração de termos e das ofertas para aqueles termos.

Uma curiosidade: para este artigo em específico, a relevância das ofertas com o contexto está boa.

Nenhum artigo relacionado.

2 Comentários

  1. Janio Sarmento em 23/06/2007

    Diego.

    O MATCH AGAINST é um tiro no pé. Além de não devolver os resultados como a gente espera, é lento e caro (em termos de consumo de CPU).

    Minha solução é um pouco mais engenhosa, e o resultado final é mais razoável para minhas expectativas.

    Na verdade, eu faço assim: na hora de baixar os XMLs (de madrugada via cron) eu populo uma tabela auxiliar SÓ COM AS PALAVRAS-CHAVES de cada descrição. Ou seja, uso o mesmo algoritmo de extração de palavras do post para extrair as palavras da descrição do artigo.

    Depois, na hora de exibir o post, eu faço uma busca nessa tabela auxiliar (até mesmo um LIKE % já resolve, sem a sobrecarga do MATCH AGAINST).

    Como eu digo a todos os que têm me pedido o meu código, ele está amarrado demais em outros sistemas meus, e tem muita coisa exposta que não me permite divulgar, agora, para o mundo. Mas essas questões de algoritmos eu posso dividir as preocupações contigo. :)

    Abração, e parabéns pelo excelente trabalho.

  2. JáCotei Contextual - Teste o sistema | Blog do Diego em 26/06/2007

    [...] Não vou estender muito pois já escrevi horrores no artigo anterior. [...]


Deixe seu comentário

ATENÇÃO: Nenhum tipo de ofensa ou palavrão serão tolerados. Leia o texto antes de comentar, qualquer comentário que demonstre a não leitura do mesmo será rejeitado. O mesmo vale para textos com excesso de letras maiúsculas. Todos os comentários são enviados para moderação. Aprovar ou não um comentário é decisão do editor do blog.

Categorias

Copyright @ 2007 - 2009 - Todos os direitos reservados.