Pregunta

Tengo una base de datos de artículos que se indexarán por Lucene, clasificados por la etiqueta de los usuarios y el MAHOUT.Los artículos tendrán una cierta puntuación para etiquetar (el usuario puede estar de acuerdo o en desacuerdo con una etiqueta, las etiquetas descubiertas por Mahout se tratarán igual que las de los usuarios).

Quiero averiguar el interés del usuario (tal vez el interés de una etiqueta determinada) del perfil y el historial de interacción.

¿Cómo puedo almacenar el interés de los usuarios? ¿Y cómo puedo usar el interés de los usuarios para ordenar o filtrar en el resultado de búsqueda?

es posible mi enfoque?¿Factible?Escalable?
¿Qué tipo de técnicas y algoritmos que puedo usar?Por favor sugerir!

¿Fue útil?

Solución

Esto suena principalmente como un problema de búsqueda, no un problema de recomendación. Usted está clasificando y filtrando principalmente los resultados de búsqueda, según las etiquetas. Como tal, creo que Lucene es generalmente la herramienta para desplegar, no a Mahout. (Aunque el uso de clasificadores de Mahout para aprender las etiquetas es bastante correcto).

Si realmente desea imaginar esto como un problema de recomendación, podría decir que sus artículos son las etiquetas. En cualquier momento que interactúes con una etiqueta, como ver una página etiquetada X, Y y Z, entonces eso indica que está un poco más interesado en "Artículos" X, Y y Z. y luego el problema del recomendador aquí es sugerir nuevas etiquetas de interés.

Podría intentar usar un simple conteo de interacciones con una etiqueta como una "calificación" numérica, aunque creo que no dará excelentes resultados en un contexto de recomendación. Usar el registro del conteo es mejor, pero aún así se siente mal. Puede ignorar el recuento de interacción y simplemente usar el hecho de que el usuario y la etiqueta han interactuado, o no, "preferencias booleanas".

El modelo de algoritmo de recomendación que mejor coincide con esta entrada, que conozco, es el modelo de mínimos cuadrados alternativos que se ve en paraleloFactorizaciónJob. No sé si eso es útil para usted, pero ese es el algoritmo, investigaría si tiene tiempo e inclinación. Su entrada es más como una "fuerza de interacción", no una calificación, y lo trata de esa manera, y eso es lo que tiene aquí.

Otros consejos

Muchas veces es más fácil hacer que el usuario diga explícitamente a qué etiquetas están interesadas. Esto es lo que hace el desbordamiento de la pila, por ejemplo.Puede aumentar la puntuación por alguna cantidad si la etiqueta es la que están interesados.

Si quieres hacer algo más implícito, Mahout tiene una Preguntas frecuentes en la recomendación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top