Un étiqueteur de partie du discours affecte des étiquettes aux mots dans le texte d'entrée. Par exemple, le populaire jeu de tags Penn Treebank comporte quelque 40 étiquettes, telles que «nom pluriel», «adjectif comparatif», «verbe passé», etc. Le tagger résout également certaines ambiguïtés. Par exemple, de nombreuses formes de mots anglais peuvent être des noms ou des verbes, mais dans le contexte des autres mots, leur partie du discours est sans ambiguïté. Ainsi, après avoir annoté votre texte avec des balises POS, vous pouvez répondre à des questions comme: combien de noms dois-je ?, combien de phrases ne contiennent pas un verbe ?, etc.
Pour une chatbot, vous devez évidemment beaucoup plus cette. Vous devez comprendre les sujets et les objets dans le texte, et le verbe (prédicat) auquel ils s'attachent; vous devez résoudre anaphores (ce qui fait un individu il ou elle le point à), quelle est la portée de la négation et de quantificateurs (par exemple tous les , plus de 3), etc.
Idéalement, vous devez mapper le texte d'entrée dans une représentation logique (telle que la logique du premier ordre), ce qui vous permettrait de raisonner pour déterminer si deux phrases sont équivalentes, ou dans une relation d'implication, etc
un POS-tagger cartographierait la phrase
Mary likes no man who owns a cat.
à une telle structure
Mary/NNP likes/VBZ no/DT man/NN who/WP owns/VBZ a/DT cat/NN ./.
vous préférez besoin de quelque chose comme ceci:
SubClassOf(
ObjectIntersectionOf(
Class(:man)
ObjectSomeValuesFrom(
ObjectProperty(:own)
Class(:cat)
)
)
ObjectComplementOf(
ObjectSomeValuesFrom(
ObjectInverseOf(ObjectProperty(:like))
ObjectOneOf(
NamedIndividual(:Mary)
)
)
)
)
Bien sûr, alors que POS-Tagger obtenir des valeurs de précision et de rappel de près de 100%, plus complexe le traitement automatique sera bien pire.
Une bonne bibliothèque Java pour NLP est LingPipe.Cependant, il ne va pas beaucoup au-delà du marquage POS, du découpage et de la reconnaissance d'entités nommées.
"vous préférez quelque chose comme ceci:" Dans votre message, quelle est la syntaxe et qu'est-ce que vous êtes décrivant. –
Ceci est OWL 2 (voir: http://www.w3.org/2007/OWL/wiki/Syntax). OWL est un fragment de la logique du premier ordre. Dans le contexte de cette réponse, il s'agit simplement d'un exemple de format dans lequel on pourrait convertir des phrases en langage naturel, pour obtenir une capacité de raisonnement automatique en retour. – Kaarel
Entre un étiqueteur POS et l'extrait logique d'une phrase, il y a une étape intermédiaire d'un analyseur, par exemple un analyseur de diagramme, qui effectue la segmentation des mots étiquetés POS. Et puis, pour extraire la forme logique, nous devons déterminer les dépendances d'arguments. Et plus tard, un peu de traitement logique. –