ufal / ParlaMint-UA

Tools and samples of Ukrainian parliamentary proceedings encoded in ParlaMint format
https://ufal.github.io/ParlaMint-UA/
0 stars 0 forks source link

speaker - person linking #7

Open matyaskopp opened 1 year ago

matyaskopp commented 1 year ago

This issue is to collect information on speaker-person linking development and troubles.


It is not possible to attribute a speech to a person on the surname and first letter of first name and patronymic. Some persons have the same surname and initials and are active in the same term. A number of occurrences and persons in collision:

     38 #ОлексійІвановичКовальов.1989 #ОлександрІвановичКовальов.1967
    551 #ЮліяВолодимирівнаТимошенко.1960 #ЮрійВолодимировичТимошенко.1961

So it seems that https://data.rada.gov.ua/open/data/plenary_speech-skl9 data mentioned here https://github.com/ufal/ParlaMint-UA/issues/2#issuecomment-1278046881 is needed to be used.


A way to reconstruct the speaker's full name (or just first name and surname) can be to check the chairman's speech (or just first name and surname) for preceding words of annonced speaker

matyaskopp commented 1 year ago

Currently, I have 688 speakers that are not linked to unique speaker id: https://github.com/ufal/ParlaMint-UA/blob/b20a4fe67aaef495b4c80691929cbfb9202daecb/DataStats/u_who-no-attrib_cnt.log and 1022 linked speakers (with two initials collisions)

The only top speakers on this list are ministers. The rest are: journalists, deputy ministers, and foreign guests. After linguistic annotation(lemmatization), it would be possible to get the full speaker name(I hope) from the chairmen's speech. (It is not possible to lemmatize just the name in udpipe, because the lemmatization does not return the correct lemma because it does not know sentence context).

@AnnaParla:

matyaskopp commented 1 year ago
matyaskopp commented 1 year ago

sometimes patrynomic and firstnamed are swapped:

<note type="speaker">ЛЯШКО О.В.</note>
<u who="#ОлегВалерійовичЛяшко.1972" ana="#regular" xml:id="ParlaMint-UA_2014-02-21-m0.u141">

vs:

<note type="speaker">ЛЯШКО В.О.</note>
<u who="ЛЯШКО В.О." ana="#regular" xml:id="ParlaMint-UA_2014-02-21-m0.u152">
AnnaParla commented 1 year ago

sometimes patrynomic and firstnamed are swapped:

<note type="speaker">ЛЯШКО О.В.</note>
<u who="#ОлегВалерійовичЛяшко.1972" ana="#regular" xml:id="ParlaMint-UA_2014-02-21-m0.u141">

vs:

<note type="speaker">ЛЯШКО В.О.</note>
<u who="ЛЯШКО В.О." ana="#regular" xml:id="ParlaMint-UA_2014-02-21-m0.u152">

Yes, this is a mistake. I checked the record. It should be ЛЯШКО О.В. like the rest of this day's transcript.

AnnaParla commented 1 year ago

This issue is to collect information on speaker-person linking development and troubles.

It is not possible to attribute a speech to a person on the surname and first letter of first name and patronymic. Some persons have the same surname and initials and are active in the same term. A number of occurrences and persons in collision:

     38 #ОлексійІвановичКовальов.1989 #ОлександрІвановичКовальов.1967
    551 #ЮліяВолодимирівнаТимошенко.1960 #ЮрійВолодимировичТимошенко.1961

So it seems that https://data.rada.gov.ua/open/data/plenary_speech-skl9 data mentioned here #2 (comment) is needed to be used.

A way to reconstruct the speaker's full name (or just first name and surname) can be to check the chairman's speech (or just first name and surname) for preceding words of annonced speaker

In the 9th Rada, there have been two namesakes: "id_mp":163,"name_mp":"Ковальов О.І." (#ОлександрІвановичКовальов.1967) and "id_mp":38,"name_mp":"Ковальов О.І." (#ОлексійІвановичКовальов.1989). The younger one spoke only 3 times between 2019 and 2021 according to (https://data.rada.gov.ua/ogd/zal/ppz/skl9/plenary_speech-skl9.json). In fact, in 2022 he started collaborating with russia and he was killed on 28 August 2022. So this confusion is over.

In the 8th Rada, "id_mp":41408,"name_mp":"Тимошенко Ю.В." (#ЮліяВолодимирівнаТимошенко.1960) and "id_mp":6308,"name_mp":"Тимошенко Ю.В." (#ЮрійВолодимировичТимошенко.1961) were the namesakes. So the following can be used for differentiation: https://data.rada.gov.ua/ogd/zal/ppz/skl8/plenary_speech-skl8.json

AnnaParla commented 1 year ago

Currently, I have 688 speakers that are not linked to unique speaker id: https://github.com/ufal/ParlaMint-UA/blob/b20a4fe67aaef495b4c80691929cbfb9202daecb/DataStats/u_who-no-attrib_cnt.log and 1022 linked speakers (with two initials collisions)

The only top speakers on this list are ministers. The rest are: journalists, deputy ministers, and foreign guests. After linguistic annotation(lemmatization), it would be possible to get the full speaker name(I hope) from the chairmen's speech. (It is not possible to lemmatize just the name in udpipe, because the lemmatization does not return the correct lemma because it does not know sentence context).

@AnnaParla:

  • The question is how to distinguish regular speakers from guests (but we can probably assume that regular speakers are listed MPs or "top" members of government, and the rests are guests).
  • Another issue is how to distinguish MPs with the same initials as some guest speakers -> ignore it

The list of 688 unattributed speakers embraces the 7th, 8th and 9th Rada, right?

In fact, it does include a number of MPs! 41 29 ДЖЕМІЛЄВ М. (2394 МустафаДжемілєв.1943), 69 16 СТЕФАНЧУК Р.О. (21211 РусланОлексійовичСтефанчук.1975). 293 3 БОЖКОВ О.В. (MP from 2022-04-14 : https://www.rada.gov.ua/meeting/stenogr/show/7990.html)

Also, 40 29 КРАСНОСІЛЬСЬКА А.О. changed her name during the term to РАДІНА А.О. (I mentioned this case when we discussed other names for MPs.) In (https://data.rada.gov.ua/ogd/mps/skl9/mps09-data.xml) she is listed under the same general id 21160 but two different rada ids 208|438. In https://github.com/ufal/ParlaMint-UA/blob/main/SampleMetaData/02-preprocess/mp-data-person-list.tsv she is mentioned as 21160 АнастасіяОлегівнаРадіна.1984. The same is true about: 210 5 БАБИЧ В.В. (15696 ВікторіяВолодимирівнаБулах.1974). In https://data.rada.gov.ua/ogd/mps/skl7/mps07-data.xml she is listed under 15696 but two different rada ids 40907|46307 for Булах and Бабич. 96 13 АГАФОНОВА Н.В. (15669 НаталіяВолодимирівнаКовальчук.1977 Наталія Володимирівна Ковальчук(Агафонова) (15669 Ковальчук Наталія Володимирівна Агафонова Наталія Володимирівна 27908|48908) 137 8 РЯБУХА Т.В. (21214 ТетянаВасилівнаСкрипка.1984) (21214 Скрипка Тетяна Василівна Рябуха Тетяна Василівна 134|450) 389 2 БОРДЮГ І.Л. Огнєвіч Злата Леонідівна Бордюг Інна Леонідівна / 18040 ЗлатаЛеонідівнаОгнєвіч.1986

Some speakers on the list are MPs during one term and guest speakers during another or change roles within the same term. They are also on your list https://github.com/ufal/ParlaMint-UA/blob/main/SampleMetaData/02-preprocess/mp-data-person-list.tsv: 2 246 ЗУБКО Г.Г., 15753 ГеннадійГригоровичЗубко.1967 3 119 НАЙЄМ М., 17978 Мустафа-МасіНайєм.1981 31 33 ПОРОШЕНКО П.О. 18128 ОлексійПетровичПорошенко.1985 54 20 ЯРЕМА В.Г., 15835 ВіталійГригоровичЯрема.1963 58 19 АВАКОВ А.Б., 15650 АрсенБорисовичАваков.1964 64 18 БАБАК А.В. , 18007 АльонаВалеріївнаБабак.1969 88 14 ГЕРАЩЕНКО А.Ю., 17952 АнтонЮрійовичГеращенко.1979 99 12 ПАЦКАН В.В. , 15674 ВалерійВасильовичПацкан.1975 110 11 ГРОЙСМАН В.Б. , 17973 ВолодимирБорисовичГройсман.1978 115 10 СОВСУН І.Р. , 21179 ІннаРоманівнаСовсун.1984 136 8 РЯБЧИН О.М. , 18056 ОлексійМихайловичРябчин.1983 145 8 В’ЯТРОВИЧ В.М. , 21921 ВолодимирМихайловичВ’ятрович.1977 148 7 РЯБІКІН П.Б. , 3470 ПавлоБорисовичРябікін.1965 150 7 ПИШНИЙ А.Г. , 15648 АндрійГригоровичПишний.1974 157 7 КВІТ С.М. , 17975 СергійМироновичКвіт.1965 158 7 ІЛИК Р.Р. , 14241 РоманРомановичІлик.1963 170 6 КОРОЛЕВСЬКА Н.Ю. , 8693 НаталіяЮріївнаКоролевська.1975 246 4 БОЙКО Ю.А. , 11094 ЮрійАнатолійовичБойко.1958 256 3 ТУРЧИНОВ В.О. / 2086 ОлександрВалентиновичТурчинов.1964 257 3 ТИМОШЕНКО Ю.В. / 1792 ЮліяВолодимирівнаТимошенко.1960 279 3 ІСАЄНКО Д.В. / 21114 ДмитроВалерійовичІсаєнко.1967 375 2 ДЕНІСОВА Л.Л. / 8757 ЛюдмилаЛеонтіївнаДенісова.1960

Some names may be misspelt / vary but are likely to refer to the same persons: 3 119 НАЙЄМ М. / 271 3 НАЙЄМ М.І. / 517 1 НАЄМ М. / 335 2 НАЙЄМ М.Я. (І. and Я. are not shortened patronymics but one-letter words at the beginning of the utterance) / 17978 Мустафа-МасіНайєм.1981 Мустафа-Масі 10 77 ЯРЕСЬКО Н. / 178 5 ЯРЕСЬКО Н.Е./ 132 8 ЯРЕСЬКО Н. Я.? /177 5 ЯРЕСЬКО Н.І. / 405 1 ЯРЕСЬКО Н.З. (І. , Я. , З. are not shortened patronymics but one-letter words at the beginning of the utterances) 12 70 ГОНТАРЕВА В.О. / 285 3 ГОНТАРЄВА В.О. 19 46 АБРОМАВИЧУС А. / 686-688 1 АБРОМАВИЧУС А.К. / 1 АБРОМАВИЧУС А.И. / 1 АБРАМОВИЧУС А. ? 110 11 ГРОЙСМАН В.Б. / 143 8 ГРОЙСАН В.Б. / 630 1 ГРОЙСМНА В.Б. / 631 1 ГРОЙСМАН Б.В. / 378 2 ГРОЙСМАН В.Ю. (should be ГРОЙСМАН В.Б.; misspelt twice here: https://www.rada.gov.ua/meeting/stenogr/show/6905.html)/ 17973 ВолодимирБорисовичГройсман.1978
247 4 БОГОВСЛОВСЬКА І.Г. / 2353 ІннаГерманівнаБогословська.1960 ? 249 3 ЯВОРІВСЬКИЙ О.В. / 394 ВолодимирОлександровичЯворівський.1942 ? 263-264 СИДРОВИЧ Р.М. / СИДОРОВИЧ Р.М. / 18020 РусланМихайловичСидорович.1974 297 2 ЯЦЕНЮК А.І. (should be ЯЦЕНЮК А.П.; both instances are here: https://www.rada.gov.ua/meeting/stenogr/show/5032.html) 402 1 ЯЦЕНЮК О.П. (should be ЯЦЕНЮК А.П.; the mistake is here: https://www.rada.gov.ua/meeting/stenogr/show/5685.html) 403 1 ЯЦЕГНЮК А.П. (should be ЯЦЕНЮК А.П.) 404 1 ЯУЕНЮК А.П. (should be ЯЦЕНЮК А.П.) 302 2 ШУХЕВИЧ Ю. / 18041 Юрій-БогданРомановичШухевич.1933 311 2 ФУДАШКІН В.О. / 60 18 ФУДАШКІН Д.О. (should be ФУДАШКІН Д.О.: https://www.rada.gov.ua/meeting/stenogr/show/5661.html ) 327 2 ПОРШЕНКО П.О. (should be ПОРОШЕНКО П.О.; these mistakes are here: https://www.rada.gov.ua/meeting/stenogr/show/5952.html & https://www.rada.gov.ua/meeting/stenogr/show/5711.html) 334 2 НЕМИРЯ Г. / 8830 ГригорійМихайловичНемиря.1960 336 2 МОСІЙЧУК І.Р. (should be МОСІЙЧУК І.В., misspelt here: https://www.rada.gov.ua/meeting/stenogr/show/6629.html)/ 18045 ІгорВолодимировичМосійчук.1972 338 2 МІРОШНІЧЕНКО Ю.Р. / 339 2 МІРОШНИЧЕНКО Ю.Р. / 8826 ЮрійРомановичМірошниченко.1970 ? 342 2 ЛУЦЕНКО Ю.В. / 549 1 ЛУЦЕНКО ЮВ / 4132 ЮрійВіталійовичЛуценко.1964 350 2 КУБІВ І.С. (should be КУБІВ С.І. ; misspelt here: https://www.rada.gov.ua/meeting/stenpog/show/7039.html) / 15649 СтепанІвановичКубів.1962 358 КОЖЕМЯКІН А.А. (misspelt here: https://www.rada.gov.ua/meeting/stenogr/show/5192.html) / 8786 АндрійАнатолійовичКожем’якін.1965 360 2 КНІЗЕВИЧ Р.П. / 1897 РусланПетровичКнязевич.1974 ? 361 2 КАЛЕТНИК Г.М. / 5514 ГригорійМиколайовичКалетнік.1949 ? 362 2 ІВАНЧВУК А.В. (misspelt here: https://data.rada.gov.ua/ogd/mps/skl8/mps08-data.xml) / 15654 АндрійВолодимировичІванчук.1973 366 2 ЗАЛІЩУК С.В. (misspelt here: https://www.rada.gov.ua/meeting/stenogr/show/6415.html) / 17976 СвітланаПетрівнаЗаліщук.1982 372 2 ДОЛЖЕНКО О.В. (should be ДОЛЖЕНКОВ О.В.) /15644 ОлександрВалерійовичДолженков.1983 409 1 ЮЖАНІНА Н.С. / 410 1 ЮЖАНАНІ Н.П. / 17980 НінаПетрівнаЮжаніна.1965 412 1 ШУФРИЧ Н.П. (misspelt here: https://www.rada.gov.ua/meeting/stenogr/show/6533.html) / 2274 НесторІвановичШуфрич.1966 551 1 ЛУЦЕНК І.В. (https://www.rada.gov.ua/meeting/stenogr/show/6336.html) / 18054 ІгорВікторовичЛуценко.1978

Also, these are notes 203 5 ГОЛОС ІЗ ЗАЛИ 204 5 ГОЛОСИ ІЗ ЗАЛИ 268 3 ПІСЛЯ ПЕРЕРВИ

matyaskopp commented 1 year ago

Speaker-person linking needs refactorization (reimplement in Perl). Use this order of matching

  1. https://data.rada.gov.ua/open/data/plenary_speech-skl9
    • some speeches are missing (nonMPs, chair, guests ?)
    • some dates are missing
    • the current term uses the number N in rada as id. Previous terms, i.e. 8 uses the term suffix N08 as id_mp.
      1. try to match persons from members of the government list
      2. use the same term alias matching (similar to the current XSLT transformation link-speakers2tei-text.xsl)
      3. use other terms alias matching (add guest role)
      4. use "speaker call/mentions" matching speaker-calls.pl

TODO: think about matching speakers with a small editation distance from some MP's name.

AnnaParla commented 1 year ago

Lists of plenary reporters on the agenda might be useful for speaker - person linking: https://data.rada.gov.ua/ogd/zal/ppz/skl7/plenary_reporter_question-skl7.json https://data.rada.gov.ua/ogd/zal/ppz/skl8/plenary_reporter_question-skl8.json https://data.rada.gov.ua/ogd/zal/ppz/skl9/plenary_reporter_question-skl9.json Also available as csv files at: https://data.rada.gov.ua/open/data/plenary_reporter_question-skl7 https://data.rada.gov.ua/open/data/plenary_reporter_question-skl8 https://data.rada.gov.ua/open/data/plenary_reporter_question-skl9

matyaskopp commented 1 year ago

Lists of plenary reporters on the agenda might be useful for speaker - person linking: https://data.rada.gov.ua/ogd/zal/ppz/skl7/plenary_reporter_question-skl7.json https://data.rada.gov.ua/ogd/zal/ppz/skl8/plenary_reporter_question-skl8.json https://data.rada.gov.ua/ogd/zal/ppz/skl9/plenary_reporter_question-skl9.json Also available as csv files at: https://data.rada.gov.ua/open/data/plenary_reporter_question-skl7 https://data.rada.gov.ua/open/data/plenary_reporter_question-skl8 https://data.rada.gov.ua/open/data/plenary_reporter_question-skl9

I have checked it, but it does not seem to be very useful. There are very few lines in the files, and a lot of records do not match any speech. For some. names (name_reporter), I have found in the proceedings only the mention that the person has birthday, other names are not in the text at all.