2010-01-14 11 views
8

Je suis à la recherche de différents outils PNL pour un projet sur lequel je travaille et maintenant j'ai trouvé les projets de PNL de Stanford les plus utiles.Outils d'analyse de langage naturel: qu'est-ce qui existe et qu'est-ce qui ne l'est pas?

Est-ce que quelqu'un sait s'il y a d'autres outils qui sont là-bas qui serait utile pour un entendeur linguistique?

Et plus important encore, sont là des outils qui ne sont pas là?

Plus précisément, je suis à la recherche d'un api pour morphophoneme analyse etc.

EDIT: Je suis un universitaire (un étudiant travaillant sur un projet de recherche) et je cherche principalement pour open source ou, au moins, projets d'api ouverts.

+0

J'ai posé une question plus spécifique auparavant, mais celle-ci la remplace. –

+4

S'il vous plaît spécifiez si vous êtes uniquement intéressé par des trucs gratuits ou si vous êtes académique. Certains d'entre nous vendent ce genre de choses, mais nous sommes connus pour être gentils avec les universitaires. – bmargulies

Répondre

6

Je vous suggère de jeter un coup d'oeil à l'adresse suivante:

  1. les bibliothèques ususal NLP comme Open NLP, LingPipe, NLTK, Gate, UIMA. Tous ces éléments fournissent des analyseurs et des générateurs de mots (c'est-à-dire qu'ils ne vous rendent pas la racine d'un mot, mais sa racine). Certains fournissent également des lemmatiseurs.
  2. sites Web qui collectent des outils PNL. Ce ne sont que quelques-uns d'entre eux: l'wiki de l'Association de la linguistique informatique, Language Technology World, the website of the compling dep. at Heidelberg University

Je ne suis pas au courant d'un outil qui renvoie la racine d'un mot, mais, comme je l'ai dit, il y a stemmers et lemmatisants. Pour la lemmatisation, essayez Tree Tagger ou Morpha. L'analyse morphophonémique est un terme pas assez spécifique pour vous obtenir ce que vous voulez.

Une fois que vous en savez plus précisément ce dont vous avez besoin, vous pouvez rechercher les archives du Corpora List ou y poser une question.

3

NTLK est une boîte à outils intéressante qui permet de créer des applications basées sur la PNL. Cela peut être utilisé pour des applications pratiques qui nécessitent par exemple un marquage POS, ou qui implémentent des classificateurs simples ou des extracteurs d'entités. Je ne suis pas sûr de ce que l'application "language understander" engloberait, cependant, mais cela ressemble à quelque chose qui peut être au-delà de ce qui peut [facilement] être basé sur NLTK. La lecture complète de la question et sa référence à la morphophonie semblent confirmer que le NLTK ne servirait probablement pas très bien l'objectif du PO; À ma connaissance, NTLK n'offre pas de modules traitant du texte à ce niveau. Vous voudrez peut-être vérifier cela par vous-même, car NLTK est un projet vaste et actif et peut avoir vu des ajouts récents dans ce domaine.

1

Maluuba vient de publier une API pour leur processeur de langage naturel. Il est disponible au http://developer.maluuba.com.

Il y a trois bibliothèques écrites pour elle par Maluuba:

Python Library: https://github.com/maluuba/napi-python

Ruby Library: https://github.com/maluuba/napi-ruby

Java Library: https://github.com/maluuba/napi-java

Pour un exemple de la puissance de celui-ci , prenez cette requête comme un exemple de ce qui peut être extrait:

>> client.interpret phrase: 'Set up a meeting with Bob tomorrow \ 
      night at 7 PM to discuss the TPS reports' 
=> 
    {:entities=> 
     { 
     :daterange=>[{:start=>"2012-11-15", :end=>"2012-11-16"}], 
     :title=>["meeting to discuss the tps reports"], 
     :timerange=>[{:start=>"12:00:00AM", :end=>"12:00:00AM"}], 
     :contacts=>[{:name=>"bob"}] 
     }, 
    :action=>:CALENDAR_CREATE_EVENT, 
    :category=>:CALENDAR 
    }