Hace una semana tuve la suerte de asistir al FINTAL 2006, una conferencia centrada en temas de procesamiento de lenguaje natural. Entre los muchos e interesantes trabajos que allí se presentaron, a mi me llamo especialmente la atención uno referente a la selección de ads para weblogs personales.
El trabajo ha sido realizado por Gilad Mishne y Maarten de Rijke de la Universidad de Amsterdam, de hecho el nombre de Maarten de Rijke es bastante conocido dentro del ámbito de la IR.
Ellos parten de la idea de que un blog personal permite definir un perfil de usuario, no sólo de aquel que lo escribe sino de todo aquel que lo visita. A partir del análisis de este perfil se puede generar publicidad orientada al usuario mediante los típicos ads (es decir anuncios de texto dentro de una web).
Existe un trabajo previo muy interesante sobre este tema escrito por Ribero-Neto (el cual si no me equivoco está vinculado a Google) muy recomendable para todo aquel al que le interesen estos temas:
Berthier A. Ribeiro-Neto, Marco Cristo, Paulo Braz Golgher, Edleno Silva de Moura: Impedance coupling in content-targeted advertising. SIGIR 2005: 496-503
La propuesta de Mishne y de Rijke se basa en la combinación de distintas representaciones de un weblog. Estas representaciones son modeladas mediante una técnica estadística de representación del lenguaje llamada Language Model, la cual se ha utilizado bastante en IR en los últimos años. De alguna forma, podríamos decir que, en este caso, gracias a
los modelos del lenguaje se consigue modelizar los intereses de los usuarios del blog.
Los modelos del lenguaje son distribuciones de probabilidad sobre conjuntos de cadenas de caracteres. Por ejemplo, tenemos una palabra T, donde la probabilidad asignada a una cadena de caracteres es la probabilidad de generar esa misma cadena de caracteres a partir de un lenguaje dado, por ejemplo un documento de una colección Md. De esta forma, obtenemos la probabilidad de que el modelo de lenguaje de un documento Md genere la palabra que estamos usando P(T|Md). Esta medida nos puede servir para saber lo relevante que es un documento con respecto a una palabra dada, la cual podemos verla, por ejemplo, como una consulta a un buscador. De hecho este es el uso típico de los modelos de lenguage en IR.
La divergencia entre los modelos del lenguaje proporciona una forma elegante de construir un “perfil de información” de un documento dado, por ejemplo de un post, o de un conjunto de documentos, por ejemplo, de todos los post contenidos en una categoría del weblog. En el trabajo de Mishne y de Rijke, entre otros, se calculan modelos de lenguaje para cada uno de los post y para el conjunto total de todos los post de un weblog. Entonces, estos modelos son comparados, y se ordenan los términos de los modelos en función de los valores de divergencia asignados. De esta forma se obtienen los perfiles de información de cada post.
Los términos más destacados en cada perfil, es decir, aquellos términos con mayores valores de divergencia, son más indicativos del contenido de los posts ya que su uso en estos posts es mayor que en el resto de posts. Por ejemplo, si usamos este método con este post con respecto al resto de los que hay en ojobuscador, resaltaran las palabras “ads”,”weblog”,”modelo”,”lenguaje”.
A partir de este método los autores definen una serie de fuentes de información distintas, todas ellas típicas de los weblogs y que son de utilidad para la construcción del perfil mediante el uso de modelos de lenguaje. Estas fuentes son:
Sobre cada una de estas fuentes de información se genera un modelo de lenguaje de la forma descrita en los párrafos anteriores.
Los modelos generados sobre estas fuentes de información proporcionan una lista de términos ponderados donde el peso asignado a cada término es su valor de divergencia generado cuando se compara el texto usado para construir el modelo de lenguaje con una colección de blogs.
EL siguiente paso consiste en mezclar los distintos modelos generados a partir de las fuentes de información descritas. Para realizar esta tarea, los autores utilizan una aproximación basada en combinaciones lineales. Para estimar el peso de cada modelo, utilizan una combinación de métodos estáticos y métodos on-line. No me meto con ellos para no extenderme aún más, pero se pueden ver en el artículo y son bastante sencillos de entender.
Finalmente se realiza la asignación de ads. Para esto se usan técnicas clásicas de IR, de forma que se calcula la similitud entre los anuncios de los ads y los modelos que se han calculado sobre los posts del weblog. Para hacer esto, todos los ads deben ser indexados de forma que se puedan recuperar usando consultas. Estas consultas contendran los términos con pesos más altos generados por la combinación de los modelos de divergencia generados sobre las fuentes de información que hemos descrito más arriba.
Por poner un ejemplo de este último paso, imaginemos que tenemos un post cuyo modelo combinado ya hemos extraido. Lo unico que tenemos para asignarle sus anuncios automaticamente es usar el modelo combinado de ese post como consulta, usando los términos con mayor peso que hay en el modelo para componer esta consulta. Una vez hecho esto, se lanza la consulta contra nuestro índice de anuncios para recuperar aquellos ads que mejor se adaptan a ese post.
Con lo que he escrito aquí creo que se puede tener una idea general de que va el artículo, y de paso hacerse una idea de como funcionan servicios como adsense. Pero para el que se quiera meter más a fondo con este trabajo aquí tiene la referencia completa del artículo:
Gilad Mishne, Maarten de Rijke: Language Model Mixtures for Contextual Ad Placement in Personal Blogs. FinTAL 2006: 435-446 En Tapio Salakoski, Filip Ginter, Sampo Pyysalo, Tapio Pahikkala (Eds.): Advances in Natural Language Processing, 5th International Conference on NLP, FinTAL 2006, Turku, Finland, August 23-25, 2006, Proceedings. Lecture Notes in Computer Science 4139 Springer 2006, ISBN 3-540-37334-9
No se permite comentar.