PNL básico en CoffeeScript o JavaScript: tokenizaton de Punkt, modelos Bayes simples y formados: ¿por dónde empezar? [cerrado

Mi proyecto actual de aplicación web requiere un poco de PNL:

Tokenizing texto en oraciones, a través de Punkt y similares; Desglosando las oraciones más largas por una cláusula subordinada (a menudo está en comas, excepto cuando no lo está)Un modelo bayesiano apto para trozos de párrafos con una sensación uniforme, sin huérfanos ni viudas y mínimas divisiones incómodas (tal vez)

... que gran parte de eso es una tarea infantilmente fácil si tienes NLTK - lo que hago, más o menos: el backend de la aplicación es Django en Tornado; pensaría que hacer estas cosas no sería un problema.

Sin embargo, tengo que proporcionar interactivamente los comentarios de los usuarios para los que se necesitan los tokenizadores, por lo que debo hacer tokenizar los datos del lado del cliente.

Ahora mismo en realidada. usando NLTK, a través de una llamada REST API a un proceso Tornado que envuelve la función NLTK y poco más. Por el momento, cosas como la latencia y la concurrencia son obviamente subóptimas con este servicio ad-hoc, por decirlo cortésmente. Creo que lo que debería estar haciendo es tener en mis manos las versiones Coffee / Java de esta función si no la vuelvo a implementar yo mismo.

Y entonces, por lo que he visto, JavaScript no se ha considerado lo suficientemente bueno como para haber acumulado la biblioteca de propósito general no solo específica de la web, schmorgasbörd que se puede encontrar en C o Python (o incluso Erlang) . NLTK, por supuesto, es un proyecto destacado por medida de cualquiera, pero solo necesito un pequeño porcentaje de lo que está empacando.

Pero ahora estoy en una encrucijada: tengo que doblar cualquiera de las dos:

El plan "Aprender la técnica JavaScript científica adecuada para volver a implementar algoritmos con los que soy amigo de Facebook en el mejor de los casos", o:Los menos interesantes pero más determinísticamente factibles "se conforman con la tokenización por cable, pero compensan en exceso la escasez de velocidad e interés en la programación: garanticen una experiencia de usuario sin beachball elevando una llamada de función a un modelo robusto de arquitectura de servicio a escala web, haciendo que Facebook se parezca a la opción de Google+ ".

O algo completamente diferente. ¿Qué tengo que hacer? Me gusta empezar las cosas. Esta es mi pregunta Estoy abierto a soluciones que impliquen un enfoque atípico, siempre y cuando su recomendación no sea desagradable (por ejemplo, "use Silverlight") y / o un vórtice temporal (por ejemplo, "obtenga un doctorado en lingüística computacional, troglodita") Soy un juego. Gracias de antemano