Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linguistic Annotations #33

Closed
matyaskopp opened this issue Aug 2, 2023 · 7 comments
Closed

Linguistic Annotations #33

matyaskopp opened this issue Aug 2, 2023 · 7 comments
Assignees

Comments

@matyaskopp
Copy link
Collaborator

I haven't run bin/ana_work_stanza.py, I have only checked ParlaMint 2.1 result ParlaMint.ana and the python source code. I can see the following problems:

  • annotation script does not work with annotated notes (gap / vocal / kinesic / incident)
  • it removes all pb elements, so it produces a different file (an unannotated TEI file is not reconstructible from TEI.ana file)
  • in ParlaMint.ana/ParlaMint-ES_2020-11-18-CD201118-bis.ana.xml, pb is preserved, the result due to incorrect XML parsing:
<w lemma="losipbar" msd="UPosTag=VERB|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin" xml:id="ParlaMint-ES_2020-11-18-CD201118-bis.u2.1.2.15">los&lt;pb</w>
<w join="right" lemma="n=" msd="UPosTag=NOUN" xml:id="ParlaMint-ES_2020-11-18-CD201118-bis.u2.1.2.16">n=</w>
<pc join="right" msd="UPosTag=PUNCT|PunctType=Quot" xml:id="ParlaMint-ES_2020-11-18-CD201118-bis.u2.1.2.17">"</pc>
<w join="right" lemma="7" msd="UPosTag=NUM|NumForm=Digit|NumType=Card" xml:id="ParlaMint-ES_2020-11-18-CD201118-bis.u2.1.2.18">7</w>
<pc join="right" msd="UPosTag=PUNCT|PunctType=Quot" xml:id="ParlaMint-ES_2020-11-18-CD201118-bis.u2.1.2.19">"</pc>
<w lemma="&gt;&lt;/pb&gt;" msd="UPosTag=ADJ|Gender=Masc|Number=Plur" xml:id="ParlaMint-ES_2020-11-18-CD201118-bis.u2.1.2.20">&gt;&lt;/pb&gt;</w>
  • annotation script produces wrong sentence segmentation when note is present inside sentence, eg this situation:
    <seg xml:id="ParlaMint-ES_2020-01-04-CD200104.u71.4">Señorías, su partido fue fundado por seis ministros de la dictadura, por seis ministros de una dictadura sanguinaria a los que hay que dar las gracias<note>rumores</note> , porque nuestra democracia se construyó también con algunos ministros de la dictadura que de un día para otro cambiaron de chaqueta y se hicieron demócratas.<note>Rumores</note> Hay que dar las gracias a esa gente, pero acépteme un consejo, señor Casado, no vuelvan ustedes a la ideología totalitaria que les vio nacer porque, si lo hacen, la democracia española les colocará en su sitio.<note>Aplausos</note> Han hablado ustedes de tiranías, de mentirosos, de emboscadas, y han hablado ustedes una vez más de la traición a España. Hablemos de lo que significa traicionar a España. Traicionar a España significa atacar los derechos de los trabajadores; traición a España es vender vivienda pública a fondos buitre<note>aplausos</note> ; traición a España es vender y privatizar el patrimonio público; traición a España es privatizar los servicios públicos; traición a España es robar a manos llenas y financiarse ilegalmente en las campañas electorales.<note>Aplausos.-Varias señoras y señores diputados: ¡Muy bien!</note> La tarea del próximo Gobierno, señorías, es básicamente reparar las traiciones a España y a la Constitución que ustedes han perpetrado, porque ustedes hablan de la Constitución española pero olvidan los artículos que protegen el derecho a una vivienda digna, el derecho a una remuneración adecuada en el trabajo, el derecho a que haya un sistema fiscal redistributivo, y ustedes desprecian el artículo más patriota de la Constitución española, el 128, que dice que toda la riqueza del país estará subordinada al interés general. De esto va la nueva legislatura, de reparar sus traiciones a la patria.<note>Aplausos</note> Hace algunos días vi una imagen que me conmovió. Era un acto del partido de la señora Merkel; le entregaron una bandera de Alemania, ¿y saben lo que hizo la señora Merkel? Pues devolver inmediatamente esa bandera, porque ningún partido alemán tiene el derecho a representar a Alemania. Ojalá aprendieran ustedes algo de la responsabilidad de Estado de sus colegas alemanes. Ningún partido político en esta Cámara se puede arrogar el derecho de representar a España, porque todos los diputados y diputadas que están aquí son representantes de este país con la misma dignidad que cualquiera de ustedes.<note>Aplausos</note> Señorías, si ustedes supieran el significado de la responsabilidad de Estado y del sentido patriótico, por mucho que ustedes admiren a los demócratas evangélicos, que después de un pronunciamiento militar han tomado el poder en Bolivia, por mucho que les admiren, ustedes hubieran defendido a nuestros policías y a nuestro cuerpo diplomático.<note>Aplausos</note> El problema de ustedes, señorías, de la ultraderecha y de la ultraultraderecha, es que antes que españoles son ustedes reaccionarios.<note>Aplausos</note> Quiero dirigirme a las fuerzas políticas independentistas representadas en este Parlamento. Me encantaría convencerles mediante el diálogo para que ustedes dejasen de ser independentistas; me encantaría convencerles de las posibilidades de que construyéramos juntos un país diverso, de que empujáramos juntos el republicanismo en este país, de que construyéramos un país en el que, efectivamente, a día de hoy conviven diferentes sentimientos nacionales y diferentes naciones. Pero no soy ingenuo, sé que la mayoría de ustedes van a seguir siendo independentistas, y eso es perfectamente legítimo en democracia, pero creo que hay valores democráticos y valores sociales que nos unen para afrontar democráticamente los conflictos y también para mejorar la vida de la gente, hable la lengua que hable y se identifique con los símbolos con los que se identifique. Y creo que la gente que nos ha votado<pb n="57"/> a nosotros y que les ha votado a ustedes quieren que, al menos en esas cosas, nos podamos entender.<note>Aplausos</note> Quiero tener unas palabras hacia los independentistas catalanes que están en prisión y en el exilio.<note>Rumores</note> He podido conocer a algunos de ellos y tengo grandes diferencias políticas, pero he podido comprobar la profundidad incuestionable de sus convicciones democráticas. Me consta que algunos de ellos, desde la prisión, han trabajado para defender el acuerdo y el diálogo y desde esta tribuna quiero darles humildemente las gracias.<note>Aplausos</note> Europa ha dejado clara la inviabilidad de una solución judicial al conflicto político en Cataluña. Hagamos política, señorías; hagamos política.<note>Rumores</note> Para ir acabando, el próximo Gobierno tendrá muchos enemigos; tendrá poderes económicos y financieros con sus brazos mediáticos preparados para combatir atacando al próximo Gobierno; habrá quizá también algaradas callejeras y puede que también haya algunos togados que pongan por delante su ideología reaccionaria respecto al derecho.<note>Varios señores diputados: ¡Hala!</note> El próximo Gobierno deberá defender la democracia con la ley, con la ley, con la ley y con la ley.<note>Aplausos</note> Permítame acabar con una reflexión que Antonio Machado ponía en boca de Juan de Mairena: 'La patria es en España un sentimiento sencillamente popular del cual suelen jactarse los señoritos. En los trances más duros, los señoritos la invocan y la venden; el pueblo la compra con su sangre, y no la mienta siquiera'. Pedro<note>rumores</note> , estarás al frente de una coalición progresista histórica. Para nosotros es un honor caminar junto a vosotros. ¡Sí se puede! Adelante, presidente.</seg>
                     <w lemma="el" msd="UPosTag=DET|Definite=Def|Gender=Fem|Number=Plur|PronType=Art" xml:id="ParlaMint-ES_2020-01-04-CD200104.u71.4.1.27">las</w>
                     <w lemma="gracias" msd="UPosTag=NOUN|Gender=Fem|Number=Plur" xml:id="ParlaMint-ES_2020-01-04-CD200104.u71.4.1.28">gracias</w>
                     <linkGrp targFunc="head argument" type="UD-SYN">
                        <!-- SKIPPING -->
                     </linkGrp>
                  </s>
                  <note>rumores</note>
                  <s xml:id="ParlaMint-ES_2020-01-04-CD200104.u71.4.3">
                     <pc msd="UPosTag=PUNCT|PunctType=Comm" xml:id="ParlaMint-ES_2020-01-04-CD200104.u71.4.3.1">,</pc>
                     <w lemma="porque" msd="UPosTag=SCONJ" xml:id="ParlaMint-ES_2020-01-04-CD200104.u71.4.3.2">porque</w>

There is a lot of work to fix the annotating script, so I suggest using scripts from ParCzech project. It uses Lindat UDPipe with spanish-ancora-ud-2.10-220711 model and NameTag annotation services, and it has been successfully reused in ParlaMint-AT and ParlaMint-UA corpora, so I believe it will work for ParlaMint-ES too. My raw time estimation for annotation is 1-2 days.

@calzada @lucianadmacedo, what do you think? Should I integrate this annotation in Makefile and run it when TEI version is ready?

@lucianadmacedo
Copy link
Collaborator

Hi @matyaskopp,

I think it would be worth a try. I'd annotate a sample file with UDPipe, as you mentioned, and see if the errors don't outweigh the ones generated by the current script. If they do, it would be better to implement those improvements into the already existing script. What do you think?

The annotation with the current script using stanza is taking an hour or so per file using my machine. So it'd be better to have something more efficient. Fingers crossed!

@calzada
Copy link
Owner

calzada commented Aug 2, 2023

Hi @matyaskopp,
@lucianadmacedo is our expert for annotation. But if you need anything, let us know.
Best for now,
mc

@calzada
Copy link
Owner

calzada commented Aug 2, 2023

Hi @matyaskopp
@lucianadmacedo has managed to run the script https://github.com/calzada/PARLAMINT-ES-MC/blob/master/bin/ana_work_stanza.py
However, her GPU is not very powerful and the script takes on forever. Would you be able to run the script yourself. I know this is very bad on our side, but we have basic computer systems.
What do you think?
Best
mc

@matyaskopp
Copy link
Collaborator Author

I will annotate the sample with UDPipe and NameTag tomorrow.

@calzada
Copy link
Owner

calzada commented Aug 2, 2023

Hi, @matyaskopp
Thanks so much for your help.
Could you document the process (in a basic manner since I am a total novice) so that for the next stage I know how to do it myself. A simple list with commands will be appreciate it. i will try to replicate and if I cannot succeed, I will let you know. I think this is really a bore, but I will compensate in any way you may think of.
At any rate, if you cannot document, do not worry. The important thing is that the annotation is ready.
After annotation are there any further tasks to be performed?
Best for now and thanks a zillion,
mc

@calzada
Copy link
Owner

calzada commented Aug 2, 2023

@lucianadmacedo
That the script is working is absolutely fab. You are a star as usual. Nothing stops you. Let's see if UD Pipe works. Alternatively, we will find a way to run you great script.
Best for now,
mc

@matyaskopp matyaskopp self-assigned this Aug 2, 2023
@matyaskopp
Copy link
Collaborator Author

The annotation with the current script using stanza is taking an hour or so per file using my machine. So it'd be better to have something more efficient. Fingers crossed!

@lucianadmacedo, I have 2.5 minutes per file - XML parsing on my laptop and annotating with LINDAT service. I have to implement the finalization script. I will then upload sample to ParlaMint.ana.sample and update this pull request clarin-eric/ParlaMint#692

After annotation are there any further tasks to be performed?

@calzada, yes, #35

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants