Muchas veces nos hemos encontrado con la problemática de definir las palabras claves de un texto que hemos escrito, lo cual por muy fácil que parezca no siempre se realiza ni tampoco correctamente. De hecho, por ejemplo en los blogs, muchos blogueros no nos damos el trabajo de escribir palabras clave para cada entrada en el blog, lo cual de cierta forma nos hace perder ápices de lo que máquinas podrían concebir como “riqueza semántica” y por qué no, también los humanos.
Para estos casos (y para muchos otros con gran probabilidad de ser más importantes) es que Yahoo ha definido hace ya bastante tiempo un conjunto de APIs que permiten realizar extracción de términos clave dado un texto. Este servicio, denominado “Yahoo Terms Extraction” (desde ahora YTE), permite realizar este trabajo de forma limpia y rápida utilizando PHP, CURL y REST.
Utilización
YTE permite uso comercial y no comercial (ver condiciones), en este último caso se restringen las consultas a solo 5.000 diarias por IP, si se desea más información al respecto visitar este enlace.
Ejemplo de uso Yahoo Terms Extraction
Para probar esta potente API se ha desarrollado un pequeño ejemplo en donde se supone tenemos un blog al cual, para cada entrada, no se le han definido las palabras clave o keywords. La solución a este caso entonces será leer desde la base de dato cada registro de la tabla de “entradas”, tomar el texto de la entrada, calcular sus keywords y luego escribir el campo de keywords en la tabla de entradas.
Para utilizar esta aplicación es necesario obtener una YahooAppId desde aquí.
Para realizar esta labor se ha programado una clase llamada “KeywordsExtractor”, la cual es un Singleton que encapsula la llamada a YTE y devuelve un arreglo con los términos claves para un texto definido como parámetro. El código de la clase es el siguiente:
Para completar esta pequeña aplicación he implementado de manera rápida la rutina que lee y graba en la base de datos las keywords del texto de la entrada; el código es el siguiente:
Si alguien desea obtener el código lo dejo a continuación. ¿qué otra aplicación harías tú?





