2017-10-16 22 views
-4

Je dois créer un moteur de recherche dans mon application. Lorsque l'utilisateur tape par ex. "Achat 100 Blanc T-shirts Batman", il devrait ouvrir automatiquement la page avec les entrées remplies (Page Buy -> Article: T-shirt Batman, Quantité: 100, Couleur: Blanc).Suggestion de moteur de recherche - lien (formulaire complet)

En outre, si les types d'utilisateurs « Acheter », il devrait y avoir quelques suggestions comme « Acheter » ou similaire ..

je cherchais à accomplir que la PNL wit (Apache openNLP + langue anglaise), mais je peux » t le comprendre complètement. Toutes les suggestions, que dois-je utiliser et quelle approche dois-je prendre?

Répondre

2

il semble qu'il y ait 2 exigences différentes ici: l'un est une sorte de compréhension du langage naturel (NLU) de l'intention de l'utilisateur, en d'autres termes, vous voulez capturer lorsque l'utilisateur tape "acheter xxx yyy" il veut acheter "xxx morceaux de yyy et donc le conduire à la page appropriée avec toutes les informations pertinentes remplies (par exemple, un tableau de commerce électronique rempli de 100 t-shirts blancs). En dehors de cet exemple simple, ce n'est pas simple en général et Apache OpenNLP ne fournit pas de capacités NLU OOTB. Ce que OpenNLP peut fournir dans ce contexte est le tag POS, l'analyse syntaxique et les modèles NER pour: assigner des parties de discours à des jetons (acheter est un verbe, 100 est un nombre, blanc est un adjectif, etc.) construire un arbre d'analyse Recherchez les modèles VERB NUMBER NOUN PHRASE dans les requêtes, et ajoutez en plus des entités nommées qui reconnaissent les produits afin de pouvoir les ajouter directement au panier (par exemple, dans le cas d'utilisation du commerce électronique). Pour la deuxième exigence (suggestion), vous pouvez utiliser les capacités du modèle de langage OpenNLP.

Tous les outils ci-dessus sont décrits dans http://opennlp.apache.org/docs/1.8.2/manual/opennlp.html

+0

Merci. Je reçois la partie du texte de marquage, mais le nom peut être "t-shirt", "veste", "pantalon", etc, et je me demande comment le système va savoir lequel mettre dans le panier. Ai-je besoin de les définir tous ou il y a un autre moyen. Merci d'avance –