diff --git a/LCGlexicon/ENIAM_LCGlexiconTypes.ml b/LCGlexicon/ENIAM_LCGlexiconTypes.ml index 2468ce0..59d17bb 100644 --- a/LCGlexicon/ENIAM_LCGlexiconTypes.ml +++ b/LCGlexicon/ENIAM_LCGlexiconTypes.ml @@ -101,3 +101,4 @@ let subst_numeral_lexemes_filename = resource_path ^ "/LCGlexicon/subst_numeral. let subst_time_lexemes_filename = resource_path ^ "/LCGlexicon/subst_time.dat" let adv_modes_filename = resource_path ^ "/Walenty/adv_modes.tab" +let num_nsems_filename = resource_path ^ "/LCGlexicon/num_nsems.tab" diff --git a/LCGlexicon/ENIAMcategoriesPL.ml b/LCGlexicon/ENIAMcategoriesPL.ml index 2e1e48f..fae3601 100644 --- a/LCGlexicon/ENIAMcategoriesPL.ml +++ b/LCGlexicon/ENIAMcategoriesPL.ml @@ -91,9 +91,17 @@ let adj_pronoun_lexemes = StringSet.of_list ["czyj"; "jaki"; "który"; "jakiś"; let load_adv_modes filename adv_modes = File.fold_tab filename adv_modes (fun adv_modes -> function [adv;mode] -> StringMap.add_inc adv_modes adv [mode] (fun l -> mode :: l) - | _ -> failwith "adv_modes") + | _ -> failwith "load_adv_modes") + +let load_num_nsems filename num_nsems = + File.fold_tab filename num_nsems (fun num_nsems -> function + lemma :: _ :: nsems :: _ -> + Xlist.fold (Xstring.split "," nsems) num_nsems (fun num_nsems nsem -> + StringMap.add_inc num_nsems lemma [nsem] (fun l -> nsem :: l)) + | _ -> failwith "load_num_nsems") let adv_modes = ref (StringMap.empty : string list StringMap.t) +let num_nsems = ref (StringMap.empty : string list StringMap.t) let initialize () = subst_uncountable_lexemes := File.catch_no_file (load_subst_data subst_uncountable_lexemes_filename) StringSet.empty; @@ -102,6 +110,7 @@ let initialize () = subst_numeral_lexemes := File.catch_no_file (load_subst_data subst_numeral_lexemes_filename) StringSet.empty; subst_time_lexemes := File.catch_no_file (load_subst_data subst_time_lexemes_filename) StringSet.empty; adv_modes := File.catch_no_file (load_adv_modes adv_modes_filename) StringMap.empty; + num_nsems := File.catch_no_file (load_num_nsems num_nsems_filename) StringMap.empty; () let noun_type proper lemma pos = @@ -126,6 +135,12 @@ let adv_mode lemma = StringMap.find !adv_modes lemma with Not_found -> ["mod"] +let num_nsem lemma = + try + StringMap.find !num_nsems lemma + with Not_found -> failwith ("num_nsem: " ^ lemma) + + let part_set = StringSet.of_list ["się"; "nie"; "by"; "niech"; "niechaj"; "niechże"; "niechajże"; "czy"; "gdyby"] let clarify_categories proper cat = function @@ -195,20 +210,21 @@ let clarify_categories proper cat = function let numbers = expand_numbers numbers in let cases = expand_cases cases in let genders = expand_genders genders in - [{empty_cats with lemma=lemma; pos="num"; pos2="num"; numbers=numbers; cases=cases; genders=genders; persons=["ter"]; acms=acms}] + let nsem = num_nsem lemma in + [{empty_cats with lemma=lemma; pos="num"; pos2="num"; numbers=numbers; cases=cases; genders=genders; persons=["ter"]; acms=acms; nsem=nsem}] | lemma,"numc",[] -> [] | lemma,"intnum",[] -> let numbers,acms = if lemma = "1" || lemma = "-1" then ["sg"],["congr"] else let s = String.get lemma (String.length lemma - 1) in ["pl"],if s = '2' || s = '3' || s = '4' then ["rec";"congr"] else ["rec"] in - [{empty_cats with lemma=lemma; pos="intnum"; pos2="num"; numbers=numbers; cases=all_cases; genders=all_genders; persons=["ter"]; acms=acms}] + [{empty_cats with lemma=lemma; pos="intnum"; pos2="num"; numbers=numbers; cases=all_cases; genders=all_genders; persons=["ter"]; acms=acms; nsem=["count"]}] | lemma,"realnum",[] -> - [{empty_cats with lemma=lemma; pos="realnum"; pos2="num"; numbers=["sg"]; cases=all_cases; genders=all_genders; persons=["ter"]; acms=["rec"]}] + [{empty_cats with lemma=lemma; pos="realnum"; pos2="num"; numbers=["sg"]; cases=all_cases; genders=all_genders; persons=["ter"]; acms=["rec"]; nsem=["count"]}] | lemma,"intnum-interval",[] -> - [{empty_cats with lemma=lemma; pos="intnum-interval"; pos2="num"; numbers=["pl"]; cases=all_cases; genders=all_genders; persons=["ter"]; acms=["rec";"congr"]}] + [{empty_cats with lemma=lemma; pos="intnum-interval"; pos2="num"; numbers=["pl"]; cases=all_cases; genders=all_genders; persons=["ter"]; acms=["rec";"congr"]; nsem=["count"]}] | lemma,"realnum-interval",[] -> - [{empty_cats with lemma=lemma; pos="realnum-interval"; pos2="num"; numbers=["sg"]; cases=all_cases; genders=all_genders; persons=["ter"]; acms=["rec"]}] + [{empty_cats with lemma=lemma; pos="realnum-interval"; pos2="num"; numbers=["sg"]; cases=all_cases; genders=all_genders; persons=["ter"]; acms=["rec"]; nsem=["count"]}] | lemma,"symbol",[] -> [{empty_cats with lemma=lemma; pos="symbol"; pos2="noun"; numbers=["sg"]; cases=all_cases; genders=all_genders; persons=["ter"]}] | lemma,"ordnum",[] -> @@ -515,11 +531,11 @@ let pos_categories = Xlist.fold [ "siebie",[Lemma;Number;Case;Gender;Person;]; "prep",[Lemma;Cat;Case;]; "compar",[Lemma;Cat;Case;]; - "num",[Lemma;Number;Case;Gender;Person;Acm;]; - "intnum",[Lemma;Number;Case;Gender;Person;Acm;]; - "realnum",[Lemma;Number;Case;Gender;Person;Acm;]; - "intnum-interval",[Lemma;Number;Case;Gender;Person;Acm;]; - "realnum-interval",[Lemma;Number;Case;Gender;Person;Acm;]; + "num",[Lemma;Number;Case;Gender;Person;Acm;Nsem;]; + "intnum",[Lemma;Number;Case;Gender;Person;Acm;Nsem;]; + "realnum",[Lemma;Number;Case;Gender;Person;Acm;Nsem;]; + "intnum-interval",[Lemma;Number;Case;Gender;Person;Acm;Nsem;]; + "realnum-interval",[Lemma;Number;Case;Gender;Person;Acm;Nsem;]; "symbol",[Lemma;Number;Case;Gender;Person;]; "ordnum",[Lemma;Number;Case;Gender;Grad;]; "date",[Lemma;Nsyn;Nsem;]; diff --git a/LCGlexicon/TODO b/LCGlexicon/TODO index da1b964..267806b 100644 --- a/LCGlexicon/TODO +++ b/LCGlexicon/TODO @@ -1,3 +1,5 @@ +- dodać uzgodnienie policzalności liczebnika i rzeczownika + - dodac prepncp - dodać podniesione comprepy diff --git a/LCGlexicon/resources/num.tab b/LCGlexicon/resources/num.tab new file mode 100644 index 0000000..115a802 --- /dev/null +++ b/LCGlexicon/resources/num.tab @@ -0,0 +1,87 @@ +zero num count 0 +jeden num count 1 stress +dwa num count 2 +trzy num count 3 +cztery num count 4 +pięć num count 5 +sześć num count 6 +siedem num count 7 +osiem num count 8 +dziewięć num count 9 +dziesięć num count 10 +jedenaście num count 11 +dwanaście num count 12 +trzynaście num count 13 +czternaście num count 14 +piętnaście num count 15 +szesnaście num count 16 +siedemnaście num count 17 +osiemnaście num count 18 +dziewiętnaście num count 19 +dwadzieścia num count 20 +trzydzieści num count 30 +czterdzieści num count 40 +pięćdziesiąt num count 50 +sześćdziesiąt num count 60 +siedemdziesiąt num count 70 +osiemdziesiąt num count 80 +dziewięćdziesiąt num count 90 +sto num count 100 +dwieście num count 200 +trzysta num count 300 +czterysta num count 400 +pięćset num count 500 +sześćset num count 600 +siedemset num count 700 +osiemset num count 800 +dziewięćset num count 900 +tysiąc num count 1000 +milion num count 1000000 +miliard num count 1000000000 +bilion num count 1000000000000 +biliard num count 1000000000000000 +trylion num count 1E+018 +tryliard num count 1E+021 +kwadrylion num count 1E+024 +mniej num count,mass comparative +najmniej num count,mass comparative +najwięcej num count,mass comparative +więcej num count,mass comparative +oba num count ep??? +obydwa num count ep??? +tyle num count,mass indexical,correferential,deictic ??? +ile num count,mass interrogative,rel +dużo num count,mass relational +mało num count,mass relational +mnóstwo num-NKJP1M count,mass relational +moc num count,mass relational +nieco num count,mass relational +niedużo num count,mass relational +niemało num count,mass relational +niewiele num count,mass relational +sporo num count,mass relational +trochę num count,mass relational +troszeczkę num-NKJP1M count,mass relational +troszkę num-NKJP1M count,mass relational +wiele num count,mass relational +ileż num count,mass stress +tyleż num count,mass stress,indexical,correferential,deictic ??? +wieleż num count,mass stress,relational +ćwierć num count +gros num count +ilekolwiek num count,mass +ileś num count,mass +kilkadziesiąt num count +kilkanaście num count +kilka num count +kilkaset num count +kupa num-NKJP1M count +parędziesiąt num count +paręnaście num count +parę num count +paręset num count +pół num count +półtora num count +tysiące num count +wieledziesiąt num count +wieleset num count diff --git a/lexSemantics/ENIAMlexSemantics.ml b/lexSemantics/ENIAMlexSemantics.ml index 9f18280..928eb16 100644 --- a/lexSemantics/ENIAMlexSemantics.ml +++ b/lexSemantics/ENIAMlexSemantics.ml @@ -164,6 +164,17 @@ let semantize lemma pos (selectors,schema) = {empty_frame with selectors=sel @ selectors; positions=schema; arole=arole; arole_attr=arole_attr; arev=arev}) +let add_sem_args lemma pos frame = + {frame with sem_args = + match pos with + "subst" | "depr" -> (try StringMap.find ENIAMlexSemanticsData.noun_sem_args lemma with Not_found -> []) + | "adj" | "adjc" | "adjp" -> (try StringMap.find ENIAMlexSemanticsData.adj_sem_args lemma with Not_found -> []) + | "adv" -> (try StringMap.find ENIAMlexSemanticsData.adv_sem_args lemma with Not_found -> []) + | "qub" -> (try StringMap.find ENIAMlexSemanticsData.qub_sem_args lemma with Not_found -> []) + | "ppron12" | "ppron3" | "siebie" -> (try StringMap.find ENIAMlexSemanticsData.pron_sem_args lemma with Not_found -> []) + | "num" -> (try StringMap.find !num_sem_args lemma with Not_found -> []) + | _ -> []} + let assign_prep_semantics lemma = let roles = try StringMap.find ENIAMlexSemanticsData.prep_roles lemma with Not_found -> [] in Printf.printf "assign_prep_semantics: |roles|=%d\n%!" (Xlist.size roles); @@ -226,10 +237,14 @@ let assign_valence tokens lex_sems group = let connected = if pos = "prep" then if connected <> [] then failwith "assign_valence" else assign_prep_semantics lemma else connected in + let connected = if pos = "num" then + if connected <> [] then failwith "assign_valence" else + assign_num_semantics lemma else connected in (* Printf.printf "J %s |connected|=%d\n" lemma (Xlist.size connected); *) let connected = if connected = [] then Xlist.rev_map (ENIAMvalence.get_aroles [] lemma pos) (fun (sel,arole,arole_attr,arev) -> {empty_frame with selectors=sel; arole=arole; arole_attr=arole_attr; arev=arev}) else connected in + let connected = Xlist.rev_map connected (add_sem_args lemma pos) in (* Printf.printf "K %s |connected|=%d\n" lemma (Xlist.size connected); *) ExtArray.set lex_sems id {(ExtArray.get lex_sems id) with schemata=schemata; lex_entries=entries; frames=connected}) diff --git a/lexSemantics/ENIAMlexSemanticsData.ml b/lexSemantics/ENIAMlexSemanticsData.ml index c977930..3f242bd 100644 --- a/lexSemantics/ENIAMlexSemanticsData.ml +++ b/lexSemantics/ENIAMlexSemanticsData.ml @@ -380,8 +380,8 @@ let prep_roles = Xlist.fold [ (* lemma,case,role,role_attr,meaning/hipero,sel_pr "według","gen","Manr"; "wobec","gen","Dat";*) -(* -let subst_special_lexemes = Xlist.fold [ + +let noun_sem_args = Xlist.fold [ "jutro", ["indexical"];(*"dzień"*) "pojutrze", ["indexical"];(*"dzień"*) "cóż", ["interrogative"]; @@ -397,9 +397,9 @@ let subst_special_lexemes = Xlist.fold [ "cokolwiek", []; "ktokolwiek", []; "ktoś", []; - ] StringMap.empty (fun map (k,l) -> StringMap.add map k (Special l)) + ] StringMap.empty (fun map (k,l) -> StringMap.add map k l) -let adj_special_lexemes = Xlist.fold [ +let adj_sem_args = Xlist.fold [ (* "1935", "=",[],"name",[]); (*"rok"*) "1998", "=",[],"name",[]); (*"rok"*) "25", "=",[],"name",[]); (*"dzień"*) @@ -424,9 +424,9 @@ let adj_special_lexemes = Xlist.fold [ "taki", ["indexical"]; "czyj", ["interrogative"]; "który", ["interrogative"];(* FIXME: dodać relative *) - ] StringMap.empty (fun map (k,l) -> StringMap.add map k (Special l)) + ] StringMap.empty (fun map (k,l) -> StringMap.add map k l) -let adv_special_lexemes = Xlist.fold [ +let adv_sem_args = Xlist.fold [ "tymczasem", ["coreferential"(*czas wypowiedzenia*)];(*"czas"*) "wtedy", ["coreferential"(*czas wypowiedzenia*)];(*"czas"*) "wówczas", ["coreferential"(*czas wypowiedzenia*)];(*"czas"*) @@ -452,9 +452,9 @@ let adv_special_lexemes = Xlist.fold [ "kiedy", ["interrogative"]; "dlatego", ["coreferential"]; (* odniesieniem argumentu jest sytuacji/kontekst *) "tak", ["coreferential"]; (* odniesieniem argumentu jest sytuacji/kontekst, byc może deiktyczny *) - ] StringMap.empty (fun map (k,l) -> StringMap.add map k (Special l)) + ] StringMap.empty (fun map (k,l) -> StringMap.add map k l) -let qub_special_lexemes = Xlist.fold [ +let qub_sem_args = Xlist.fold [ "tylko", []; (* przyrematyczny (wskazuje remat) *) "jeszcze", ["order"(*relacja porządkująca*)]; (* reprezentacja: określamy obiekt ktory jest w skali i stwierdzamy że istnieje inny obiekt wcześniej w skali, który spełnia ten sam event w tej samej roli *) (* operator: restrykcja zadana przez remat, zakres przez temat; semantycznie: isnieje porządek, sąd jest prawdziwy dla pewnego obiektu mniejszego w porządku i dla aktualnego obiektu ; pragmatycznie: mówca spodziewa się, że sąd nie jest prawdziwy dla elementu większego w porządku (np. przestanie być w późniejszym momencie) *) "już", ["order"(*relacja porządkująca*)]; (* reprezentacja: określamy obiekt ktory jest w skali i stwierdzamy że istnieje inny obiekt wcześniej w skali, który nie spełnia tego eventu w tej roli *) (* dualny do jeszcze *) @@ -478,9 +478,9 @@ let qub_special_lexemes = Xlist.fold [ "ponad", []; "prawie", []; "przynajmniej", []; - ] StringMap.empty (fun map (k,l) -> StringMap.add map k (Special l)) + ] StringMap.empty (fun map (k,l) -> StringMap.add map k l) -let pron_lexemes = Xlist.fold [ +let pron_sem_args = Xlist.fold [ "ja", ["indexical"]; (* elementy zdarzenia komunikacyjnego; wyrażenie okazjonalne; kontekst komunikacji oznaczamy przez "indexical" *) "my", ["indexical"(*; "zbiór indywiduów"*)]; "pro1", ["indexical"(*; "zbiór indywiduów"*)]; @@ -500,7 +500,7 @@ let pron_lexemes = Xlist.fold [ "pro3pl",["coreferential";"deictic"]; "pro", ["indexical";"coreferential";"deictic"]; "siebie",["coreferential"]; - ] StringMap.empty (fun map (k,l) -> StringMap.add map k (Special l)) + ] StringMap.empty (fun map (k,l) -> StringMap.add map k l) (*let num_lexemes = Xlist.fold [ "10", "10",[],"exact",[]); @@ -529,27 +529,3 @@ let pron_lexemes = Xlist.fold [ "trochę", "trochę",[],"approx",[]); "wiele", "wiele",[],"approx",[]); ] StringMap.empty (fun map (k,v,w) -> StringMap.add map k (SpecialMod(v,w)))*) - -(* UWAGA: przy przetwarzaniu danych zdezambiguowanych ta procedura nie zmienia liczby tokenów *) -let assign_semantics tokens lex_sems group = - Xlist.iter group (fun id -> - let token = (ExtArray.get tokens id).token in - let t = ExtArray.get lex_sems id in - let t = match token with - Lemma(lemma,"subst",_) -> {t with lroles=(try StringMap.find subst_inst_roles lemma with Not_found -> "",""); semantics=try StringMap.find subst_special_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"depr",_) -> {t with semantics=try StringMap.find subst_special_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"adj",_) -> {t with lroles=(try StringMap.find adj_roles lemma with Not_found -> "",""); semantics=try StringMap.find adj_special_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"adjc",_) -> {t with lroles=(try StringMap.find adj_roles lemma with Not_found -> "",""); semantics=try StringMap.find adj_special_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"adjp",_) -> {t with lroles=(try StringMap.find adj_roles lemma with Not_found -> "",""); semantics=try StringMap.find adj_special_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"adv",_) -> {t with lroles=(try StringMap.find adv_roles lemma with Not_found -> "",""); semantics=try StringMap.find adv_special_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"qub",_) -> {t with lroles=(try StringMap.find qub_roles lemma with Not_found -> "",""); semantics=try StringMap.find qub_special_lexemes lemma with Not_found -> Normal} -(* | Lemma(lemma,"num",_) -> [{t with semantics=try StringMap.find num_lexemes lemma with Not_found -> Normal}] *) - | Lemma(lemma,"ppron12",_) -> {t with semantics=try StringMap.find pron_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"ppron3",_) -> {t with semantics=try StringMap.find pron_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"siebie",_) -> {t with semantics=try StringMap.find pron_lexemes lemma with Not_found -> Normal} - | Lemma(lemma,"prep",l) -> - let cases = Xlist.fold l StringSet.empty (fun set -> function cases :: _ -> Xlist.fold cases set StringSet.add | _ -> set) in - {t with semantics=assign_prep_semantics lemma (StringSet.to_list cases) t} - | _ -> t in - ExtArray.set lex_sems id t) -*) diff --git a/lexSemantics/ENIAMlexSemanticsTypes.ml b/lexSemantics/ENIAMlexSemanticsTypes.ml index 4c73c9e..eea1723 100644 --- a/lexSemantics/ENIAMlexSemanticsTypes.ml +++ b/lexSemantics/ENIAMlexSemanticsTypes.ml @@ -20,22 +20,6 @@ open ENIAMtokenizerTypes open Xstd -(* FIXME: usunąć *) -(*type labels = { - number: string; - case: string; - gender: string; - person: string; - aspect: string; - }*) - -type semantics = - Normal - | Special of string list -(* | SpecialNoun of type_arg list * type_term - | SpecialMod of string * (type_arg list * type_term)*) - | PrepSemantics of (string * string * string * StringSet.t * string list) list (* case,role,role_attr,hipero,sel_prefs *) - type frame = { selectors: (ENIAM_LCGlexiconTypes.selector * ENIAM_LCGlexiconTypes.selector_relation * string list) list; meanings: ((*ENIAMwalTypes.meaning **) string * (string * int) list * float) list; @@ -43,11 +27,12 @@ type frame = { arole: string; arole_attr: string; arev: bool; + sem_args: string list; sopinion: ENIAMwalTypes.opinion; fopinion: ENIAMwalTypes.opinion; } -let empty_frame = {selectors=[]; meanings=[]; positions=[]; arole=""; arole_attr=""; arev=false; +let empty_frame = {selectors=[]; meanings=[]; positions=[]; arole=""; arole_attr=""; arev=false; sem_args=[]; sopinion=ENIAMwalTypes.Nieokreslony; fopinion=ENIAMwalTypes.Nieokreslony} type lex_sem = { @@ -57,39 +42,10 @@ type lex_sem = { ENIAM_LCGtypes.grammar_symbol) list; frames: frame list; cats: string list; - (* e: labels; *) - (* valence: (int * ENIAMwalTypes.frame) list; - simple_valence: (int * ENIAMwalTypes.frame) list; - very_simple_valence: ((ENIAM_LCGgrammarPLtypes.cat * ENIAM_LCGgrammarPLtypes.selector_relation * string list) list * ENIAM_LCGtypes.grammar_symbol) list; *) - (* senses: (string * (string * int) list * float) list; *) - (* lroles: string * string; *) - semantics: semantics; } -(*let empty_labels = { - number=""; - case=""; - gender=""; - person=""; - aspect=""; - }*) - let empty_lex_sem = { - schemata=[]; lex_entries=[]; frames=[]; cats=["X"]; - (*e=empty_labels;*) (*valence=[]; simple_valence=[]; very_simple_valence=[];*) (*senses=[];*) - (*lroles="","";*) semantics=Normal} - -(* FIXME: poprawić katalog *) -(*let subst_uncountable_lexemes_filename = resource_path ^ "/lexSemantics/subst_uncountable.dat" -let subst_uncountable_lexemes_filename2 = resource_path ^ "/lexSemantics/subst_uncountable_stare.dat" -let subst_container_lexemes_filename = resource_path ^ "/lexSemantics/subst_container.dat" -let subst_numeral_lexemes_filename = resource_path ^ "/lexSemantics/subst_numeral.dat" - let subst_time_lexemes_filename = resource_path ^ "/lexSemantics/subst_time.dat"*) -(* let subst_uncountable_lexemes_filename = resource_path ^ "/Walenty/subst_uncountable.dat" -let subst_uncountable_lexemes_filename2 = resource_path ^ "/Walenty/subst_uncountable_stare.dat" -let subst_container_lexemes_filename = resource_path ^ "/Walenty/subst_container.dat" -let subst_numeral_lexemes_filename = resource_path ^ "/Walenty/subst_numeral.dat" -let subst_time_lexemes_filename = resource_path ^ "/Walenty/subst_time.dat" *) + schemata=[]; lex_entries=[]; frames=[]; cats=["X"]} let hipero_threshold = 3 let unknown_meaning_weight = -1. diff --git a/semsources/num.tab b/semsources/num.tab deleted file mode 100644 index b0a5a61..0000000 --- a/semsources/num.tab +++ /dev/null @@ -1,87 +0,0 @@ -zero num Count 0 -jeden num Count 1 stress -dwa num Count 2 -trzy num Count 3 -cztery num Count 4 -pięć num Count 5 -sześć num Count 6 -siedem num Count 7 -osiem num Count 8 -dziewięć num Count 9 -dziesięć num Count 10 -jedenaście num Count 11 -dwanaście num Count 12 -trzynaście num Count 13 -czternaście num Count 14 -piętnaście num Count 15 -szesnaście num Count 16 -siedemnaście num Count 17 -osiemnaście num Count 18 -dziewiętnaście num Count 19 -dwadzieścia num Count 20 -trzydzieści num Count 30 -czterdzieści num Count 40 -pięćdziesiąt num Count 50 -sześćdziesiąt num Count 60 -siedemdziesiąt num Count 70 -osiemdziesiąt num Count 80 -dziewięćdziesiąt num Count 90 -sto num Count 100 -dwieście num Count 200 -trzysta num Count 300 -czterysta num Count 400 -pięćset num Count 500 -sześćset num Count 600 -siedemset num Count 700 -osiemset num Count 800 -dziewięćset num Count 900 -tysiąc num Count 1000 -milion num Count 1000000 -miliard num Count 1000000000 -bilion num Count 1000000000000 -biliard num Count 1000000000000000 -trylion num Count 1E+018 -tryliard num Count 1E+021 -kwadrylion num Count 1E+024 -mniej num Count,Measure comparative -najmniej num Count,Measure comparative -najwięcej num Count,Measure comparative -więcej num Count,Measure comparative -oba num Count ep??? -obydwa num Count ep??? -tyle num Count,Measure indexical, correferential, deictic ??? -ile num Count,Measure interrogative, rel -dużo num Count,Measure relational -mało num Count,Measure relational -mnóstwo num-NKJP1M Count,Measure relational -moc num Count,Measure relational -nieco num Count,Measure relational -niedużo num Count,Measure relational -niemało num Count,Measure relational -niewiele num Count,Measure relational -sporo num Count,Measure relational -trochę num Count,Measure relational -troszeczkę num-NKJP1M Count,Measure relational -troszkę num-NKJP1M Count,Measure relational -wiele num Count,Measure relational -ileż num Count,Measure stress -tyleż num Count,Measure stress, indexical, correferential, deictic ??? -wieleż num Count,Measure stress, relational -ćwierć num Count -gros num Count -ilekolwiek num Count,Measure -ileś num Count,Measure -kilkadziesiąt num Count -kilkanaście num Count -kilka num Count -kilkaset num Count -kupa num-NKJP1M Count -parędziesiąt num Count -paręnaście num Count -parę num Count -paręset num Count -pół num Count -półtora num Count -tysiące num Count -wieledziesiąt num Count -wieleset num Count