Quels langages de programmation sont adaptés pour le traitement du langage naturel?

Sans aucun doute, Python :

  1. NLTK [1], bien que pas la mise en œuvre plus efficace, fournit un grand nombre d’outils génial pour prototype rapidement une hypothèse
  2. Re-module de Python [2] est incroyable. Allient compréhensions de liste et les collections et vous pouvez faire des trucs vraiment cool :
     def words(paragraph):
         return [ w.lower() for word in re.findall(r"([a-z]+)",paragraph) ]

    (si vous ne pensez pas que la fonction est génial, ne lisez pas plus loin...)

    Pour en savoir plus, consultez le correcteur d’orthographe de Peter Norvig [3]

  3. Scipy [4] + Numpy [5]: tout ce qui n’est pas dans NLTK est certainement dans ces bibliothèques. Si vous souhaitez utiliser des algorithmes plus avancés comme l’indexation sémantique latente [11] ou Latent Dirichlet Allocation [13], Python a bibliothèques de le faire également [12].
  4. Python a vraiment super XML/HTML, l’analyse des bibliothèques telles que Beautiful Soup [6] et Scrape.py[7]. Vous pouvez utiliser ces bibliothèques pour gratter le web et générer de grands ensembles de données pour améliorer les performances de vos modèles rapidement (car permet de face, données grosses atouts complexité)
  5. Python a grands web-cadres comme Django [8] / pylônes [9] / Tornado [10]. Si vous inventez un détecteur de sarcasme révolutionnaire qui peut prévoir des tendances sur le marché boursier, vous pouvez rapidement intégré dans un service web, faire des millions et acheter une grande île dans un pays du tiers-monde.
  6. Considérez vos autres options : il ne serait pas judicieux d’utiliser un langage compilé comme C + c++ / Java pour ce type de travail à moins que vous deviez augmenter les performances (vitesse de calcul, pas de précision de modèle). Autant que je sache, Ruby est totalement inutile pour n’importe quelle tâche Machine Learning, Data Mining ou traitement du langage naturel. Peut-être que vous pourriez utiliser Lisp, mais à ce stade, le Python a un plus grand éco-système.

[1] http://www.nltk.org/
[2] http://docs.python.org/library/r...
[3] http://norvig.com/spell-correct...
[4] http://www.scipy.org/
[5] http://numpy.scipy.org/
[6] http://www.crummy.com/software/B...
[7] http://zesty.ca/scrape/
[8] https://www.djangoproject.com/
[9] https://www.pylonsproject.org/
[10] http://www.tornadoweb.org/
[11] http://en.wikipedia.org/wiki/Lat...
[12] https://github.com/josephmisiti/...
[13] http://en.wikipedia.org/wiki/Lat...


Tags: Programmation informatique, Langages de programmation, Exploration de données, Apprentissage automatique, Traitement du langage naturel, Traitement de texte