Transcripción

Bienvenidos a una nueva entrega de Palabras Binarias, Informática para Lingüistas. Aquí podéis estar informados sobre diferentes cuestiones relacionadas con la lingüística de corpus, la lingüística computacional, la informática en general y incluso también cuestiones sobre inteligencia artificial.

Hoy vamos a hablar sobre cómo construir un corpus. Aparentemente parece una cuestión muy sencilla y seguramente algunos de vosotros habéis participado en alguna etapa para la construcción de un corpus, pero creemos que es importante resaltar algunos elementos a tener en cuenta a la hora de construir un corpus para intentar paliar algunos de los problemas que estamos viendo en algunos proyectos en los que estamos participando.

Sobre todo, hay dos cuestiones que aparecen en varios de estos proyectos. Una es el sistema de trabajo, que muchas veces ya está establecido desde hace muchos años o incluso décadas en algún caso. No se ha revisado ni se ha actualizado esta metodología de trabajo y lo que causa es que se utilizan herramientas y estándares del pasado que limitan mucho la riqueza en la estructuración de nuestros documentos y el potencial de explotación de este material.

Otro de los problemas que estamos viendo es que muchas veces se comienza a construir un corpus directamente creando documentos de Word, vale? Como veremos dentro de un momento, los documentos de Word no son el formato más adecuado para tener los documentos de un corpus. Pues vamos allá, vamos a ver algunas cosas relacionadas con este tema.

Bien, tenéis ahí una propuesta de fases para la construcción de un corpus, vale?. Definimos ahí cinco fases que son: definición de la metodología de trabajo, construcción de la metodología del trabajo, comprobación de esta metodología, planificación y desarrollo, vale? Vamos a ver un poco las ideas generales de cada una de ellas, qué se incluye en esas fases.

Bien, la definición de la metodología, en esta definición, lo que se hace es ver o establecer cuáles son los objetivos del corpus, el tipo de corpus que tenemos, os recuerdo que tenemos un artículo en Palabras Binarias hablando sobre tipos de corpus, qué tipos de documentos vamos a incorporar, son documentos textuales, son transcripciones de documentos orales, etcétera, qué fuentes documentales, de dónde vamos a sacar los documentos, igual queremos hacer un corpus de cierto tipo y no tenemos manera de obtener los documentos que queremos obtener. Relacionado con esto también hay que mirar temas de derechos de autor, hasta qué punto podemos utilizar los documentos que queremos utilizar o qué limitaciones a veces se pueden utilizar, aún teniendo derechos de autor, pero con unas ciertas limitaciones, qué estándar de representación vamos a utilizar para nuestros documentos, qué estructura tendrán estos documentos, que bueno, puede ser la estructura típica de, bueno, si tenemos noticias de periódico pues tenemos el titular, el resumen y el cuerpo de las noticias, pero también a veces es conveniente tener en mente qué explotación queremos o esperamos que se haga en el futuro en nuestro corpus y contemplar en esta estructura elementos que nos pueden ayudar después a la explotación.

Por poner un ejemplo, si queremos que nuestros documentos se puedan hacer búsquedas de toponimia, pues a lo mejor los topónimos tienen que estar marcados en esta estructura, ¿vale? Puede ser que sí o que no, pero bueno, es por poner un ejemplo, ¿vale? Entonces tener en mente la explotación que queremos hacer de ellos también nos ayuda a determinar la mejor estructura de nuestros documentos.

Bien, y también las etapas de, hay que definir las etapas de procesamiento, ¿vale? ¿Qué son las etapas de procesamiento? Pues las diferentes fases por las que tienen que pasar nuestros documentos, qué transformaciones y modificaciones tenemos que hacer en nuestros documentos hasta que realmente decidimos, venga, ya está terminado y este documento ya pertenece a nuestro corpus.

Una vez terminamos con la definición, tenemos la construcción de la metodología. ¿Qué es esto de la construcción de la metodología? Pues concretar todos los elementos que necesitamos para poner en práctica la metodología. Bueno, pues desde elegir un editor con el que se van a editar los documentos, definir la estructura concreta de nuestros documentos, también puede ser necesario definir, si estamos trabajando con documentos XML, pues definir el esquema XML o la DTD de los documentos, si estamos trabajando con base de datos, pues definir la estructura de la base de datos, comprobar que podemos adquirir los documentos, ¿vale? ¿Qué documentos vamos a incorporar? Documentos que son PDFs que podemos descargar, o tenemos un acuerdo con un editorial que nos va a enviar por correo algo, o tenemos que ir al Vaticano a escanear unos documentos. Bueno, pues en la construcción de la metodología tenemos que ver que, efectivamente, podemos descargar o obtener una versión digital de los documentos que queremos procesar.

Pues aquí también, evidentemente, bueno, en toda construcción de un corpus es recomendable que haya una parte lingüística y un apoyo informático, ¿vale? Entonces aquí en la parte de construcción también resulta de utilidad realizar ya, implementar, los scripts que van a procesar, o sea, los scripts que van a hacer la parte automática de procesamiento de los documentos, ¿vale? Ahí hay que desarrollar los scripts, veremos algún detallito sobre esto dentro de un momento.

Si tenemos los recursos económicos y humanos, también, ¿tenemos los recursos económicos y humanos para afrontar la construcción?, ¿cómo se va a construir?, ¿es voluntariado?, bueno, pues todo esto hay que definirlo y detallarlo ya en la construcción. O sea, en la definición se define lo que queremos hacer, en la construcción verificamos que lo podemos hacer, ¿vale? O si es necesario eso, también el almacenamiento, ¿dónde vamos a almacenar los ficheros de nuestro documento? Todo eso también hay que definirlo y luego construirlo, ¿qué quiere decir? Pues dar de alta ese espacio de almacenamiento, si es que lo vamos a hacer como espacio de almacenamiento o lo que sea, ¿vale? Sería configurar todas las herramientas y los procedimientos para poder empezar a trabajar y a procesar los corpus.

En la fase de comprobación, ¿qué es lo que tenemos que hacer? Pues comprobar que la metodología funciona. ¿Cómo lo hacemos? Pues procesando unos pocos documentos, ¿vale? Puede ser, si hay varios tipos de documentos, es útil coger uno de cada tipo. Si es, solo tenemos un tipo de documento, pues podemos coger unos cuantos, uno, dos o tres documentos, a ser posible que tengan la mayor variabilidad de casuísticas posibles para comprobar todas las partes de la metodología, y entonces la comprobación lo que hacemos es procesar algunos documentos, ¿vale? ¿Por qué lo hacemos ahí con unos pocos documentos? Pues porque seguramente aparezcan problemas, ¿vale? Tanto lo que hemos hecho en la definición como la construcción, vamos a encontrar errores, vamos a ver que hay cosas que hemos definido o construido que no se adaptan exactamente a lo que queríamos, etcétera, y podemos modificar, ¿vale? Entonces esto, aunque es una rueda que va desde la definición al desarrollo pasando por todas las fases, no quiere decir que no podamos volver atrás. ¿Qué pasa? Que cuanto más tarde volvamos atrás, más costoso es corregir cosas. Por eso no debemos tener prisa en llegar a la fase de desarrollo. Hay que invertir tiempo en las otras fases, ¿vale?

Si encontramos un error en la fase de comprobación, normalmente pues es corregir cosas en la construcción, en la definición y ya está. Pero si encontramos un error en etapas avanzadas del desarrollo, a lo mejor ya tenemos, imaginaos, 100 documentos procesados y nos damos cuenta de que hay algo de la estructura en los documentos que está mal. Pues ya hay que modificar documentos que ya estaban procesados. Y eso suele tener un coste extra de trabajo humano o técnico, ¿de acuerdo?

Bien, una vez comprobamos que nuestra metodología funciona, sin prisa, ¿vale? Sin prisa ahí en la comprobación, viene la planificación, que es que, bueno, ya tenemos un planning de qué documentos queremos procesar, hacemos un planning de qué documentos queremos procesar y cuándo y quién, ¿vale? Fulanito se va a encargar de estos documentos en esta época, menganita en estos documentos en esta época y etcétera, etcétera, ¿vale? Se planifica. Y una vez planificado, se pasa al desarrollo, que es propiamente trabajar los documentos para incluirlos en el corpus.

Bien. Entonces, lo que estábamos diciendo antes, que en la definición hay una parte que es etapas de procesamiento de los documentos, ¿vale? Lo vemos ahí. Ahí tenemos una propuesta de etapas de procesamiento de los documentos. ¿Qué tenemos que hacer con los documentos para que pasen a formar parte del corpus? Y ahí definimos seis etapas. Adquisición, estructuración, conversión, revisión, validación e inclusión. No todas son necesarias, pero quisimos ser aquí lo más... Quiero decir, no son necesarias en todos los proyectos, pero quisimos aquí ser lo más exhaustivos posibles para que cada uno lo adapte a su caso concreto.

Bien, en la adquisición lo que se hace es conseguir una versión digital del documento, ¿vale? Pues imaginaos eso, lo que estaba diciendo antes. Un PDF, vale, pues hay que descargarlo de una web, un HTML, ¿dónde hay que descargarlo? vale, pues con un programita de descarga de HTML lo descargamos, una editorial nos tiene que enviar por correo los PDFs, perfecto, tenemos que ir a escanear a una biblioteca los documentos, pues hay que ir allí y escanearlos. El formato resultante de la adquisición suele ser un formato que no es útil para su tratamiento automático, ¿vale? Suelen ser o imágenes, o PDFs o documentos de Word, un poco a lo que apuntaba antes, pensad que los documentos de Word son documentos pensados para que queden bonitos, para que se impriman bien y se vean bien, pero no es un formato basado en texto. Tenemos también algún vídeo o algún artículo hablando sobre tipos de archivo y lo que son archivos de texto. Para el procesamiento automático deberían ser cosas basadas en codificación textual. ¿Qué cosas son? Pues archivos XML, archivos de texto, CSVs también podría ser, pero un Word es un formato donde podemos empezar en la adquisición, pero no es un formato adecuado para que luego lo utilicemos para ser parte de nuestro corpus, ¿vale?

Desde mi punto de vista el concepto de corpus es el fichero final que queda ahí almacenado, que luego va a ser, bueno, le podemos encargar a alguien sin hacer trabajo manual, sino solo con trabajo automático. Se puede hacer una aplicación de explotación o podamos explotarlo de alguna manera, ¿vale? Pero tenerlos en Word es como estar en la primera fase, es como estar en la fase de adquisición, ¿vale?

Entonces, el resultado de esto, como es un formato difícilmente procesable de manera automática, nosotros lo que solemos proponer en muchos proyectos es incluir una fase de estructuración. Esto es un trabajo manual y ¿en qué consiste? Consiste en pasar un formato que no se puede procesar automáticamente a un formato en el que ya se puede ir procesando automáticamente ciertas cosas, ¿vale?

Os pongo un ejemplo. Imaginaos que tenemos un periódico en PDF, ¿vale? PDF es un formato que es muy difícil de tratar automáticamente, entonces lo lo que haríamos o lo que nosotros propondríamos para la primera fase de trabajo es coger el PDF e ir copiando y pegando las diferentes noticias en ficheros de texto dentro de una carpeta. Cada noticia en un fichero de texto independiente. ¿Que el periódico tiene secciones y queremos considerar las secciones también? Pues dentro de una carpeta ponemos subcarpetas con el nombre de la sección y dentro de la sección las noticias que están dentro de esta sección. ¿Qué nos va a permitir esto? Nos va a permitir que aal final de la fase de estructuración tenemos un formato que podemos procesar automáticamente y podemos ir a la conversión.

¿Qué haría la conversión? Coger todos estos ficheros de texto que tenemos en carpetas y generar la primera versión del documento en el formato que queremos incluirlo en el corpus, ¿vale? Ya sea XML o sea otro tipo de estándar que se utilice, ¿vale? Lo que más he estado utilizando y que es bastante interesante de utilizar es XML. ¿Vale? Entonces, en la conversión, unos scripts desarrollados por personal técnico o si tenéis, aunque seáis lingüistas, si tenéis algún conocimiento para hacer scripting pues podéis hacer scripts que cogen los documentos que están en texto y generan la primera versión en XML.

¿Que podíais hacerlo directamente desde la adquisición al formato XML? Sí, ¿se puede hacer directo?, lo podríais hacer directo copiando y pegando y ya construyendo el XML. ¿Qué pasa? Que hay que llegar a un balance entre el esfuerzo que tienen que hacer las personas de perfil lingüístico y las personas que tienen perfil técnico. Y la experiencia nos dice que incluir una fase de estructuración simplifica bastante el trabajo para el equipo lingüístico, ¿Vale? Tratar de crear el XML a partir del formato digital inicial, bueno, llevaría bastante más tiempo y complejidad que pasar por este paso intermedio de estructuración. Se trata de que ese formato de estructuración sea un poco más sencillo de manejar en estas primeras etapas por parte del equipo lingüístico y nos permita después generar un XML que ya es más fácil de manipular a partir del resultado de convertir la estructuración. ¿Vale? Entonces, bueno, en algún caso se podría pasar a la conversión directamente pero resulta de utilidad tener un paso intermedio ahí como una primera fase o un primer nivel de procesamiento que nos permite luego a los lingüistas en la fase de revisión les va a permitir manipular un XML ya más terminado, no desde cero. ¿Vale? Que es lo que pasa en la fase de revisión. Los scripts de la fase de conversión muchas veces no consiguen resolver todo lo que queremos y es en la fase de revisión del XML donde, bueno, se ajustan cosas, se corrigen cosas que en la conversión no se ha hecho o que se ha decidido no estructurar en la fase de estructuración. En la fase de estructuración no hay por qué tener en cuenta todo lo que vamos a tener en cuenta en el documento final. ¿De acuerdo? En la revisión se podrían dejar cosas para la revisión. Insisto, las decisiones de qué cosas van en la estructuración y qué cosas van en la revisión dependen mucho del proyecto y normalmente es para tener este equilibrio entre esfuerzo informático y esfuerzo lingüístico.

Bien, una vez se han revisado los documentos hay que validarlos. Esta validación de la fase de validación a veces es, bueno, darle un botoncito en el editor y que nos diga si el XML que estamos haciendo es válido o no. Lo que hace normalmente la herramienta es ver si se cumple el esquema que tiene asociado el XML, pero en muchas ocasiones es recomendable que ahí haya scripts de validación también, programitas informáticos que hacen comprobaciones desde si tenemos un campo que puede tener tres valores que compruebe que no hay ningún documento que tenga un valor diferente de esos tres, etcétera, etcétera, ¿vale? Diferentes validaciones que se pueden hacer.

Y una vez se ha validado pues se incluye en el corpus. La inclusión es simplemente coger el documento finalizado y meterle en el espacio de almacenamiento que hayamos decidido, bueno, puede estar en un disco duro, puede ser algo en la nube o lo que sea.

Entonces, una vez acabada esta rueda el documento está en el formato que queramos y está almacenado en una nube o lo que sea. A veces en vez de trabajar en la conversión, en vez de generar un documento lo que se genera es una versión del documento ya en una base de datos y hay una herramienta vía web donde puedes modificar el documento, depende del proyecto. Lo más habitual es tener después de la conversión un formato XML y que los documentos estén en XML, pero podría ser que se maneje directamente en una base de datos y valdrían igualmente estas etapas para ese tipo de uso.

Bien, os recuerdo que si tenéis alguna duda o podemos ayudaros o asesoraros en algo relacionado con la construcción de un corpus, en NLPgo nos dedicamos a eso. Llevamos haciendo esto muchos años y si necesitáis asesoramiento contactad con nosotros. Vale, tenéis ahí la información.

Bien, pues si os ha gustado este vídeo y queréis que profundicemos más, primero, si tenéis alguna duda, tenemos dos vías de comunicación para estas cosas, para estos vídeos. Una es el formulario que hay debajo del vídeo en la web de palabrasbinarias.com y el otro es los propios vídeos de YouTube, podéis dejarnos ahí. Es más privado la primera vía que la segunda, pero responderemos en los dos casos.

Y si tenéis curiosidad o interés en que desglosemos más alguna de las cosas que acabamos de explicar, también hacédnoslo llegar a través de estos canales y podemos estudiar, pues no sé, primero a todo el mundo le contestamos en cuanto podemos, pero igual podemos estudiar hacer un vídeo más detallado, porque bueno, aunque veis que la esencia del tema era sencilla, veis que hay muchos elementos involucrados y se puede desarrollar mucho más este tema, ¿vale?, entonces podríamos estudiar hacer un vídeo que complete este otro.

Y nada más, espero que os haya gustado este vídeo y nos vemos en la próxima entrega. ¡Hasta luego!