La gran mayoría de los sistemas de recomendación usan Collaborative-Filtering (CF), una técnica donde grandes conjuntos de datos de preferencias de distintas personas contra un conjunto de ítems determinado (lo que se conoce como una matriz de preferencias). Los algoritmos CF usan la matriz de preferencia para sugerir nuevos ítems usando, por ejemplo, similitudes entre personas (es decir, si a Ud. le han gustado ítems similares a los ítems que le han gustado a la persona 712, entonces CF le sugerirá ítems que Ud. desconoce pero que le han gustado a la person 712).

En Tell-and-Show estamos usando un método distinto basados en descripciones textuales de los ítems junto con una métrica de preferencias entrenada específicamente. En general, es posible decidir si dos textos cortos significan lo mismo (usando, por ejemplo, tecnicas de embeddings de texto). Tell-and-Show da un paso más: nuestro modelo decide si dos descripciones de ítems serán ambas gustadas o no gustadas dadas sus diferencias en significado. Por ejemplo, si una persona ha indicado preferencias por ítems descritos como:

auto japonés azul

y tenemos un nuevo ítem descrito como

auto estadounidense azul

y otro descrito como

auto japonés verde
una distancia basadaen texto dirá que ambos textos son igualmente similares pero la métrica de preferencias de Tell-and-Show dirá que no lo son porque el color es menos importante que la procedencia (en el caso de los autos). Vea aquí para detalles técnicos.) Este modelo de preferencias está entrenado sobre preferencias enviadas por gente voluntaria tales como Ud.

Dado el modelo que produce vectores de preferencias a partir de descripciones textuales, es entonces posible mapear un conjunto grande de descripciones de ítems (e.g., Wikimedia Commons) y encontrar ítems centrales en el mapa. Las preferencias sobre dichos ítems de una persona constituyen entonces su perfil de preferencias. No son simplemente preferencias sobre ítems al azar, pero sobre ítems representativos de grandes clases y es por eso que pueden ser usados para rankear otros ítems más adelante.

Este perfil de preferencias es privado y creemos que debe ser mantenido de forma confidencial, sin ser compartido con terceros. Debe permanecer en los dispositivos electrónicos en todo momento.

Cuando es el momento de usar el perfil de preferencias, el servidor envía un grupo al azar de ítems (usando lo que denominamos API de Bucket) que luego el navegador web rankea dentro de la página usando el perfil de preferencias. Este ranking se calcula de la siguiente forma: los ítems más similares a los ítems que han sido gustados en el perfil de preferencia rankean más alto (y viceversa los ítems no gustados rankean más bajo). Otros rankings son posibles, permitiendole a Ud. cambiar el comportamiento de recomendaciones certeras a explorar nuevas posibilidades.