2016-12-22 1 views
-2

Je suis plutôt nouveau sur les moteurs de recherche et très novice en matière d'apprentissage automatique. Mais je voulais savoir s'il y avait un moyen de combiner les fonctionnalités des moteurs de recherche comme l'analyse élastique ou Apache Solr et le projet d'apprentissage automatique comme Apache Mahout, H2O ou PredictionIO. Par exemple, si vous travaillez sur un site Web de voyage où vous pouvez rechercher une destination. Vous commencez par taper "au", donc les premières suggestions sont "AUstria", "AUstralia", "mAUrice island", "mAUritania" ... etc ... C'est typiquement ce que elasticsearch peut faire.Combiner le moteur de recherche et l'apprentissage automatique

Mais vous savez que cet utilisateur a déjà voyagé en Mauritanie trois fois, vous voulez donc que la Mauritanie passe à la première place des suggestions. Et je suppose que c'est typiquement ce que l'apprentissage automatique peut faire.

Y a-t-il des passerelles entre ces deux types de technologies? L'apprentissage automatique peut-il assurer efficacement le travail du moteur de recherche?

Je suis ouvert à toutes les réponses, quelles que soient les technologies utilisées. Si vous avez déjà connu ce type de problèmes, mes oreilles sont grandes ouvertes :-)

Merci

+3

Je pense que c'est un sujet intéressant, qui sera fermé comme étant trop large. Peut-être que vous pouvez le supprimer et essayer une nouvelle question qui se concentre uniquement sur le problème que vous souhaitez résoudre. Par exemple. comment améliorer elasticsearch étant donné que nous connaissons des informations contextuelles sur l'utilisateur? Ou commencez avec la technologie: comment utiliser H2O pour ordonner intelligemment les suggestions de recherche renvoyées par un moteur de recherche. –

Répondre

1

Votre question est très générale nature- donc ma réponse devra être le même. Considérons un cadre de recommandation tel que celui d'Apache Mahout correlated co-occurance. À la différence du recommandeur d'étincelle de vanille, cette implémentation permet plusieurs types d'actions, tels que consulter un site Web, réserver un voyage, informations démographiques, etc.

Maintenant, vous pouvez calculer les recommandations pour chaque utilisateur quel que soit l'intervalle. Les recommandations sont basées sur plusieurs critères et sur ce que d'autres personnes similaires à cet utilisateur ont fait. Considérez vos «articles» dans ce cas pour être chaque destination dans le monde. Nous avons donc toutes les destinations possibles pour chaque utilisateur.

Il s'agit alors d'une extension triviale pour indexer la recherche élastique par l'utilisateur/la liste ordonnée des destinations recommandées par les utilisateurs. Par exemple, nous avons un utilisateur qui a visité Berlin, visité plusieurs hôtels à Vienne et est originaire de Romainia. Lorsque l'utilisateur tape "au", on s'attend à voir "Autriche" apparaître dans les résultats beaucoup plus haut que 'Austrailia'

Par les commentaires et les votes vers le bas - vous devriez probablement avoir A) a demandé un plus spécifique question de programmation ou B) a posé cette question sur un autre forum tel que Data Science Stack Exchange, fyi