Existen redes neuronales recurrentes y redes neuronales recursivas. Ambas se suelen denominar con el mismo acrónimo RNN. Según Wikipedia En realidad, las NN Recurrentes son NN Recurrentes, pero no entiendo muy bien la explicación.
Además, no encuentro cuál es mejor (con ejemplos o así) para el Procesamiento del Lenguaje Natural. El caso es que, aunque Socher utiliza NN Recursivas para PNL en su tutorial No puedo encontrar una buena implementación de redes neuronales recursivas, y cuando busco en Google, la mayoría de las respuestas son sobre NN Recurrentes.
Además, ¿hay alguna otra DNN que se aplique mejor para la PNL, o depende de la tarea de PNL? ¿Redes de creencia profundas o autocodificadores apilados? (Parece que no encuentro ninguna utilidad particular para las ConvNets en PNL, y la mayoría de las implementaciones son con visión artificial en mente).
Por último, realmente preferiría implementaciones de DNN para C++ (mejor aún si tiene soporte para GPU) o Scala (mejor si tiene soporte para Spark) en lugar de Python o Matlab/Octave.
He probado Deeplearning4j, pero está en constante desarrollo y la documentación está un poco anticuada y no consigo que funcione. Una lástima porque tiene la "caja negra" como la forma de hacer las cosas, muy parecido a scikit-learn o Weka, que es lo que realmente quiero.