Digitalización de los debates parlamentarios australianos, 1998
HogarHogar > Blog > Digitalización de los debates parlamentarios australianos, 1998

Digitalización de los debates parlamentarios australianos, 1998

Jul 01, 2023

Datos científicos volumen 10, número de artículo: 567 (2023) Citar este artículo

242 Accesos

12 altmétrico

Detalles de métricas

El conocimiento público de lo que se dice en el parlamento es un principio de la democracia y un recurso fundamental para la investigación en ciencias políticas. En Australia, siguiendo la tradición británica, el registro escrito de lo que se dice en el parlamento se conoce como Hansard. Si bien el Hansard australiano siempre ha estado disponible públicamente, ha sido difícil utilizarlo para análisis de texto a nivel macro y micro a gran escala porque solo ha estado disponible en formato PDF o XML. Siguiendo el ejemplo del proyecto Linked Parliamentary Data que logró esto para Canadá, proporcionamos una base de datos rectangular nueva, integral y de alta calidad que captura las actas de los debates parlamentarios australianos de 1998 a 2022. La base de datos está disponible públicamente y se puede vincular a otros conjuntos de datos, como los resultados electorales. La creación y accesibilidad de esta base de datos permite la exploración de nuevas preguntas y sirve como un recurso valioso tanto para investigadores como para formuladores de políticas.

El registro escrito oficial de los debates parlamentarios, conocido formalmente como Hansard1, desempeña un papel fundamental al capturar la historia de los procedimientos políticos y facilitar la exploración de valiosas cuestiones de investigación. Con origen en el parlamento británico, la producción de Hansard se convirtió en tradición en muchos otros países de la Commonwealth, como Canadá y Australia2. Dado el contenido y la magnitud de estos registros, tienen importancia, particularmente en el contexto de la investigación en ciencias políticas. En el caso de Canadá, el Hansard se digitalizó entre 1901 y 20193. Tener una versión digitalizada de Hansard permite a los investigadores realizar análisis de texto y modelos estadísticos. Siguiendo el ejemplo de ese proyecto, en este artículo presentamos una base de datos similar para Australia. Se compone de conjuntos de datos individuales para cada día de sesión en la Cámara de Representantes desde marzo de 1998 hasta septiembre de 2022, que contienen detalles sobre todo lo dicho en el parlamento en un formato que los investigadores puedan utilizar fácilmente. Con el desarrollo de herramientas para el análisis de textos a gran escala, esta base de datos servirá como recurso para comprender el comportamiento político en Australia a lo largo del tiempo.

Existe una amplia variedad de aplicaciones potenciales de esta base de datos. Por ejemplo, en Australia existe una preocupación considerable por el hecho de que se haya producido una disminución en la "calidad" del debate sobre políticas públicas (comoquiera que se defina). Nuestro conjunto de datos podría usarse para observar si realmente está empeorando en determinados aspectos y, de ser así, por qué. También podría interesarnos saber si determinadas subpoblaciones están adecuadamente representadas en lo que se habla en el parlamento. Por ejemplo, a menudo existe la preocupación de que se pasen por alto las áreas regionales en comparación con las áreas metropolitanas. Nuevamente, nuestra base de datos podría usarse para examinar si esto ha cambiado con el tiempo. Hemos desarrollado nuestra base de datos de tal manera que podría vincularse con bases de datos similares de otros países, lo que permitiría un análisis comparativo. Por ejemplo, puede que nos interese saber cómo cambia el enfoque político de un parlamento ante diversos acontecimientos globales, como pandemias o guerras. Un vínculo internacional proporciona un caso de comparación en el que los problemas internos son diferentes mientras que los internacionales son comunes. Como ejemplo de cómo habilitar este vínculo, hemos incluido los ID de PartyFacts (https://partyfacts.herokuapp.com) en nuestra base de datos. Esto debería permitir vincular nuestra base de datos con otros grandes proyectos de recopilación de discursos parlamentarios, como ParlaMint4, ParlSpeech5, ParlEE6 y MAPLE7.

La Cámara de Representantes de Australia, a menudo denominada "la Cámara", desempeña una serie de funciones gubernamentales cruciales, como la creación de nuevas leyes y la supervisión del gasto gubernamental8, cap. 1. Los políticos de la Cámara se denominan miembros del Parlamento (MP). La Cámara funciona bajo una configuración de cámara paralela, lo que significa que hay dos lugares de debate donde se llevan a cabo los procedimientos: la Cámara y la Cámara de la Federación. Las sesiones de la Cámara siguen un orden predefinido, regulado por reglas de procedimiento llamadas órdenes permanentes8, cap. 8. Un día normal de sesión en la Cámara tiene una serie de procedimientos programados que incluyen debates sobre asuntos gubernamentales, declaraciones de 90 segundos de los miembros y turno de preguntas8, cap. 8. La Cámara de la Federación fue creada en 1994 como lugar de debate subordinado a la Cámara. Esto permite una mejor gestión del tiempo de los asuntos de la Cámara, ya que sus procedimientos ocurren simultáneamente con los de la Sala8, cap. 21. Las sesiones de la Cámara de la Federación se diferencian de las de la Cámara en cuanto a su orden del día y ámbito de discusión. Los asuntos comerciales discutidos en la Cámara de la Federación se limitan en gran medida a las etapas intermedias del desarrollo del proyecto de ley y a los asuntos de los miembros privados8, cap. 21. Hansard se basa en la grabación y compilación de estas actuaciones, que son esencialmente, aunque no enteramente, palabra por palabra.

Aproximadamente una semana después de cada día de sesión, se puede descargar una transcripción desde el sitio web oficial del Parlamento de Australia, tanto en formato PDF como en lenguaje de marcado extensible (XML). El PDF es el lanzamiento oficial. El PDF impone un formato diseñado para que los humanos lo lean con facilidad, mientras que XML está diseñado para brindar coherencia y legibilidad por máquina. La naturaleza de XML nos permite utilizar código más fácilmente para manipular estos registros a escala, lo que motiva nuestra elección de desarrollar nuestra base de datos utilizando únicamente archivos con formato XML. En los casos en los que no estábamos seguros de cómo proceder con el procesamiento del XML, remitimos primero al PDF y luego a la grabación en video del procedimiento, si está disponible.

En la actualidad, el formato Hansard que está disponible en el sitio web del Parlamento de Australia no es fácilmente accesible para análisis a gran escala. Hasta este punto, varios investigadores han tenido que crear sus propias bases de datos de datos completos y utilizables basados ​​en el contenido del sitio web del Parlamento australiano. Por ejemplo, Tim Sherratt (http://historichansard.net/) ha creado una base de datos en línea y fácil de leer sobre Hansard desde 1901 hasta 1980 utilizando archivos XML. Estos datos se pueden navegar por año, parlamento, personas y proyectos de ley. Para hacer que el Manual parlamentario australiano sea más accesible, Patrick Leslie (https://github.com/palesl/AustralianHouseOfRepresentatives) creó un paquete R que incluye datos sobre todos los parlamentarios desde 1945 hasta 2019. Además, está el paquete AustralianPoliticians R, que contiene varios conjuntos de datos relacionados con la información política y biográfica de los políticos federales australianos que estuvieron activos entre 1901 y 20219. Y, finalmente, se han examinado los datos a nivel de discurso y diputado entre 1990 y 2019 en Australia10. Como nosotros, raspan el registro de Hansard y lo vinculan con datos biográficos. La diferencia clave es que nuestro enfoque está en la base de datos en sí, mientras que ellos se centran en utilizar una base de datos construida a partir de la misma fuente para responder una pregunta particular sobre el tiempo del orador. Este enfoque diferente conduce a énfasis y enfoques diferentes.

Existen muchos artículos que utilizan componentes del Hansard australiano para explorar diversos temas de investigación. Por ejemplo, el Hansard se ha utilizado para investigar casos de comentarios no parlamentarios por parte de parlamentarios, en los que el portavoz le dice al parlamentario que retire su comentario11. Los datos del turno de preguntas extraídos de las transcripciones de Hansard durante febrero y marzo de 2003 se han utilizado para investigar la resistencia de los políticos a responder preguntas sobre Irak12. Hansard también se ha utilizado para cuantificar la prominencia política investigando menciones estratégicas de grupos de interés por parte de funcionarios electos13. Finalmente, se construyó un conjunto de datos del Hansard australiano y luego se utilizó para analizar el efecto de las elecciones y los cambios de primeros ministros sobre los temas mencionados en el parlamento14. Esto se creó con las versiones PDF estáticas de Hansard, utilizando el reconocimiento óptico de caracteres (OCR) para digitalizar estos archivos en texto adecuado para el análisis. Esto significa que hay errores de digitalización considerables, especialmente en la primera mitad del conjunto de datos.

Si bien es evidente que existe un creciente cuerpo de literatura sobre este tema, todavía no existe una base de datos completa para el Hansard australiano basada en XML que abarque desde 1901 hasta la actualidad. Nuestro trabajo comienza a cerrar esta brecha.

Nuestra base de datos contiene un archivo de valores separados por comas (CSV) y un archivo parquet para cada día de sesión de la Cámara de Representantes desde el 2 de marzo de 1998 hasta el 8 de septiembre de 2022. Desarrollamos cuatro scripts para producir estos archivos. Cada script analiza los documentos de Hansard de una parte específica del período de 1998 a 2022.

Esta sección está estructurada de la siguiente manera. Primero, proporcionamos una descripción general de nuestro enfoque para comprender y analizar un documento XML de Hansard individual, que informó los scripts utilizados para crear nuestra base de datos. Esto se complementará con un extracto de un XML de Hansard para proporcionar un ejemplo visual de su estructura. A continuación explicaremos las diferencias específicas entre los guiones y describiremos qué cambios estructurales requirieron su desarrollo por separado. Luego proporcionamos detalles sobre las complejidades metodológicas de tres componentes centrales de los procedimientos de Hansard: turno de preguntas, interjecciones y acotaciones escénicas. Además, analizamos el script que desarrollamos para completar los detalles faltantes restantes sobre el MP hablando, al que se pasó cada archivo de nuestra base de datos después de ser analizado y limpiado. Finalmente, revisamos el conjunto de datos complementario de temas de debate de Hansard y el conjunto de datos complementario de divisiones que creamos para ampliar la versatilidad de nuestra base de datos.

El enfoque para analizar el contenido de un documento XML depende de su estructura de árbol. Como tal, para crear esta base de datos, comenzamos analizando una única transcripción XML de Hansard de 2019. Esto nos permitió identificar los diversos componentes de interés en el documento y cómo se puede analizar cada uno de acuerdo con su forma estructural correspondiente. El análisis se realizó en R utilizando los paquetes XML y xml215,16. Centrarse en una transcripción también nos permitió asegurarnos de que todos los componentes clave de la transcripción fueran analizados y capturados con el mayor detalle posible. La forma típica de una transcripción XML de Hansard se resume en la lista anidada a continuación. Esto proporciona una descripción general, pero no contiene todos los elementos anidados posibles que se pueden encontrar en un XML de Hansard.

1.

2.

a)

b)

i.

ii.

III.

IV.

(1)

(2)

(3)

(4)

(a)

(b)

(c)

3.

4.

a)

b)

El nodo más externo, también conocido como nodo padre, se denomina y sirve como contenedor para todo el documento. Este nodo principal puede tener hasta cuatro nodos secundarios, donde el primer nodo secundario contiene detalles sobre el día de sesión específico. A continuación, contiene todos los procedimientos de la Cámara, contiene todos los procedimientos de la Cámara de la Federación y contiene los procedimientos del turno de preguntas. La Cámara de la Federación no se reúne todos los días de sesión, por lo que este elemento secundario no está presente en todos los archivos XML. El uso de nodos secundarios separados permite distinguir los procedimientos entre la Cámara y la Cámara de la Federación. La estructura de los nodos y es generalmente la misma, donde el procedimiento comienza con al que le sigue una serie de debates. Los nodos de debate pueden contener un nodo secundario que tiene un nodo secundario anidado dentro de él. Dicho esto, a veces no está anidado dentro de . Cada uno de estos tres elementos (es decir, , y ), así como sus respectivos subelementos, contienen información importante sobre el tema de discusión, quién habla y qué se está discutiendo. dicho. El nodo dentro de cada uno contiene la mayor parte del texto asociado con ese debate o subdebate. Un nodo típico comienza con un subnodo , que proporciona información sobre el parlamentario a quien le toca hablar y la hora de su primera declaración. No sorprende que los discursos rara vez transcurran sin interrupciones en los debates parlamentarios: a menudo se componen de una serie de interjecciones y continuaciones. Estas declaraciones se clasifican en diferentes subnodos según su naturaleza, como o . El último componente clave de Hansard es el turno de preguntas, en el que las preguntas y respuestas se clasifican como elementos únicos. A continuación se proporcionarán más detalles sobre el propósito y el procesamiento del turno de preguntas.

La Figura 1 proporciona un ejemplo del comienzo de un archivo XML para Hansard, que ilustra la estructura descrita en la lista anidada anterior. Como se indicó, la estructura XML comienza con un elemento principal (resaltado en azul), seguido de un elemento secundario (resaltado en amarillo) con elementos secundarios como la fecha y el número del parlamento, que son todo resaltado en rosa. A continuación, está el elemento secundario que contiene todo lo que ocurre en la Cámara, , que también está resaltado en amarillo en la Fig. 1. Como se mencionó anteriormente, el primer subnodo de es < inicio.negocio>. La estructura de esto se puede ver entre los nodos resaltados en verde en la Fig. 1, donde el contenido que analizamos desde el inicio del negocio está resaltado en naranja.

Instantánea del comienzo del archivo XML de Hansard el 25 de febrero de 2020.

Evidentemente, la naturaleza del formato XML significa que diferentes piezas de información se clasifican en una serie de nodos anidados y con nombres únicos. Como resultado, para analizar cada pieza de información, se debe especificar la jerarquía única de los nodos en los que está estructurada. Esto se conoce como expresión XPath y le indica al analizador cómo navegar por el documento XML para obtener la información deseada. Por ejemplo, se puede acceder a la fecha del encabezado de sesión en la Fig. 1 utilizando la expresión XPath "hansard/session.header/date". Al especificar una expresión XPath, se puede utilizar un operador "o" para obtener elementos de múltiples rutas de nodos a la vez, en el orden en que aparecen en el documento. Lo hicimos a lo largo de nuestro guión mientras analizamos contenido de voz anidado de forma única. Esto permite mantener el orden correcto de los elementos. Comenzamos nuestro primer script analizando todos los contenidos de inicio de negocio, texto de voz y turno de preguntas contenidos en el documento XML, utilizando estas expresiones XPath únicas para hacerlo.

El siguiente paso fue desarrollar aún más nuestro script para producir conjuntos de datos ordenados17. Estos contienen todos los elementos de texto analizados, donde cada declaración se separa en su propia fila con detalles sobre el parlamentario que está hablando, y las filas se mantienen en orden cronológico. Esto primero implicó corregir las clases de variables y agregar varias variables indicadoras para diferenciar de dónde provenían las declaraciones, como Cámara versus Cámara de la Federación o versus . La siguiente tarea clave surgió del hecho de que los datos del texto sin formato no estaban separados por cada declaración cuando se analizaban. En otras palabras, todas las interjecciones, comentarios hechos por el presidente o vicepresidente y las continuaciones dentro de un discurso individual se analizaron todos juntos como una sola cadena. Como tal, el nombre, el nombre de identificación, el electorado y los detalles del partido solo se proporcionaron para la persona a la que le tocaba hablar. Hubo muchas complejidades en la tarea de dividir estos discursos de una manera que fueran generalizables a lo largo de los días de sesión. Los detalles sobre estos se proporcionan más adelante.

Dado que estamos ante una amplia gama de documentos, hay muchos cambios en la forma en que se formatean. Esto se hizo evidente cuando ejecutamos nuestro script en archivos XML de sesiones anteriores. Algunos cambios son tan sutiles como un nodo hijo con un nombre diferente, mientras que otros son tan extensos como una estructura de anidamiento diferente. Los cambios más pequeños se tuvieron en cuenta a medida que nos dimos cuenta de ellos y se incorporaron al código de una manera que no causara problemas al analizar Hansards más actuales con diferencias sutiles en el formato. Sin embargo, como se mencionó, cambios más significativos en la estructura XML de Hansard requirieron el desarrollo de scripts separados a medida que trabajábamos hacia atrás. Además, no todos los días de sesión contienen todos los elementos XML posibles. Por ejemplo, algunos días no tuvieron contenido y otros días no tuvieron un procedimiento de la Cámara de la Federación. Para mejorar la generalización de estos scripts, se incorporaron declaraciones if-else dentro del código siempre que pudiera surgir un error debido a la falta de un elemento. Por ejemplo, todo el bloque de código de la Cámara de Federación está incluido en una declaración if-else para cada secuencia de comandos, de modo que solo se ejecuta si lo que el código intenta analizar existe en el archivo.

Una vez que el script se ejecutó sin errores durante algunos años recientes de Hansard, continuamos trabajando hacia atrás hasta que cambios extensos en la estructura del árbol hicieron que nuestro script fuera incompatible con el análisis de archivos XML anteriores. El primer día en que este primer script puede analizar con éxito es el 14 de agosto de 2012. Antes de desarrollar nuevos scripts para analizar documentos anteriores de Hansard, priorizamos la limpieza y finalización de lo que habíamos podido analizar. Como tal, continuamos construyendo nuestro script, solucionando cualquier problema que notamos en los conjuntos de datos resultantes, como exceso de espacios en blanco o problemas de espaciado, y dividiendo las secciones adicionales del texto analizado en filas separadas cuando era necesario. Específicamente, agregamos una sección de nuestro guión para separar las direcciones escénicas generales. Se proporcionará más información sobre esta separación en la sección Indicaciones de escena. Después de completar nuestro primer script, lo formateamos como una función que toma un único argumento de nombre de archivo y produce un archivo CSV que contiene datos sobre todos los procedimientos del día de sesión determinado.

Como se mencionó, desarrollamos un total de cuatro guiones para analizar el período 1998-2022 de los documentos de Hansard. Dos factores principales nos motivaron a crear cuatro scripts en lugar de solo uno: el primero fue la variación estructural en XML a lo largo del tiempo y el segundo fue la mejora de la eficiencia computacional con scripts separados. Si bien los cuatro scripts utilizan el mismo enfoque general de análisis descrito en la sección Descripción general y producen la misma estructura CSV, el primer y segundo script utilizan un método de procesamiento de datos diferente al del tercer y cuarto script.

La necesidad de un segundo guión surge del hecho de que cuando se creó en 1994, la Cámara de la Federación originalmente se llamaba Comité Principal. El Comité Principal pasó a llamarse Cámara de la Federación a mediados de 20128, cap. 21. Como resultado, el nodo secundario bajo el cual se anidan los procedimientos de la Cámara de la Federación se denomina en todos los archivos XML anteriores al 14 de agosto de 2012. Habiendo desarrollado nuestro primer script basado en Hansard de los últimos años, todas las expresiones XPath para el análisis Los procedimientos de la Cámara de la Federación contienen la especificación . Para evitar causar problemas en nuestro primer script que analiza con éxito unos 10 años de Hansard, creamos un segundo script en el que reemplazamos todas las apariciones de por . Después de realizar esta modificación y tener en cuenta otros pequeños cambios, como el formato de la marca de tiempo, este segundo script analiza con éxito todos los días de sesión de Hansard desde el 10 de mayo de 2011 hasta el 28 de junio de 2012 (inclusive).

Si bien las modificaciones necesarias para desarrollar el segundo guión fueron sencillas, este no fue el caso para nuestro siguiente guión. La estructura de árbol típica de los XML de Hansard que abarcan desde 1998 hasta marzo de 2011 tiene una diferencia importante con la de los XML publicados después de marzo de 2011, lo que requiere realizar muchos cambios en nuestra metodología. En los XML posteriores a marzo de 2011, que nuestros dos primeros scripts analizan con éxito, los dos primeros nodos secundarios de suelen ser y . El primer nodo hijo contiene datos sobre la persona a quien le toca hablar, y el segundo contiene todo el contenido de ese discurso, incluidas todas las interjecciones, comentarios y continuaciones. Después de que se cierra el elemento , normalmente hay una serie de otros nodos secundarios que proporcionan una estructura esquelética de cómo se desarrolló el discurso en orden cronológico. Por ejemplo, si el discurso comenzó, fue interrumpido por un diputado y luego continuó sin interrupción hasta el final, habría un nodo y un nodo después del nodo . Estos contendrían detalles sobre el parlamentario que hizo cada declaración, como su partido y electorado.

Por el contrario, los contenidos de voz en XML desde 1998 hasta el 24 de marzo de 2011 inclusive están anidados de manera diferente: no hay ningún nodo . En lugar de este único nodo secundario que contiene todo el contenido del habla, las declaraciones se clasifican en nodos secundarios individuales. Esto significa que, a diferencia de nuestro código para analizar Hansards más actuales, no podemos especificar una única expresión XPath como “chamber.xscript//debate//speech/talk.text” para extraer todos los discursos, en su totalidad, a la vez. Esta diferencia en la estructura de anidamiento hizo que muchos componentes de nuestro segundo script fueran inutilizables para procesar transcripciones antes del 10 de mayo de 2011, y nos obligó a cambiar considerablemente nuestro enfoque de procesamiento de datos.

Dado que los XML de Hansard anteriores no tenían un nodo , descubrimos que la forma más sencilla de preservar el orden de las declaraciones y analizar todo el contenido del discurso a la vez era analizar directamente desde el elemento . La razón por la que no utilizamos su nodo secundario es porque cada discurso tiene una estructura única de nodos secundarios, y esto dificulta escribir código para la limpieza de datos que sea generalizable en todos los discursos y días de sesión. El desafío de analizar el elemento es que cada dato almacenado en ese elemento se analiza como una sola cadena, incluidos todos los datos y todos los datos de subdebate anidados. Por ejemplo, los datos que se muestran en la Fig. 2 se analizarían como una única cadena que precede al contenido del habla, así:

Parte del archivo XML de Hansard del 12 de diciembre de 2002.

09:31:0010261Costello, Peter, MPMMr COSTELLOCT4HigginsLPTesorero10

Esto no se limitó solo al comienzo de los discursos: de esta manera también se capturaron detalles sobre las personas que intervinieron o comentaron durante los discursos. Para separar las declaraciones correctamente, recopilamos todos estos patrones usando el nodo y los usamos para dividir declaraciones dondequiera que se encontrara uno de estos patrones. Después de separar las declaraciones, pudimos eliminar estos patrones del cuerpo del texto. También utilizamos este método para extraer y luego eliminar patrones no deseados para otros datos que no pertenecían a los procedimientos del debate, como los títulos de los subdebates.

Una vez que finalizamos este nuevo método de procesamiento de datos, procedimos a la limpieza de datos utilizando el mismo enfoque general que en los dos primeros scripts para producir la misma estructura de salida CSV. Luego trabajamos hacia atrás en el tiempo y modificamos el código según fuera necesario para generalizarlo. A lo largo de este proceso encontramos una serie de errores de transcripción presentes en los XML de años anteriores. Los arreglamos manualmente, postergándolos hasta el lanzamiento oficial para asegurarnos de que se completara la información correcta. Dado que hubo una serie de errores de transcripción específicos de la década de 2000, decidimos crear un cuarto script para analizar 1998 y 1999. Esto nos permitió eliminar todo el código necesario para resolver errores de transcripción específicos de la década de 2000, para evitar un guión demasiado largo y, a su vez, mejorar la eficiencia computacional. Como tal, nuestro cuarto script es esencialmente el mismo que el tercero, con la única diferencia de que tiene un código específico para corregir errores de transcripción de 1998 y 1999.

Una característica clave del sistema parlamentario australiano es la capacidad del gobierno ejecutivo de rendir cuentas de sus decisiones. Un mecanismo central mediante el cual se logra esto se llama turno de preguntas. Se trata de un período de cada día de sesión en la Cámara en el que los parlamentarios pueden formular a los ministros dos tipos de preguntas: preguntas por escrito, que se redactan con antelación, o preguntas sin previo aviso, que se formulan verbalmente en la Cámara y se responden en tiempo real18. Las preguntas sin previo aviso se incluyen directamente en el nodo secundario , con nodos secundarios llamados y para diferenciar los dos. Sin embargo, las preguntas escritas están integradas en su propio nodo secundario llamado al final del archivo XML.

Nuestro enfoque para analizar los discursos utilizados en los cuatro guiones significó que todas las preguntas sin contenido de aviso ya se analizaron en orden. Para los dos primeros guiones, las preguntas y respuestas ya estaban separadas en sus propias filas. Para los guiones tercero y cuarto, tal como hicimos con el resto del contenido del discurso, utilizamos esos patrones de datos que preceden al texto para separar preguntas y respuestas. Finalmente, dado que las preguntas escritas existen en su propio nodo secundario, pudimos usar el mismo método de análisis para todos los scripts, que consistía en extraer todos los elementos de preguntas y respuestas del nodo secundario .

Luego agregamos indicadores binarios para diferenciar entre preguntas y respuestas. Para hacer esto en el primer y segundo script, volvimos a analizar por separado el contenido de preguntas y respuestas usando las expresiones XPath “chamber.xscript//question” y “chamber.xscript//answer”, agregamos los indicadores correctos de preguntas y respuestas en consecuencia, y luego agregó esas banderas nuevamente al marco de datos principal según las coincidencias exactas de texto. Para los guiones tercero y cuarto, utilizamos el hecho de que los patrones que preceden al texto transcrito en un nodo de pregunta se almacenaron por separado de los transcritos en un nodo de respuesta. Como resultado, podríamos usar fácilmente esos patrones para marcar preguntas y respuestas correctamente según a qué lista de patrones pertenecían. A veces, identificamos preguntas que se transcribieron incorrectamente en un nodo de respuesta y viceversa, en cuyos casos corregimos manualmente las marcas de preguntas y respuestas. Por ejemplo, verificamos cualquier declaración marcada como pregunta que incluya la frase "ha proporcionado la siguiente respuesta a la pregunta de su Señoría", en cuyo caso recodificamos esa declaración como una respuesta. Sin embargo, es importante tener en cuenta que debido a que identificamos y corregimos estos errores de transcripción manualmente a medida que los descubrimos, es posible que existan errores de señalización adicionales que no detectamos. Como tal, los usuarios pueden identificar y deben tener cuidado con preguntas o respuestas ocasionales marcadas incorrectamente en los datos.

El siguiente paso fue fusionar los contenidos del turno de preguntas con todo el discurso del debate. Como se mencionó, nuestro método de análisis significó que todo ya estaba en orden, por lo que no tuvimos que realizar ninguna combinación adicional para preguntas sin contenido notificado. Para preguntas escritas, fusionar este contenido también fue sencillo debido a que siempre está al final de Hansard. Esto significa que podríamos vincular la pregunta escribiendo filas en la parte inferior del marco de datos principal. Este enfoque se utilizó para los cuatro guiones.

Como ya hemos dicho, el texto fue estructurado y analizado de tal manera que las diferentes interjecciones y comentarios que se produjeron durante el discurso no se separaron en filas individuales. Este fue el caso durante todo el período de tiempo de los documentos. Primero discutiremos la metodología empleada para dividir las interjecciones en el primer y segundo guión, tal como informó nuestro enfoque para el tercer y cuarto guión.

A continuación se muestra un ejemplo de parte de un discurso que tendríamos que dividir, extraído de Hansard el 30 de noviembre de 2021, donde Bert van Manen es interrumpido por el presidente, quien afirma que el tiempo de las declaraciones de los miembros ha concluido.

“Sr. VAN MANEN (Forde—Jefe de Gobierno) (13:59): Es un gran placer compartir con la Cámara que Windaroo Valley State High School se ha clasificado para las finales del Concurso Australiano de Diseño Espacial, que comenzará en enero del próximo año. . La competencia se considera la competencia STEM más importante para estudiantes de secundaria y está reconocida por universidades de todo el país. Se requiere que los estudiantes respondan a ingeniería a nivel industrial y solicitudes de licitación para diseño y... El PONENTE: ¡Ordene! De conformidad con el orden permanente 43, el tiempo para las declaraciones de los miembros ha concluido”.

Queremos que cada declaración esté en su propia fila con el nombre correcto, la identificación del nombre, el electorado y la información del partido del individuo que habla. Abordamos esta tarea en una serie de pasos.

Una vez que todo el texto analizado del XML se fusionó en un marco de datos llamado "principal", nuestro primer paso fue agregar una variable "speech_no". Esto se hizo para realizar un seguimiento de a qué discurso pertenecía cada interjección, comentario o continuación mientras separamos estos componentes en sus propias filas.

El siguiente paso fue extraer todos los nombres y títulos que preceden a estas interjecciones, comentarios y continuaciones. Esto nos permitiría luego separar los discursos en los lugares correctos usando estos nombres y títulos en combinación con expresiones regulares, que son patrones de caracteres que se pueden usar para buscar cuerpos de texto. Completamos este proceso de extracción con algunos pasos intermedios, debido a la gran cantidad de estilos de nombres y tipos de interjección que debían tenerse en cuenta, cada uno de los cuales requería su propio formato de expresión regular único.

Como se mencionó anteriormente, los XML de Hansard de años más recientes contienen una serie de nodos secundarios que existen para capturar la estructura de las interrupciones en ese discurso. La Figura 3 proporciona un ejemplo de esto, donde el discurso fue interrumpido por un comentario del vicepresidente y luego el parlamentario continuó su discurso. Al observar los nombres de los elementos resaltados en azul, estos nodos secundarios no contienen el texto real para la interjección o continuación; este texto está incrustado en el discurso que se encuentra encima. Sin embargo, como lo muestra el contenido resaltado en rosa en la Fig. 3, pudimos extraer detalles útiles sobre las interposiciones individuales que podríamos usar más adelante. Haciendo uso de esta estructura, extrajimos los nombres y la información de todas las personas que fueron categorizadas dentro del XML como interjecciones. Almacenamos esto como un marco de datos llamado "interject". Decidimos no incluir estos datos en nuestra base de datos final, ya que están integrados en nuestros conjuntos de datos resultantes que tienen una bandera para interjecciones.

Instantánea de la estructura XML con interjección y continuación del 3 de febrero de 2021 Hansard.

Luego creamos listas utilizando tanto el marco de datos principal como el interpuesto para capturar todos los nombres de las personas que hablaron ese día. Agregamos los nombres de todos los parlamentarios en varios formatos únicos, debido a la variación frecuente en la forma en que se transcriben los nombres en Hansard. Cuando un diputado interviene o continúa un discurso, la forma habitual de su nombre es un título seguido de su nombre o inicial y/o apellido. También hay variación en las mayúsculas de estos nombres. A veces, cuando se incluye el nombre de alguien, solo su apellido está en mayúscula, mientras que a veces su nombre completo está en mayúscula o, otras veces, ninguno de los dos está en mayúscula. Otra fuente de variación se encuentra en las personas con más de un nombre, ya que a veces solo se escribe su nombre inicial, mientras que otras veces se escribe su nombre completo. Además, algunos apellidos tienen puntuación y algunos apellidos tienen mayúsculas específicas, como "McCormack", donde incluso en mayúsculas completas, la primera "c" permanece en minúscula. Esta variación exige una consideración cuidadosa al escribir patrones de expresiones regulares. En estas listas también tomamos en cuenta cualquier declaración de interjección general que no fuera atribuida a un individuo, como "Un miembro de la oposición interviniendo".

Tener estas listas nos permitió extraer los nombres de los parlamentarios y sus títulos asociados tal como existen en el texto, mediante la búsqueda de coincidencias exactas con patrones de expresión regular. Luego usamos estos nombres extraídos para dividir todos los discursos, usando expresiones regulares con búsquedas. Se puede agregar una búsqueda a un patrón de expresión regular para mejorar la especificidad de las coincidencias. Estos se utilizaron para garantizar que el texto no se dividiera en lugares equivocados, como lugares donde se nombraba a los parlamentarios en la declaración de otro parlamentario.

Una vez que todas las interjecciones, comentarios y continuaciones se dividieron en sus propias filas usando las listas que creamos, hicimos una verificación final para detectar cualquier nombre adicional que no estuviera capturado en estas listas. Buscamos coincidencias de nombres restantes en cuerpos de discurso con expresiones regulares generales y búsquedas, y separamos el texto usando esas coincidencias cuando las encontramos.

Luego agregamos una variable de orden al conjunto de datos según el número de fila, para realizar un seguimiento del orden en que se dijo todo. El siguiente paso fue completar las variables nombre, identificación del nombre, electorado y partido con los datos correctos para cada fila. También queríamos agregar el género y el identificador único para cada individuo como se encuentra en el paquete AustralianPoliticians. Para hacerlo, creamos una tabla de búsqueda, que contenía la forma única incompleta en la que se transcribió el nombre, y el nombre completo correspondiente, identificación del nombre, electorado, partido, género e identificación única de ese individuo. La figura 4 proporciona un ejemplo de esto. Utilizamos el conjunto de datos principal del paquete AustralianPoliticians en la creación de cada tabla de búsqueda9.

Primeras 10 filas de la tabla de búsqueda del procesamiento de Hansard del 19 de octubre de 2017.

A continuación, fusionamos nuestro marco de datos principal con la tabla de búsqueda para reemplazar los nombres incompletos con sus nombres completos y para llenar los espacios vacíos con información de identificación de nombre, electorado, partido, género e identificación única disponible. Finalmente, pudimos agregar una bandera para las interjecciones. Agrupando nuestros datos por número de discurso, definimos una interjección como una declaración hecha por cualquier persona que no sea el presidente, el vicepresidente o el diputado a quien le tocaba hablar. La Figura 5 proporciona un ejemplo de un procedimiento de la Cámara de la Federación con interjecciones. Las declaraciones del diputado a quien le tocó la palabra o de la vicepresidenta Maria Vamvakinou no se consideran interjecciones.

Ejemplo de discurso con interjecciones del 21 de noviembre de 2016 Hansard.

Habiendo desarrollado una metodología exitosa para dividir las interjecciones, la utilizamos para informar nuestro enfoque general en los guiones tercero y cuarto. Sin embargo, la diferencia en la limpieza de datos utilizada en estos scripts requirió cierta desviación de la metodología original. Como se analizó anteriormente, utilizamos patrones de cadenas extraídos de los nodos para separar los discursos. Como es evidente en la Fig. 3, los nodos están anidados dentro de los nodos , lo que significa que los patrones de datos de las declaraciones de interjección se separaron en el proceso. Esto significó que no necesitábamos crear listas de nombres y títulos para buscar en el texto como lo hacíamos antes. Sin embargo, utilizamos la misma lista de declaraciones de interjección generales para separar que se utilizó en los dos primeros guiones. Luego hicimos una verificación adicional para detectar declaraciones que pudieran no haberse separado debido a cómo estaban incrustadas en el XML, y las separamos cuando fue necesario. En particular, si bien la mayoría de las declaraciones se categorizaron en su propio nodo secundario y, por lo tanto, se capturaron mediante una separación basada en patrones, algunas no se categorizaron individualmente y tuvieron que dividirse manualmente en este paso.

Luego procedimos a limpiar los discursos y completar los detalles correctos sobre el discurso del parlamentario. Si bien utilizamos el mismo método de tabla de búsqueda que antes, lo hicimos en combinación con otros medios para completar estos detalles. Los patrones analizados desde los nodos contienen datos importantes sobre el MP que hace cada declaración. Como tal, podríamos extraer los datos asociados con cada patrón analizando un elemento hacia adentro, usando la expresión XPath "talk.start/talker". Creamos una tabla de búsqueda de patrones con estos datos y la fusionamos con el marco de datos principal de Hansard según el primer patrón detectado en cada declaración. La Figura 6 proporciona un ejemplo de esa tabla de búsqueda. Este enfoque nos permitió completar los datos faltantes de cada parlamentario hablando utilizando datos extraídos directamente del XML. Finalmente, utilizamos el conjunto de datos de AustralianPoliticians para completar otros datos faltantes y marcamos las interjecciones de la misma manera que antes.

10 filas de la tabla de búsqueda de patrones del 12 de diciembre de 2012 Procesamiento Hansard.

Al crear nuestros primeros guiones, uno de los componentes finales necesarios era separar las instrucciones generales del escenario de las declaraciones hechas por los parlamentarios. Las acotaciones son declaraciones generales incluidas en la transcripción para documentar los acontecimientos en el parlamento. Ejemplos de acotaciones escénicas son “Proyecto de ley leído por segunda vez”, “Pregunta acordada” o “Debate aplazado”. En el XML y el PDF no nos quedó claro a quién se atribuyeron exactamente estas declaraciones. Para mayor aclaración, vimos partes de la grabación de video durante algunos días de sesión y notamos que, si bien estas declaraciones están documentadas en Hansard, no se expresan explícitamente en el parlamento. Por ejemplo, cuando el vicepresidente dice “La cuestión es que el proyecto de ley se lea por segunda vez”, los parlamentarios votan y, si la mayoría está a favor, proceden a leer el proyecto por segunda vez. Esta votación y segunda lectura no se transcribe explícitamente, sino que lo que está escrito es: “Pregunta acordada. Bill leyó una segunda vez". Por esta razón, completamos la variable de nombre de estas declaraciones con “dirección de escena”. Las acotaciones escénicas no fueron marcadas como interjecciones. Estas acotaciones no están definidas de manera diferente del discurso de debate normal en el XML, lo que significa que tuvimos que crear manualmente una lista de acotaciones para separarlas de los discursos. Creamos esta lista de acotaciones escénicas mientras trabajábamos hacia atrás al analizar a Hansard y adoptamos el mismo enfoque en los cuatro guiones. A pesar de nuestros mejores esfuerzos para capturar todas las acotaciones en esta lista, debido a que tuvo que crearse manualmente, los usuarios deben tener en cuenta que es posible que algunas acotaciones no se hayan separado en sus propias filas en el proceso. Además, es importante señalar que, debido a que no se pronuncian en voz alta, las acotaciones escénicas no representan componentes del habla de la misma manera que lo hacen todos los demás componentes, como las interjecciones y las continuaciones. Sin embargo, proporcionan información valiosa sobre el funcionamiento interno y la estructura de los eventos parlamentarios. Si el enfoque de la investigación del usuario no requiere acotaciones, esto se puede eliminar filtrando las observaciones cuyo nombre sea igual a “inicio de negocio” o “dirección escénica”.

Si bien hicimos todo lo posible para maximizar la integridad de los archivos en nuestra base de datos a medida que fueron procesados ​​en los cuatro guiones iniciales, todavía había una serie de filas en las que faltaban detalles sobre la persona que hablaba, o el nombre transcrito para esa persona era en forma abreviada (por ejemplo, “Mr. Abbott” en lugar de “Abbott, Tony, MP”). Esto fue algo particularmente frecuente en los días de sesión en los que habló un parlamentario cuyo apellido era compartido por cualquier otro parlamentario pasado o presente, y se evitó el llenado automático de sus datos utilizando datos del paquete AustralianPoliticians para evitar cualquier atribución incorrecta de detalles. En un esfuerzo por mejorar la mayor cantidad posible de estos, desarrollamos un script que identifica nombres cortos que pertenecen a personas con apellidos comunes en cada CSV, busca la versión completa del nombre de esa persona si está disponible en ese mismo archivo CSV y reemplaza el nombre abreviado con el nombre completo y completa el resto de los detalles del MP en consecuencia con datos del paquete AustralianPoliticians. Este script hace lo mismo para cualquier persona que tenga un apellido único pero aún le falte el nombre completo o cualquier detalle de género, identificación única, nombre de identificación, partido o electorado. Cada archivo de nuestra base de datos pasó por este script después de ser creado, para garantizar que esté lo más completo posible.

Debido a que los nombres de los diputados con apellidos comunes no estaban todos en su forma completa cuando marcamos las interjecciones por primera vez, fue posible que el nombre del diputado a quien le tocaba hablar se transcribiera en diferentes formas dentro de su discurso. Por ejemplo, "Smith, Tony, MP" al principio y luego "Sr. Smith" más adelante en el discurso. Por la naturaleza de cómo marcamos las interjecciones, esto significa que las filas donde la forma corta como "Mr Smith" es el nombre se marcarían como una interjección, lo cual es incorrecto. Para solucionar este problema, volvimos a marcar las interjecciones usando la misma definición que antes, una vez que todos los nombres se completaron con este script.

Para mejorar la gama de preguntas de investigación que se pueden explorar con nuestros datos, hemos creado un archivo complementario que contiene temas de debate y sus números de página correspondientes para cada día de sesión en nuestra base de datos. Para extraer estos datos, escribimos un script para analizar los elementos de información del debate y subdebate 1 de cada archivo XML en orden cronológico utilizando la expresión XPath “//debate/debateinfo | //subdebate.1/subdebateinfo”, y agregó una variable de fecha con la fecha de cada día de sesión. Tenga en cuenta que en algunos casos hubo varios nodos secundarios con números de página para el mismo título de debate o subdebate, probablemente debido a un error de transcripción manual. Tras una inspección manual, descubrimos que, en la mayoría de los casos, el segundo nodo de número de página contenía el mismo número de página que el primer nodo y, a veces, el segundo nodo contenía un título de debate repetido o una marca de tiempo. Por lo tanto, tomamos el primer nodo secundario del número de página disponible para cada nodo de debate o subdebate como el que incluimos en nuestro conjunto de datos. Después de resumir, estos temas se pueden agregar al texto principal uniéndose. Se proporciona un código de ejemplo en el archivo README.

Otro componente fundamental de los procedimientos parlamentarios es la votación. En la Cámara, cuando surge una pregunta como “La cuestión es que se apruebe la enmienda”, se pide a los miembros que emitan su voto afirmativa o negativamente, y la mayoría de votos a juicio del Presidente determina la decisión. resultado8. Además, los miembros pueden votar en un arreglo no oficial llamado pares, que “puede usarse para permitir que un miembro de un lado de la Cámara esté ausente en cualquier votación cuando un miembro del otro lado debe estar ausente al mismo tiempo o cuando , por acuerdo, un Miembro se abstiene de votar”8. Si el resultado determinado por el Portavoz es impugnado por más de un diputado, esto da lugar a una división de la Cámara en la que se vuelve a plantear la cuestión y los diputados deben moverse hacia la izquierda o la derecha de su silla dependiendo de cómo voten. para que los votos puedan ser recontados y registrados8.

En los archivos XML de Hansard, los datos de las divisiones están estructurados fuera del contenido en sus propios nodos que contienen los datos de votación y el resultado de la división. Dado que nos centramos principalmente en el contenido hablado Hansard, nuestros guiones de análisis no capturan necesariamente todos los datos de las divisiones de los procedimientos de la Cámara. Nuestro enfoque para analizar Hansard en los scripts tercero y cuarto descritos en la sección Diferencias de scripts naturalmente permitió que gran parte de los datos de las divisiones se agregaran a nuestros archivos resultantes desde 1998 hasta marzo de 2011; sin embargo, los scripts de análisis utilizados desde mayo de 2011 hasta septiembre de 2022 Hansard No. Para complementar nuestra base de datos y en un esfuerzo por llenar este vacío de datos de divisiones, creamos un archivo adicional que contiene todos los datos de divisiones anidados en XPath “//chamber.xscript//division” de los archivos Hansard en nuestro período de tiempo. Para producir este archivo de datos, para cada XML de Hansard analizamos los nodos secundarios , y donde existían, extrajimos las marcas de tiempo cuando estaban disponibles y realizamos cualquier limpieza de datos adicional. según sea necesario. Usamos una serie de declaraciones if-else en este script para tener en cuenta la variación en la estructura del nodo a lo largo del tiempo. Finalmente, agregamos una variable de fecha para distinguir entre los días de sesión.

Nuestra base de datos está disponible en formato CSV y parquet. Tanto CSV como parquet son estándares abiertos. Proporcionamos ambos porque, si bien los archivos CSV se usan comúnmente y se pueden inspeccionar manualmente, los archivos de parquet suelen ser más pequeños y conservan la clase. Nuestra base de datos cubre todos los días de sesión de la Cámara de Representantes desde el 2 de marzo de 1998 hasta el 8 de septiembre de 2022, donde hay una transcripción XML disponible, por lo que hay 1532 archivos de días de sesión individuales para cada formato. Además, hay un único archivo de corpus en formato CSV y parquet que contiene los datos de todos los días de sesión, con una variable de fecha agregada para permitir la distinción y el filtrado de días de sesión individuales. También hay un archivo CSV y parquet que contiene todos los temas de debate analizados. Todos los registros de datos están disponibles en el repositorio de propósito general Zenodo, en https://doi.org/10.5281/zenodo.733607519. Para cada archivo de datos de Hansard, es decir, el corpus y los archivos de los días de sesión individuales, cada fila contiene una declaración individual, con detalles sobre el individuo que habla. Para declaraciones generales transcritas como hechas por “Honorables miembros”, por ejemplo, estas variables no se pueden especificar. La Tabla 1 proporciona una descripción general de cada variable que se encuentra en los archivos de datos de Hansard en la base de datos.

Las variables nombre, número de página, marca de tiempo, nombre.id, electorado, partido, in.gov, primer discurso y cuerpo provienen directamente del contenido XML. Además de estas variables, agregamos una serie de indicadores para permitir un filtrado sencillo de las declaraciones. Por ejemplo, agregar Fedchamb_flag proporciona una distinción clara entre los procedimientos de la Cámara y los de la Cámara de la Federación. Se agregaron los indicadores de pregunta, respuesta y q_in_writing para identificar las declaraciones que pertenecen al turno de preguntas y la naturaleza de estas declaraciones. También marcamos las interjecciones (interject) y se agregó la variable div_flag para marcar las filas donde "La casa se dividió". fue detectado en la variable cuerpo. Las variables de género y de identificación única se agregaron basándose en el conjunto de datos principal del paquete AustralianPoliticians, y la variable partyfacts_id se agregó utilizando código y datos proporcionados por el sitio web de Party Facts Project. Tenga en cuenta que, de acuerdo con el código proporcionado en la página de descargas de Party Facts (https://partyfacts.herokuapp.com/download/), utilizamos solo los conjuntos de datos principales mantenidos por el proyecto Party Facts, que son el Proyecto Manifesto y ParlGov. Los detalles sobre estos conjuntos de datos se pueden encontrar en la página de documentación de conjuntos de datos de Party Facts (https://partyfacts.herokuapp.com/documentation/datasets/). Los detalles sobre el uso de UniqueID y partyfacts_id se proporcionarán en las Notas de uso siguientes. Además, la variable Speech_no nos permite realizar un seguimiento del número de discurso al que pertenece cada declaración e interjección. Tener la variable número de discurso ofrece una manera fácil de agrupar declaraciones por discurso o aislar discursos específicos de interés. Por último, se agregó la variable de orden para mantener el orden de los procedimientos, después de que todas las declaraciones individuales se separaran en sus propias filas.

Como se mencionó, además de los datos de Hansard descritos anteriormente, nuestra base de datos también contiene un archivo CSV y parquet con los temas de debate analizados. Este archivo se llama all_debate_topics y contiene una variable de fecha que especifica el día de la sesión, una variable item_index para especificar el orden de los procedimientos (es decir, el orden en el que se discutieron estos temas), una variable de título que contiene el contenido del título del debate o subdebate. y una variable page.no que especifica en qué página se registró ese título y se encontrará en el PDF oficial de Hansard.

También hay un archivo CSV en nuestra base de datos llamado PartyFacts_map.csv. Este archivo se creó utilizando datos de políticos australianos, datos descargados del proyecto Party Facts y nuestra propia variable de datos de partido Hansard. Como existen algunas inconsistencias en la ortografía de abreviaturas y nombres de partidos en estas fuentes, la creación de este marco de datos nos permitió garantizar la combinación correcta de los números de identificación de PartyFacts con su partido asociado, de acuerdo con la ortografía de las abreviaturas de partidos transcritas en nuestros datos de Hansard. Además, incluimos la abreviatura del partido correspondiente y la ortografía del nombre completo que se encuentran en el paquete AustralianPoliticians para que esté completo. En la Tabla 2 se proporciona una descripción general de las variables presentes en este archivo.

Finalmente, nuestra base de datos contiene un archivo con todos los datos de las divisiones analizadas en nuestro período de tiempo. Esto se llama division_data y está disponible en formato RDA y en formato parquet. La razón por la que no está disponible en formato CSV es porque tres de las variables (nombres_AYES, nombres_NOES y nombres_PARES) son listas, que no son compatibles con la estructura de datos rectangular CSV. Las variables encontradas en estos datos se resumen a continuación, en la Tabla 3.

Desarrollamos un script para realizar pruebas automatizadas en cada archivo de nuestra base de datos, para mejorar su calidad y coherencia. Nuestra primera prueba valida que la fecha especificada en cada nombre de archivo coincida con la fecha especificada en el encabezado de sesión XML correspondiente. Este componente XML se puede ver en la Fig. 1, donde el primer nodo secundario del elemento es la fecha. Todos los archivos pasaron esta prueba y detectamos una discrepancia en un archivo XML del 3 de junio de 2009, donde su encabezado de sesión contenía una fecha incorrecta. Validamos que el nombre y la fecha de nuestro archivo fueran correctos verificando la publicación oficial en PDF de ese día.

La segunda prueba está diseñada para detectar errores de duplicación en los datos, comprobando si dos líneas que se suceden inmediatamente tienen el mismo cuerpo (es decir, contenido hablado). Esta prueba detectó 131 fechas en las que se hicieron declaraciones duplicadas, y una sigue inmediatamente a la otra. Tenga en cuenta que esta prueba no tiene en cuenta quién hace cada declaración, lo que significa que un parlamentario que repite las palabras de otro parlamentario también sería incluido en esta prueba. Verificamos una muestra del 40% de estos duplicados y validamos manualmente que todas sean declaraciones repetidas que existen y se transcriben muy juntas en el archivo XML de ese día, y según nuestro método deben analizarse de manera que una de estas declaraciones sea seguida inmediatamente. por el otro.

Cuando a un parlamentario se le acaba el tiempo asignado para su discurso, los editores de Hansard transcriben "(El tiempo expiró)" después de su última palabra. Como forma de comprobar que hemos separado los discursos correctamente, nuestra tercera prueba comprueba que cuando la frase “(Tiempo expiró)” existe en un cuerpo de texto, existe al final. Cuando este no es el caso, sabemos que hemos omitido la separación de la siguiente declaración en su propia fila y podemos solucionarlo en consecuencia.

La cuarta prueba está diseñada para detectar problemas en el formato de las marcas de tiempo en los datos, detectando todas las marcas de tiempo en nuestra base de datos que no coinciden con el formato “HH:MM:SS” correcto. Encontramos un total de 88 marcas de tiempo con formato incorrecto, con problemas comunes como el componente "HH" o "MM" registrado como "NaN" (por ejemplo, "NaN:28:00" o "09:NaN:00"), como así como marcas de tiempo con un tercer dígito en el componente de minutos (por ejemplo, “09:497:00” o “13:445:00”). Tomamos una muestra aleatoria del 25% de estas marcas de tiempo con formato incorrecto y verificamos manualmente si estaban transcritas como tales en la transcripción XML original de Hansard. Descubrimos que cada marca de tiempo con formato incorrecto en nuestra muestra aleatoria se transcribió como tal en su archivo XML original, lo que significa que estos errores son el resultado de un error de transcripción, en lugar de un error resultante de nuestro análisis de datos o código de limpieza. Como tal, hemos dejado estas marcas de tiempo en su formato transcrito originalmente en nuestra base de datos.

Las pruebas restantes se centran en los diputados presentes cada día de sesión. Nuestra quinta prueba comprueba que haya un partido y un electorado únicos atribuidos a cada individuo en cada día de sesión. A medida que analizamos a Hansard más atrás en el tiempo, encontramos varios casos en los que un individuo estaba asociado con el electorado o partido equivocado debido a errores de transcripción. Cuando encontramos estos errores de datos, los corregimos según el comunicado oficial. Esta prueba nos proporciona una forma automatizada de detectar estos errores y corregirlos a escala.

A continuación, probamos que el código de identificación de nombre único atribuido a cada individuo se encuentre en el Manual Parlamentario Australiano. Lo hacemos usando el paquete ausPH. Esta prueba sirve como otro medio para corregir errores de transcripción, esta vez en el caso de identificaciones de nombres. Encontramos y corregimos una serie de errores comunes de transcripción de identificación de nombres detectados por esta prueba, como una letra "O" mayúscula en lugar de un cero.

Nuestra séptima prueba comprueba que, en cualquier día de sesión, los individuos identificados estén vivos. Para hacerlo, utilizamos el conjunto de datos principal del paquete AustralianPoliticians que contiene las fechas de nacimiento y, cuando corresponde, de muerte de cada político. Esta prueba confirmó que todos los parlamentarios que se detecta que hablan cada día de sesión no han fallecido.

Finalmente, nuestra octava prueba valida que todos los individuos que hablan son parlamentarios ese día en particular. Usamos el conjunto de datos de diputados del paquete AustralianPoliticians que tiene las fechas en las que cada diputado estuvo en el parlamento. Utilizando estas fechas, comprobamos que cada persona que habla en cada día de sesión es, de hecho, un diputado ese día.

Para explorar más a fondo la calidad de nuestros datos y detectar tendencias inesperadas o distintas, generamos una serie de estadísticas resumidas utilizando el corpus completo de Hansard. Primero, analizamos la cantidad de discursos pronunciados cada día, desglosados ​​por lugares de debate de la Cámara y la Cámara de la Federación. Como se muestra en la Figura 7, constantemente se pronuncian más discursos en los procedimientos de la Cámara que en la Cámara de la Federación, lo que se alinea con el ámbito más amplio de negocios cubiertos en la Cámara. Además, en ambos lugares de debate, el número de discursos cada día parece haber aumentado ligeramente con el tiempo.

Número de discursos pronunciados en cada día de sesión en la Cámara de Representantes.

A continuación, exploramos el número de nombres únicos detectados en cada día de sesión desglosados ​​por lugar de debate, visualizado en la Fig. 8. Como era de esperar, en nuestros datos generalmente se detecta que hay más parlamentarios individuales presentes en los procedimientos de la Cámara que en la Cámara de la Federación. actas. Además, en ambos lugares, el número de personas detectadas por día de sesión parece haber aumentado aproximadamente desde 2008-2009, con un máximo de 116 y 87 nombres únicos detectados para la Cámara y la Cámara de la Federación, respectivamente. Durante el período de nuestros datos, hubo un promedio diario de 84 nombres únicos detectados en la Cámara y 34 en la Cámara de la Federación. Estas observaciones están de acuerdo con el número oficial de miembros de la Cámara de Representantes, que era de 148 en 1998, 150 en 2001 y luego aumentó a 151 en las elecciones generales de 20198.

Número diario de nombres únicos detectados en nuestros datos de Hansard.

Luego calculamos el número total de discursos pronunciados en nuestra base de datos por partido político, resumidos en la Tabla 4. Descubrimos que el Partido Laborista Australiano pronunció la mayor cantidad de discursos en general, seguido por el Partido Liberal de Australia y el Partido Nacional de Australia. Estas clasificaciones no son sorprendentes, ya que esos partidos son los tres principales partidos políticos de la Cámara de Representantes de Australia20.

Para mejorar la usabilidad de nuestra base de datos, agregamos una variable ID única a cada archivo. Esto sirve como un identificador único para cada parlamentario que habla y proviene de la variable ID única presente en los datos del paquete R de AustralianPoliticians9 y del paquete R AustralianElections (https://github.com/RohanAlexander/AustralianElections), que fue creado por Rohan Alejandro. Al incluir esta variable, podemos integrar nuestros registros de datos con los disponibles en estos dos paquetes. De manera similar, agregamos la variable partyfacts_id a nuestros datos, lo que permite a los usuarios vincular nuestros datos a fuentes de datos externas de partidos políticos con este identificador único.

Además, la variable name.id que se encuentra en cada archivo es otro identificador único para cada MP. Esta variable se analizó directamente desde los archivos XML de Hansard y se puede encontrar en el Manual parlamentario australiano. Como tal, nuestros registros de datos se pueden integrar con los del paquete ausPH que proporciona conjuntos de datos para el contenido del Manual Parlamentario Australiano. Esto permitirá una extracción conveniente de más detalles sobre cada MP en un formato ordenado y listo para analizar.

Finalmente, el archivo README en nuestro repositorio de GitHub y en Zenodo contiene código de ejemplo sobre cómo leer un archivo de nuestra base de datos, tanto para formato CSV como parquet. Si un usuario desea utilizar el corpus único de Hansard en lugar de archivos de días de sesión individuales, proporcionamos un código de ejemplo sobre cómo leerlo, filtrar los días de sesión de interés y dividirlos en marcos de datos distintos. También hemos agregado código de ejemplo para filtrar las acotaciones y actualizar la variable de orden para reflejar el orden de las filas restantes, en caso de que el usuario desee eliminar acotaciones de su análisis. Por último, el archivo README contiene un código de ejemplo que muestra a los usuarios cómo fusionar los datos de los temas de debate con un archivo de datos de Hansard durante un día.

El código escrito para construir esta base de datos está disponible en el repositorio de GitHub asociado con este documento (https://github.com/lindsaykatz/hansard-proj). Todos los scripts se crearon utilizando el software R21. Los paquetes principales utilizados para desarrollar estos scripts son: el paquete XML15, el paquete xml216, los paquetes tidyverse R22, el paquete AustralianPoliticians9 y el paquete ausPH. Se utilizaron XML y xml2 para analizar los documentos XML, AustralianPoliticians y ausPH se utilizaron para limpiar y completar los detalles de MP en los conjuntos de datos, y se utilizaron paquetes tidyverse en todos los pasos, para una organización ordenada de los datos.

Mancomunidad de Australia. Debates Parlamentarios, Cámara de Representantes. (2023).

Vice, J. y Farrell, S. La historia de Hansard. (Biblioteca de la Cámara de los Lores; Cámara de los Lores Hansard, 2017).

Beelen, K. y col. Digitalización de los debates parlamentarios canadienses. Revista Canadiense de Ciencias Políticas/Revue canadienne de science politique 50, 849–864 (2017).

Artículo de Google Scholar

Erjavec, T. y col. Language Resources and Assessment 57, 415–448, El corpus de procedimientos parlamentarios de ParlaMint (2022).

Artículo PubMed PubMed Central Google Scholar

Rauh, C. & Schwalbach, J. El conjunto de datos ParlSpeech V2: corpus de texto completo de 6,3 millones de discursos parlamentarios en las cámaras legislativas clave de nueve democracias representativas. https://doi.org/10.7910/DVN/L4OAKN (2020).

Sylvester, C., Ershova, A., Khokhlova, A., Yordanova, N. & Greene, Z. Conjunto de datos de discursos plenarios V2 de ParlEE: texto completo comentado de 15,1 millones de discursos plenarios a nivel de oración de seis cámaras legislativas de la UE. Harvard Dataverse https://doi.org/10.7910/DVN/VOPK0E (2023).

Kartalis, Y. & Costa Lobo, M. MAPLE Conjuntos de datos parlamentarios: texto completo y corpus anotados de discursos parlamentarios en las legislaturas de seis democracias europeas. https://doi.org/10.7910/DVN/9MN0RL (2021).

Cámara de los Representantes. Práctica de la Cámara de Representantes (Gobierno de Australia - Departamento de la Cámara de Representantes, 2018).

Alexander, R. & Hodgetts, PA Políticos australianos: proporciona conjuntos de datos sobre políticos australianos. (2021).

Dowding, K., Leslie, P. y Taflaga, M. Australia. en La política de los debates legislativos 130-151. https://doi.org/10.1093/oso/9780198849063.003.0008 (Oxford University Press, 2021).

Salisbury, C. 'Señor presidente, me retiro...': estándares de (mala) conducta en los parlamentos de Queensland, Australia Occidental y la Commonwealth comparados a través de Hansard en línea. Revisión parlamentaria de Australasia 26, 166-177 (2011).

Google Académico

Rasiah, P. Un marco para el análisis sistemático de la evasión en el discurso parlamentario. Revista de pragmática 42, 664–680 (2010).

Artículo de Google Scholar

Fraussen, B., Graham, T. y Halpin, DR Evaluación de la prominencia de los grupos de interés en el parlamento: un enfoque de aprendizaje automático supervisado. La Revista de Estudios Legislativos 24, 450–474 (2018).

Artículo de Google Scholar

Alexander, R. y Alexander, M. El mayor efecto de las elecciones y el cambio de primeros ministros en los temas debatidos en el Parlamento Federal australiano entre 1901 y 2018. preimpresión de arXiv arXiv:2111.09299 (2021).

Temple Lang, D. XML: herramientas para analizar y generar XML en R y S-Plus. (2022).

Wickham, H., Hester, J. y Ooms, J. xml2: Analizar XML. (2021).

Wickham, H. Datos ordenados. Revista de software estadístico 59, (2014).

Cámara de los Representantes. Una ventana a la casa: Prácticas y procedimientos relativos al turno de preguntas. (Parlamento de Australia, 2021).

Katz, L. y Alexander, R. Una base de datos nueva y completa de todos los procedimientos de los debates parlamentarios australianos (1998-2022). Zenodo https://doi.org/10.5281/zenodo.7336075 (2023).

Parlamento de Australia. Ficha informativa 22 - Partidos políticos. Fichas informativas de la Cámara de Representantes (2022).

Equipo central de R. R: un lenguaje y un entorno para la informática estadística. (Fundación R para Computación Estadística, 2022).

Wickham, H. y col. Bienvenido al tidyverso. Revista de software de código abierto 4, 1686 (2019).

Descargar referencias

Agradecemos a Kristine Villaluna, Monica Alexander y Jack Stephenson por sus útiles comentarios. Deseamos agradecer especialmente a Guy Jones, editor jefe, a los dos revisores anónimos y al miembro del consejo editorial, Michael Jankowski, por sus comentarios.

Universidad de Toronto, Toronto, Canadá

Lindsay Katz y Rohan Alexander

También puedes buscar este autor en PubMed Google Scholar.

También puedes buscar este autor en PubMed Google Scholar.

LK desarrolló e implementó el código para obtener, crear y probar los conjuntos de datos y escribió el primer borrador del artículo. RA conceptualizó y diseñó el estudio y contribuyó con la redacción. Ambos autores aprobaron la versión final.

Correspondencia a Lindsay Katz o Rohan Alexander.

Los autores declaran no tener conflictos de intereses.

Nota del editor Springer Nature se mantiene neutral con respecto a reclamos jurisdiccionales en mapas publicados y afiliaciones institucionales.

Acceso Abierto Este artículo está bajo una Licencia Internacional Creative Commons Attribution 4.0, que permite el uso, compartir, adaptación, distribución y reproducción en cualquier medio o formato, siempre y cuando se dé el crédito apropiado a los autores originales y a la fuente. proporcione un enlace a la licencia Creative Commons e indique si se realizaron cambios. Las imágenes u otro material de terceros en este artículo están incluidos en la licencia Creative Commons del artículo, a menos que se indique lo contrario en una línea de crédito al material. Si el material no está incluido en la licencia Creative Commons del artículo y su uso previsto no está permitido por la normativa legal o excede el uso permitido, deberá obtener permiso directamente del titular de los derechos de autor. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by/4.0/.

Reimpresiones y permisos

Katz, L., Alexander, R. Digitalización de los debates parlamentarios australianos, 1998-2022. Datos de ciencia 10, 567 (2023). https://doi.org/10.1038/s41597-023-02464-w

Descargar cita

Recibido: 04 de mayo de 2023

Aceptado: 11 de agosto de 2023

Publicado: 26 de agosto de 2023

DOI: https://doi.org/10.1038/s41597-023-02464-w

Cualquier persona con la que comparta el siguiente enlace podrá leer este contenido:

Lo sentimos, actualmente no hay un enlace para compartir disponible para este artículo.

Proporcionado por la iniciativa de intercambio de contenidos Springer Nature SharedIt