¿Cómo puede un ingeniero de software entrar en lingüística computacional?

A2A de 2 personas. (¿Estás seguro de que quieres ir allí, Miguel y Nick?)

Aquí hay una cosa graciosa. Los cursos académicos de lingüística computacional se han establecido en las instituciones más importantes, quizás, hace 20 años. Sin embargo, la gran mayoría de los lingüistas computacionales reales con los que me encuentro en la industria son trasplantes de otras áreas. A veces es lingüística, a veces es ingeniería de software. (Muy lejos de los antecedentes esotéricos de aquellos de 1970 a 1980, pero esta industria es conocida por los tipos coloridos que podrían confundirse con los visitantes de Alpha Centauri).

A mi modo de ver, hay tres rutas realistas:

  1. Inscríbase en un curso de lingüística computacional, luego busque un trabajo. El problema es que, cuando estás en el área correcta (centros de alta tecnología en los Estados Unidos, Europa, quizás Singapur), será fácil. De lo contrario, casi imposible. Es probable que esta sea la única ruta para aquellos que creen que el lenguaje natural = inglés.
  2. Si eres un ingeniero de software que domina un idioma natural que es comercialmente importante (sin ser inglés y la lengua materna del país donde vives), estás de suerte. Si no tiene empresas de PNL cerca de usted, intente trabajar para personas como Appen. De hecho, los lingüistas computacionales multilingües son molestamente raros, por lo que el teletrabajo es una regla general. (Dato curioso: cuando compilé una lista de mis requisitos en busca de un desarrollador de PNL en mi lugar de trabajo actual que solicitaba “fluidez en más de un idioma”, me dijeron, “simplemente excluyeron a todos los estadounidenses”).
  3. Comienza a aprender todo desde cero, pasa años construyendo tu propio sistema de PNL, encuentra una startup. La ruta más estúpida, menos realista y más dolorosa con muy pocas posibilidades de éxito. Trabajó para mí, experiencia interesante, nunca lo recomendaría a nadie.

Habilidades requeridas:

  • mentalidad técnica / del programador
  • inteligencia lingüística

También ayudan cosas como expresiones regulares, saber cómo funciona Unicode, etc.

  • Necesita chuletas de programación, aunque nada demasiado flash y algorítmico.
  • Necesitas estar en regexes.
  • Necesita aprender algo de lingüística, pero honestamente, no tanto como podría pensar. Ciertamente no necesita sintaxis formal o fonología. Necesitará saber qué es la morfología, especialmente si trabajará en otros idiomas además del inglés.
  • Inevitablemente terminarás metiéndote en algunas estadísticas y trabajo estocástico. La PNL que funciona mejor es estadística, no basada en reglas.
  • Puede recoger mucho de Natural Language Toolkit. Python en estos días es el principal idioma para PNL, y el NLTK es la razón principal por la cual.
  • Busca patrones; no seas demasiado prescriptivo; saber cuando lo suficientemente cerca es lo suficientemente bueno.