Je veux écrire quelque chose qui prend une phrase et identifie chaque mot qu'elle contient et définit quelle partie du discours chaque mot est.
Par exemple
Bonjour tout le monde, je suis une phrase
retournerait ceci
verb noun, pronoun verb adjective noun
Idéalement, j'aimerais éventuellement aller un peu plus loin et prendre une phrase et lui faire comprendre par programme ce qu'il essaie d'interpréter et peut-être faire quelque chose à ce sujet.
Ma question est donc: quelqu'un a-t-il entendu parler de quelque chose comme ça?
Réponses:
C'est ce qu'on appelle le traitement du langage naturel et c'est un domaine immense et complexe. Quelque chose comme vous décrivez est une réalisation monumentale, et même les meilleures solutions, comme Watson , sont loin d'être parfaites.
Des choses comme ça le rendent difficile: "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo"
la source
Bien que fractionner une phrase et déterminer l'exactitude grammaticale tout en résolvant votre premier problème soit plus facile que votre deuxième problème, de nombreuses complexités comme les noms verbaux ou les gérondifs comme la natation, la programmation, etc. et d'autres subtilités de ce genre, c'est toujours un défi - Voir Morons ' répondre.
Mais votre deuxième problème - les gens ont fait d'énormes efforts pour trouver une solution parfaite, mais un algorithme "d'interprétation" vraiment parfait n'est pratiquement réalisable pour aucune langue naturelle comme l'anglais - il existe des variantes qui vont bousiller votre algorithme. Ce domaine - un hybride entre l'IA, l'informatique et la linguistique est connu sous le nom de PNL . Considérez ceci: même Google Translate n'est pas parfait pour "interpréter" des phrases.
Mais néanmoins, c'est un domaine très intéressant à essayer.
la source
Je pense que vous devriez commencer à lire cet article Wikipedia:
http://en.wikipedia.org/wiki/Part-of-speech_tagging
(c'est un domaine de recherche, ne vous attendez pas à une solution facile.)
la source
Une façon peu coûteuse de le faire serait de créer une base de données du dictionnaire (je suis presque certain que quelqu'un l'a fait).
Besoin de deux champs dans le tableau:
word
etusage
Transformez la phrase en un tableau de chaînes (chaque mot étant une chaîne) et indépendamment:
C'est une solution lourde, mais que j'ai utilisée dans le passé.
la source