Los conceptos fundamentales de PNL difieren de los de aprendizaje automático o ingeniería de software en general. Comenzaré con las cosas de nivel más bajo (lo que no significa “simple”) y luego intentaré mostrarle cómo crean un modelo de producción.
- Tokenizer
Esta es una herramienta central para cada marco de PNL. Muchas técnicas de ML, ya sea que tengan como objetivo la clasificación o regresión de texto, usan n-gramas y características, producidas por ellos. Antes de comenzar a extraer funciones, debe obtener las palabras. - POS-tagger y lemmatizer
Esto es lo siguiente que necesitará, aunque, tal vez, no directamente. Las palabras pueden tomar muchas formas y las conexiones entre ellas (como verá más adelante) dependen de su POS. Los lematizadores están involucrados con mayor frecuencia cuando se necesita algo como TDM, porque naturalmente reducen la dimensionalidad y conducen a una mayor solidez general. - NER
Que significa reconocedores de entidad con nombre. Se basan en partes extraídas del discurso y gramáticas básicas, codificadas en marcos. Hay una parte separada de PNL, llamada recuperación de información, donde las personas hacen cosas realmente geniales, como una generación automatizada de informes basados en varios mensajes sobre el tema. NER es ciertamente la mayor parte de esto. Si quieres entenderlo profundamente, puedes leer sobre Gramáticas sin contexto. - Análisis de los sentimientos
¿Es esta crítica buena o mala? ¿Al crítico le gustó la película? Ponga estos 1 000 000 de comentarios en esta máquina y podrá saberlo. Hay varias formas de realizar análisis de sentimientos, algunas personas incluso usan el aprendizaje profundo (word2vec). Comienza con la extracción de características, por lo general, calcula TDM de 2-3 gramos, que contienen palabras relacionadas con sentimientos de los diccionarios (modelos semi y supervisados) o construye los diccionarios en función de la distribución de palabras en sí (modelos no supervisados y semisupervisados). Luego, el TDM se usa como una matriz de características, que se alimenta a la red neuronal o SVM o cualquier algoritmo de punto final.
El proceso
Abordaré una tarea bastante conocida que se llama regresión de texto. Tienes un texto y un número asociado. El problema es que el texto en sí no es un conjunto de datos numérico, por lo que no puede usarlo directamente. Una de las formas más simples de hacerlo sería un algoritmo que puede implementar inmediatamente después de leer esta respuesta. No utiliza todo el poder de la PNL, pero proporciona una buena introducción.
- El MIT está ofreciendo un curso de certificado de Big Data y Social Analytics (enlace en la descripción). ¿Cómo ayudaría a un científico / ingeniero de datos?
- ¡Necesitamos sus comentarios sobre nuestra startup FlyElephant! ¿Puedes ayudarnos?
- ¿Cuáles son las opciones de salida de Mu Sigma?
- ¿Existen extensiones de PostgreSQL relacionadas con la ciencia de datos?
- Cómo cambiar mi carrera de desarrollador front-end a ciencia de datos / informática científica
- Transmita la prueba a minúsculas, elimine signos de puntuación, números, etc.
- Calcule las puntuaciones TF-IDF (consulte el artículo en Wikipedia) para cada palabra y póngalas en la tabla para que las columnas representen palabras y las filas representen documentos.
- Elimina las palabras con una cantidad excesiva de ceros. Lo que debe considerarse excesivo depende totalmente de usted. No te lo diré, prueba esto.
Sugerencia: observe la distribución de “popularidad” entre las palabras. - Ajustar un modelo y validarlo.
Al vacio
Hay infinitas formas de hacer que su aplicación sea más potente. Cada herramienta que describí en la primera parte de la respuesta puede proporcionarle cientos de características potenciales. Agregue una columna con una calificación de sentimiento. Extraiga todas las entidades del corpus y úselas como características cuando calcule TDM. Clusterice los documentos utilizando representaciones TF-IDF. Reduzca las palabras usando su POS – digamos, mantengamos solo sustantivos, verbos y adjetivos. ¿Qué pasará entonces?
Espero que esto brinde alguna perspectiva sobre cómo se puede aprender la PNL con fines prácticos. En cuanto a los académicos, podría leer algunos documentos de ACL, por ejemplo.
Enlaces útiles:
tf – idf
Asociación de Lingüística Computacional
word2vec: herramienta para calcular representaciones distribuidas continuas de palabras. – Alojamiento de proyectos de Google
Análisis de los sentimientos
El grupo Stanford NLP (procesamiento del lenguaje natural)