Sin duda, Python:
- NLTK [1], aunque no es la implementación más eficiente, proporciona muchas herramientas increíbles para crear rápidamente una hipótesis.
- El re-módulo de Python [2] es asombroso. Combine re con listas de comprensión y colecciones y puede hacer algunas cosas realmente geniales:
def words(paragraph): return [ w.lower() for word in re.findall(r"([az]+)",paragraph) ]
(si no crees que esa función es increíble, no sigas leyendo …)
Para más información, echa un vistazo al corrector de hechizos de Peter Norvig [3]
- ¿Hay algún otro clasificador de aprendizaje profundo como softmax?
- ¿Qué es una descripción general del aprendizaje de múltiples núcleos (MKL)?
- ¿Cuál es la función de las máquinas restringidas de Boltzmann para el filtrado colaborativo?
- ¿Cuáles son los buenos pesos iniciales en una red neuronal?
- ¿Qué necesitas para hacer aprendizaje automático?
- Scipy [4] + Numpy [5]: todo lo que no está en NLTK definitivamente está en estas bibliotecas. Si desea utilizar algoritmos más avanzados como la Indización Semántica Latente [11] o la Asignación de Dirichlet Latente [13], Python tiene bibliotecas para hacerlo también [12].
- Python tiene geniales bibliotecas de análisis XML / HTML como Beautiful Soup [6] y Scrape.py [7]. Puede usar estas bibliotecas para raspar rápidamente la web y generar grandes conjuntos de datos para mejorar el rendimiento de sus modelos (porque admitámoslo, los grandes datos superan la complejidad)
- Python tiene grandes frameworks web como Django [8] / Pylons [9] / Tornado [10]. Si inventa un detector de sarcasmo revolucionario que puede predecir tendencias en el mercado de valores, puede integrarlo rápidamente en un servicio web, ganar millones y comprar una isla grande en un país del tercer mundo.
- Considere sus otras opciones: no tendría sentido usar un lenguaje compilado como C ++ / Java para este tipo de trabajo a menos que necesite aumentar el rendimiento (velocidad computacional, no precisión del modelo). Por lo que puedo decir, Ruby es completamente inútil para cualquier tarea de aprendizaje automático, minería de datos o procesamiento de lenguaje natural. Tal vez podría usar Lisp, pero en este punto, Python tiene un ecosistema más grande.
[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…