14 fev 2006
Mais ML Contextual

Fogão Continental Incanto Perfetto 4B Bege

Refrigerador Continental RC 27 Branco

No artigo MercadoSócios contextual comentei acerca dos meus esforços em prover um meio de contextualizar os anúncios do Mercado Livre numa página, com o objetivo de aumentar sua relevância, o que acaba por implicar um valor extra à página, e talvez represente a diferença entre um visitante que clica nos banners ou não.
Seguindo a sugestão do Kenji dei uma pesquisada na Y! API|, e com a ajuda do próprio buscador do Yahoo! acabei encontrando o artigo Yahoo Keyword Extractor, que deu a base para a criação da nova versão alfa do script.
Tive de aplicar mais umas gambiarras, digo, adequações técnicas de emergência, mas o fato é que até eu fiquei admirado com os resultados obtidos (meu benchmark são os próprios anúncios do Adsense: se os produtos anunciados no meu banner tiverem correlação com os anunciados no do Google, então meu algoritmo até que está indo bem).
Em primeiro lugar, a API do Google espera receber por POST um texto, e não páginas HTML. O primeiro teste que fiz foi desastroso, pois todas as palavras chaves identificadas eram tags e nomes de variáveis do JavaScript. Como tenho no Host a ferramenta HTML2Text, fiz um esqueminha que quando a página é nova no banco de dados faz o resgate de seu conteúdo do local original, extrai as meta keywords, converte a página para texto, e a partir deste texto as palavras chaves são extraídas pelo Yahoo!.
Antes de submeter o texto ao Yahoo! uma limpeza deve ser feita: as palavras mais comuns são eliminadas do texto (”de”, “do”, “da”, “eu”, “sua”, etc.) porque, como alertou o Kenji, o Yahoo! se perde um pouco com palavras em Português.
A razão pela qual as meta keywords são levadas em consideração é simples: nenhum algoritmo poderá substituir seu hemisfério direito ao escolher palavras-chave para caracterizar um texto. Logo, achei por bem dar a chance do autor da página escolher o que vai ou não aparecer. Assim, caso haja meta keywords na página em questão, o script as considerará, exclusivamente. Caso não haja, o script procurará pelas palavras-chave, usando a API do Yahoo.
Outro detalhe importante: apenas as três primeiras palavras-chave são consideradas para fazer a busca no Mercado Livre, pois mais do que este número retorna resultados vazios, com erro.
Há várias pendências no script ainda:
- O único formato disponível é o skyscrapper, por ora;
- Preciso ver como é a questão dos créditos, pois em algum lugar tenho de por a string “Yahoo! Powered”;
- Caso o resultado da busca no ML retorne menos de cinco resultados, ficam uns espaços vazios horrorosos no banner;
- Não está sendo possível personalizar nada “por fora”;
- O dicionário de termos a serem excluídos do algoritmo precisa de muito trabalho ainda;
Tem mais pendências, mas considerando que são duas da manhã, e às sete tenho de estar a postos para mais uma jornada em meu emprego formal, vou parando por aqui.
As instruções de uso, caso alguém queira experimentar, permanecem as mesmas (ver o outro artigo, citado no início desta página, para instruções mais detalhadas).
Textos possivelmente relacionados
[...] Tenho bastante dados colhidos, mais de duas centenas de páginas indexadas. A partir destes dados vou refinar meu algoritmo de identificação de palavras-chave (ver artigo Mais ML Contextual). [...]