41 votes

Quels sont les bons points de départ pour une personne intéressée par le traitement du langage naturel?

Question

J'ai donc récemment est venu avec de nouvelles possible des projets qui pourraient avoir à traiter avec dérivant le "sens" du texte soumis et généré par les utilisateurs.

Traitement de la langue naturelle est le domaine qui traite de ces sortes de questions, et après quelques recherches, j'ai trouvé le OpenNLP Hub et de l'université de collaborations comme le attempto projet. Et stackoverflow a cette.

Si quelqu'un pouvait me lier à quelques bonnes ressources, de la recherche de papiers et de introductionary textes à l'api, je serais la plus heureuse de 6 ans enfant de l'ouverture de ses cadeaux de noël!

Mise à jour

Par le biais de l'une de vos recommandations, j'ai trouvé opencyc ("le plus grand du monde et le plus complet des connaissances générales de base et de bon sens raisonnement moteur"). Encore plus étonnant encore, il y a un projet qui est une version distillée de opencyc appelé OMBELLE. Il dispose de la sémantique des données en rdf/owl/skos n3 syntaxe.

J'ai aussi tombé sur antlr, un analyseur générateur pour 'la construction de modules de reconnaissance, des interprètes, des compilateurs et des traducteurs de descriptions grammaticales'.

Et il y a une question sur ici par moi, qui liste des tonnes de libre et de l'open data.

Grâce stackoverflow de la communauté!

28voto

Aleksandar Dimitrov Points 4862

Difficile d'appel, la PNL est un champ beaucoup plus large que la plupart des gens pensent qu'il est. Fondamentalement, la langue peut être divisé en plusieurs catégories, ce qui vous obligera à apprendre des choses totalement différentes.

Avant de commencer, permettez-moi de vous dire que je doute que vous aurez tout succès (en tant que professionnel, au moins) sans avoir un diplôme dans certains (très proche) de champ. Il y a beaucoup de théorie, plus de il est sec trucs et difficile à apprendre. Vous aurez besoin de beaucoup d'endurance et la plupart de tous: le temps.

Si vous êtes intéressé à la signification d'un texte, eh bien, c'est la Prochaine Grande Chose. Sémantique des moteurs de recherche sont prévus comme l'amorce de Web 3.0, mais nous sommes loin de la " il " mais. L'extraction de la logique à partir d'un texte dépend de plusieurs étapes:

  • La Segmentation, Chunking
  • L'ambiguïté sur un niveau lexical (le Temps vole comme une flèche, mais les mouches des fruits comme la banane.)
  • L'Analyse Syntaxique
  • L'analyse morphologique (tendue, l'aspect, la cas, le nombre, la chose)

Une petite liste, sur le dessus de ma tête. Il y a plus :-), et beaucoup plus de détails à chaque point. Par exemple, quand je dis "analyse", c'est quoi? Il existe de nombreux différents d'analyse des algorithmes, et il y a de tout comme de nombreux formalismes d'analyse. Parmi les plus puissants sont d'Arbres adjacents de la grammaire et de la Head-driven phrase structure grammar. Mais deux d'entre eux sont à peine utilisés dans le domaine (pour l'instant). Habituellement, vous aurez à traiter avec un demi-cuite approche générative, et aura à conduire l'analyse morphologique de vous-même.

Aller à partir de là à la sémantique est un grand pas. Une Syntaxe/Sémantique de l'interface est la personne à charge à la fois, sur la syntaxe et la sémantique cadre employé, et il n'existe pas de solution de travail encore. Sur la sémantique côté, il y a le classique de la sémantique générative, puis il y a le Discours Théorie de la Représentation, sémantique dynamique, et beaucoup plus. Même la logique du formalisme tout est basé sur l'est pas encore bien défini. Certains disent que l'on devrait utiliser la logique du premier ordre, mais cela ne semble guère suffisant, alors il est logique intensionnelle, utilisé par Montague, mais qui semble trop complexe, et mathématiquement impossible. Il y a aussi une logique dynamique (Groenendijk et Stokhof ont été les pionniers de ce genre de choses. Très joli!) et très récemment, cet été, en fait, Jeroen Groenendijk présenté un nouveau formalisme, Curieux de la Sémantique, est aussi très intéressant.

Si vous souhaitez obtenir commencé sur un niveau simple, lire Blackburn et Bos (2005), c'est un truc très, et le gouvernement de facto introduction au Calcul de la Sémantique! J'ai récemment étendu leur système de couverture de la partition-la théorie de questions (questions-réponses est une bête!), proposé par Groenendijk et Stokhof (1982), mais malheureusement, la théorie a une complexité de O(n2) sur le domaine de particuliers. En faisant de la sorte, j'ai trouvé B&B à la mise en œuvre pour être un peu, heu... hackish, à des endroits. Pourtant, il va vraiment vous aider à plonger dans le calcul de la sémantique, et c'est encore un très impressionnante vitrine de ce qui peut être fait. Aussi, ils méritent extra cool-points pour la mise en œuvre d'une grammaire, qui est réglé dans Pulp Fiction (le film).

Et pendant que j'y suis, ramasser Prolog. Beaucoup de recherches dans le calcul de la sémantique est basée sur Prolog. Apprendre Prolog Maintenant! est une bonne intro. Je peux aussi recommander "L'Art de Prologue" et Covington du "Prologue de la Programmation en Profondeur" et "Traitement du Langage Naturel pour Prolog Programmeurs", l'ancien qui est disponible gratuitement en ligne.

4voto

unhammer Points 646

Si vous obtenez par le biais du Prologue jusqu'à ce que le DCG chapitre en Apprendre Prolog Maintenant! mentionné par M. Dimitrov ci-dessus, vous aurez un bon début à l'obtention de certains sémantique dans votre système, depuis le Prologue vous donne un moyen très simple de maintenir une base de données de la connaissance et de la croyance, qui peut être mise à jour par le biais de question-réponse.

En ce qui concerne la littérature, j'ai une grande recommandation pour vous: courir acheter de la Parole et de Traitement de la Langue par Jurafsky & Martin. Il est à peu près le livre sur la PNL (le premier chapitre est disponible en ligne); employé dans un frillion les cours de l'université, mais aussi très lisible pour les non-linguiste et orientés vers la pratique, alors que dans le même temps d'aller assez profondément dans l'étude de la linguistique des problèmes. Je ne peux vraiment pas recommander assez. Les chapitres 17, 18 et 21 semblent être ce que vous cherchez (14, 15 et 18 dans la première édition); ils montrent que vous simple lambda notation qui traduit assez bien à Prolog DCG avec des fonctionnalités.

Oh, btw, sur l'obtention de la maîtrise en linguistique; si NL sémantique est ce qui vous intéresse, je préfère vous recommandons de prendre toutes les IA des cours que vous pouvez trouver (bien que n'importe quel cours sur la "plaine" sémantique linguistique, la logique, la logique de la sémantique, DRT, gaz d'enfouissement/HPSG/GCC, NL analyse formelle de la théorie linguistique, etc. ne ferait pas de mal...)

La lecture de Chomsky de l'original de la littérature n'est pas vraiment utile; autant que je sache, il n'y a pas implémentations actuelles que directement correspondent à ses théories, toutes les choses utiles de son est assez bien assimilé par d'autres théories (et toute personne qui séjourne près de linguistes pour toute question de temps va absorber la connaissance de Chomsky par osmose inverse).

3voto

theycallmemorty Points 4609

Je recommande fortement de jouer avec la NLTK et de lire le livre de la NLTK . Le NLTK est très puissant et facile à utiliser.

2voto

Richard Poole Points 2410

Cycorp décrit brièvement comment sa base de connaissances Cyc tire son sens des phrases.

En utilisant une base de connaissances massive de faits communs, le système peut déterminer l'analyse la plus logique d'une phrase.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X