Introducción El procesamiento del lenguaje natural es una rama de la informática que se centra en la comprensión y el procesamiento del lenguaje humano por parte de las máquinas. A través del uso de técnicas y algoritmos especializados, el procesamiento del lenguaje natural nos permite interactuar con las máquinas a través del lenguaje natural, como lo hacemos con otras personas. El procesamiento del lenguaje natural tiene una amplia gama de aplicaciones, desde el análisis de sentimiento en redes sociales hasta la traducción automática y el procesamiento de consultas de búsqueda. Esta tecnología ha revolucionado la forma en que nos comunicamos y accedemos a la información, y su importancia solo ha ido en aumento con el tiempo. A lo largo de los años, el procesamiento del lenguaje natural ha evolucionado gracias a avances en técnicas y algoritmos. En este artículo, exploraremos las técnicas y algoritmos clave que se utilizan en el procesamiento del lenguaje natural y cómo juegan un pape...
Este artículo es una traducción libre de otro en inglés sobre la creación de conjuntos de datos de PLN desde cero. Nos ha parecido muy interesante porque en español existen muy pocos conjuntos de datos y este artículo da ideas de cómo abordar el problema desde la experiencia del autor. Os animamos a que lo leáis y si os entran ganas de crear un dataset... ¡No olvidéis de decírnoslo para anunciarlo a bombo y platillo! 😀
. . .
Existe la idea errónea de que la mejor manera de crear un conjunto de datos de PLN es definir primero un esquema de anotación riguroso y luego hacer las anotaciones en forma colectiva. El problema es que en realidad es muy difícil adivinar el esquema de anotación correcto desde el principio y, a menudo, esta es la parte más difícil en el lado del modelado (a diferencia del lado comercial). Esto se explica maravillosamente por Matthew Honnibal de spaCy en PyData 2018.
Entonces ¿cuál es la mejor manera de crear un conjunto de datos de PLN etiquetado para resolver un problema? Creo que la respuesta está en usar todo lo posible para obtener etiquetas iniciales rápidamente, luego refinar estas etiquetas, probar el conjunto de datos e iterar. Solo una vez se haya demostrado una solución, se puede inviertir en anotaciones grandes (pero solo si se puede demostrar que tiene valor comercial).
Siempre hay formas de obtener etiquetas aproximadas:
- Heurística basada en el conocimiento del dominio.
- Métodos basados en reglas del análisis de dependencia (que son maravillosamente precisos con los analizadores de dependencia neuronal modernos).
- Tomando un conjunto de datos etiquetado externo y modelando las etiquetas en su conjunto de datos.
- Usar datos complementarios, como datos de comportamiento (piense en la factorización matricial) para mapear los datos en un espacio.
Una vez se tengan etiquetas aproximadas, se pueden refinar:
- Se puede utilizar la programación de datos para fusionar datos de varias etiquetadoras de ruido (noise labellers) para obtener una propuesta de etiquetas.
- Se pueden entrenar modelos usando las etiquetas probabilísticas para obtener un clasificador inicial.
- Luego, se puede utilizar el aprendizaje activo para mejorar rápidamente el rendimiento y llegar a un modelo lo suficientemente bueno como para verificar la viabilidad.
No creo que haya buenos recursos sobre cómo hacer todo este proceso de principio a fin, pero es muy valioso el poder tomar texto sin etiquetar y, en unos pocos días, tener un proceso para extraer información significativa de él.
Original: https://skeptric.com/nlp-dataset-bootstrap/
Comentarios
Publicar un comentario