¿Podemos construir aplicaciones web con algoritmos de aprendizaje automático Apache Mahout?

No lo he hecho, pero lo he pensado: mantendría la aplicación web y Mahout separadas, y usaría MySQLJDBCDataModel (o similar) para extraer datos de la base de datos de la aplicación web y exponer recomendaciones sobre una API JSON para consumo ya sea por el backend de la aplicación web o directamente desde el frontend. Esto tiene las siguientes ventajas:

  • Las máquinas para la aplicación web y Mahout podrían tener diferentes configuraciones de hardware. También podría emplear diferentes estrategias de escala.
  • La falla del sistema de recomendación no derribaría su aplicación web, si la aplicación web pudiera permitirse no tener buenas recomendaciones y se programó correctamente.
  • Esto es probablemente bastante trivial, pero podría escribir su aplicación web no en Java. Cualquier idioma que elija probablemente admitirá JSON y HTTP.

Se podría usar una opción más eficiente si solo consume la API desde el backend, por ejemplo, algo como ZeroMQ. También trataría de almacenar en caché donde sea apropiado.