From f6e68e91cf37233ae03a03bacd90d0e2eb6b55e2 Mon Sep 17 00:00:00 2001 From: Wojciech Jaworski <wjaworski@mimuw.edu.pl> Date: Mon, 14 Aug 2017 16:47:28 +0200 Subject: [PATCH] Scalenie interpretacji w paradygmatach rzeczownikowych --- morphology/data/alternations.dic | 5 +++++ morphology/data/interp_rules.dic | 379 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ morphology/data/interp_rules_old4.dic | 27 --------------------------- morphology/data/rev_rules.dic | 3 +++ morphology/data/rules.dic | 10 ++++++++++ morphology/data/schemata.dic | 57 +++++++++++++++++++++++++++++---------------------------- morphology/dict.ml | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------- morphology/doc/model1.pdf | Bin 0 -> 168382 bytes morphology/doc/model1.tex | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ morphology/doc/przyklad2.txt | 35 +++++++++++++++++++++++++++++++++++ morphology/generate.ml | 16 +++++++++++----- morphology/ruleGenerator.ml | 1 + 12 files changed, 778 insertions(+), 155 deletions(-) create mode 100644 morphology/doc/model1.pdf create mode 100644 morphology/doc/model1.tex create mode 100644 morphology/doc/przyklad2.txt diff --git a/morphology/data/alternations.dic b/morphology/data/alternations.dic index e7de644..d924c22 100644 --- a/morphology/data/alternations.dic +++ b/morphology/data/alternations.dic @@ -548,6 +548,11 @@ @sz_i š s′i š +@aiy + a a a + i i i + y y y + @adj_grad_miekkie_sz c ęt ąc n′ n′ n′ diff --git a/morphology/data/interp_rules.dic b/morphology/data/interp_rules.dic index f265140..b87c613 100644 --- a/morphology/data/interp_rules.dic +++ b/morphology/data/interp_rules.dic @@ -1,3 +1,382 @@ + cat=noun flex=a lemma=a subst:sg:nom:m1 # 2404 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=y lemma=a subst:sg:gen:m1 # 2404 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=y lemma=a patal=t subst:sg:dat.loc:m1 # 564 Alosza Bania Bareja Bogoryja Borejsza Bończa Caligula Cieśla Coppola Czaja Czukcza Dolabella Drakula Dymsza Gołdynia Grisza Grochola Gruca Grusza Gąsienica + cat=noun flex=ie lemma=a patal=n subst:sg:dat.loc:m1 # 1840 Agryppa Aza Azjata Bachleda Baptysta Barnaba Bata Belina Belka Bereza:s1 Boguta Bonawentura Boruta Brahma Breza Budda Buźka Carra Churriguera Czajka + cat=noun flex=ę lemma=a subst:sg:acc:m1 # 2404 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=ą lemma=a subst:sg:inst:m1 # 2404 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=o lemma=a subst:sg:voc:m1 # 2399 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=y lemma=a patal=t subst:pl:nom.voc:m1 # 456 alimentobiorca barbarzyńca bałwochwalca bibliotekoznawca biorca bluźnierca bogomódlca bogożerca bratobójca brzuchomówca burzca bębenica carobójca chlebodawca chlebojadca chlebojedźca chlebożerca chmurozbiórca chwalca chwaliburca + cat=noun flex=i lemma=a patal=n subst:pl:nom.voc:m1 # 1449 Azjata Dakota:s2 Efraimita Elamita Galata:s2 Heraklida Hetyta Inuita Jehowa KGB-ista Karaita Kaszuba Lechita Maronita Napoleonida Podbipięta Przemyślida Sarmata Scyta Semita + cat=noun flex=owie lemma=a subst:pl:nom.voc:m1 # 499 Agryppa Alosza Aza Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma Breza + cat=noun flex=ów lemma=a subst:pl:gen.acc:m1 # 2403 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=om lemma=a subst:pl:dat:m1 # 2404 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=ami lemma=a subst:pl:inst:m1 # 2404 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=ach lemma=a subst:pl:loc:m1 # 2404 Agryppa Alosza Aza Azjata Bachleda Bania Baptysta Bareja Barnaba Bata Belina Belka Bereza:s1 Bogoryja Boguta Bonawentura Borejsza Boruta Bończa Brahma + cat=noun flex=y lemma=a depr:pl:nom.acc.voc:m2 # 1840 Agryppa Aza Azjata Bachleda Baptysta Barnaba Bata Belina Belka Bereza:s1 Boguta Bonawentura Boruta Brahma Breza Budda Buźka Carra Churriguera Czajka + cat=noun flex=e lemma=a depr:pl:nom.acc.voc:m2 # 564 Alosza Bania Bareja Bogoryja Borejsza Bończa Caligula Cieśla Coppola Czaja Czukcza Dolabella Drakula Dymsza Gołdynia Grisza Grochola Gruca Grusza Gąsienica + + cat=noun flex=a lemma=a subst:sg:nom:m2 # 69 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + cat=noun flex=y lemma=a subst:sg:gen:m2 # 69 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + cat=noun flex=y lemma=a patal=t subst:sg:dat.loc:m2 # 13 ebola ekscelencja:s2 eminencja:s2 gońca kanalia koala magnificencja:s2 nindża niunia:s2 papla:s2 poprawca:s2 zabawca:s2 zgadula:s2 + cat=noun flex=ie lemma=a patal=n subst:sg:dat.loc:m2 # 56 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 efraimita folwarczyna fujara:s2 funcina gapa:s1 glina:s1 hawanna hermafrodyta:s2 hotelina jucha:s2 kapelusina + cat=noun flex=ę lemma=a subst:sg:acc:m2 # 69 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + cat=noun flex=ą lemma=a subst:sg:inst:m2 # 69 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + cat=noun flex=o lemma=a subst:sg:voc:m2 # 68 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + cat=noun flex=y lemma=a patal=n subst:pl:nom.acc.voc:m2 # 56 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 efraimita folwarczyna fujara:s2 funcina gapa:s1 glina:s1 hawanna hermafrodyta:s2 hotelina jucha:s2 kapelusina + cat=noun flex=e lemma=a patal=t subst:pl:nom.acc.voc:m2 # 13 ebola ekscelencja:s2 eminencja:s2 gońca kanalia koala magnificencja:s2 nindża niunia:s2 papla:s2 poprawca:s2 zabawca:s2 zgadula:s2 + cat=noun flex=ów lemma=a subst:pl:gen:m2 # 60 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 efraimita folwarczyna fujara:s2 funcina gapa:s1 gońca hawanna hermafrodyta:s2 hotelina jucha:s2 kanalia + cat=noun flex=y lemma=a subst:pl:gen:m2 # 7 ebola ekscelencja:s2 eminencja:s2 koala magnificencja:s2 papla:s2 zgadula:s2 + cat=noun flex=om lemma=a subst:pl:dat:m2 # 69 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + cat=noun flex=ami lemma=a subst:pl:inst:m2 # 69 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + cat=noun flex=ach lemma=a subst:pl:loc:m2 # 69 acheiropita achiropita angora antagonista:s2 argonauta:s2 bagnecina bucina drandryga:s1 dzieciaczyna:s1 ebola efraimita ekscelencja:s2 eminencja:s2 folwarczyna fujara:s2 funcina gapa:s1 glina:s1 gońca hawanna + + cat=noun flex=a lemma=a subst:sg:nom:f # 26653 Abchazja Abchazka Abeba Abisynia Abisynka Abramowska Abruzja Achmatowa Ada Adamczewska Adamina Adamska Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina + cat=noun flex=ej lemma=a subst:sg:gen.dat.loc:f # 1626 Abramowska Achmatowa Adamczewska Adamska Andrzejewska Araźna Arctowa Arendarska Arkuszewska Auderska Baczewska Baczyńska Badowska Bagińska Bajerowa Balicka Balińska Bandrowska Bandurska Baranowska + cat=noun flex=y lemma=a subst:sg:gen:f # 25028 Abchazja Abchazka Abeba Abisynia Abisynka Abruzja Ada Adamina Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adria Adriana Adrianna Adżaria + cat=noun flex=y lemma=a patal=t subst:sg:dat.loc:f # 8645 Abchazja Abisynia Abruzja Adela Adria Adżaria Agania Agapia Agunia Agusia Akwila Akwitania Ala Albania Aleksandria Algieria Alicja Alusia Alzacja Amadea + cat=noun flex=ie lemma=a patal=n subst:sg:dat.loc:f # 16383 Abchazka Abeba Abisynka Ada Adamina Adamówka Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adriana Adrianna Afganka Afrodyta Afryka Afrykanerka Afrykanka Aga + cat=noun flex=y lemma=a subst:sg:dat.loc:f # 8645 Abchazja Abisynia Abruzja Adela Adria Adżaria Agania Agapia Agunia Agusia Akwila Akwitania Ala Albania Aleksandria Algieria Alicja Alusia Alzacja Amadea + cat=noun flex=ę lemma=a subst:sg:acc:f # 25030 Abchazja Abchazka Abeba Abisynia Abisynka Abruzja Ada Adamina Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adria Adriana Adrianna Adżaria + cat=noun flex=ą lemma=a subst:sg:acc:f # 1626 Abramowska Achmatowa Adamczewska Adamska Andrzejewska Araźna Arctowa Arendarska Arkuszewska Auderska Baczewska Baczyńska Badowska Bagińska Bajerowa Balicka Balińska Bandrowska Bandurska Baranowska + cat=noun flex=ą lemma=a subst:sg:inst:f # 26653 Abchazja Abchazka Abeba Abisynia Abisynka Abramowska Abruzja Achmatowa Ada Adamczewska Adamina Adamska Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina + cat=noun flex=u lemma=a patal=t subst:sg:voc:f # 323 Adela Agunia Agusia Akwila Ala Alusia Amalteja Amelcia Andzia Angela Ania Aniela Anielcia Antosia Anula Anusia Asia Basia Bela Belunia + cat=noun flex=o lemma=a subst:sg:voc:f # 24874 Abchazja Abchazka Abeba Abisynia Abisynka Abruzja Ada Adamina Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adria Adriana Adrianna Adżaria + cat=noun flex=a lemma=a subst:sg:voc:f # 1517 Abramowska Achmatowa Adamczewska Adamska Andrzejewska Araźna Arctowa Arendarska Arkuszewska Auderska Baczewska Baczyńska Badowska Bagińska Bajerowa Balicka Balińska Bandrowska Bandurska Baranowska + cat=noun flex=y lemma=a patal=n subst:pl:nom.acc.voc:f # 16381 Abchazka Abeba Abisynka Ada Adamina Adamówka Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adriana Adrianna Afganka Afrodyta Afryka Afrykanerka Afrykanka Aga + cat=noun flex=e lemma=a subst:pl:nom.acc.voc:f # 10276 Abchazja Abisynia Abramowska Abruzja Achmatowa Adamczewska Adamska Adela Adria Adżaria Agania Agapia Agunia Agusia Akwila Akwitania Ala Albania Aleksandria Algieria + cat=noun flex=ych lemma=a subst:pl:gen.loc:f # 1626 Abramowska Achmatowa Adamczewska Adamska Andrzejewska Araźna Arctowa Arendarska Arkuszewska Auderska Baczewska Baczyńska Badowska Bagińska Bajerowa Balicka Balińska Bandrowska Bandurska Baranowska + cat=noun flex=ε lemma=a subst:pl:gen:f # 24251 Abchazja Abchazka Abeba Abisynia Abisynka Abruzja Ada Adamina Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adria Adriana Adrianna Adżaria + cat=noun flex=y lemma=a patal=t subst:pl:gen:f # 7096 Abchazja Abisynia Abruzja Adela Adria Adżaria Agania Agapia Agunia Agusia Akwila Akwitania Albania Aleksandria Algieria Alicja Alusia Alzacja Amadea Amalia + cat=noun flex=ym lemma=a subst:pl:dat:f # 1626 Abramowska Achmatowa Adamczewska Adamska Andrzejewska Araźna Arctowa Arendarska Arkuszewska Auderska Baczewska Baczyńska Badowska Bagińska Bajerowa Balicka Balińska Bandrowska Bandurska Baranowska + cat=noun flex=om lemma=a subst:pl:dat:f # 25030 Abchazja Abchazka Abeba Abisynia Abisynka Abruzja Ada Adamina Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adria Adriana Adrianna Adżaria + cat=noun flex=ymi lemma=a subst:pl:inst:f # 1626 Abramowska Achmatowa Adamczewska Adamska Andrzejewska Araźna Arctowa Arendarska Arkuszewska Auderska Baczewska Baczyńska Badowska Bagińska Bajerowa Balicka Balińska Bandrowska Bandurska Baranowska + cat=noun flex=ami lemma=a subst:pl:inst:f # 25030 Abchazja Abchazka Abeba Abisynia Abisynka Abruzja Ada Adamina Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adria Adriana Adrianna Adżaria + cat=noun flex=ach lemma=a subst:pl:loc:f # 25030 Abchazja Abchazka Abeba Abisynia Abisynka Abruzja Ada Adamina Adamówka Adela Adelaida Adelajda Adelina Adelka Adolfa Adolfina Adria Adriana Adrianna Adżaria + + cat=noun flex=a lemma=a subst:pl:nom.acc.voc:n:pt # 209 Bliźnięta Chlewiska Iwaniska Jaśliska Konopiska Lutowiska Niwiska Pobiedziska addenda agrochemikalia akcesoria akta aktualia aktywa alimenta alkalia aluwia analekta anteriora archiwalia + cat=noun flex=ε lemma=a subst:pl:gen:n:pt # 83 Bliźnięta Chlewiska Iwaniska Jaśliska Konopiska Lutowiska Niwiska Pobiedziska akta brawa bucięta dobra:s drwa gusła głowięta igrzyska jaja jajca jasełeczka jasełka + cat=noun flex=ów lemma=a subst:pl:gen:n:pt # 118 addenda agrochemikalia akcesoria aktualia aktywa alimenta alkalia aluwia analekta anteriora archiwalia arkana bachanalia bakchanalia balzakiana blastoidea butaforia chemikalia chopeniana chopiniana + cat=noun flex=y lemma=a patal=t subst:pl:gen:n:pt # 10 butaforia odedrzwia odrzwia przestworza przydrzwia półodrzwia stalla trzewia wątpia zarośla + cat=noun flex=om lemma=a subst:pl:dat:n:pt # 209 Bliźnięta Chlewiska Iwaniska Jaśliska Konopiska Lutowiska Niwiska Pobiedziska addenda agrochemikalia akcesoria akta aktualia aktywa alimenta alkalia aluwia analekta anteriora archiwalia + cat=noun flex=ami lemma=a subst:pl:inst:n:pt # 209 Bliźnięta Chlewiska Iwaniska Jaśliska Konopiska Lutowiska Niwiska Pobiedziska addenda agrochemikalia akcesoria akta aktualia aktywa alimenta alkalia aluwia analekta anteriora archiwalia + cat=noun flex=ach lemma=a subst:pl:loc:n:pt # 209 Bliźnięta Chlewiska Iwaniska Jaśliska Konopiska Lutowiska Niwiska Pobiedziska addenda agrochemikalia akcesoria akta aktualia aktywa alimenta alkalia aluwia analekta anteriora archiwalia + + cat=noun flex=ε lemma=ε subst:sg:nom:m1 # 11563 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=a lemma=ε subst:sg:gen.acc:m1 # 11555 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=owi lemma=ε subst:sg:dat:m1 # 11535 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=em lemma=ε subst:sg:inst:m1 # 11555 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=u lemma=ε patal=t subst:sg:loc.voc:m1 # 3820 AK-owiec AL-owiec Abakanowicz Abdiasz Abel Abercjusz Abramowicz Achacjusz Achil Adamiec Adamowicz Adaś Adwentowicz Aftoniusz Ageusz Aggeasz Aggeusz Ajdukiewicz Akacjusz Aksentowicz + cat=noun flex=u lemma=ε patal=n velar=t subst:sg:loc.voc:m1 # 3259 Abisyńczyk Achimelech Adalberg Adamczak Adamczyk Adamiak Adasieczek Adasiek Adolfek Afgańczyk Afrykańczyk Agatonik Albańczyk Albercik Alek Algierczyk Allach Allah Alojzeczek Alojzek + cat=noun flex=ie lemma=ε patal=n velar=n subst:sg:loc.voc:m1 # 4443 Aaron Abchaz Abdon Abner Abraham Abram Absalom Absalon Achilles Adalbert Adam Adamus Adaukt Addar Adelbert Adenauer Adolf Adonis Adrian Afanasjew + cat=noun flex=cze lemma=ε patal=t subst:sg:voc:m1 # 615 AK-owiec AL-owiec Czarnogórzec Doniec KOR-owiec NSDAP-owiec Niemiec:s1 Niżowiec PR-owiec Połowiec Strzelec:s1 Wawrzyniec aelowiec akordowiec akowiec alowiec andersowiec antyhitlerowiec atomowiec azylowiec + cat=noun flex=y lemma=ε patal=t subst:pl:nom.voc:m1 # 962 AK-owiec AL-owiec Amerykaniec Antym Arnolf Belzebub Borysław:s1 Borzysław Bożysław Brodzisław Budzisław Bądzisław Charłamp Chociesław Chwalisław Ciechosław Cierpisław Cieszysław Czarnogórzec Czeczeniec + cat=noun flex=i lemma=ε patal=n subst:pl:nom.voc:m1 # 4590 Aaron Abchaz Abdon Abisyńczyk Abner Absalon Achilles Adaukt Addar Adelbert Afgańczyk Afrykaner Afrykańczyk Agapit Agaton Agenor Agrypin Ajschylos Aladyn Alban + cat=noun flex=e lemma=ε patal=t subst:pl:nom.voc:m1 # 2884 Abakanowicz Abdiasz Abel Abercjusz Abramowicz Achacjusz Achil Adamowicz Adaś Adwentowicz Aftoniusz Ageusz Aggeasz Aggeusz Ajdukiewicz Akacjusz Aksentowicz Albaniusz Aleksandrowicz Aleksiej + cat=noun flex=owie lemma=ε subst:pl:nom.voc:m1 # 5059 Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech Adalberg Adalbert Adam + cat=noun flex=ów lemma=ε subst:pl:gen.acc:m1 # 11044 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=y lemma=ε patal=t subst:pl:gen.acc:m1 # 1976 Abel Angel Apacz Czechoń Dionizjusz Dyź Eudoksjusz Frenkiel Hasmoneusz Hendel Hortensjusz Izrael:s2 Jowisz:s2 Kanizjusz Karp Kreol Machabeusz Malaj Malgasz Matuzal + cat=noun flex=om lemma=ε subst:pl:dat:m1 # 11334 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=ami lemma=ε subst:pl:inst:m1 # 11334 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=ach lemma=ε subst:pl:loc:m1 # 11334 AK-owiec AL-owiec Aaron Abakanowicz Abchaz Abdiasz Abdon Abel Abercjusz Abisyńczyk Abner Abraham Abram Abramowicz Absalom Absalon Achacjusz Achil Achilles Achimelech + cat=noun flex=y lemma=ε patal=n depr:pl:nom.acc.voc:m2 # 7501 Aaron Abchaz Abdon Abisyńczyk Abner Abraham Abram Absalom Absalon Achilles Achimelech Adalberg Adalbert Adam Adamczak Adamczyk Adamiak Adamus Adasieczek Adasiek + cat=noun flex=e lemma=ε patal=t depr:pl:nom.acc.voc:m2 # 3837 AK-owiec AL-owiec Abakanowicz Abdiasz Abel Abercjusz Abramowicz Achacjusz Achil Adamiec Adamowicz Adaś Adwentowicz Aftoniusz Ageusz Aggeasz Aggeusz Ajdukiewicz Akacjusz Aksentowicz + + cat=noun flex=ε lemma=ε subst:sg:nom:m2 # 3888 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 + cat=noun flex=a lemma=ε subst:sg:gen.acc:m2 # 3887 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 + cat=noun flex=owi lemma=ε subst:sg:dat:m2 # 3874 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 Oscar:s2 + cat=noun flex=em lemma=ε subst:sg:inst:m2 # 3887 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 + cat=noun flex=u lemma=ε patal=t subst:sg:loc.voc:m2 # 1021 Jednorożec Jowisz:s1 Koziorożec:s1 Strzelec:s2 Syriusz Wezuwiusz Węgiel:s1 abisofil akacjowiec aksolotl ambrowiec anginowiec ariel armadyl babsztyl bacyl badyl badylarz:s2 bakcyl balsamowiec + cat=noun flex=u lemma=ε patal=n velar=t subst:sg:loc.voc:m2 # 1564 Byk:s2 Cyganiak Mnich Moloch Rak:s2 Szarik Wodnik:s2 afrorock agreściak aksamitek alczyk altannik amorek andrucik angielczyk anglik aniołeczek aniołek arabczyk archaniołek + cat=noun flex=ie lemma=ε patal=n velar=n subst:sg:loc.voc:m2 # 1302 Amor Argos:s2 Azor Baran:s2 Feniks Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Neptun:s2 Orion:s2 Oscar:s2 Pegaz Pluton:s2 Przewóz Reks Reuters Saturn:s1 + cat=noun flex=y lemma=ε patal=n subst:pl:nom.acc.voc:m2 # 2866 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 Oscar:s2 Pegaz Pluton:s2 + cat=noun flex=e lemma=ε patal=t subst:pl:nom.acc.voc:m2 # 1021 Jednorożec Jowisz:s1 Koziorożec:s1 Strzelec:s2 Syriusz Wezuwiusz Węgiel:s1 abisofil akacjowiec aksolotl ambrowiec anginowiec ariel armadyl babsztyl bacyl badyl badylarz:s2 bakcyl balsamowiec + cat=noun flex=ów lemma=ε subst:pl:gen:m2 # 3734 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 + cat=noun flex=y lemma=ε patal=t subst:pl:gen:m2 # 417 Jowisz:s1 Syriusz abisofil aksolotl ariel armadyl babsztyl bacyl badyl badylarz:s2 bakcyl barciel bargiel baribal baseball berbeć białosz biegacz:s2 boleń brajl + cat=noun flex=y lemma=ε subst:pl:gen:m2 # 417 Jowisz:s1 Syriusz abisofil aksolotl ariel armadyl babsztyl bacyl badyl badylarz:s2 bakcyl barciel bargiel baribal baseball berbeć białosz biegacz:s2 boleń brajl + cat=noun flex=om lemma=ε subst:pl:dat:m2 # 3887 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 + cat=noun flex=ami lemma=ε subst:pl:inst:m2 # 3887 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 + cat=noun flex=ach lemma=ε subst:pl:loc:m2 # 3887 Amor Argos:s2 Azor Baran:s2 Byk:s2 Cyganiak Feniks Jednorożec Jowisz:s1 Koziorożec:s1 Kupidyn Lew:s2 Lucyfer Lucyper Mars:s1 Minotaur Mnich Moloch Neptun:s2 Orion:s2 + + cat=noun flex=ε lemma=ε subst:sg:nom.acc:m3 # 20808 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Alcatel Aleksandrów Algier Algol Alkoran Amman Amsterdam Andrychów Annopol Apator Ararat + cat=noun flex=u lemma=ε subst:sg:gen:m3 # 13313 Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Algier Algol Alkoran Amman Amsterdam Ararat Arnhem Askalon Asuan Asyż Aszkelon Atlantyk Atlas:s2 + cat=noun flex=a lemma=ε subst:sg:gen:m3 # 8333 Abramów Adamów Alcatel Aleksandrów Andrychów Annopol Apator Archangielsk Astrachań Atlantis Augsburg Augustów Awentyn Baborów Bachotek Baranów Bargłów Bałtów Berdyczów Berlin +* cat=noun flex=u lemma=ε patal=n subst:sg:dat:m3 # 340 Abramów Adamów Aleksandrów Andrychów Augustów Baborów Baranów Bargłów Bałtów Berdyczów Bełchatów Białaczów Bierutów Bieżanów Blizanów Boczów Bodzanów Bodzechów Boguszów Bojanów + cat=noun flex=owi lemma=ε subst:sg:dat:m3 # 20795 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Alcatel Aleksandrów Algier Algol Alkoran Amman Amsterdam Andrychów Annopol Apator Ararat + cat=noun flex=em lemma=ε subst:sg:inst:m3 # 20797 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Alcatel Aleksandrów Algier Algol Alkoran Amman Amsterdam Andrychów Annopol Apator Ararat + cat=noun flex=u lemma=ε patal=t subst:sg:loc.voc:m3 # 3172 Alcatel Algol Annopol Astrachań Asyż Ałtaj Bachczysaraj Bangladesz Bengal Bełżec Bieruń Bieżuń Biłgoraj Bolesław:s2 Bolesławiec Bombaj Borysław:s2 Borzym:s1 Borzytuchom Bracław + cat=noun flex=u lemma=ε patal=n velar=t subst:sg:loc.voc:m3 # 6050 Adriatyk Ajudah Archangielsk Atlantyk Augsburg Bachotek Bangkok Bałtyk Bielsk Brandenburg Brunszwik Brzeg Bug Bundesbank Bundestag Chełmek Ciechocinek Damaszek Dniepropietrowsk Donieck + cat=noun flex=ie lemma=ε patal=n velar=n subst:sg:loc.voc:m3 # 11570 Abramów Adamów Afganistan Akerman Akwin Akwizgran Albion Aleksandrów Algier Alkoran Amman Amsterdam Andrychów Apator Ararat Arnhem Askalon Asuan Aszkelon Atlantis + cat=noun flex=y lemma=ε patal=n subst:pl:nom.acc.voc:m3 # 17609 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Aleksandrów Algier Alkoran Amman Amsterdam Andrychów Apator Ararat Archangielsk Arnhem Askalon + cat=noun flex=e lemma=ε patal=t subst:pl:nom.acc.voc:m3 # 3174 Alcatel Algol Annopol Astrachań Asyż Ałtaj Bachczysaraj Bangladesz Bengal Bełżec Bieruń Bieżuń Biłgoraj Bolesław:s2 Bolesławiec Bombaj Borysław:s2 Borzym:s1 Borzytuchom Bracław + cat=noun flex=ów lemma=ε subst:pl:gen:m3 # 20161 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Alcatel Aleksandrów Algier Alkoran Amman Amsterdam Andrychów Annopol Apator Ararat Archangielsk + cat=noun flex=y lemma=ε patal=t subst:pl:gen:m3 # 2185 Alcatel Algol Annopol Astrachań Asyż Ałtaj Bachczysaraj Bengal Bieruń Bieżuń Biłgoraj Bolesław:s2 Bombaj Borysław:s2 Borzym:s1 Borzytuchom Bracław Brasław Bristol Brześć + cat=noun flex=om lemma=ε subst:pl:dat:m3 # 20795 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Alcatel Aleksandrów Algier Algol Alkoran Amman Amsterdam Andrychów Annopol Apator Ararat + cat=noun flex=ami lemma=ε subst:pl:inst:m3 # 20795 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Alcatel Aleksandrów Algier Algol Alkoran Amman Amsterdam Andrychów Annopol Apator Ararat + cat=noun flex=ach lemma=ε subst:pl:loc:m3 # 20795 Abramów Adamów Adriatyk Afganistan Ajudah Akerman Akwin Akwizgran Albion Alcatel Aleksandrów Algier Algol Alkoran Amman Amsterdam Andrychów Annopol Apator Ararat + + cat=noun flex=ε lemma=ε patal=t subst:sg:nom.acc:f # 63154 Białoruś Bydgoszcz Gołdap Jabłoń Krokiew NRD-owskość NRF-owskość NSZ-owskość Narew Noteć Ob Omulew Ostrów:s1 Oziąbel PTTK-owskość PiS-owskość Prypeć Przystań Ruś SLD-owskość + cat=noun flex=y lemma=ε patal=t subst:sg:gen.dat.loc.voc:f|subst:pl:gen:f # 63154 Białoruś Bydgoszcz Gołdap Jabłoń Krokiew NRD-owskość NRF-owskość NSZ-owskość Narew Noteć Ob Omulew Ostrów:s1 Oziąbel PTTK-owskość PiS-owskość Prypeć Przystań Ruś SLD-owskość + cat=noun flex=ą lemma=ε patal=t subst:sg:inst:f # 63157 Białoruś Bydgoszcz Gołdap Jabłoń Krokiew NRD-owskość NRF-owskość NSZ-owskość Narew Noteć Ob Omulew Ostrów:s1 Oziąbel PTTK-owskość PiS-owskość Prypeć Przystań Ruś SLD-owskość + cat=noun flex=y lemma=ε patal=t subst:pl:nom.acc.voc:f # 62772 Bydgoszcz NRD-owskość NRF-owskość NSZ-owskość Ob PTTK-owskość PiS-owskość SLD-owskość Supraśl:s1 VAT-owskość WAT-owskość Wielebność abakańskość abchaskość abderyckość abdominalność abdykacyjność abecadłowość aberracyjność abidżańskość + cat=noun flex=e lemma=ε patal=t subst:pl:nom.acc.voc:f # 415 Białoruś Bydgoszcz Gołdap Jabłoń Krokiew Narew Noteć Omulew Ostrów:s1 Oziąbel Prypeć Przystań Ruś Sterdyń Supraśl:s1 Turośń Wel antybroń autopomoc bagatel + cat=noun flex=om lemma=ε patal=t subst:pl:dat:f # 63157 Białoruś Bydgoszcz Gołdap Jabłoń Krokiew NRD-owskość NRF-owskość NSZ-owskość Narew Noteć Ob Omulew Ostrów:s1 Oziąbel PTTK-owskość PiS-owskość Prypeć Przystań Ruś SLD-owskość + cat=noun flex=ami lemma=ε patal=t subst:pl:inst:f # 63157 Białoruś Bydgoszcz Gołdap Jabłoń Krokiew NRD-owskość NRF-owskość NSZ-owskość Narew Noteć Ob Omulew Ostrów:s1 Oziąbel PTTK-owskość PiS-owskość Prypeć Przystań Ruś SLD-owskość + cat=noun flex=ach lemma=ε patal=t subst:pl:loc:f # 63157 Białoruś Bydgoszcz Gołdap Jabłoń Krokiew NRD-owskość NRF-owskość NSZ-owskość Narew Noteć Ob Omulew Ostrów:s1 Oziąbel PTTK-owskość PiS-owskość Prypeć Przystań Ruś SLD-owskość + + cat=noun flex=y lemma=y subst:sg:nom.voc:m1 # 1830 Abramowski Achacy Adamczewski Adamski Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Andriolli Andrzejewski Anhelli Antoni Antonioni + cat=noun flex=ego lemma=y subst:sg:gen.acc:m1 # 1832 Abramowski Achacy Adamczewski Adamski Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Andriolli Andrzejewski Anhelli Antoni Antonioni + cat=noun flex=emu lemma=y subst:sg:dat:m1 # 1832 Abramowski Achacy Adamczewski Adamski Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Andriolli Andrzejewski Anhelli Antoni Antonioni + cat=noun flex=ym lemma=y subst:sg:inst.loc:m1|subst:pl:dat:m1 # 1832 Abramowski Achacy Adamczewski Adamski Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Andriolli Andrzejewski Anhelli Antoni Antonioni + cat=noun flex=y lemma=y patal=t subst:pl:nom.voc:m1 # 180 Adjani Albertrandi Alighieri Amati Andreotti Andriolli Antonioni Bacciarelli Badeni Bardini Bellini Berecci Berlusconi Bernini Bertolucci Boccherini Boni Buonaccorsi Buonarotti Carracci + cat=noun flex=owie lemma=y subst:pl:nom.voc:m1 # 211 Achacy Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Anhelli Antoni Antonioni Apolinary Arkady Atanazy Aureli Badeni + cat=noun flex=i lemma=y patal=n subst:pl:nom.voc:m1 # 1530 Abramowski Adamczewski Adamski Andrzejewski Araźny Arendarski Arkuszewski Auderski Baczewski Baczyński Badowski Bagiński Balicki Baliński Bandrowski Bandurski Baranowski Barański Barcikowski Barszczewski + cat=noun flex=ych lemma=y subst:pl:gen.acc.loc:m1 # 1832 Abramowski Achacy Adamczewski Adamski Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Andriolli Andrzejewski Anhelli Antoni Antonioni + cat=noun flex=ymi lemma=y subst:pl:inst:m1 # 1832 Abramowski Achacy Adamczewski Adamski Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Andriolli Andrzejewski Anhelli Antoni Antonioni + cat=noun flex=e lemma=y depr:pl:nom.acc.voc:m2 # 1832 Abramowski Achacy Adamczewski Adamski Adjani Afanazy Albertrandi Aleksy Ali Alighieri Alojzy Amati Ambroży Anastazy Andreotti Andriolli Andrzejewski Anhelli Antoni Antonioni + + cat=noun flex=y lemma=y subst:sg:nom.voc:m2 # 70 Ażi Merkury:s2 bronny:s brzozowaty:s bułany:s chodzony chowany:s cierniopłetwy:s cofny:s czternasty:s czwarty:s cząty drobiony:s drugi:s dwudziesty:s dwunasty:s dziesiąty:s dziewiąty:s dziewiętnasty:s ganiany:s + cat=noun flex=ego lemma=y subst:sg:gen.acc:m2 # 70 Ażi Merkury:s2 bronny:s brzozowaty:s bułany:s chodzony chowany:s cierniopłetwy:s cofny:s czternasty:s czwarty:s cząty drobiony:s drugi:s dwudziesty:s dwunasty:s dziesiąty:s dziewiąty:s dziewiętnasty:s ganiany:s + cat=noun flex=emu lemma=y subst:sg:dat:m2 # 70 Ażi Merkury:s2 bronny:s brzozowaty:s bułany:s chodzony chowany:s cierniopłetwy:s cofny:s czternasty:s czwarty:s cząty drobiony:s drugi:s dwudziesty:s dwunasty:s dziesiąty:s dziewiąty:s dziewiętnasty:s ganiany:s + cat=noun flex=ym lemma=y subst:sg:inst.loc:m2|subst:pl:dat:m2 # 70 Ażi Merkury:s2 bronny:s brzozowaty:s bułany:s chodzony chowany:s cierniopłetwy:s cofny:s czternasty:s czwarty:s cząty drobiony:s drugi:s dwudziesty:s dwunasty:s dziesiąty:s dziewiąty:s dziewiętnasty:s ganiany:s + cat=noun flex=e lemma=y subst:pl:nom.acc.voc:m2 # 70 Ażi Merkury:s2 bronny:s brzozowaty:s bułany:s chodzony chowany:s cierniopłetwy:s cofny:s czternasty:s czwarty:s cząty drobiony:s drugi:s dwudziesty:s dwunasty:s dziesiąty:s dziewiąty:s dziewiętnasty:s ganiany:s + cat=noun flex=ych lemma=y subst:pl:gen.acc.loc:m2 # 70 Ażi Merkury:s2 bronny:s brzozowaty:s bułany:s chodzony chowany:s cierniopłetwy:s cofny:s czternasty:s czwarty:s cząty drobiony:s drugi:s dwudziesty:s dwunasty:s dziesiąty:s dziewiąty:s dziewiętnasty:s ganiany:s + cat=noun flex=ymi lemma=y subst:pl:inst:m2 # 70 Ażi Merkury:s2 bronny:s brzozowaty:s bułany:s chodzony chowany:s cierniopłetwy:s cofny:s czternasty:s czwarty:s cząty drobiony:s drugi:s dwudziesty:s dwunasty:s dziesiąty:s dziewiąty:s dziewiętnasty:s ganiany:s + + cat=noun flex=y lemma=y subst:sg:nom.acc.voc:m3 # 119 Bodoni Grozny Kasprowy angielski:s arabski:s białoruski:s bułgarski:s celujący:s chiński:s chorwacki:s czeski:s czternasty:s czwarty:s dobry:s2 dopuszczający:s dostateczny:s drugi:s duński:s dwudziesty:s dwunasty:s + cat=noun flex=ego lemma=y subst:sg:gen:m3 # 119 Bodoni Grozny Kasprowy angielski:s arabski:s białoruski:s bułgarski:s celujący:s chiński:s chorwacki:s czeski:s czternasty:s czwarty:s dobry:s2 dopuszczający:s dostateczny:s drugi:s duński:s dwudziesty:s dwunasty:s + cat=noun flex=emu lemma=y subst:sg:dat:m3 # 119 Bodoni Grozny Kasprowy angielski:s arabski:s białoruski:s bułgarski:s celujący:s chiński:s chorwacki:s czeski:s czternasty:s czwarty:s dobry:s2 dopuszczający:s dostateczny:s drugi:s duński:s dwudziesty:s dwunasty:s + cat=noun flex=ym lemma=y subst:sg:inst.loc:m3|subst:pl:dat:m3 # 119 Bodoni Grozny Kasprowy angielski:s arabski:s białoruski:s bułgarski:s celujący:s chiński:s chorwacki:s czeski:s czternasty:s czwarty:s dobry:s2 dopuszczający:s dostateczny:s drugi:s duński:s dwudziesty:s dwunasty:s + cat=noun flex=e lemma=y subst:pl:nom.acc.voc:m3 # 119 Bodoni Grozny Kasprowy angielski:s arabski:s białoruski:s bułgarski:s celujący:s chiński:s chorwacki:s czeski:s czternasty:s czwarty:s dobry:s2 dopuszczający:s dostateczny:s drugi:s duński:s dwudziesty:s dwunasty:s + cat=noun flex=ych lemma=y subst:pl:gen.loc:m3 # 119 Bodoni Grozny Kasprowy angielski:s arabski:s białoruski:s bułgarski:s celujący:s chiński:s chorwacki:s czeski:s czternasty:s czwarty:s dobry:s2 dopuszczający:s dostateczny:s drugi:s duński:s dwudziesty:s dwunasty:s + cat=noun flex=ymi lemma=y subst:pl:inst:m3 # 119 Bodoni Grozny Kasprowy angielski:s arabski:s białoruski:s bułgarski:s celujący:s chiński:s chorwacki:s czeski:s czternasty:s czwarty:s dobry:s2 dopuszczający:s dostateczny:s drugi:s duński:s dwudziesty:s dwunasty:s + + cat=noun flex=y lemma=y subst:pl:nom.acc.voc:n:pt # 886 Aleuty Alpy Apeniny Appalachy Ateny Azory Bahamy Bałkany Bermudy Bełdany Białobrzegi Bielany Bieliny Bieszczady Bobrowniki Boćki Brzeziny Charzykowy Chiny Chęciny + cat=noun flex=ε lemma=y patal=n subst:pl:gen:n:pt # 399 Alpy Ateny Bełdany Bielany Bieliny Bieszczady Bobrowniki Boćki Brzeziny Charzykowy Chiny Chęciny Ciepłowody Czechy Czemierniki Duszniki Filipiny Giby Głuchołazy Helsinki + cat=noun flex=ów lemma=y subst:pl:gen:n:pt # 497 Aleuty Apeniny Appalachy Azory Bahamy Bałkany Bermudy Białobrzegi Bieszczady Falklandy Głuchołazy Hebrydy Hradczany Jassy Karaiby Karoliny Kiejkuty Kordyliery Kuropaty Kuwasy + cat=noun flex=y lemma=y patal=t subst:pl:gen:n:pt # 31 aktualności boleści czułości drogocenności drzwi grzeczności kosztowności kości krągłości mdłości możliwości nieczystości nudności odrzwi oszczędności pielmieni posiadłości przeciwności pyszności ruchomości + cat=noun flex=om lemma=y subst:pl:dat:n:pt # 886 Aleuty Alpy Apeniny Appalachy Ateny Azory Bahamy Bałkany Bermudy Bełdany Białobrzegi Bielany Bieliny Bieszczady Bobrowniki Boćki Brzeziny Charzykowy Chiny Chęciny + cat=noun flex=ami lemma=y subst:pl:inst:n:pt # 886 Aleuty Alpy Apeniny Appalachy Ateny Azory Bahamy Bałkany Bermudy Bełdany Białobrzegi Bielany Bieliny Bieszczady Bobrowniki Boćki Brzeziny Charzykowy Chiny Chęciny + cat=noun flex=ach lemma=y subst:pl:loc:n:pt # 886 Aleuty Alpy Apeniny Appalachy Ateny Azory Bahamy Bałkany Bermudy Bełdany Białobrzegi Bielany Bieliny Bieszczady Bobrowniki Boćki Brzeziny Charzykowy Chiny Chęciny + + cat=noun flex=ni lemma=ni subst:sg:nom.gen.dat.loc.voc:f # 162 Bojkini Niemkini acani acpani arcymistrzyni asani aspani aćpani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni + cat=noun flex=nię lemma=ni subst:sg:acc:f # 153 Bojkini Niemkini acani arcymistrzyni asani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni dostawczyni dowódczyni dozorczyni +* cat=noun flex=nią lemma=ni subst:sg:acc:f # 9 acpani aspani aćpani mopani mospani pani wacpani waspani waćpani + cat=noun flex=nią lemma=ni subst:sg:inst:f # 162 Bojkini Niemkini acani acpani arcymistrzyni asani aspani aćpani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni + cat=noun flex=nie lemma=ni subst:pl:nom.acc.voc:f # 162 Bojkini Niemkini acani acpani arcymistrzyni asani aspani aćpani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni + cat=noun flex=ń lemma=ni subst:pl:gen:f # 162 Bojkini Niemkini acani acpani arcymistrzyni asani aspani aćpani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni + cat=noun flex=niom lemma=ni subst:pl:dat:f # 162 Bojkini Niemkini acani acpani arcymistrzyni asani aspani aćpani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni + cat=noun flex=niami lemma=ni subst:pl:inst:f # 162 Bojkini Niemkini acani acpani arcymistrzyni asani aspani aćpani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni + cat=noun flex=niach lemma=ni subst:pl:loc:f # 162 Bojkini Niemkini acani acpani arcymistrzyni asani aspani aćpani baletmistrzyni bałwochwalczyni bogini bratobójczyni bywalczyni chlebodawczyni chlewmistrzyni chwalczyni cudotwórczyni członkini dawczyni doradczyni + + cat=noun flex=e lemma=e subst:sg:nom.voc:m1|depr:pl:nom.acc.voc:m2 # 43 Blikle Bonaparte Bramante Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe Huelle Jaje Jakobsze + cat=noun flex=ego lemma=e subst:sg:gen.acc:m1 # 51 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + cat=noun flex=emu lemma=e subst:sg:dat:m1 # 51 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + cat=noun flex=em lemma=e subst:sg:inst.loc:m1 # 50 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + cat=noun flex=owie lemma=e subst:pl:nom.voc:m1 # 50 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + cat=noun flex=ów lemma=e subst:pl:gen.acc:m1 # 50 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + cat=noun flex=om lemma=e subst:pl:dat:m1 # 50 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + cat=noun flex=ami lemma=e subst:pl:inst:m1 # 50 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + cat=noun flex=ach lemma=e subst:pl:loc:m1 # 50 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe + + cat=noun flex=e lemma=e subst:sg:nom.acc.voc:n:ncol # 3034 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dąbie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne + cat=noun flex=ego lemma=e subst:sg:gen:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie + cat=noun flex=a lemma=e patal=t subst:sg:gen:n:ncol|subst:pl:nom.acc.voc:n:ncol # 2747 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże + cat=noun flex=u lemma=e patal=t subst:sg:dat.loc:n:ncol # 2747 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże + cat=noun flex=emu lemma=e subst:sg:dat:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie + cat=noun flex=em lemma=e patal=n subst:sg:inst.loc:n:ncol # 82 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie + cat=noun flex=em lemma=e patal=t subst:sg:inst:n:ncol # 2747 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże + cat=noun flex=ym lemma=e subst:sg:inst.loc:n:ncol # 200 bagażowe bartne bazarne becikowe brzegowe butelkowe bykowe centralne cenzurowane chorobowe cudze czepne czerwone czesne czopowe dobre drogowe drugie drukowane dworowe + cat=noun flex=e lemma=e subst:pl:nom.acc.voc:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie + cat=noun flex=ych lemma=e subst:pl:gen.loc:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie + cat=noun flex=ε lemma=e patal=t subst:pl:gen:n:ncol # 2132 Okęcie Oświecenie Podkarpacie acetylowanie akanie alkilowanie anulowanie arcyłganie aresztowanie arkadowanie autoformatowanie autoholowanie autoutlenianie baczenie badanie bajanie bajdurzenie bajerowanie bajtlowanie balowanie +* cat=noun flex=ów lemma=e subst:pl:gen:n:ncol # 8 drzewce krzywce lice mikropyle oje tomiszcze ślepie ślipie + cat=noun flex=y lemma=e patal=t subst:pl:gen:n:ncol # 632 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże Rozewie + cat=noun flex=ym lemma=e subst:pl:dat:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie + cat=noun flex=om lemma=e patal=t subst:pl:dat:n:ncol # 2747 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże + cat=noun flex=ymi lemma=e subst:pl:inst:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie + cat=noun flex=ami lemma=e patal=t subst:pl:inst:n:ncol # 2747 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże + cat=noun flex=ach lemma=e patal=t subst:pl:loc:n:ncol # 2747 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże + + cat=noun flex=e lemma=e subst:pl:nom.acc.voc:n:pt # 674 Antyle Babice Bartoszyce Barwice Baćkowice Bełżyce Bielice Biskupice Bobolice Bobrowice Bogaczowice Boleszkowice Borkowice Bronowice Brzeźce Budziejowice Błędowice Cewice Chojnice Chrząstowice + cat=noun flex=ε lemma=e patal=t subst:pl:gen:n:pt # 278 Babice Bartoszyce Barwice Baćkowice Bełżyce Bielice Biskupice Bobolice Bobrowice Bogaczowice Boleszkowice Borkowice Bronowice Brzeźce Budziejowice Błędowice Cewice Chojnice Chrząstowice Chwałowice + cat=noun flex=ów lemma=e patal=t subst:pl:gen:n:pt # 60 Czerniowce Dionizje Gorce Hawaje Himalaje Kurpie Kuryle Malaje Międzyzdroje Panatenaje Pireneje Pompeje Płowce Seszele Tesmoforie Tyszowce afrodyzje ambaje annale auspicje + cat=noun flex=ych lemma=e patal=n subst:pl:gen:n:pt # 286 Końskie agawowate akantusowate amarylkowate astrowate baldaszkowate bananowate berberysowate biegaczowate bignoniowate blaszkodziobe blaszkoskrzelne bobowate bocianowate bodziszkowate bogatkowate borecznikowate borowikowate bromeliowate bryzgunowate + cat=noun flex=y lemma=e patal=t subst:pl:gen:n:pt # 114 Antyle Dardanele Dionizje Indie Karkonosze Kurpie Kuryle Seszele Szawle Termopile aerosanie afrodyzje annale antecedencje apanaże autosanie bakalie bambetle binokle bobsleje + cat=noun flex=ym lemma=e subst:pl:dat:n:pt # 289 Końskie agawowate akantusowate amarylkowate astrowate baldaszkowate bananowate berberysowate biegaczowate bignoniowate blaszkodziobe blaszkoskrzelne bobowate bocianowate bodziszkowate bogatkowate borecznikowate borowikowate brodzące bromeliowate + cat=noun flex=om lemma=e subst:pl:dat:n:pt # 385 Antyle Babice Bartoszyce Barwice Baćkowice Bełżyce Bielice Biskupice Bobolice Bobrowice Bogaczowice Boleszkowice Borkowice Bronowice Brzeźce Budziejowice Błędowice Cewice Chojnice Chrząstowice + cat=noun flex=ymi lemma=e subst:pl:inst:n:pt # 289 Końskie agawowate akantusowate amarylkowate astrowate baldaszkowate bananowate berberysowate biegaczowate bignoniowate blaszkodziobe blaszkoskrzelne bobowate bocianowate bodziszkowate bogatkowate borecznikowate borowikowate brodzące bromeliowate + cat=noun flex=ami lemma=e subst:pl:inst:n:pt # 385 Antyle Babice Bartoszyce Barwice Baćkowice Bełżyce Bielice Biskupice Bobolice Bobrowice Bogaczowice Boleszkowice Borkowice Bronowice Brzeźce Budziejowice Błędowice Cewice Chojnice Chrząstowice + cat=noun flex=ych lemma=e subst:pl:loc:n:pt # 289 Końskie agawowate akantusowate amarylkowate astrowate baldaszkowate bananowate berberysowate biegaczowate bignoniowate blaszkodziobe blaszkoskrzelne bobowate bocianowate bodziszkowate bogatkowate borecznikowate borowikowate brodzące bromeliowate + cat=noun flex=ach lemma=e subst:pl:loc:n:pt # 385 Antyle Babice Bartoszyce Barwice Baćkowice Bełżyce Bielice Biskupice Bobolice Bobrowice Bogaczowice Boleszkowice Borkowice Bronowice Brzeźce Budziejowice Błędowice Cewice Chojnice Chrząstowice + + cat=noun flex=o lemma=o subst:sg:nom:m1 # 321 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Białko Boccaccio Bochenko Bojko Bolko Borejko Bozio Bruno Buyno Cagliostro Canaletto Carlo:s2 + cat=noun flex=a lemma=o subst:sg:gen.acc:m1 # 245 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Boccaccio Bojko Bolko Bozio Cagliostro Canaletto Carlo:s2 Caruso Cyrano Cyzio Czesio Donatello + cat=noun flex=y lemma=o patal=n subst:sg:gen:m1 # 68 Białko Bochenko Borejko Buyno Chodźko Czeczło Dederko Domeyko Doroszeńko Dowżenko Fedorko Feleszko Firko Fredro Gromyko Gryzło Hłasko Jagiełło Jewtuszenko Jundziłło + cat=noun flex=u lemma=o patal=n subst:sg:dat:m1 # 59 Moskalisko Murzynisko Niemczysko Szwedzisko Włoszysko aktorzysko andrusisko baranisko biedaczysko bratczysko buraczysko byczysko:s1 błaźnisko ceprzysko chamisko chłopaczysko chłopczysko chłopisko cymbalisko człeczysko + cat=noun flex=owi lemma=o subst:sg:dat:m1 # 186 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Boccaccio Bojko Bolko Bozio Cagliostro Canaletto Carlo:s2 Caruso Cyrano Cyzio Czesio Donatello + cat=noun flex=ie lemma=o patal=n subst:sg:dat:m1 # 67 Białko Bochenko Borejko Buyno Chodźko Czeczło Dederko Domeyko Doroszeńko Dowżenko Fedorko Feleszko Firko Fredro Gromyko Gryzło Hłasko Jagiełło Jewtuszenko Jundziłło + cat=noun flex=ę lemma=o patal=n subst:sg:acc:m1 # 68 Białko Bochenko Borejko Buyno Chodźko Czeczło Dederko Domeyko Doroszeńko Dowżenko Fedorko Feleszko Firko Fredro Gromyko Gryzło Hłasko Jagiełło Jewtuszenko Jundziłło + cat=noun flex=ą lemma=o patal=n subst:sg:inst:m1 # 68 Białko Bochenko Borejko Buyno Chodźko Czeczło Dederko Domeyko Doroszeńko Dowżenko Fedorko Feleszko Firko Fredro Gromyko Gryzło Hłasko Jagiełło Jewtuszenko Jundziłło + cat=noun flex=em lemma=o subst:sg:inst:m1 # 245 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Boccaccio Bojko Bolko Bozio Cagliostro Canaletto Carlo:s2 Caruso Cyrano Cyzio Czesio Donatello + cat=noun flex=u lemma=o patal=t subst:sg:loc:m1 # 114 Alo Antonio Benio Boccaccio Bozio Carlo:s2 Cyzio Czesio Donatello Dyzio Edzio Fonsio Franio Fredzio Frydzio Genio Gienio Grzesio Gucio Henio + cat=noun flex=u lemma=o patal=n velar=t subst:sg:loc:m1 # 88 Bojko Bolko Janko Jaśko Jóźko Kazko Kaźko Maćko Mieszko Moskalisko Murzynisko Niemczysko Saramago Spytko Szczepko Szwedzisko Włoszysko Zbyszko Zdzicho aktorzysko + cat=noun flex=ie lemma=o patal=n subst:sg:loc:m1 # 107 Ado Alberto Alfredo Ariosto Bellotto Białko Bochenko Borejko Buyno Cagliostro Canaletto Caruso Chodźko Cyrano Czeczło Dederko Domeyko Doroszeńko Dowżenko Fedorko + cat=noun flex=u lemma=o patal=t subst:sg:voc:m1 # 85 Benio Bozio Cyzio Czesio Dyzio Edzio Fonsio Franio Fredzio Frydzio Genio Gienio Grzesio Gucio Henio Hipcio Jasio Józio Kazio Krzysio + cat=noun flex=u lemma=o patal=n velar=t subst:sg:voc:m1 # 28 Bojko Bolko Janko Jaśko Jóźko Kazko Kaźko Maćko Mieszko Saramago Spytko Szczepko Zbyszko Zdzicho brateńko gogo hidalgo księżulko mężulko paneńko + cat=noun flex=o lemma=o subst:sg:voc:m1 # 209 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Białko Boccaccio Bochenko Borejko Bruno Buyno Cagliostro Canaletto Carlo:s2 Caruso Chodźko Cycero Cyrano + cat=noun flex=owie lemma=o subst:pl:nom.voc:m1 # 248 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Białko Boccaccio Bochenko Bojko Bolko Borejko Bozio Buyno Cagliostro Canaletto Carlo:s2 Caruso + cat=noun flex=a lemma=o patal=n subst:pl:nom.voc:m1 # 60 Moskalisko Murzynisko Niemczysko Szwedzisko Włoszysko aktorzysko andrusisko baranisko biedaczysko bratczysko buraczysko byczysko:s1 błaźnisko ceprzysko chamisko chłopaczysko chłopczysko chłopisko cymbalisko człeczysko + cat=noun flex=ów lemma=o subst:pl:gen.acc:m1 # 312 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Białko Boccaccio Bochenko Bojko Bolko Borejko Bozio Buyno Cagliostro Canaletto Carlo:s2 Caruso + cat=noun flex=om lemma=o subst:pl:dat:m1 # 312 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Białko Boccaccio Bochenko Bojko Bolko Borejko Bozio Buyno Cagliostro Canaletto Carlo:s2 Caruso + cat=noun flex=ami lemma=o subst:pl:inst:m1 # 312 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Białko Boccaccio Bochenko Bojko Bolko Borejko Bozio Buyno Cagliostro Canaletto Carlo:s2 Caruso + cat=noun flex=ach lemma=o subst:pl:loc:m1 # 312 Ado Alberto Alfredo Alo Antonio Ariosto Bellotto Benio Białko Boccaccio Bochenko Bojko Bolko Borejko Bozio Buyno Cagliostro Canaletto Carlo:s2 Caruso + cat=noun flex=y lemma=o patal=n depr:pl:nom.acc.voc:m2 # 112 Ariosto Białko Bochenko Bojko Bolko Borejko Buyno Caruso Chodźko Cyrano Czeczło Dederko Domeyko Doroszeńko Dowżenko Fedorko Feleszko Firko Fredro Giordano + cat=noun flex=o lemma=o depr:pl:nom.acc.voc:m2 # 33 Bambo Belmondo Brando Buffalo:s2 Caruso Castro Diego Domingo Hugo:s2 Leo Mao Niro Pablo Pacino Pedro Polo Rambo Santiago:s2 Saramago Tarantino + cat=noun flex=e lemma=o patal=t depr:pl:nom.acc.voc:m2 # 114 Alo Antonio Benio Boccaccio Bozio Carlo:s2 Cyzio Czesio Donatello Dyzio Edzio Fonsio Franio Fredzio Frydzio Genio Gienio Grzesio Gucio Henio + cat=noun flex=a lemma=o patal=n depr:pl:nom.acc.voc:m2 # 93 Ado Alberto Alfredo Bellotto Cagliostro Canaletto Giotto Kupido Leonardo Moskalisko Murzynisko Niemczysko Odo Pissarro Pizarro Prospero Roberto Ronaldo Szwedzisko Tintoretto + + cat=noun flex=o lemma=o subst:sg:nom:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + cat=noun flex=a lemma=o subst:sg:gen.acc:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + cat=noun flex=owi lemma=o subst:sg:dat:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + cat=noun flex=em lemma=o subst:sg:inst:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + cat=noun flex=u lemma=o patal=t subst:sg:loc:m2 # 10 apollo:s2 brudzio brysio gołębisio kieliszunio misio munio piesio pysio renio + cat=noun flex=u lemma=o patal=n velar=t subst:sg:loc:m2 # 3 guanako gwanako koziuleńko + cat=noun flex=ie lemma=o patal=n velar=n subst:sg:loc:m2 # 5 Kupido escudo eskudo kupido putto + cat=noun flex=u lemma=o subst:sg:voc:m2 # 13 apollo:s2 brudzio brysio gołębisio guanako gwanako kieliszunio koziuleńko misio munio piesio pysio renio + cat=noun flex=o lemma=o subst:sg:voc:m2 # 5 Kupido escudo eskudo kupido putto + cat=noun flex=y lemma=o patal=n subst:pl:nom.acc.voc:m2 # 3 guanako gwanako koziuleńko + cat=noun flex=e lemma=o patal=t subst:pl:nom.acc.voc:m2 # 10 apollo:s2 brudzio brysio gołębisio kieliszunio misio munio piesio pysio renio + cat=noun flex=a lemma=o patal=n subst:pl:nom.acc.voc:m2 # 5 Kupido escudo eskudo kupido putto + cat=noun flex=ów lemma=o subst:pl:gen:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + cat=noun flex=om lemma=o subst:pl:dat:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + cat=noun flex=ami lemma=o subst:pl:inst:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + cat=noun flex=ach lemma=o subst:pl:loc:m2 # 18 Kupido apollo:s2 brudzio brysio escudo eskudo gołębisio guanako gwanako kieliszunio koziuleńko kupido misio munio piesio putto pysio renio + + cat=noun flex=o lemma=o subst:sg:nom.acc.voc:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + cat=noun flex=a lemma=o subst:sg:gen:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + cat=noun flex=u lemma=o subst:sg:dat:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + cat=noun flex=em lemma=o subst:sg:inst:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + cat=noun flex=u lemma=o patal=t subst:sg:loc:n:ncol # 49 CB-radio adadżio adagio agio arpedżio arpeggio ażio capriccio diabolo disagio drzewco dysażio dyzażio gorąco:s jajco jajo jojo kebraczo leczo leporello + cat=noun flex=u lemma=o patal=n velar=t subst:sg:loc:n:ncol # 1168 Beresteczko Bielsko Brzesko Bukowsko Busko Chrzypsko Cyganiątko Drawsko Drezdenko Giżycko Grodzisko Ińsko Jerycho Jeziorsko Kluczewsko Kolsko Kongo Kościelisko Kłodzko Lesko + cat=noun flex=ie lemma=o patal=n velar=n subst:sg:loc:n:ncol # 2751 Baboszewo Bakałarzewo Baranowo Barczewo Berno Bobrowo Bojanowo Borodino Braniewo Brno Bródno Bukowo Bulkowo Bądkowo Chełmno Chmielno Choczewo Czarnowo Czerniejewo Darłowo + cat=noun flex=a lemma=o subst:pl:nom.acc.voc:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + cat=noun flex=ε lemma=o subst:pl:gen:n:ncol # 3930 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo Chełmno + cat=noun flex=ów lemma=o subst:pl:gen:n:ncol # 152 Baranowo Bobrowo Bojanowo Bukowo Bulkowo Bądkowo CB-radio Czarnowo Darłowo Dominowo Dygowo Działdowo Dzierzgowo Gniewkowo Godkowo Goworowo Gozdowo Gościkowo Grabowo Granowo + cat=noun flex=om lemma=o subst:pl:dat:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + cat=noun flex=ami lemma=o subst:pl:inst:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + cat=noun flex=ach lemma=o subst:pl:loc:n:ncol # 3971 Baboszewo Bakałarzewo Baranowo Barczewo Beresteczko Berno Bielsko Bobrowo Bojanowo Borodino Braniewo Brno Brzesko Bródno Bukowo Bukowsko Bulkowo Busko Bądkowo CB-radio + + cat=noun flex=o lemma=o subst:pl:nom.voc:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + cat=noun flex=a lemma=o subst:pl:gen.acc:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + cat=noun flex=u lemma=o subst:pl:dat.loc:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + cat=noun flex=em lemma=o subst:pl:inst:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + + cat=noun flex=um lemma=um subst:sg:nom.gen.dat.acc.inst.loc.voc:n:ncol # 420 Ateneum Bizancjum Colosseum Elizjum Koloseum Monachium Nobilium Ossolineum Palladium Pentium absolutorium absurdum adiantum adwerbium afelium agrominimum akcesorium akroterium akwarium alodium + cat=noun flex=a lemma=um subst:pl:nom.acc.voc:n:ncol # 420 Ateneum Bizancjum Colosseum Elizjum Koloseum Monachium Nobilium Ossolineum Palladium Pentium absolutorium absurdum adiantum adwerbium afelium agrominimum akcesorium akroterium akwarium alodium + cat=noun flex=ów lemma=um subst:pl:gen:n:ncol # 420 Ateneum Bizancjum Colosseum Elizjum Koloseum Monachium Nobilium Ossolineum Palladium Pentium absolutorium absurdum adiantum adwerbium afelium agrominimum akcesorium akroterium akwarium alodium + cat=noun flex=om lemma=um subst:pl:dat:n:ncol # 420 Ateneum Bizancjum Colosseum Elizjum Koloseum Monachium Nobilium Ossolineum Palladium Pentium absolutorium absurdum adiantum adwerbium afelium agrominimum akcesorium akroterium akwarium alodium + cat=noun flex=ami lemma=um subst:pl:inst:n:ncol # 420 Ateneum Bizancjum Colosseum Elizjum Koloseum Monachium Nobilium Ossolineum Palladium Pentium absolutorium absurdum adiantum adwerbium afelium agrominimum akcesorium akroterium akwarium alodium + cat=noun flex=ach lemma=um subst:pl:loc:n:ncol # 420 Ateneum Bizancjum Colosseum Elizjum Koloseum Monachium Nobilium Ossolineum Palladium Pentium absolutorium absurdum adiantum adwerbium afelium agrominimum akcesorium akroterium akwarium alodium + + cat=noun flex=u lemma=us subst:sg:gen:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=owi lemma=us subst:sg:dat:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=em lemma=us subst:sg:inst:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=ie lemma=us subst:sg:loc.voc:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=y lemma=us subst:pl:nom.acc.voc:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=ów lemma=us subst:pl:gen:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=om lemma=us subst:pl:dat:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=ami lemma=us subst:pl:inst:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + cat=noun flex=ach lemma=us subst:pl:loc:m3 # 13 ablatiwus akuzatiwus datiwus genetiwus imperatiwus indikatiwus infinitiwus koniunktiwus lokatiwus nominatiwus optatiwus superlatiwus wokatiwus + + cat=noun flex=ona lemma=o(n) subst:sg:gen.acc:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onowi lemma=o(n) subst:sg:dat:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onem lemma=o(n) subst:sg:inst:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onie lemma=o(n) subst:sg:loc.voc:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onowie lemma=o(n) subst:pl:nom.voc:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onów lemma=o(n) subst:pl:gen.acc:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onom lemma=o(n) subst:pl:dat:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onami lemma=o(n) subst:pl:inst:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=onach lemma=o(n) subst:pl:loc:m1 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + cat=noun flex=ony lemma=o(n) depr:pl:nom.acc.voc:m2 # 9 Bruno Cycero Gwido Hugo:s1 Iwo Kato Otto Plato Scypio + + cat=noun flex=ę lemma=ę subst:sg:nom.acc.voc:n:col # 100 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ęcia lemma=ę subst:sg:gen:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ęciu lemma=ę subst:sg:dat.loc:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ęciem lemma=ę subst:sg:inst:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ęta lemma=ę subst:pl:nom.acc.voc:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ąt lemma=ę subst:pl:gen:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ętom lemma=ę subst:pl:dat:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ętam′i lemma=ę subst:pl:inst:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + cat=noun flex=ętach lemma=ę subst:pl:loc:n:col # 99 Laszę Murzynię armacię bachorzę bliźnię bocianię borsuczę bożę bydlę capię charcię chałupię chrząszczę chłopię cielę czarcię człeczę człowieczę diablę drzewię + + cat=noun flex=anie lemma=anin subst:pl:nom.voc:m1 # 229 Afroamerykanin Afrykanin Amerykanin Azerbejdżanin Azjanin Bałtosłowianin Bużanin Dziadoszanin Egipcjanin Fenicjanin Filipianin Galicjanin Germanin Goplanin Honduranin Indianin Jugosłowianin Kambodżanin Kampuczanin Kolosanin + cat=noun flex=anów lemma=anin subst:pl:gen.acc:m1 # 51 Afroamerykanin Afrykanin Amerykanin Germanin Korsykanin Kostarykanin Meksykanin Mohikanin Portorykanin Pragermanin anglikanin arminianin augustianin augustorianin bazylianin bisurmanin dominikanin fabianin franciszkanin gallikanin + cat=noun flex=an lemma=anin subst:pl:gen.acc:m1 # 196 Azerbejdżanin Azjanin Bałtosłowianin Bużanin Dziadoszanin Egipcjanin Fenicjanin Filipianin Galicjanin Goplanin Honduranin Indianin Jugosłowianin Kambodżanin Kampuczanin Kolosanin Koryntianin Kosowianin Kujawianin Lubuszanin + cat=noun flex=anom lemma=anin subst:pl:dat:m1 # 229 Afroamerykanin Afrykanin Amerykanin Azerbejdżanin Azjanin Bałtosłowianin Bużanin Dziadoszanin Egipcjanin Fenicjanin Filipianin Galicjanin Germanin Goplanin Honduranin Indianin Jugosłowianin Kambodżanin Kampuczanin Kolosanin + cat=noun flex=anami lemma=anin subst:pl:inst:m1 # 229 Afroamerykanin Afrykanin Amerykanin Azerbejdżanin Azjanin Bałtosłowianin Bużanin Dziadoszanin Egipcjanin Fenicjanin Filipianin Galicjanin Germanin Goplanin Honduranin Indianin Jugosłowianin Kambodżanin Kampuczanin Kolosanin + cat=noun flex=anach lemma=anin subst:pl:loc:m1 # 229 Afroamerykanin Afrykanin Amerykanin Azerbejdżanin Azjanin Bałtosłowianin Bużanin Dziadoszanin Egipcjanin Fenicjanin Filipianin Galicjanin Germanin Goplanin Honduranin Indianin Jugosłowianin Kambodżanin Kampuczanin Kolosanin + cat=noun flex=any lemma=anin depr:pl:nom.acc.voc:m2 # 229 Afroamerykanin Afrykanin Amerykanin Azerbejdżanin Azjanin Bałtosłowianin Bużanin Dziadoszanin Egipcjanin Fenicjanin Filipianin Galicjanin Germanin Goplanin Honduranin Indianin Jugosłowianin Kambodżanin Kampuczanin Kolosanin + + cat=noun flex=mię lemma=mię subst:sg:nom.acc.voc:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=mienia lemma=mię subst:sg:gen:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=mieniu lemma=mię subst:sg:dat.loc:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=mieniem lemma=mię subst:sg:inst:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=miona lemma=mię subst:pl:nom.acc.voc:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=mion lemma=mię subst:pl:gen:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=mionom lemma=mię subst:pl:dat:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=mionami lemma=mię subst:pl:inst:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + cat=noun flex=mionach lemma=mię subst:pl:loc:n:ncol # 17 brzemię ciemię dwuimię dymię imię nadślemię plemię promię przedramię płomię ramię siemię strzemię szlemię wymię znamię ślemię + + cat=noun flex=stwo lemma=stwo subst:pl:nom.voc:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + cat=noun flex=stwa lemma=stwo subst:pl:gen.acc:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + cat=noun flex=stwu lemma=stwo subst:pl:dat.loc:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + cat=noun flex=stwem lemma=stwo subst:pl:inst:m1:pt # 93 Janostwo Tymoteuszostwo acaństwo ambasadorostwo:s2 aptekarzostwo arcyksięstwo:s2 asaństwo baronostwo:s2 braterstwo:s2 burgrabiostwo:s2 burgrabstwo:s2 burmistrzostwo:s2 carstwo:s2 cesarstwo:s2 chorąstwo:s2 chorążostwo:s2 cześnikostwo:s2 doktorostwo:s2 dyrektorostwo dyrektorstwo:s2 + +* cat=noun flex=ego lemma=a subst:sg:gen.acc:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia +* cat=noun flex=ego lemma=a subst:sg:gen:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia +* cat=noun flex=emu lemma=a subst:sg:dat:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia +* cat=noun flex=ym lemma=a subst:sg:inst:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia +* cat=noun flex=ym lemma=a subst:sg:loc:m1 # 9 burgrabia gograbia grabia hrabia margrabia murgrabia sędzia:s1 wicehrabia współsędzia +* cat=noun flex=u lemma=a subst:sg:voc:m1 # 7 Kościa ciamcia:s2 ciamciaramcia dziadzia dziamdzia:s2 dziumdzia:s2 ojczunia +* cat=noun flex=e lemma=a subst:pl:nom.voc:m1 # 23 Czukcza bibliopola bidula:s3 biedula:s2 ciamcia:s2 ciamciaramcia cieśla fleja:s1 hulajdusza:s1 kaznodzieja królobójca mądrala:s1 męczydusza:s2 nindża oczajdusza:s1 panosza pijanica:s2 pjanica stupaja:s2 szuja:s2 +* cat=noun flex=ε lemma=a subst:pl:gen.acc:m1 # 12 klecha mężczyzna skurczypałka starowinka:s2 stepka stupajka:s1 sługa:s1 tatka ścierciałka świerczałka śwircałka świszczypałka +* cat=noun flex=ε lemma=a subst:sg:gen:f # 11 Genua Managua Mantua Nikaragua Papua Pardua:s1 genua kwinoa statua stoa tamandua +* cat=noun flex=a lemma=a subst:sg:nom.acc.voc:n:ncol # 7 aksjoma apoftegma dilemma drama dylema klima:s1 poema:s1 +* cat=noun flex=a lemma=a subst:sg:gen:n:ncol # 7 aksjoma apoftegma dilemma drama dylema klima:s1 poema:s1 +* cat=noun flex=a lemma=a subst:sg:dat:n:ncol # 7 aksjoma apoftegma dilemma drama dylema klima:s1 poema:s1 +* cat=noun flex=a lemma=a subst:sg:inst:n:ncol # 7 aksjoma apoftegma dilemma drama dylema klima:s1 poema:s1 +* cat=noun flex=a lemma=a subst:sg:loc:n:ncol # 7 aksjoma apoftegma dilemma drama dylema klima:s1 poema:s1 +* cat=noun flex=y lemma=ε subst:sg:gen:m1 # 8 aszmość aść imć:s1 mość:s1 waszeć waszmość wać waść +* cat=noun flex=y lemma=ε subst:sg:dat.loc:m1 # 8 aszmość aść imć:s1 mość:s1 waszeć waszmość wać waść +* cat=noun flex=u lemma=ε subst:sg:dat:m1 # 30 Lew:s1 acan acpan asan aspan aćpan chłop chłopiec czart czort diabeł jaśniepan jespan jeśpan kat mopan mospan mościompan ociec:s orzeł:s2 +* cat=noun flex=y lemma=ε subst:sg:acc:m1 # 8 aszmość aść imć:s1 mość:s1 waszeć waszmość wać waść +* cat=noun flex=ą lemma=ε subst:sg:inst:m1 # 8 aszmość aść imć:s1 mość:s1 waszeć waszmość wać waść +* cat=noun flex=u lemma=ε subst:sg:loc:m1 # 25 Doniec acan acpan asan aspan aćpan chciwiec chłopiec jaśniepan jespan jeśpan mopan mospan mościompan młodzieniec ociec:s pan piszpan pomazaniec sampan:s1 +* cat=noun flex=ie lemma=ε subst:sg:loc:m1 # 14 Cygan Hiszpan Norman:s2 bisurman cygan:s1 franciszkan grubian gwardian krajan mieszczan młodzian republikan skurwysyn zakrystian +* cat=noun flex=y lemma=ε subst:sg:voc:m1 # 8 aszmość aść imć:s1 mość:s1 waszeć waszmość wać waść +* cat=noun flex=ie lemma=ε subst:sg:voc:m1 # 26 Cygan Hiszpan Norman:s2 aspan bisurman cygan:s1 franciszkan grubian gwardian jaśniepan jespan jeśpan krajan mieszczan mopan mospan mościompan młodzian pan piszpan +* cat=noun flex=ie lemma=ε subst:pl:nom.voc:m1 # 13 Cygan Hiszpan Norman:s2 bisurman cygan:s1 franciszkan grubian gwardian krajan mieszczan młodzian republikan zakrystian +* cat=noun flex=u lemma=ε subst:sg:dat:m2 # 16 Lew:s2 arcypies babochłop czart czort diabeł kot:s1 lew:s2 lotokot mrówkolew orzeł:s1 osioł:s1 osioł:s2 pies:s1 półosioł łeb:s2 +* cat=noun flex=e lemma=ε subst:pl:nom.acc.voc:m2 # 4 jeden:s kontredans pasjans preferans +* cat=noun flex=ie lemma=ε subst:sg:loc:m3 # 10 Słonim białodrzew epejsodion epicedion jarząb:s2 kosodrzew srebrnodrzew wab:s2 złotogłów źreb +* cat=noun flex=ie lemma=ε subst:sg:voc:m3 # 9 Słonim białodrzew dom jarząb:s2 kosodrzew srebrnodrzew wab:s2 złotogłów źreb +* cat=noun flex=e lemma=ε subst:pl:nom.acc.voc:m3 # 34 alians ambulans anons asonans awans balans bilans dyliżans dysonans dystans fajans konkordans konsonans konwenans kwadrans:s1 lunch lynch mezalians niuans ordonans +* cat=noun flex=a lemma=ε subst:pl:nom.acc.voc:m3 # 30 abstrakt akt:s2 apartament copyright cud dysgust dyzgust efekt ekscept ekspens ewent frukt furdyment grunt gust inspekt interes koszt organ:s2 pakt +* cat=noun flex=y lemma=y subst:pl:nom.voc:m1 # 4 Batory Gorki Korfanty Oleksy +* cat=noun flex=a lemma=o subst:sg:gen:m1 # 27 Ado Alberto Alfredo Bellotto Cagliostro Canaletto Giotto Kupido Leo Leonardo Odo Pissarro Pizarro Prospero Roberto Romeo Ronaldo Tintoretto Tito Umberto +* cat=noun flex=o lemma=o subst:sg:nom.acc:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=a lemma=o subst:sg:gen:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=owi lemma=o subst:sg:dat:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=em lemma=o subst:sg:inst:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=u lemma=o subst:sg:loc:m3 # 4 brzusio domcio nosio wnusio +* cat=noun flex=u lemma=o subst:sg:voc:m3 # 4 brzusio domcio nosio wnusio +* cat=noun flex=e lemma=o subst:pl:nom.acc.voc:m3 # 4 brzusio domcio nosio wnusio +* cat=noun flex=ów lemma=o subst:pl:gen:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=om lemma=o subst:pl:dat:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=ami lemma=o subst:pl:inst:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=ach lemma=o subst:pl:loc:m3 # 5 brzusio domcio nosio pampero wnusio +* cat=noun flex=y lemma=o subst:pl:gen:n:ncol # 5 diabolo piccolo:s2 pikolo:s2 pueblo tremolo + cat=adj flex=e lemma=y adj:sg:nom.acc.voc:n:pos|adj:pl:nom.acc.voc:m2.m3.f.n:pos # 66261 AK-owski AL-owski GUS-owski KOR-owski NATO-wski NRD-owski NRF-owski NSZ-owski ONR-owski ONZ-owski OPZZ-owski PAN-owski PAP-owski PAX-owski PGR-owski PIW-owski PPS-owski PRL-owski PSL-owski PTTK-owski cat=adj flex=y lemma=y adj:sg:nom.voc:m1.m2.m3:pos|adj:sg:acc:m3:pos|adj:pl:nom.voc:m1:pos # 4181 absorbujący agrolotniczy akceptujący aktywizujący alarmujący alergizujący alfapromieniotwórczy ambarasujący anieli antylopi antyrobotniczy aprobujący arcybiskupi arcyksiążęcy armatni autorczy autoszyderczy awanturniczy babi badający diff --git a/morphology/data/interp_rules_old4.dic b/morphology/data/interp_rules_old4.dic index 3b507e1..2129a3e 100644 --- a/morphology/data/interp_rules_old4.dic +++ b/morphology/data/interp_rules_old4.dic @@ -213,33 +213,6 @@ cat=noun flex=ach lemma=e subst:pl:loc:m1 # 52 Allende Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Dante Eile Eliade Faure:s1 Fichte Gawle Giorgione Goethe Heine Hesse Hoene Hoppe cat=noun flex=e lemma=e depr:pl:nom.acc.voc:m2 # 70 Allende Ante Bartoszcze Blikle Bonaparte Bramante Capone Cardinale:s1 Croce Crusoe Curie Dante Defoe Eile Eliade Faure:s1 Fichte Gawle Giorgione Giuseppe - cat=noun flex=e lemma=e subst:sg:nom.acc.voc:n:ncol # 3034 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dąbie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne - cat=noun flex=ego lemma=e subst:sg:gen:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=e lemma=e subst:sg:gen:n:ncol # 4 ekstemporale faksymile regale uniwersale - cat=noun flex=a lemma=e subst:sg:gen:n:ncol # 2748 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże - cat=noun flex=ym lemma=e subst:sg:inst:n:ncol # 200 bagażowe bartne bazarne becikowe brzegowe butelkowe bykowe centralne cenzurowane chorobowe cudze czepne czerwone czesne czopowe dobre drogowe drugie drukowane dworowe - cat=noun flex=em lemma=e subst:sg:inst:n:ncol # 2830 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dąbie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne - cat=noun flex=e lemma=e subst:sg:inst:n:ncol # 4 ekstemporale faksymile regale uniwersale - cat=noun flex=u lemma=e subst:sg:dat:n:ncol # 2748 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże - cat=noun flex=emu lemma=e subst:sg:dat:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=e lemma=e subst:sg:dat:n:ncol # 4 ekstemporale faksymile regale uniwersale - cat=noun flex=ym lemma=e subst:sg:loc:n:ncol # 200 bagażowe bartne bazarne becikowe brzegowe butelkowe bykowe centralne cenzurowane chorobowe cudze czepne czerwone czesne czopowe dobre drogowe drugie drukowane dworowe - cat=noun flex=u lemma=e subst:sg:loc:n:ncol # 2747 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże - cat=noun flex=ie lemma=e subst:sg:loc:n:ncol # 1 andante - cat=noun flex=em lemma=e subst:sg:loc:n:ncol # 82 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=e lemma=e subst:sg:loc:n:ncol # 4 ekstemporale faksymile regale uniwersale - cat=noun flex=e lemma=e subst:pl:nom.acc.voc:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=a lemma=e subst:pl:nom.acc.voc:n:ncol # 2748 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże - cat=noun flex=ε lemma=e subst:pl:gen:n:ncol # 2133 Okęcie Oświecenie Podkarpacie acetylowanie akanie alkilowanie andante anulowanie arcyłganie aresztowanie arkadowanie autoformatowanie autoholowanie autoutlenianie baczenie badanie bajanie bajdurzenie bajerowanie bajtlowanie - cat=noun flex=ów lemma=e subst:pl:gen:n:ncol # 8 drzewce krzywce lice mikropyle oje tomiszcze ślepie ślipie - cat=noun flex=ych lemma=e subst:pl:gen:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=y lemma=e subst:pl:gen:n:ncol # 632 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże Rozewie - cat=noun flex=ymi lemma=e subst:pl:inst:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=ami lemma=e subst:pl:inst:n:ncol # 2748 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże - cat=noun flex=ym lemma=e subst:pl:dat:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=om lemma=e subst:pl:dat:n:ncol # 2748 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże - cat=noun flex=ych lemma=e subst:pl:loc:n:ncol # 282 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Chyżne Ciechanowskie Cieszyńskie Czarne Częstochowskie Dębe Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Hrebenne Humenne Jedwabne Jeleniogórskie - cat=noun flex=ach lemma=e subst:pl:loc:n:ncol # 2748 Dąbie Koźle Mazowsze Międzylesie Murzasichle Naddniestrze Nadodrze Oksywie Okęcie Opole Oświecenie Podbeskidzie Podhale Podkarpacie Podlasie Podnieprze Podole Podtatrze Pomorze Powołże cat=noun flex=e lemma=e patal=t subst:sg:nom.acc.voc:n:ncol # 2837 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Ciechanowskie Cieszyńskie Częstochowskie Dąbie Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Jeleniogórskie Kaliskie Katowickie Kieleckie Kijowskie Kolonowskie cat=noun flex=ego lemma=e patal=t subst:sg:gen:n:ncol # 86 Bialskie Białostockie Bielskie Bydgoskie Chełmskie Ciechanowskie Cieszyńskie Częstochowskie Elbląskie Fosowskie Gdańskie Gorzowskie Głębokie Jeleniogórskie Kaliskie Katowickie Kieleckie Kijowskie Kolonowskie Konińskie diff --git a/morphology/data/rev_rules.dic b/morphology/data/rev_rules.dic index d957316..f17e013 100644 --- a/morphology/data/rev_rules.dic +++ b/morphology/data/rev_rules.dic @@ -53,6 +53,9 @@ @NOUN-LEMMA-STWO dowolne stwo lemma=stwo +@NOUN-LEMMA-NI + dowolne n′i lemma=ni + @NOUN-LEMMA-CAP dowolne lemma=εC * kapitaliki_wyglos A lemma=A diff --git a/morphology/data/rules.dic b/morphology/data/rules.dic index a5ddecc..7f4d519 100644 --- a/morphology/data/rules.dic +++ b/morphology/data/rules.dic @@ -191,6 +191,16 @@ dowolne stvo flex=stwo patal=stwo cat=noun dowolne stvem flex=stwem patal=stwo cat=noun +@NOUN-FLEX-NI + aiy n′i flex=ni patal=ni cat=noun + aiy n′ą flex=nią patal=ni cat=noun + aiy n′ę flex=nię patal=ni cat=noun + aiy n′e flex=nie patal=ni cat=noun + aiy n′ flex=ń patal=ni cat=noun + aiy n′ax flex=niach patal=ni cat=noun + aiy n′om flex=niom patal=ni cat=noun + aiy n′am′i flex=niami patal=ni cat=noun + @NOUN-FLEX-CAP kapitaliki_y flex=yC con cat=noun kapitaliki_e e flex=eC con cat=noun diff --git a/morphology/data/schemata.dic b/morphology/data/schemata.dic index 7a8acfb..34b4d5e 100644 --- a/morphology/data/schemata.dic +++ b/morphology/data/schemata.dic @@ -1,7 +1,7 @@ -KOLWIEK-SUFFIXES ADJ-FLEX-PATAL ADJ-LEMMA-PATAL -KOLWIEK-SUFFIXES ADJ-FLEX-NPATAL ADJ-LEMMA-NPATAL -PREF-SUP ADJ-FLEX-GRAD ADJ-GRAD-PATAL ADJ-LEMMA-PATAL -PREF-SUP ADJ-FLEX-GRAD ADJ-GRAD-NPATAL ADJ-LEMMA-NPATAL +#KOLWIEK-SUFFIXES ADJ-FLEX-PATAL ADJ-LEMMA-PATAL +#KOLWIEK-SUFFIXES ADJ-FLEX-NPATAL ADJ-LEMMA-NPATAL +#PREF-SUP ADJ-FLEX-GRAD ADJ-GRAD-PATAL ADJ-LEMMA-PATAL +#PREF-SUP ADJ-FLEX-GRAD ADJ-GRAD-NPATAL ADJ-LEMMA-NPATAL #PREF-SUP ADV-FLEX-PATAL ADV-LEMMA-PATAL #PREF-SUP ADV-FLEX-NPATAL ADV-LEMMA-NPATAL #NOUN-FLEX-PATAL NOUN-LEMMA-PATAL @@ -12,30 +12,31 @@ PREF-SUP ADJ-FLEX-GRAD ADJ-GRAD-NPATAL ADJ-LEMMA-NPATAL #NOUN-FLEX-O(N) NOUN-LEMMA-O(N) #NOUN-FLEX-STWO NOUN-LEMMA-STWO #NOUN-FLEX-CAP NOUN-LEMMA-CAP -#PREF-ε FIN-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-NIE GER-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-NIE PPAS-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-ε PRAET-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-ε FIN-FLEX-J VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-NIE GER-FLEX VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-NIE PACT-FLEX VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-NIE PPAS-FLEX VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX -#PREF-ε FIN-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL -#PREF-NIE GER-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL -#PREF-NIE PPAS-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL -#PREF-ε PRAET-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL -#PREF-ε FIN-FLEX-J VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL -#PREF-NIE GER-FLEX VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL -#PREF-NIE PACT-FLEX VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL -#PREF-NIE PPAS-FLEX VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL -#PREF-ε FIN-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ -#PREF-NIE GER-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ -#PREF-NIE PPAS-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ -#PREF-ε PRAET-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ -#PREF-ε FIN-FLEX-J VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ -#PREF-NIE GER-FLEX VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ -#PREF-NIE PACT-FLEX VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ -#PREF-NIE PPAS-FLEX VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ +#NOUN-FLEX-NI NOUN-LEMMA-NI +PREF-ε FIN-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-NIE GER-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-NIE PPAS-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-ε PRAET-FLEX VERB-FLEX2 VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-ε FIN-FLEX-J VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-NIE GER-FLEX VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-NIE PACT-FLEX VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-NIE PPAS-FLEX VERB-FLEX2-J VERB-GROUP-SUFIX VERB-LEMMA-SUFIX +PREF-ε FIN-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL +PREF-NIE GER-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL +PREF-NIE PPAS-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL +PREF-ε PRAET-FLEX VERB-FLEX2 VERB-GROUP-PATAL VERB-LEMMA-PATAL +PREF-ε FIN-FLEX-J VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL +PREF-NIE GER-FLEX VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL +PREF-NIE PACT-FLEX VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL +PREF-NIE PPAS-FLEX VERB-FLEX2-J VERB-GROUP-J-PATAL VERB-LEMMA-PATAL +PREF-ε FIN-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ +PREF-NIE GER-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ +PREF-NIE PPAS-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ +PREF-ε PRAET-FLEX VERB-FLEX2 VERB-GROUP-NĄ VERB-LEMMA-NĄ +PREF-ε FIN-FLEX-J VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ +PREF-NIE GER-FLEX VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ +PREF-NIE PACT-FLEX VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ +PREF-NIE PPAS-FLEX VERB-FLEX2-J VERB-GROUP-J-NĄ VERB-LEMMA-NĄ #NOUN-FLEX-FOREIGN NOUN-LEMMA-FOREIGN #NOUN-FLEX-APOSTROF NOUN-LEMMA-FOREIGN #LU-NOUN diff --git a/morphology/dict.ml b/morphology/dict.ml index aefcf0c..303fcc1 100644 --- a/morphology/dict.ml +++ b/morphology/dict.ml @@ -196,112 +196,155 @@ let rec get_aspect lemma = function | _ -> get_aspect lemma l) | [] -> failwith ("get_aspect: " ^ lemma) -let merge_interps forms = +let get_lemma_suf lemma = + let lemma_suf = + if lemma = "" then "" else + List.hd (List.rev (Xunicode.utf8_chars_of_utf8_string (Stem.simplify_lemma lemma))) in + match lemma_suf with + "a" -> "a" + | "e" -> "e" + | "o" -> "o" + | "y" -> "y" + | "i" -> "y" + | "ę" -> "ę" + | _ -> "ε" + +let get_orth_suf orth = + let orth_suf = + if orth = "" then "" else + List.hd (List.rev (Xunicode.utf8_chars_of_utf8_string orth)) in + match orth_suf with + "j" -> "j" + | "e" -> "e" + | _ -> "ε" + +let merge_interps lemma forms = + let lemma_suf = get_lemma_suf lemma in let map = Xlist.fold forms StringMap.empty (fun map form -> (* printf "merge_interps 1: %s %s\n%!" form.orth form.interp; *) StringMap.add_inc map form.orth (StringSet.singleton form.interp) (fun set -> StringSet.add set form.interp)) in StringMap.fold map [] (fun forms orth set -> (* printf "merge_interps 2: %s %s\n%!" orth (String.concat " " (StringSet.to_list set)); *) - match Xlist.sort (StringSet.to_list set) compare with - ["adv"] -> {empty_form with orth=orth; interp="adv:pos"} :: forms - | ["adv";"adv:pos"] -> {empty_form with orth=orth; interp="adv:pos"} :: forms - | [interp] -> {empty_form with orth=orth; interp=interp} :: forms - | ["adj:pl:acc:m2.m3.f.n:pos";"adj:pl:nom.voc:m2.m3.f.n:pos";"adj:sg:acc:n:pos";"adj:sg:nom.voc:n:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:pos|adj:pl:nom.acc.voc:m2.m3.f.n:pos"} :: forms - | ["adj:sg:acc:m1.m2:pos";"adj:sg:gen:m1.m2.m3.n:pos"] -> {empty_form with orth=orth; interp="adj:sg:gen:m1.m2.m3.n:pos|adj:sg:acc:m1.m2:pos"} :: forms - | ["adj:sg:dat:f:pos";"adj:sg:gen:f:pos";"adj:sg:loc:f:pos"] -> {empty_form with orth=orth; interp="adj:sg:gen.dat.loc:f:pos"} :: forms - | ["adj:sg:acc:m3:pos";"adj:sg:nom.voc:m1.m2.m3:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:pos|adj:sg:acc:m3:pos"} :: forms - | ["adj:pl:acc:m1:pos";"adj:pl:gen:m1.m2.m3.f.n:pos";"adj:pl:loc:m1.m2.m3.f.n:pos"] -> {empty_form with orth=orth; interp="adj:pl:gen.loc:m1.m2.m3.f.n:pos|adj:pl:acc:m1:pos"} :: forms - | ["adj:pl:dat:m1.m2.m3.f.n:pos";"adj:sg:inst:m1.m2.m3.n:pos";"adj:sg:loc:m1.m2.m3.n:pos"] -> {empty_form with orth=orth; interp="adj:sg:inst.loc:m1.m2.m3.n:pos|adj:pl:dat:m1.m2.m3.f.n:pos"} :: forms - | ["adj:sg:acc:f:pos";"adj:sg:inst:f:pos"] -> {empty_form with orth=orth; interp="adj:sg:acc.inst:f:pos"} :: forms - | ["adj:pl:nom.voc:m1:pos";"adj:sg:acc:m3:pos";"adj:sg:nom.voc:m1.m2.m3:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:pos|adj:sg:acc:m3:pos|adj:pl:nom.voc:m1:pos"} :: forms - | ["adj:sg:acc:m3:pos";"adj:sg:nom:m1.m2.m3:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom:m1.m2.m3:pos|adj:sg:acc:m3:pos"} :: forms - | ["adj:pl:acc:m2.m3.f.n:pos";"adj:pl:nom.voc:m2.m3.f.n:pos"] -> {empty_form with orth=orth; interp="adj:pl:nom.acc.voc:m2.m3.f.n:pos"} :: forms - | ["adj:sg:acc:n:pos";"adj:sg:nom.voc:n:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:pos"} :: forms - | ["adj:sg:acc:n:pos";"adj:sg:nom.voc:n:pos";"adja"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:pos|adja"} :: forms - | ["adj:pl:nom:m2.m3.f.n:pos";"adj:sg:nom:n:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom:n:pos|adj:pl:nom:m2.m3.f.n:pos"} :: forms - | ["adj:pl:acc:m2.m3.f.n:sup";"adj:pl:nom.voc:m2.m3.f.n:sup";"adj:sg:acc:n:sup";"adj:sg:nom.voc:n:sup"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:sup|adj:pl:nom.acc.voc:m2.m3.f.n:sup"} :: forms - | ["adj:sg:acc:m1.m2:sup";"adj:sg:gen:m1.m2.m3.n:sup"] -> {empty_form with orth=orth; interp="adj:sg:gen:m1.m2.m3.n:sup|adj:sg:acc:m1.m2:sup"} :: forms - | ["adj:sg:dat:f:sup";"adj:sg:gen:f:sup";"adj:sg:loc:f:sup"] -> {empty_form with orth=orth; interp="adj:sg:gen.dat.loc:f:sup"} :: forms - | ["adj:sg:acc:m3:sup";"adj:sg:nom.voc:m1.m2.m3:sup"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:sup|adj:sg:acc:m3:sup"} :: forms - | ["adj:pl:acc:m1:sup";"adj:pl:gen:m1.m2.m3.f.n:sup";"adj:pl:loc:m1.m2.m3.f.n:sup"] -> {empty_form with orth=orth; interp="adj:pl:gen.loc:m1.m2.m3.f.n:sup|adj:pl:acc:m1:sup"} :: forms - | ["adj:pl:dat:m1.m2.m3.f.n:sup";"adj:sg:inst:m1.m2.m3.n:sup";"adj:sg:loc:m1.m2.m3.n:sup"] -> {empty_form with orth=orth; interp="adj:sg:inst.loc:m1.m2.m3.n:sup|adj:pl:dat:m1.m2.m3.f.n:sup"} :: forms - | ["adj:sg:acc:f:sup";"adj:sg:inst:f:sup"] -> {empty_form with orth=orth; interp="adj:sg:acc.inst:f:sup"} :: forms - | ["adj:pl:acc:m2.m3.f.n:com";"adj:pl:nom.voc:m2.m3.f.n:com";"adj:sg:acc:n:com";"adj:sg:nom.voc:n:com"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:com|adj:pl:nom.acc.voc:m2.m3.f.n:com"} :: forms - | ["adj:sg:acc:m1.m2:com";"adj:sg:gen:m1.m2.m3.n:com"] -> {empty_form with orth=orth; interp="adj:sg:gen:m1.m2.m3.n:com|adj:sg:acc:m1.m2:com"} :: forms - | ["adj:sg:dat:f:com";"adj:sg:gen:f:com";"adj:sg:loc:f:com"] -> {empty_form with orth=orth; interp="adj:sg:gen.dat.loc:f:com"} :: forms - | ["adj:sg:acc:m3:com";"adj:sg:nom.voc:m1.m2.m3:com"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:com|adj:sg:acc:m3:com"} :: forms - | ["adj:pl:acc:m1:com";"adj:pl:gen:m1.m2.m3.f.n:com";"adj:pl:loc:m1.m2.m3.f.n:com"] -> {empty_form with orth=orth; interp="adj:pl:gen.loc:m1.m2.m3.f.n:com|adj:pl:acc:m1:com"} :: forms - | ["adj:pl:dat:m1.m2.m3.f.n:com";"adj:sg:inst:m1.m2.m3.n:com";"adj:sg:loc:m1.m2.m3.n:com"] -> {empty_form with orth=orth; interp="adj:sg:inst.loc:m1.m2.m3.n:com|adj:pl:dat:m1.m2.m3.f.n:com"} :: forms - | ["adj:sg:acc:f:com";"adj:sg:inst:f:com"] -> {empty_form with orth=orth; interp="adj:sg:acc.inst:f:com"} :: forms - | ["adj:pl:acc:m1:pos";"adj:pl:acc:m2.m3.f.n:pos";"adj:pl:dat:m1.m2.m3.f.n:pos";"adj:pl:gen:m1.m2.m3.f.n:pos"; + let orth_suf = get_orth_suf orth in + match lemma_suf, Xlist.sort (StringSet.to_list set) compare with + _,["adv"] -> {empty_form with orth=orth; interp="adv:pos"} :: forms + | _,["adv";"adv:pos"] -> {empty_form with orth=orth; interp="adv:pos"} :: forms + | _,["adj:pl:acc:m2.m3.f.n:pos";"adj:pl:nom.voc:m2.m3.f.n:pos";"adj:sg:acc:n:pos";"adj:sg:nom.voc:n:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:pos|adj:pl:nom.acc.voc:m2.m3.f.n:pos"} :: forms + | _,["adj:sg:acc:m1.m2:pos";"adj:sg:gen:m1.m2.m3.n:pos"] -> {empty_form with orth=orth; interp="adj:sg:gen:m1.m2.m3.n:pos|adj:sg:acc:m1.m2:pos"} :: forms + | _,["adj:sg:dat:f:pos";"adj:sg:gen:f:pos";"adj:sg:loc:f:pos"] -> {empty_form with orth=orth; interp="adj:sg:gen.dat.loc:f:pos"} :: forms + | _,["adj:sg:acc:m3:pos";"adj:sg:nom.voc:m1.m2.m3:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:pos|adj:sg:acc:m3:pos"} :: forms + | _,["adj:pl:acc:m1:pos";"adj:pl:gen:m1.m2.m3.f.n:pos";"adj:pl:loc:m1.m2.m3.f.n:pos"] -> {empty_form with orth=orth; interp="adj:pl:gen.loc:m1.m2.m3.f.n:pos|adj:pl:acc:m1:pos"} :: forms + | _,["adj:pl:dat:m1.m2.m3.f.n:pos";"adj:sg:inst:m1.m2.m3.n:pos";"adj:sg:loc:m1.m2.m3.n:pos"] -> {empty_form with orth=orth; interp="adj:sg:inst.loc:m1.m2.m3.n:pos|adj:pl:dat:m1.m2.m3.f.n:pos"} :: forms + | _,["adj:sg:acc:f:pos";"adj:sg:inst:f:pos"] -> {empty_form with orth=orth; interp="adj:sg:acc.inst:f:pos"} :: forms + | _,["adj:pl:nom.voc:m1:pos";"adj:sg:acc:m3:pos";"adj:sg:nom.voc:m1.m2.m3:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:pos|adj:sg:acc:m3:pos|adj:pl:nom.voc:m1:pos"} :: forms + | _,["adj:sg:acc:m3:pos";"adj:sg:nom:m1.m2.m3:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom:m1.m2.m3:pos|adj:sg:acc:m3:pos"} :: forms + | _,["adj:pl:acc:m2.m3.f.n:pos";"adj:pl:nom.voc:m2.m3.f.n:pos"] -> {empty_form with orth=orth; interp="adj:pl:nom.acc.voc:m2.m3.f.n:pos"} :: forms + | _,["adj:sg:acc:n:pos";"adj:sg:nom.voc:n:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:pos"} :: forms + | _,["adj:sg:acc:n:pos";"adj:sg:nom.voc:n:pos";"adja"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:pos|adja"} :: forms + | _,["adj:pl:nom:m2.m3.f.n:pos";"adj:sg:nom:n:pos"] -> {empty_form with orth=orth; interp="adj:sg:nom:n:pos|adj:pl:nom:m2.m3.f.n:pos"} :: forms + | _,["adj:pl:acc:m2.m3.f.n:sup";"adj:pl:nom.voc:m2.m3.f.n:sup";"adj:sg:acc:n:sup";"adj:sg:nom.voc:n:sup"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:sup|adj:pl:nom.acc.voc:m2.m3.f.n:sup"} :: forms + | _,["adj:sg:acc:m1.m2:sup";"adj:sg:gen:m1.m2.m3.n:sup"] -> {empty_form with orth=orth; interp="adj:sg:gen:m1.m2.m3.n:sup|adj:sg:acc:m1.m2:sup"} :: forms + | _,["adj:sg:dat:f:sup";"adj:sg:gen:f:sup";"adj:sg:loc:f:sup"] -> {empty_form with orth=orth; interp="adj:sg:gen.dat.loc:f:sup"} :: forms + | _,["adj:sg:acc:m3:sup";"adj:sg:nom.voc:m1.m2.m3:sup"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:sup|adj:sg:acc:m3:sup"} :: forms + | _,["adj:pl:acc:m1:sup";"adj:pl:gen:m1.m2.m3.f.n:sup";"adj:pl:loc:m1.m2.m3.f.n:sup"] -> {empty_form with orth=orth; interp="adj:pl:gen.loc:m1.m2.m3.f.n:sup|adj:pl:acc:m1:sup"} :: forms + | _,["adj:pl:dat:m1.m2.m3.f.n:sup";"adj:sg:inst:m1.m2.m3.n:sup";"adj:sg:loc:m1.m2.m3.n:sup"] -> {empty_form with orth=orth; interp="adj:sg:inst.loc:m1.m2.m3.n:sup|adj:pl:dat:m1.m2.m3.f.n:sup"} :: forms + | _,["adj:sg:acc:f:sup";"adj:sg:inst:f:sup"] -> {empty_form with orth=orth; interp="adj:sg:acc.inst:f:sup"} :: forms + | _,["adj:pl:acc:m2.m3.f.n:com";"adj:pl:nom.voc:m2.m3.f.n:com";"adj:sg:acc:n:com";"adj:sg:nom.voc:n:com"] -> {empty_form with orth=orth; interp="adj:sg:nom.acc.voc:n:com|adj:pl:nom.acc.voc:m2.m3.f.n:com"} :: forms + | _,["adj:sg:acc:m1.m2:com";"adj:sg:gen:m1.m2.m3.n:com"] -> {empty_form with orth=orth; interp="adj:sg:gen:m1.m2.m3.n:com|adj:sg:acc:m1.m2:com"} :: forms + | _,["adj:sg:dat:f:com";"adj:sg:gen:f:com";"adj:sg:loc:f:com"] -> {empty_form with orth=orth; interp="adj:sg:gen.dat.loc:f:com"} :: forms + | _,["adj:sg:acc:m3:com";"adj:sg:nom.voc:m1.m2.m3:com"] -> {empty_form with orth=orth; interp="adj:sg:nom.voc:m1.m2.m3:com|adj:sg:acc:m3:com"} :: forms + | _,["adj:pl:acc:m1:com";"adj:pl:gen:m1.m2.m3.f.n:com";"adj:pl:loc:m1.m2.m3.f.n:com"] -> {empty_form with orth=orth; interp="adj:pl:gen.loc:m1.m2.m3.f.n:com|adj:pl:acc:m1:com"} :: forms + | _,["adj:pl:dat:m1.m2.m3.f.n:com";"adj:sg:inst:m1.m2.m3.n:com";"adj:sg:loc:m1.m2.m3.n:com"] -> {empty_form with orth=orth; interp="adj:sg:inst.loc:m1.m2.m3.n:com|adj:pl:dat:m1.m2.m3.f.n:com"} :: forms + | _,["adj:sg:acc:f:com";"adj:sg:inst:f:com"] -> {empty_form with orth=orth; interp="adj:sg:acc.inst:f:com"} :: forms + | _,["adj:pl:acc:m1:pos";"adj:pl:acc:m2.m3.f.n:pos";"adj:pl:dat:m1.m2.m3.f.n:pos";"adj:pl:gen:m1.m2.m3.f.n:pos"; "adj:pl:inst:m1.m2.m3.f.n:pos";"adj:pl:loc:m1.m2.m3.f.n:pos";"adj:pl:nom.voc:m1:pos";"adj:pl:nom.voc:m2.m3.f.n:pos"; "adj:sg:acc:f:pos";"adj:sg:acc:m1.m2:pos";"adj:sg:acc:m3:pos";"adj:sg:acc:n:pos";"adj:sg:dat:f:pos"; "adj:sg:dat:m1.m2.m3.n:pos";"adj:sg:gen:f:pos";"adj:sg:gen:m1.m2.m3.n:pos";"adj:sg:inst:f:pos";"adj:sg:inst:m1.m2.m3.n:pos"; "adj:sg:loc:f:pos";"adj:sg:loc:m1.m2.m3.n:pos";"adj:sg:nom.voc:f:pos";"adj:sg:nom.voc:m1.m2.m3:pos";"adj:sg:nom.voc:n:pos"] -> {empty_form with orth=orth; interp="adj:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1.m2.m3.f.n:pos"} :: forms - | ["adj:pl:acc:m1:pos";"adj:pl:acc:m2.m3.f.n:pos";"adj:pl:dat:m1.m2.m3.f.n:pos";"adj:pl:gen:m1.m2.m3.f.n:pos"; + | _,["adj:pl:acc:m1:pos";"adj:pl:acc:m2.m3.f.n:pos";"adj:pl:dat:m1.m2.m3.f.n:pos";"adj:pl:gen:m1.m2.m3.f.n:pos"; "adj:pl:inst:m1.m2.m3.f.n:pos";"adj:pl:loc:m1.m2.m3.f.n:pos";"adj:pl:nom.voc:m1:pos";"adj:pl:nom.voc:m2.m3.f.n:pos"; "adj:sg:acc:f:pos";"adj:sg:acc:m1.m2:pos";"adj:sg:acc:m3:pos";"adj:sg:acc:n:pos";"adj:sg:dat:f:pos"; "adj:sg:dat:m1.m2.m3.n:pos";"adj:sg:gen:f:pos";"adj:sg:gen:m1.m2.m3.n:pos";"adj:sg:inst:f:pos";"adj:sg:inst:m1.m2.m3.n:pos"; "adj:sg:loc:f:pos";"adj:sg:loc:m1.m2.m3.n:pos";"adj:sg:nom.voc:f:pos";"adj:sg:nom.voc:m1.m2.m3:pos";"adj:sg:nom.voc:n:pos";"adja"] -> {empty_form with orth=orth; interp="adj:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1.m2.m3.f.n:pos|adja"} :: forms - | ["ger:pl:nom.acc:n:imperf.perf:aff";"ger:sg:gen:n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ger:sg:gen:n:imperf.perf:aff|ger:pl:nom.acc:n:imperf.perf:aff"} :: forms - | ["ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:aff";"ppas:sg:nom.acc.voc:n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:nom.acc.voc:n:imperf.perf:aff|ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:aff"} :: forms - | ["ppas:sg:acc:m1.m2:imperf.perf:aff";"ppas:sg:gen:m1.m2.m3.n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:gen:m1.m2.m3.n:imperf.perf:aff|ppas:sg:acc:m1.m2:imperf.perf:aff"} :: forms - | ["ppas:sg:acc:m3:imperf.perf:aff";"ppas:sg:nom.voc:m1.m2.m3:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:nom.voc:m1.m2.m3:imperf.perf:aff|ppas:sg:acc:m3:imperf.perf:aff"} :: forms - | ["ppas:pl:acc:m1:imperf.perf:aff";"ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:aff|ppas:pl:acc:m1:imperf.perf:aff"} :: forms - | ["ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:aff";"ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:aff|ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:aff"} :: forms - | ["pact:pl:nom.acc.voc:m2.m3.f.n:imperf:aff";"pact:sg:nom.acc.voc:n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:nom.acc.voc:n:imperf:aff|pact:pl:nom.acc.voc:m2.m3.f.n:imperf:aff"} :: forms - | ["pact:sg:acc:m1.m2:imperf:aff";"pact:sg:gen:m1.m2.m3.n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:gen:m1.m2.m3.n:imperf:aff|pact:sg:acc:m1.m2:imperf:aff"} :: forms - | ["pact:pl:nom.voc:m1:imperf:aff";"pact:sg:acc:m3:imperf:aff";"pact:sg:nom.voc:m1.m2.m3:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:nom.voc:m1.m2.m3:imperf:aff|pact:sg:acc:m3:imperf:aff|pact:pl:nom.voc:m1:imperf:aff"} :: forms - | ["pact:pl:acc:m1:imperf:aff";"pact:pl:gen.loc:m1.m2.m3.f.n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:pl:gen.loc:m1.m2.m3.f.n:imperf:aff|pact:pl:acc:m1:imperf:aff"} :: forms - | ["pact:pl:dat:m1.m2.m3.f.n:imperf:aff";"pact:sg:inst.loc:m1.m2.m3.n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:inst.loc:m1.m2.m3.n:imperf:aff|pact:pl:dat:m1.m2.m3.f.n:imperf:aff"} :: forms - | ["ger:pl:nom.acc:n:imperf.perf:neg";"ger:sg:gen:n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ger:sg:gen:n:imperf.perf:neg|ger:pl:nom.acc:n:imperf.perf:neg"} :: forms - | ["ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:neg";"ppas:sg:nom.acc.voc:n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:nom.acc.voc:n:imperf.perf:neg|ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:neg"} :: forms - | ["ppas:sg:acc:m1.m2:imperf.perf:neg";"ppas:sg:gen:m1.m2.m3.n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:gen:m1.m2.m3.n:imperf.perf:neg|ppas:sg:acc:m1.m2:imperf.perf:neg"} :: forms - | ["ppas:sg:acc:m3:imperf.perf:neg";"ppas:sg:nom.voc:m1.m2.m3:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:nom.voc:m1.m2.m3:imperf.perf:neg|ppas:sg:acc:m3:imperf.perf:neg"} :: forms - | ["ppas:pl:acc:m1:imperf.perf:neg";"ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:neg|ppas:pl:acc:m1:imperf.perf:neg"} :: forms - | ["ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:neg";"ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:neg|ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:neg"} :: forms - | ["pact:pl:nom.acc.voc:m2.m3.f.n:imperf:neg";"pact:sg:nom.acc.voc:n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:nom.acc.voc:n:imperf:neg|pact:pl:nom.acc.voc:m2.m3.f.n:imperf:neg"} :: forms - | ["pact:sg:acc:m1.m2:imperf:neg";"pact:sg:gen:m1.m2.m3.n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:gen:m1.m2.m3.n:imperf:neg|pact:sg:acc:m1.m2:imperf:neg"} :: forms - | ["pact:pl:nom.voc:m1:imperf:neg";"pact:sg:acc:m3:imperf:neg";"pact:sg:nom.voc:m1.m2.m3:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:nom.voc:m1.m2.m3:imperf:neg|pact:sg:acc:m3:imperf:neg|pact:pl:nom.voc:m1:imperf:neg"} :: forms - | ["pact:pl:acc:m1:imperf:neg";"pact:pl:gen.loc:m1.m2.m3.f.n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:pl:gen.loc:m1.m2.m3.f.n:imperf:neg|pact:pl:acc:m1:imperf:neg"} :: forms - | ["pact:pl:dat:m1.m2.m3.f.n:imperf:neg";"pact:sg:inst.loc:m1.m2.m3.n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:inst.loc:m1.m2.m3.n:imperf:neg|pact:pl:dat:m1.m2.m3.f.n:imperf:neg"} :: forms - | ["ger:pl:gen:n:imperf.perf:aff";"inf:imperf.perf"] -> {empty_form with orth=orth; interp="ger:pl:gen:n:imperf.perf:aff"} :: {empty_form with orth=orth; interp="inf:imperf.perf"} :: forms - | ["praet:sg:m1.m2.m3:imperf.perf";"praet:sg:m1.m2.m3:imperf.perf:nagl"] -> {empty_form with orth=orth; interp="praet:sg:m1.m2.m3:imperf.perf:nagl"} :: forms - | ["fin:sg:ter:imperf.perf";"ger:sg:nom.acc:n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="fin:sg:ter:imperf.perf"} :: {empty_form with orth=orth; interp="ger:sg:nom.acc:n:imperf.perf:aff"} :: forms - | ["ger:pl:gen:n:imperf.perf:aff";"impt:sg:sec:imperf.perf"] -> {empty_form with orth=orth; interp="ger:pl:gen:n:imperf.perf:aff"} :: {empty_form with orth=orth; interp="impt:sg:sec:imperf.perf"} :: forms - | ["fin:pl:ter:imperf.perf";"ppas:sg:acc.inst:f:imperf.perf:aff"] -> {empty_form with orth=orth; interp="fin:pl:ter:imperf.perf"} :: {empty_form with orth=orth; interp="ppas:sg:acc.inst:f:imperf.perf:aff"} :: forms - | ["subst:sg:loc:m1";"subst:sg:voc:m1"]-> {empty_form with orth=orth; interp="subst:sg:loc.voc:m1"} :: forms - | ["subst:sg:loc:m2";"subst:sg:voc:m2"]-> {empty_form with orth=orth; interp="subst:sg:loc.voc:m2"} :: forms - | ["subst:sg:loc:m3";"subst:sg:voc:m3"]-> {empty_form with orth=orth; interp="subst:sg:loc.voc:m3"} :: forms - | ["subst:sg:gen.acc:m1";"subst:sg:gen:m1"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m1"} :: forms - | ["subst:pl:nom.acc.voc:n:ncol";"subst:sg:gen:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:gen:n:ncol|subst:pl:nom.acc.voc:n:ncol"} :: forms - | ["subst:sg:dat:n:ncol";"subst:sg:loc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:dat:n:ncol"} :: {empty_form with orth=orth; interp="subst:sg:loc:n:ncol"} :: forms - | ["subst:pl:nom.acc.voc:f";"subst:sg:gen:f"] -> {empty_form with orth=orth; interp="subst:pl:nom.acc.voc:f"} :: {empty_form with orth=orth; interp="subst:sg:gen:f"} :: forms - | ["subst:pl:gen:f";"subst:sg:dat.loc:f";"subst:sg:gen:f"] -> {empty_form with orth=orth; interp="subst:pl:gen:f"} :: {empty_form with orth=orth; interp="subst:sg:dat.loc:f"} :: {empty_form with orth=orth; interp="subst:sg:gen:f"} :: forms - | ["subst:sg:acc:f";"subst:sg:nom:f"] -> {empty_form with orth=orth; interp="subst:sg:nom.acc:f"} :: forms - | ["subst:pl:gen:f";"subst:pl:nom.acc.voc:f";"subst:sg:dat.loc:f";"subst:sg:gen:f";"subst:sg:voc:f"] -> {empty_form with orth=orth; interp="subst:sg:gen.dat.loc.voc:f|subst:pl:nom.gen.acc.voc:f"} :: forms - | ["subst:sg:dat.loc:f";"subst:sg:gen:f"] -> {empty_form with orth=orth; interp=""} :: forms - (* | ["subst:pl:gen:f";"subst:sg:dat.loc:f";"subst:sg:gen:f";"subst:sg:voc:f"] -> {empty_form with orth=orth; interp=""} :: forms *) - | ["subst:sg:gen.acc:m2";"subst:sg:gen:m2"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m2"} :: forms - | ["subst:pl:gen.acc:m1";"subst:pl:loc:m1"] -> {empty_form with orth=orth; interp="subst:pl:gen.acc.loc:m1"} :: forms - | ["subst:pl:dat:m1";"subst:sg:inst:m1";"subst:sg:loc:m1"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:m1|subst:pl:dat:m1"} :: forms - | ["subst:pl:dat:m3";"subst:sg:inst:m3";"subst:sg:loc:m3"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:m3|subst:pl:dat:m3"} :: forms - | ["subst:sg:nom:m1";"subst:sg:voc:m1"] -> {empty_form with orth=orth; interp="subst:sg:nom.voc:m1"} :: forms - | ["subst:sg:acc:f";"subst:sg:inst:f"] -> {empty_form with orth=orth; interp="subst:sg:acc.inst:f"} :: forms - | ["subst:pl:gen:f";"subst:pl:loc:f"] -> {empty_form with orth=orth; interp="subst:pl:gen.loc:f"} :: forms - | ["subst:sg:nom:f";"subst:sg:voc:f"] -> {empty_form with orth=orth; interp="subst:sg:nom.voc:f"} :: forms - | ["subst:sg:dat:n:ncol";"subst:sg:gen:n:ncol";"subst:sg:inst:n:ncol";"subst:sg:loc:n:ncol";"subst:sg:nom.acc.voc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:nom.gen.dat.acc.inst.loc.voc:n:ncol"} :: forms - | ["subst:pl:gen:n:pt";"subst:pl:loc:n:pt"] -> {empty_form with orth=orth; interp="subst:pl:gen.loc:n:pt"} :: forms - | ["subst:pl:gen:n:ncol";"subst:pl:loc:n:ncol"] -> {empty_form with orth=orth; interp="subst:pl:gen.loc:n:ncol"} :: forms - | ["depr:pl:nom.acc.voc:m2";"subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1"] -> {empty_form with orth=orth; interp="depr:pl:nom.acc.voc:m2|subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1"} :: forms - (* | -> {empty_form with orth=orth; interp=""} :: forms - | -> {empty_form with orth=orth; interp=""} :: forms - | -> {empty_form with orth=orth; interp=""} :: forms - | -> {empty_form with orth=orth; interp=""} :: forms - | -> {empty_form with orth=orth; interp=""} :: forms - | -> {empty_form with orth=orth; interp=""} :: forms*) - | interps -> - print_endline ("merge_interps: " ^ (*orth ^*) " [\"" ^ String.concat "\";\"" interps ^ "\"]"); + | _,["ger:pl:nom.acc:n:imperf.perf:aff";"ger:sg:gen:n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ger:sg:gen:n:imperf.perf:aff|ger:pl:nom.acc:n:imperf.perf:aff"} :: forms + | _,["ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:aff";"ppas:sg:nom.acc.voc:n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:nom.acc.voc:n:imperf.perf:aff|ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:aff"} :: forms + | _,["ppas:sg:acc:m1.m2:imperf.perf:aff";"ppas:sg:gen:m1.m2.m3.n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:gen:m1.m2.m3.n:imperf.perf:aff|ppas:sg:acc:m1.m2:imperf.perf:aff"} :: forms + | _,["ppas:sg:acc:m3:imperf.perf:aff";"ppas:sg:nom.voc:m1.m2.m3:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:nom.voc:m1.m2.m3:imperf.perf:aff|ppas:sg:acc:m3:imperf.perf:aff"} :: forms + | _,["ppas:pl:acc:m1:imperf.perf:aff";"ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:aff|ppas:pl:acc:m1:imperf.perf:aff"} :: forms + | _,["ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:aff";"ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:aff|ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:aff"} :: forms + | _,["pact:pl:nom.acc.voc:m2.m3.f.n:imperf:aff";"pact:sg:nom.acc.voc:n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:nom.acc.voc:n:imperf:aff|pact:pl:nom.acc.voc:m2.m3.f.n:imperf:aff"} :: forms + | _,["pact:sg:acc:m1.m2:imperf:aff";"pact:sg:gen:m1.m2.m3.n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:gen:m1.m2.m3.n:imperf:aff|pact:sg:acc:m1.m2:imperf:aff"} :: forms + | _,["pact:pl:nom.voc:m1:imperf:aff";"pact:sg:acc:m3:imperf:aff";"pact:sg:nom.voc:m1.m2.m3:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:nom.voc:m1.m2.m3:imperf:aff|pact:sg:acc:m3:imperf:aff|pact:pl:nom.voc:m1:imperf:aff"} :: forms + | _,["pact:pl:acc:m1:imperf:aff";"pact:pl:gen.loc:m1.m2.m3.f.n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:pl:gen.loc:m1.m2.m3.f.n:imperf:aff|pact:pl:acc:m1:imperf:aff"} :: forms + | _,["pact:pl:dat:m1.m2.m3.f.n:imperf:aff";"pact:sg:inst.loc:m1.m2.m3.n:imperf:aff"] -> {empty_form with orth=orth; interp="pact:sg:inst.loc:m1.m2.m3.n:imperf:aff|pact:pl:dat:m1.m2.m3.f.n:imperf:aff"} :: forms + | _,["ger:pl:nom.acc:n:imperf.perf:neg";"ger:sg:gen:n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ger:sg:gen:n:imperf.perf:neg|ger:pl:nom.acc:n:imperf.perf:neg"} :: forms + | _,["ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:neg";"ppas:sg:nom.acc.voc:n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:nom.acc.voc:n:imperf.perf:neg|ppas:pl:nom.acc.voc:m2.m3.f.n:imperf.perf:neg"} :: forms + | _,["ppas:sg:acc:m1.m2:imperf.perf:neg";"ppas:sg:gen:m1.m2.m3.n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:gen:m1.m2.m3.n:imperf.perf:neg|ppas:sg:acc:m1.m2:imperf.perf:neg"} :: forms + | _,["ppas:sg:acc:m3:imperf.perf:neg";"ppas:sg:nom.voc:m1.m2.m3:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:nom.voc:m1.m2.m3:imperf.perf:neg|ppas:sg:acc:m3:imperf.perf:neg"} :: forms + | _,["ppas:pl:acc:m1:imperf.perf:neg";"ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:pl:gen.loc:m1.m2.m3.f.n:imperf.perf:neg|ppas:pl:acc:m1:imperf.perf:neg"} :: forms + | _,["ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:neg";"ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:neg"] -> {empty_form with orth=orth; interp="ppas:sg:inst.loc:m1.m2.m3.n:imperf.perf:neg|ppas:pl:dat:m1.m2.m3.f.n:imperf.perf:neg"} :: forms + | _,["pact:pl:nom.acc.voc:m2.m3.f.n:imperf:neg";"pact:sg:nom.acc.voc:n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:nom.acc.voc:n:imperf:neg|pact:pl:nom.acc.voc:m2.m3.f.n:imperf:neg"} :: forms + | _,["pact:sg:acc:m1.m2:imperf:neg";"pact:sg:gen:m1.m2.m3.n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:gen:m1.m2.m3.n:imperf:neg|pact:sg:acc:m1.m2:imperf:neg"} :: forms + | _,["pact:pl:nom.voc:m1:imperf:neg";"pact:sg:acc:m3:imperf:neg";"pact:sg:nom.voc:m1.m2.m3:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:nom.voc:m1.m2.m3:imperf:neg|pact:sg:acc:m3:imperf:neg|pact:pl:nom.voc:m1:imperf:neg"} :: forms + | _,["pact:pl:acc:m1:imperf:neg";"pact:pl:gen.loc:m1.m2.m3.f.n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:pl:gen.loc:m1.m2.m3.f.n:imperf:neg|pact:pl:acc:m1:imperf:neg"} :: forms + | _,["pact:pl:dat:m1.m2.m3.f.n:imperf:neg";"pact:sg:inst.loc:m1.m2.m3.n:imperf:neg"] -> {empty_form with orth=orth; interp="pact:sg:inst.loc:m1.m2.m3.n:imperf:neg|pact:pl:dat:m1.m2.m3.f.n:imperf:neg"} :: forms + | _,["ger:pl:gen:n:imperf.perf:aff";"inf:imperf.perf"] -> {empty_form with orth=orth; interp="ger:pl:gen:n:imperf.perf:aff"} :: {empty_form with orth=orth; interp="inf:imperf.perf"} :: forms + | _,["praet:sg:m1.m2.m3:imperf.perf";"praet:sg:m1.m2.m3:imperf.perf:nagl"] -> {empty_form with orth=orth; interp="praet:sg:m1.m2.m3:imperf.perf:nagl"} :: forms + | _,["fin:sg:ter:imperf.perf";"ger:sg:nom.acc:n:imperf.perf:aff"] -> {empty_form with orth=orth; interp="fin:sg:ter:imperf.perf"} :: {empty_form with orth=orth; interp="ger:sg:nom.acc:n:imperf.perf:aff"} :: forms + | _,["ger:pl:gen:n:imperf.perf:aff";"impt:sg:sec:imperf.perf"] -> {empty_form with orth=orth; interp="ger:pl:gen:n:imperf.perf:aff"} :: {empty_form with orth=orth; interp="impt:sg:sec:imperf.perf"} :: forms + | _,["fin:pl:ter:imperf.perf";"ppas:sg:acc.inst:f:imperf.perf:aff"] -> {empty_form with orth=orth; interp="fin:pl:ter:imperf.perf"} :: {empty_form with orth=orth; interp="ppas:sg:acc.inst:f:imperf.perf:aff"} :: forms + | "a",["subst:sg:dat.loc:f";"subst:sg:gen:f"] -> + if orth_suf = "j" then {empty_form with orth=orth; interp="subst:sg:gen.dat.loc:f"} :: forms + else {empty_form with orth=orth; interp="subst:sg:gen:f"} :: {empty_form with orth=orth; interp="subst:sg:dat.loc:f"} :: forms + (* | "a",["subst:pl:gen:f";"subst:sg:dat.loc:f";"subst:sg:gen:f"] -> (*print_endline lemma;*) {empty_form with orth=orth; interp="subst:pl:gen:f"} :: {empty_form with orth=orth; interp="subst:sg:dat.loc:f"} :: {empty_form with orth=orth; interp="subst:sg:gen:f"} :: forms *) + | "a",["subst:pl:gen:f";"subst:pl:loc:f"] -> {empty_form with orth=orth; interp="subst:pl:gen.loc:f"} :: forms + | "ε",["subst:sg:gen.acc:m1";"subst:sg:gen:m1"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m1"} :: forms + | "ε",["subst:sg:gen.acc:m2";"subst:sg:gen:m2"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m2"} :: forms + | "ε",["subst:sg:loc:m1";"subst:sg:voc:m1"]-> {empty_form with orth=orth; interp="subst:sg:loc.voc:m1"} :: forms + | "ε",["subst:sg:loc:m2";"subst:sg:voc:m2"]-> {empty_form with orth=orth; interp="subst:sg:loc.voc:m2"} :: forms + | "ε",["subst:sg:loc:m3";"subst:sg:voc:m3"]-> {empty_form with orth=orth; interp="subst:sg:loc.voc:m3"} :: forms + | "ε",["subst:sg:gen:m3";"subst:sg:loc:m3";"subst:sg:voc:m3"] -> {empty_form with orth=orth; interp="subst:sg:loc.voc:m3"} :: {empty_form with orth=orth; interp="subst:sg:gen:m3"} :: forms + | "ε",["subst:sg:acc:f";"subst:sg:nom:f"] -> {empty_form with orth=orth; interp="subst:sg:nom.acc:f"} :: forms + | "ε",["subst:pl:gen:f";"subst:pl:nom.acc.voc:f";"subst:sg:dat.loc:f";"subst:sg:gen:f";"subst:sg:voc:f"] -> {empty_form with orth=orth; interp="subst:sg:gen.dat.loc.voc:f|subst:pl:gen:f"} :: {empty_form with orth=orth; interp="subst:pl:nom.acc.voc:f"} :: forms + | "ε",["subst:pl:gen:f";"subst:sg:dat.loc:f";"subst:sg:gen:f";"subst:sg:voc:f"] -> {empty_form with orth=orth; interp="subst:sg:gen.dat.loc.voc:f|subst:pl:gen:f"} :: forms + | "y",["subst:sg:nom:m1";"subst:sg:voc:m1"] -> {empty_form with orth=orth; interp="subst:sg:nom.voc:m1"} :: forms + | "y",["subst:sg:gen.acc:m1";"subst:sg:gen:m1"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m1"} :: forms + | "y",["subst:pl:gen.acc:m1";"subst:pl:loc:m1"] -> {empty_form with orth=orth; interp="subst:pl:gen.acc.loc:m1"} :: forms + | "y",["subst:pl:dat:m1";"subst:sg:inst:m1";"subst:sg:loc:m1"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:m1|subst:pl:dat:m1"} :: forms + | "y",["subst:sg:nom:m2";"subst:sg:voc:m2"] -> {empty_form with orth=orth; interp="subst:sg:nom.voc:m2"} :: forms + | "y",["subst:pl:nom.voc:m1";"subst:sg:nom:m1";"subst:sg:voc:m1"] -> {empty_form with orth=orth; interp="subst:sg:nom.voc:m1"} :: {empty_form with orth=orth; interp="subst:pl:nom.voc:m1"} :: forms + | "y",["subst:sg:gen.acc:m2";"subst:sg:gen:m2"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m2"} :: forms + | "y",["subst:pl:gen:m2";"subst:pl:loc:m2"] -> {empty_form with orth=orth; interp="subst:pl:gen.acc.loc:m2"} :: forms + | "y",["subst:pl:dat:m2";"subst:sg:inst:m2";"subst:sg:loc:m2"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:m2|subst:pl:dat:m2"} :: forms + | "y",["subst:sg:nom.acc:m3";"subst:sg:voc:m3"] -> {empty_form with orth=orth; interp="subst:sg:nom.acc.voc:m3"} :: forms + | "y",["subst:pl:gen:m3";"subst:pl:loc:m3"] -> {empty_form with orth=orth; interp="subst:pl:gen.loc:m3"} :: forms + | "y",["subst:pl:dat:m3";"subst:sg:inst:m3";"subst:sg:loc:m3"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:m3|subst:pl:dat:m3"} :: forms + | "y",["subst:sg:dat.loc:f";"subst:sg:gen:f";"subst:sg:nom:f";"subst:sg:voc:f"] -> {empty_form with orth=orth; interp="subst:sg:nom.gen.dat.loc.voc:f"} :: forms + | "e",["depr:pl:nom.acc.voc:m2";"subst:sg:nom:m1";"subst:sg:voc:m1"] -> {empty_form with orth=orth; interp="subst:sg:nom.voc:m1|depr:pl:nom.acc.voc:m2"} :: forms + | "e",["depr:pl:nom.acc.voc:m2";"subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1";"subst:sg:nom:m1";"subst:sg:voc:m1"] -> {empty_form with orth=orth; interp="subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:m1"} :: {empty_form with orth=orth; interp="subst:sg:nom.voc:m1|depr:pl:nom.acc.voc:m2"} :: forms + | "e",["subst:sg:gen.acc:m1";"subst:sg:gen:m1"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m1"} :: forms + | "e",["subst:sg:inst:m1";"subst:sg:loc:m1"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:m1"} :: forms + | "e",["subst:pl:dat:n:ncol";"subst:sg:inst:n:ncol";"subst:sg:loc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:n:ncol"} :: {empty_form with orth=orth; interp="subst:pl:dat:n:ncol"} :: forms + | "e",["subst:sg:inst:n:ncol";"subst:sg:loc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:inst.loc:n:ncol"} :: forms + | "e",["subst:pl:gen:n:ncol";"subst:pl:loc:n:ncol"] -> {empty_form with orth=orth; interp="subst:pl:gen.loc:n:ncol"} :: forms + | "e",["subst:sg:dat:n:ncol";"subst:sg:loc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:dat.loc:n:ncol"} :: forms + | "e",["subst:pl:nom.acc.voc:n:ncol";"subst:sg:gen:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:gen:n:ncol|subst:pl:nom.acc.voc:n:ncol"} :: forms + | "o",["subst:sg:nom.voc:m1"] -> {empty_form with orth=orth; interp="subst:sg:nom:m1"} :: {empty_form with orth=orth; interp="subst:sg:voc:m1"} :: forms + | "o",["subst:sg:gen.acc:m1";"subst:sg:gen:m1"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m1"} :: forms + | "o",["depr:pl:nom.acc.voc:m2";"subst:pl:nom.voc:m1";"subst:sg:gen.acc:m1";"subst:sg:gen:m1"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m1"} :: {empty_form with orth=orth; interp="subst:pl:nom.voc:m1"} :: {empty_form with orth=orth; interp="depr:pl:nom.acc.voc:m2"} :: forms + | "o",["subst:sg:dat.loc:m1"] -> {empty_form with orth=orth; interp="subst:sg:dat:m1"} :: {empty_form with orth=orth; interp="subst:sg:loc:m1"} :: forms + | "o",["subst:sg:gen.acc:m2";"subst:sg:gen:m2"] -> {empty_form with orth=orth; interp="subst:sg:gen.acc:m2"} :: forms + | "o",["subst:pl:dat:m1:pt";"subst:pl:loc:m1:pt"] -> {empty_form with orth=orth; interp="subst:pl:dat.loc:m1:pt"} :: forms + | "ε",["subst:sg:dat:n:ncol";"subst:sg:gen:n:ncol";"subst:sg:inst:n:ncol";"subst:sg:loc:n:ncol";"subst:sg:nom.acc.voc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:nom.gen.dat.acc.inst.loc.voc:n:ncol"} :: forms + | "ε",["subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:n:ncol";"subst:sg:dat:n:ncol";"subst:sg:gen:n:ncol";"subst:sg:inst:n:ncol";"subst:sg:loc:n:ncol";"subst:sg:nom.acc.voc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg.pl:nom.gen.dat.acc.inst.loc.voc:n:ncol"} :: {empty_form with orth=orth; interp="subst:sg:nom.gen.dat.acc.inst.loc.voc:n:ncol"} :: forms + | "ę",["subst:sg:dat:n:col";"subst:sg:loc:n:col"] -> {empty_form with orth=orth; interp="subst:sg:dat.loc:n:col"} :: forms + | "ę",["subst:sg:dat:n:ncol";"subst:sg:loc:n:ncol"] -> {empty_form with orth=orth; interp="subst:sg:dat.loc:n:ncol"} :: forms + | "o",["subst:sg:loc:m1";"subst:sg:voc:m1"] -> + if orth_suf = "e" then {empty_form with orth=orth; interp="subst:sg:loc.voc:m1"} :: forms + else {empty_form with orth=orth; interp="subst:sg:loc:m1"} :: {empty_form with orth=orth; interp="subst:sg:voc:m1"} :: forms + | _,[interp] -> {empty_form with orth=orth; interp=interp} :: forms + | _,interps -> + (* print_endline ("merge_interps: " ^ lemma_suf ^ " [\"" ^ String.concat "\";\"" interps ^ "\"]"); *) Xlist.fold interps forms (fun forms interp -> {empty_form with orth=orth; interp=interp} :: forms)) @@ -325,9 +368,9 @@ let process_interps dict = | ["ppas";n;c;g;_;a] -> String.concat ":" ["ppas";n;c;g;"imperf.perf";a] | _ -> print_endline ("merge_interps: " ^ f.interp); f.interp in {f with interp=interp}) in - let forms = merge_interps forms in + let forms = merge_interps entry.lemma forms in {entry with aspect=aspect; forms=forms} else - {entry with forms=merge_interps entry.forms}) + {entry with forms=merge_interps entry.lemma entry.forms}) (**********************************************************************************) diff --git a/morphology/doc/model1.pdf b/morphology/doc/model1.pdf new file mode 100644 index 0000000..53c36f5 Binary files /dev/null and b/morphology/doc/model1.pdf differ diff --git a/morphology/doc/model1.tex b/morphology/doc/model1.tex new file mode 100644 index 0000000..fbf6d55 --- /dev/null +++ b/morphology/doc/model1.tex @@ -0,0 +1,167 @@ +\documentclass{article} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[polish]{babel} +% \usepackage{tikz} +% \usetikzlibrary{conceptgraph} +\usepackage{amsthm} + +\parindent 0pt +\parskip 4pt + +\newcommand{\form}{{\it form}} +\newcommand{\lemma}{{\it lemma}} +\newcommand{\cat}{{\it cat}} +\newcommand{\interp}{{\it interp}} +\newcommand{\fsuf}{{\it fsuf}} +\newcommand{\lsuf}{{\it lsuf}} + +\newtheorem{task}{Pytanie} +\newtheorem{answer}{Odpowiedź} + +\title{Model probabilistyczny fleksji języka polskiego} +\author{Wojciech Jaworski, Szymon Rutkowski} +\date{} + +\begin{document} +\maketitle + +Zakładamy, że język jest rozkładem probabilistycznym na czwórkach (\form,\lemma,\cat,\interp), +czyli, że wystąpienia kolejnych słów w tekście są od siebie niezależne. +Interpretacja \interp{} jest zbiorem tagów zgodnym a tagsetem SGJP. +Kategoria $\cat \in \{ {\rm noun}, {\rm adj}, {\rm adv}, {\rm verb}, {\rm other} \}$ +Zakładamy też, że język jest poprawny, tzn. nie ma literówek, ani błędów gramatycznych. + +Dysponujemy następującymi danymi: +\begin{itemize} +\item słownikiem gramatycznym S, czyli zbiorem czwórek, o których wiemy, że należą do języka; +\item zbiorem reguł, czyli zbiorem czwórek (\fsuf,\lsuf,\cat,\interp) +\item zbiorem wyjątków, czyli zbiorem czwórek, o których wiemy, że należą do języka, które nie są opisywane przez reguły +\item otagowaną listą frekwencyjną. +\end{itemize} +Reguła przyłożona do formy ucina \fsuf{} i przykleja \lsuf. + +Lista frekwencyjna wytworzona jest na podstawie NKJP1M. Usunięte zostały z niej symbole +(formy do których odczytania nie wystarczy znajomość reguł wymowy takie, jak liczby zapisane cyframi, oznaczenia godzin i lat, +znaki interpunkcyjne, skróty, emotikony). Usunięte zostały również formy odmienialne z użyciem myślnika i apostrofu +(np. odmienione akronimy i nazwiska obce, formy takie jak ,,12-latek``). +Interpretacje na liście frekwencyjnej zostały skonwertowane do postaci takiej jaka występuje w SGJP, +łączącej interpretacje form identycznych. Na przykład interpretacje adj:pl:nom:m1:pos, adj:pl:voc:m1:pos, adj:pl:nom:p1:pos i adj:pl:voc:p1:pos +zostały złączone w adj:pl:nom.voc:m1.p1:pos, a frekwencje form zsumowane. + +Celem jest aproksymacja wartości P(\lemma,\cat,\interp|\form). + +%Jakość aproksymacji mierzymy licząc jak często wśród $k$ najbardziej prawdopodobnych trójek $\lemma,\cat,\interp$ +%wskazanych przez model dla zadanej formy znajduje się trójka poprawna. Wyniki dla poszczególnych form agregujemy +%za pomocą średniej ważonej po ich częstościach. + +%Pytanie 0: Ile wynosi powyższa miara liczona z użyciem p-stw wziętych z listy frekwencyjnej? (To jest ograniczenie górne dla modelu) + +%Pytanie 0': Ile wynosi powyższa miara liczona z użyciem częstości wziętych ze zbioru reguł? (To jest ograniczenie dolne dla modelu) + +Pierwszym kryterium jest przynależność formy do słownika S. +Jeśli forma należy do S zakładamy, że jedno z haseł S zawierające tę formę +poprawnie opisuje jej lemat, kategorię i interpretację. + +\begin{task} +Jakie jest prawdopodobieństwo trafienia na formę, której lemat, kategoria i interpretacja należy do słownika, czyli +\[P((\form,\lemma,\cat,\interp) \in S)\] +Jakie jest prawdopodobieństwo trafienia na formę, która należy do słownika, ale jej lemat, kategoria lub interpretacja należy do słownika, czyli +\[P((\form,\lemma,\cat,\interp) \not\in S \wedge \form \in S)\] +\end{task} + +\begin{answer} +Prawdopodobieństwo natrafienia na formę należącą do słownika wynosi 95,67\%, zaś natrafienia na formę należącą do SGJP bez odpowiedniej +interpretacji -- 3,92\% (lista tych form znajduje się w pliku traps.txt). +\end{answer} + +W przypadku form należących do słownika różnorodność interpretacji będzie niewielka, +natomiast istotne będzie prawdopodobieństwo wystąpienia danego lematu. +Zaś w przypadku form nie należących do słownika prawdopodobieństwo wystąpienia lematu +będzie zawsze małe. + +Dzielimy teraz listę frekwencyjną na część należącą do S i nie należącą do S. +Od tej pory budujemy model osobno dla każdej z części. + +W przypadku cześci należącej do S zauważamy, że \[P(\lemma,\cat,\interp|\form)=P(\form|\lemma,\cat,\interp)\frac{P(\lemma,\cat,\interp)}{P(\form)}\] + +Zakładamy, że \interp{} jest niezależne od \lemma, pod warunkiem określonego \cat +\[P(\lemma,\cat,\interp)=P(\lemma,\cat)P(\interp|\lemma,\cat)=P(\lemma,\cat)P(\interp|\cat)\] + +$P(\form)$, $P(\lemma,\cat)$ i $P(\interp|\cat)$ szacujemy na podstawie listy frekwencyjnej, +w przypadku pierwszych dwu stosując wygładzanie. Wyliczenie $P(\form)$ zawiera uogólniona lista frekwencyjna +(ścieżka {\tt NKJP1M-generalized-frequency.tab} w repozytorium ENIAM), $P(\lemma,\cat)$ -- plik + {\tt prob\_lemmacat.txt}, zaś $P(\interp|\cat)$ -- {\tt prob\_itp\_givencat.txt}. + +$P(\form|\lemma,\cat,\interp)$ wynosi 0, gdy w S nie ma krotki postaci (\form,\lemma,\cat,\interp); +1, gdy jest dokładnie jedna krotka z (\lemma,\cat,\interp). Gdy jest ich więcej oznacza to, że +lemat ma przynajmniej dwa warianty odmiany. Są to przypadki rzadkie. Przypisujemy każdej z możliwości +prawdopodobieństwo 1. + +\begin{task} +Przejrzeć SGJP i znaleźć wszystkie przykłady, w których dla ustalonego lematu, kategorii i interpretacji +jest więcej niż jedna forma. Znaleźć wystąpienia tych krotek na liście frekwencyjnej. +\end{task} + +\begin{answer} +Lista takich form znajduje się w pliku multi\_forms.txt. +\end{answer} + +% Teraz zanalizujemy drugą część listy frekwencyjnej. +% Załóżmy, że reguły mają postać taką, że sufiks żadnej reguły nie jest podciągiem sufixu innej z nich. +% Sufiksy reguł tworzą drzewo, które w każdym węźle ma dowiązania do sufixów o jeden znak dłuższych oraz kategorię pozostałe traktową łącznie. +% Przyjmujemy następujące założenie modelowe: +% \[P(\lemma,\cat,\interp|\form)\approx P(rule|\form)=P(rule|\fsuf)\] +% Wynika ono z tego, że mając nieznaną formę musimy oprzeć się na ogólnych regułach +% odmiany i nie możemy korzystać z tego że ma ona jakieś konkretne brzmienie. +% Korzystamy tutaj tylko z reguł oznaczonych jako produktywne. +% +% Problem tu jest taki, że lista frekwencyjna jest zbyt mała by precyzyjnie określić p-stwo ok. 40000 reguł. +% Dlatego znowu stosujemy zabieg z prawdopodobieństwem warunkowym. +% +% \[P(rule|\fsuf)=P(\lsuf,\cat,\interp|\fsuf)=P(\fsuf|\lsuf,\cat,\interp)\frac{P(\lsuf,\cat,\interp)}{P(\fsuf)}\] +% +% $P(\fsuf)$ jest prawdopodobieństwem tego, że do języka należy słowo o zadanym sufixie. +% Można je oszacować za pomocą listy frekwencyjnej. +% +% Zakładamy, że \interp{} jest niezależne od \lsuf, pod warunkiem określonego \cat +% \[P(\lsuf,\cat,\interp)=P(\lsuf,\cat)P(\interp|\lsuf,\cat)=P(\lsuf,\cat)P(\interp|\cat)\] +% +% $P(\lsuf,\cat)$ i $P(\interp|\cat)$ można oszacować na podstawie listy frekwencyjnej. +% +% \begin{task} +% Oszacować $P(\fsuf)$ i $P(\lsuf,\cat)$ na podstawie listy frekwencyjnej. +% Sprawdzić dla jakich sufiksów próbka jest mała albo nie ma jej wcale. +% \end{task} +% +% % w razie gdyby był problem można próbować dzielić sufiksy na części i założyć niezależność tych części +% +% $P(\fsuf|\lsuf,\cat,\interp)$ wynosi 0, gdy nie ma reguły postaci (\fsuf,\lsuf,\cat,\interp); +% 1, gdy jest dokładnie jedna reguła z (\fsuf,\lsuf,\cat,\interp). Ustawiamy produktywność reguł tak +% by nie pojawiało się więcej pasujących reguł. +% +% \begin{task} +% Określić produktywność reguł i sprawdzić, czy nie ma niejednoznacznych dopasowań. +% \end{task} + +\begin{task} +Określić jakość modelu. +\end{task} + +\begin{answer} +Wyliczona jakość modelu (stopień pokrycia listy frekwencyjnej przez co najmniej 95\% najbardziej prawdopodobnych interpretacji wg modelu) wyniosła 79,90\%. +\end{answer} + +%czasowniki produktywne to te z lematem ać ować ywać, ić, yć, (nąć) + +% Pytanie 4: Czy powyższe przybliżenie jest poprawne, jak często jest więcej niż jedna reguła i ile wynoszą wówczas p-stwa? +% +% Zadania poboczne: wytworzenie otagowanej listy frekwencyjnej, wytworzenie (uzupełnienie) zbioru reguł na podstawie SGJP i listy frekwencyjnej, wskazanie, które reguły opisują sytuacje wyjątkowe. +% +% Zadanie na przyszłość: reguły słowotwórstwa i ich interpretacja semantyczna. +% +% Do powyższego modelu trzeba jeszcze dodać prefixy nie i naj. + +\end{document} diff --git a/morphology/doc/przyklad2.txt b/morphology/doc/przyklad2.txt new file mode 100644 index 0000000..33fc0e3 --- /dev/null +++ b/morphology/doc/przyklad2.txt @@ -0,0 +1,35 @@ +nieszeryfowe nieszeryfowy adj adj:pl:acc:m2.m3.f.n.p2.p3:pos 0.049388 +nieszeryfowe nieszeryfowy adj adj:pl:nom.voc:m2.m3.f.n.p2.p3:pos 0.057822 +nieszeryfowe nieszeryfowy adj adj:sg:acc:n:pos 0.022415 +nieszeryfowe nieszeryfowy adj adj:sg:nom.voc:n:pos 0.045575 +nieszeryfowa nieszeryfowy adj adj:sg:nom.voc:f:pos 0.077981 + +nieszeryfowa nieszeryfowy adj:sg:nom.voc:f:pos +nieszeryfowe nieszeryfowy adj:pl:acc:m2.m3.f.n1.n2.p2.p3:pos +nieszeryfowe nieszeryfowy adj:pl:nom.voc:m2.m3.f.n1.n2.p2.p3:pos +nieszeryfowe nieszeryfowy adj:sg:acc:n1.n2:pos +nieszeryfowe nieszeryfowy adj:sg:nom.voc:n1.n2:pos + +P(nieszeryfowy,adj,adj:sg:nom.voc:f:pos|nieszeryfowa)=1 + +P(nieszeryfowa|nieszeryfowy,adj,adj:sg:nom.voc:f:pos)=1 +P(nieszeryfowy,adj)=1/N +P(nieszeryfowa)=1/N +P(adj:sg:nom.voc:f:pos|adj)=0.077981 + +P(nieszeryfowa)=P(nieszeryfowy,adj)P(adj:sg:nom.voc:f:pos|adj) + +0.049388+0.057822+0.022415+0.045575=0,1752 +0.049388/0,1752=0,281894977 + +P(nieszeryfowy, adj, adj:pl:acc:m2.m3.f.n.p2.p3:pos | nieszeryfowe)= + P(adj:pl:acc:m2.m3.f.n.p2.p3:pos | adj) / + (P(adj:pl:acc:m2.m3.f.n.p2.p3:pos | adj) + + P(adj:pl:nom.voc:m2.m3.f.n.p2.p3:pos | adj) + + P(adj:sg:acc:n:pos | adj) + + P(adj:sg:nom.voc:n:pos | adj)) + +P(lemma,cat)=P(form)*(P(adj:pl:acc:m2.m3.f.n.p2.p3:pos | adj) + + P(adj:pl:nom.voc:m2.m3.f.n.p2.p3:pos | adj) + + P(adj:sg:acc:n:pos | adj) + + P(adj:sg:nom.voc:n:pos | adj)) diff --git a/morphology/generate.ml b/morphology/generate.ml index aa698fc..9f633a4 100644 --- a/morphology/generate.ml +++ b/morphology/generate.ml @@ -148,7 +148,7 @@ let _ = (* test_process_interps results_path adv_sgjp_filename; *) (* test_process_interps results_path adj_sgjp_filename; *) (* test_process_interps results_path verb_sgjp_filename; *) - test_process_interps results_path noun_sgjp_filename; + (* test_process_interps results_path noun_sgjp_filename; *) () @@ -387,13 +387,19 @@ let _ = (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["pref";"cat";"flex";"lemma"] results_path adj_sgjp_filename "results/interp_rules_adj.tab"; *) (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma";"patal";"velar"] sgjp_path "sgjp_selected.tab" "results/interp_rules_s.tab"; *) (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma"] sgjp_path "sgjp_selected.tab" "results/interp_rules_s2.tab"; *) - (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma";"patal";"velar"] results_path noun_sgjp_filename "results/interp_rules_noun.tab"; - Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma";"patal"] results_path noun_sgjp_filename "results/interp_rules_noun2.tab"; - Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma"] results_path noun_sgjp_filename "results/interp_rules_noun3.tab"; *) - (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["pref";"cat";"flex";"flex2";"group";"lemma"] results_path verb_sgjp_filename "results/interp_rules_verb.tab"; *) + (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma";"patal";"velar";"con"] results_path noun_sgjp_filename "results/interp_rules_noun4.tab"; *) + (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma";"patal";"velar"] results_path noun_sgjp_filename "results/interp_rules_noun3.tab"; *) + (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma";"patal"] results_path noun_sgjp_filename "results/interp_rules_noun2.tab"; *) + (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["cat";"flex";"lemma"] results_path noun_sgjp_filename "results/interp_rules_noun1.tab"; *) + Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["pref";"cat";"flex";"flex2";"group";"lemma"] results_path verb_sgjp_filename "results/interp_rules_verb.tab"; (* Dict.generate_interp_rules compound_rule_trees interp_compound_rule_trees ["pref";"cat";"flex";"flex2";"group";"lemma"] results_path "sgjp_selected.tab" "results/interp_rules_verb.tab"; *) + ignore (Sys.command "totem ~/Dokumenty/Inne/gong/gong_00m_30s.ogg"); () + (* Printexc.record_backtrace true; + (try *) + (* with e -> Printexc.print_backtrace stdout; print_endline (Printexc.to_string e)); *) + (* Generowanie złożonych reguł zaopatrzonych we frekwencje *) let _ = (* Dict.generate_rule_frequencies interp_compound_rule_trees results_path adj_sgjp_filename "results/freq_rules-adj.tab"; *) diff --git a/morphology/ruleGenerator.ml b/morphology/ruleGenerator.ml index 040d299..8c46d6e 100644 --- a/morphology/ruleGenerator.ml +++ b/morphology/ruleGenerator.ml @@ -299,6 +299,7 @@ let calculate_grad_value = function | s -> failwith ("calculate_grad_value: " ^ s) let calculate_rule_value tags interp = + if interp = "" then failwith "calculate_rule_value: empty interp" else let cat = try Xlist.assoc tags "cat" with Not_found -> "" in let lemma = try Xlist.assoc tags "lemma" with Not_found -> "" in if cat = "noun" || cat = "adj" then -- libgit2 0.22.2