# ==================================================================== # # ==================================================================== # # N O R T H E R N S Á M I D I S A M B I G U A T O R # # ==================================================================== # # ==================================================================== # # Sámi language technology project 2003-2006, University of Tromsř # # =========================================== # # Table of contents # # =========================================== # # Delimiters # Tags and sets # Disambiguation rules # One-cohort disambiguation - cycle 0 # Local disambiguation - cycles 1 and 2 # Cycle 1a: Special cases # Personal pronouns # Px # Certain verbs # Cycle 1b: Cleaning up after the special cases # Cycle 2: Other local disambiguation # Noun or not? # Adjectives and adverbs # Certain singleton words # Disambiguating clitics # Disambiguating adpositions # Disambiguating subjunctions # Disambiguating adverbs # Disambiguating pronouns # Disambiguating adjectives # Disambiguating verbs - part 1 # Disambiguating nouns # Disambiguating verbs - part 2 # Residual cases # Cycle 3: Global and final disambiguation # Notes for future thought are put after the END symbol # ========== # # Delimiters # # ========== # DELIMITERS = "<.>" "" "" ; # ============= # # Tags and sets # # ============= # SETS # (Remove all lines that start with SETS if you want to use mdis.) # I define end of clause and beginning of clause in a way so that the file # may be read both by the CG-2 and the vislcg formalisms. LIST BOS = (>>>) (); LIST EOS = (<<<) (); # vislcg and CG-2 together. #LIST BOS = (>>>); LIST EOS = (<<<); # end and beg. of sentence. for vislcg. # Tags declared as single-membered LISTs # ====================================== # Parts of speech LIST N = N ; LIST A = A ; LIST Adv = Adv ; LIST V = V ; LIST Pron = Pron ; LIST CS = CS ; LIST CC = CC ; LIST Po = Po ; LIST Pr = Pr ; LIST Pcle = Pcle ; LIST Num = Num ; LIST Prop = Prop ; # POS sub-categories LIST Pers = Pers ; LIST Dem = Dem ; LIST Interr = Interr ; LIST Indef = Indef ; LIST Recipr = Recipr ; LIST Refl = Refl ; # LIST Rel = Rel ; LIST Interj = Interj ; LIST Adp = Adp ; # Morphosyntactic properties LIST Nom = Nom ; LIST Acc = Acc ; LIST Gen = Gen ; LIST Ill = Ill ; LIST Loc = Loc ; LIST Com = Com ; LIST Ess = Ess ; LIST Sg = Sg ; LIST Pl = Pl ; LIST Du = Du ; LIST Cmpnd = Cmpnd ; #LIST PxSg1 = PxSg1 ; LIST PxSg2 = PxSg2 ; LIST PxSg3 = PxSg3 ; LIST #PxDu1 = PxDu1 ; LIST PxDu2 = PxDu2 ; LIST PxDu3 = PxDu3 ; LIST PxPl1 = #PxPl1 ; LIST PxPl2 = PxPl2 ; LIST PxPl3 = PxPl3 ; LIST Comp = Comp ; LIST Superl = Superl ; LIST Attr = Attr ; LIST Card = Card ; LIST Ord = Ord ; LIST Qst = Qst ; LIST Foc = Foc ; LIST Pass = Pass ; LIST Prt = Prt; LIST Prs = Prs ; LIST Ind = Ind ; LIST Pot = Pot ; LIST Cond = Cond ; LIST Imprt = Imprt ; LIST ImprtII = ImprtII ; LIST Sg1 = Sg1 ; LIST Sg2 = Sg2 ; LIST Sg3 = Sg3 ; LIST Du1 = Du1 ; LIST Du2 = Du2 ; LIST Du3 = Du3 ; LIST Pl1 = Pl1 ; LIST Pl3 = Pl3 ; LIST Pl2 = Pl2 ; LIST Inf = Inf ; LIST ConNeg = ConNeg ; LIST Neg = Neg ; LIST PrfPrc = PrfPrc ; LIST VGen = VGen ; LIST PrsPrc = PrsPrc ; LIST Ger = Ger ; LIST Sup = Sup ; LIST Actio = Actio ; #LIST VAbess = VAbess ; LIST Actor = Actor ; # Derivation LIST as1 = "as1" ; # Other tags LIST ABBR = ABBR ; LIST ACR = ACR ; LIST CLB = CLB ; LIST PUNCT = PUNCT ; # Single-word sets LIST COMMA = "," ; LIST OKTA = "okta"; LIST go = "go" ; # Initials LIST INITIAL = "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" "á" "ć" "ř" "ĺ" "ö" "ä" ; # Tag sets # ======== SETS LIST WORD = N A Adv V Pron CS CC Po Pr Interj Pcle Num ; # any word # Derivational affixes # -------------------- LIST V-DER = adda alla d g h asti hudda huhtti huvva j l ahtti st stuvva goahti ; LIST N-DER = eaddji eamos1 eapmi heapmi s1 mus1 upmi us vuohta ; LIST A-DER = geahtes keahtes heapmi lágan las1 meahttun ; #SET DER = V-DER | N-DER | A-DER ; # Case sets # --------- LIST ADVLCASE = Ill Loc Com Ess ; LIST CASE = Nom Acc Gen Ill Loc Com Ess ; SET NON-NOM = CASE - Nom ; SET NON-GEN = CASE - Gen ; SET NON-ACC = CASE - Acc ; # Noun sets # --------- LIST N-SG-NOM = (N Sg Nom); LIST N-PL-NOM = (N Pl Nom); LIST N-NOM = (N Nom) ; LIST N-GEN = (N Gen); SET LEX-N = N - N-DER; LIST PROP = (N Prop); SET CNOUN = N - Prop; SET CNOUN-PL-NOM = (N Pl Nom) - Prop ; SET HNOUN = N - Cmpnd ; SET HNOUN-NOM = (N Nom) - Cmpnd ; SET N-NON-GEN = N - (N Gen) ; # Verb sets # --------- # Finiteness and mood # - - - - - - - - - - SET V-IND-FIN = Prs | Prt ; # Problem: "In boahtán" is an invisible indicative SET V-MOOD = Ind | Pot | Imprt | ImprtII | Cond ; SET VFIN = V-MOOD - ConNeg ; SET VFIN-POS = V-MOOD - ConNeg - Neg ; SET VFIN-NOT-IMP = Ind | Pot | Cond ; # Person # - - - LIST V-SG1 = (V Ind Prs Sg1) (V Ind Prt Sg1) (V Cond Prs Sg1) (V Cond Prt Sg1) (V Pot Prs Sg1) (V Neg Ind Sg1); LIST V-SG2 = (V Ind Prs Sg2) (V Ind Prt Sg2) (V Cond Prs Sg2) (V Cond Prt Sg2) (V Pot Prs Sg2) (V Neg Ind Sg2); LIST V-SG3 = (V Ind Prs Sg3) (V Ind Prt Sg3) (V Cond Prs Sg3) (V Cond Prt Sg3) (V Pot Prs Sg3) (V Neg Ind Sg3); LIST V-DU1 = (V Ind Prs Du1) (V Ind Prt Du1) (V Cond Prs Du1) (V Cond Prt Du1) (V Pot Prs Du1) (V Neg Ind Du1); LIST V-DU2 = (V Ind Prs Du2) (V Ind Prt Du2) (V Cond Prs Du2) (V Cond Prt Du2) (V Pot Prs Du2) (V Neg Ind Du2); LIST V-DU3 = (V Ind Prs Du3) (V Ind Prt Du3) (V Cond Prs Du3) (V Cond Prt Du3) (V Pot Prs Du3) (V Neg Ind Du3); LIST V-PL1 = (V Ind Prs Pl1) (V Ind Prt Pl1) (V Cond Prs Pl1) (V Cond Prt Pl1) (V Pot Prs Pl1) (V Neg Ind Pl1); LIST V-PL2 = (V Ind Prs Pl2) (V Ind Prt Pl2) (V Cond Prs Pl2) (V Cond Prt Pl2) (V Pot Prs Pl2) (V Neg Ind Pl2); LIST V-PL3 = (V Ind Prs Pl3) (V Ind Prt Pl3) (V Cond Prs Pl3) (V Cond Prt Pl3) (V Pot Prs Pl3) (V Neg Ind Pl3); # Note that imperative verbs are not included in these sets! # Some subsets of the VFIN sets # - - - - - - - - - - - - - - - SET V-DU = V-DU1 | V-DU2 | V-DU3 ; SET V-PL = V-PL1 | V-PL2 | V-PL3 ; SET V-DU-PL = V-DU1 | V-DU2 | V-DU3 | V-PL1 | V-PL2 | V-PL3 ; SET V-NOT-SG1 = VFIN-NOT-IMP - V-SG1 ; SET V-NOT-SG3 = V-SG1 | V-SG2 | V-DU1 | V-DU2 | V-DU3 | V-PL1 | V-PL2 | V-PL3 ; SET V-1-2 = V-SG1 | V-SG2 | V-DU1 | V-DU2 | V-PL1 | V-PL2 ; # Sets consisting of forms of "leat" (these ones need to be rewritten) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SET LEAN = ("leat" V Ind Prs Sg1)|("leat" V PrfPrc); SET LEAI = ("leat" V Ind Prt Sg3)|("leat" V Imprt Prs Sg3); SET LEAT = ("leat" V Ind Prs Pl1)|("leat" V Ind Prs Pl3)| ("leat" V Ind Prs Sg2)|("leat" V Inf)|("leat" V Ind Prs ConNeg); SET LEAT-DU-PL = ("leat" V Du1)|("leat" V Du2)|("leat" V Du3)| ("leat" V Pl1)|("leat" V Pl2)|("leat" V Pl3); SET LEAT-DU3-PL3 = ("leat" V Du3) | ("leat" V Pl3); # Not referred to by any rule. LIST LEAT-FIN-NON-IMP = ("leat" V Ind) ("leat" V Cond) ("leat" V Pot); LIST LEAN-PRC = ("leat" V PrfPrc); # Not referred to by any rule. LIST LEAN-SG1 = ("leat" V Ind Prs Sg1); # Pronoun sets # ------------ SETS SET MUN = (Pron Pers Sg1 Nom); SET DON = (Pron Pers Sg2 Nom); SET SON = ("son" Pron Pers Sg3 Nom); SET MOAI = (Pron Pers Du1 Nom); SET DOAI = (Pron Pers Du2 Nom); SET SOAI = (Pron Pers Du3 Nom); SET MII-PERS = (Pron Pers Pl1 Nom); SET DII = (Pron Pers Pl2 Nom); SET SII = (Pron Pers Pl3 Nom); SET PPRON-DU-PL = MOAI | DOAI | SOAI | MII-PERS | DII | SII ; SET PPRON-NOT-SII = MUN | DON | SON | MOAI | DOAI | SOAI | MII-PERS | DII ; #SET PRON-PL-LOC = (Pron Pers Pl1 Loc)|(Pron Pers Pl2 Loc)|(Pron Pers Pl3 Loc); #SET MII-INTERR = ("mii" Pron Interr Sg Nom); SET DEM-SG = (Pron Dem Sg Nom); SET DEM-PL = (Pron Dem Pl Nom); SET NON-DEM = WORD - Dem ; # Adjectival sets and their complements # ------------------------------------- SET A-ATTR = (A Attr) ; # Used in one rule. Not needed? SET LEX-A = A - A-DER ; SET A-CASE = A - Attr - Adv ; LIST A-CC = A CC ; SET NON-ADJ = WORD - A ; SET NON-Attr = WORD - Attr ; SET NON-ADJ-PCLE = WORD - A - Pcle ; SET NON-ADJ-CC = WORD - A-CC ; # Adverbial sets and their complements # ------------------------------------ SET LEX-ADV = Adv - (A*) ; SET ADVERBIAL = Adv | Ill | Loc | Com | Ess ; SET NON-ADV = WORD - Adv; SET NON-ADV-PCLE = WORD - Adv - Pcle ; SET NON-ADV-INDEF = WORD - Adv - Indef ; SET NON-ADV-PCLE-ILL = WORD - Adv - Pcle - Ill ; SET NON-ADV-PCLE-INDEF = WORD - Adv - Pcle - Indef ; SET NON-ADV-NEG = WORD - Adv - Neg ; LIST IKTE = "ikte" "dolin" "dovle" ; LIST MO = "danne" "goas" "gokko" "gos" "gosa" "makkár" "manne" "mo" "nugo"; # Introduce finite clauses. # Sets for adverbs that have lookalikes # - - - - - - - - - - - - - - - - - - - # Here come some adverbs that have identical twins in other POS. If these # are found in Adv contexts, we treat them as adverbs. LIST ADV-NOT-VERB = "dus1s1e" ; LIST ADV-NOT-NOUN = "easka" "várra" ; LIST ADV-NOT-NAMES = "Ain" "Anne" "Diego" "Dieppe" "Enge" "Galle" "Haga" "Joba" "Johan" "Liikka" "Mai" "Mannes" "Mo" "Mot" "Naba" "Nan" "Oktan" "Sierra" "Sokka" "Villa" ; SET ADV-NOT-OTHER-POS = ADV-NOT-VERB | ADV-NOT-NOUN | ADV-NOT-NAMES ; # Sets of elements with common syntactic behaviour # ================================================ SETS # VERBS # ----- LIST COPULAS = "gártat" "leat" "s1addat" ; SET V-NON-COP = V - COPULAS ; LIST MOD-ASP = "áigot" "fertet" "galgat" "gillet" "lávet" "sáhttit" "viggat" ; # Verbs that never have arguments of their own. SET AUX = COPULAS | Neg | MOD-ASP; SET V-NON-AUX = V - AUX ; SET VFIN-NON-AUX = VFIN - AUX ; SET VERB = V - (V N); # V is all readings with a V tag in them, VERB should # be the ones without an N tag following the V SET LEX-V = VERB - V-DER; # VERB but not V-DER SET V-NOT-CMPND = V - Cmpnd; SET V-DER-PASS = V + V-DER + Pass; # + is intersection, this should work #SET V-PASS = V + Pass - V-DER; # hmm, what was the idea here? SET V-PASS = (V Pass); # better? SET V-NON-AUX-PASS = V - AUX - V-PASS ; SET ACT-PRFP = PrfPrc - V-PASS; # Sets for verbs choosing oblique objects # - - - - - - - - - - - - - - - - - - - - LIST LOC-VERB = "ballat" "beros1tit" "biehttalit" "bihtit" "ceavzit" "c1uoc1c1ut" "c1uovvut" "dolkat" "fuollat" "geargat" "heaitit" "ilbmat" "nohkkot" "váruhit" ; LIST COM-VERB = "árvalit" "árvvohus1s1at" "bargat" "bártas1uvvat" "háladit" "hilbos1it" "humadit" "meannudit" "náitalit" "riidalit" "ságastaddat" "ságastallat" ; LIST ILL-VERB = "áibbas1it" "dorvvastit" "duhtat" "jáhkkit" "liikot" "luohttit" "oskut" "suhttat" "álgit" "gullat" "guoskat" "heivet" "irggástallat" "riepmat" "ráhkkanit" "soahpat" ; # Other verb sets # - - - - - - - - LIST INF-VERB = "adnot" "astat" "ádjánit" "áigut" "álgit" "ásahit" "bávc1c1agit" "beassat" "berret" "bivvat" "bistit" "boahtit" "bovdet" "c1ohkkát" "c1ohkkedit" "c1ohkkánit" "c1uoc1c1ahit" "c1uoc1c1astit" "c1urggodit" "dáhttut" "dáidit" "dárbbas1it" "doaivut" "doapmat" "duostat" "fertet" "fuobmát" "fuolahit" "galgat" "gáibidit" "gártat" "geahc1c1alit" "geatnegahttit" "gillet" "háhppehit" "hálidit" "háliidit" "hárjánit" "heivet" "lávet" "mannat" "máhttit" "navdit" "oahppat" "oaz1z1ut" "ollet" "ribahit" "riepmat" "sáhttit" "sihtat" "soaitit" "s1addat" "stad1d1at" "veadjit" "viggat" "vis1s1at" "vuogáiduvvat" "vuolgit" "vuollánit" "vuordit"; LIST ACC-INF-VERB = "bivdit" "c1uorvut" "diktit" "gohc1c1ut" "movttiidahttit" "sihtat" "suovvat" ; # These are verbs taking accusative objects and infinitives. ## Ii suova nieiddas náitalit. LIST OPRED-VERB = "atnit" "dahkat" "gohc1odit" "válljet"; # Verbs that often occur with objects that have secondary predicates. LIST MOVEMENT-VERB = "mannat"; # These verbs typically combine with place adverbials in the genitive case # (i.e. not accusative). # NOUNS # ----- # NP sets defined according to their morphosyntactic features # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SET NP-HEAD = Pron | HNOUN ; SET NP-HEAD-SG = (Pron Sg) | (Pron Sg3) | (N Sg) - Cmpnd; SET NP-HEAD-PL = (Pron Pl) | (Pron Pl3) | (N Pl) - Cmpnd; SET NP-HEAD-SG-NOM = (Pron Sg Nom) | (Pron Sg3 Nom) | (N Sg Nom) - Cmpnd; SET NP-HEAD-PL-NOM = (Pron Pl Nom) | (Pron Pl3 Nom) | (N Pl Nom) - Cmpnd; SET NP-HEAD-NOM = NP-HEAD-SG-NOM | NP-HEAD-PL-NOM; SET NP-HEAD-ACC = (Pron Acc) | (N Acc) - Cmpnd; SET NP-HEAD-GEN = (Pron Gen) | (N Gen) - Cmpnd; # The PRE-NP-HEAD family of sets # - - - - - - - - - - - - - - - SET PRE-NP-HEAD = (Prop Attr) | A | (Pron Pers Gen) | (N Gen) | Num | Cmpnd | (Pron Dem) | (Pron Refl Gen) | (Pron Indef) | CC ; # PrfPrc? # There must be a sensible naming convention for these sets... SET NPNH = WORD - PRE-NP-HEAD ; # NPNH = "NON-PRE-NP-HEAD". SET NPNHA = WORD - PRE-NP-HEAD - Adv ; # NPNHA = "NON (PRE-NP-HEAD-OR-ADV)" SET NPNHAI = WORD - PRE-NP-HEAD - Adv - Indef ; # NPNHAI " "...-OR-INDEF" SET NPNHAII = WORD - PRE-NP-HEAD - Adv - Indef - Ill ; # Illative indir.obj. SET NPNHAIIP = WORD - PRE-NP-HEAD - Adv - Indef - Ill - Pcle ; SET NPNHC = WORD - PRE-NP-HEAD - Com ; # "njan1ggofirpmiiguin bivdin" # Other negatively defined sets # - - - - - - - - - - - - - - - SET NON-N = WORD - N ; SET NON-NA = WORD - N - A ; SET NON-NP = VFIN | Adv | Pcle | Interj | CS ; # Nominal sets defined according to their lexical properties # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LIST MANNU = "od1d1a#jage#mánnu" "od1d1a#jagi#mánnu" "guovva#mánnu" "njukc1a#mánnu" "njuvc1c1a#mánnu" "márs#mánnu" "cuon1o#mánnu" "cuon1os#mánnu" "gáranas#mánnu" "miesse#mánnu" "mái#mánnu" "geasse#mánnu" "suoidne#mánnu" "borge#mánnu" "s1njilc1a#mánnu" "s1njilz1a#mánnu" "c1akc1a#mánnu" "golggot#mánnu" "skábma#mánnu" "november#mánnu" "ritne#mánnu" "juovla#mánnu" ; LIST VAHKKU = "áigi" "beaivi" "c1akc1a#geassi" "c1uohte#jahki" "geardi" "geassi" "hávvi" "idja" "jahki" "mánnu" "vahkku" jahki ; # The quoteless jahki here is since the preprocessor is not fine-tuned # yet, it still gives '"1870-" # jahki N Sg Com'. SET TIME = MANNU | VAHKKU ; SET NOTIME = N - TIME ; LIST GEASSET = "dálvet" "dálvit" "gid1d1at" "geasset" "geassit" "c1akc1at" ; LIST GUOVLU = "ássan#guovlu" "báiki" "gávpot" "gielda" "goahti" "guovlu" "sádji" "viessu" ; LIST ROUTE = "geaidnu" "luodda"; # and more! LIST PL-NOUN = "beassas1" "c1albme#láse" "gálssot" "headja" "sabet" "sisttet" "skárri"; # Nominals that appear with plural numerals. LIST PREGEN = ("miella" N Sg Loc)("oktavuohta" N Sg Loc); # Nominals that take a preceding genitive. LIST NOPX = "lohku"; # Nominals that probably do not have a Px ('1600-logus'). LIST PX = "bárdni" "nieida"; # Nominals that well may have a Px. # Miscellaneous sets # ------------------ LIST Clt = Qst Foc ; #SET PPOS = Po | Pr ; LIST POST-A = "rájes" ; LIST POST-B = "rádjái" ; #LIST WACKERNAGEL = "go" "ba" "bat" "be" "bahan" "son" ; LIST GASKAL = "gaskal" "gaskkas" ; # p-positions that like coordination SET NUMERALS = Num - OKTA ; LIST MANGA = "mán1ga" "galle" ; SET NON-CC = WORD - CC ; LIST COMPAR = "dávjjit" "eanet" "earalágan" "eará" "earret" "seammás" "seammalágan" "seammalágán" "seammaláhkai"; # These combine with "go" Pcle, but COMPAR stands for 'comparison' rather than # 'comparative'. LIST CONTRA = "muhto" ; # In lean muitalan, muhto dál muitalan. LIST PROSEANTA = "proseanta" "%" ; # Border sets and their complements # --------------------------------- SET CP = (Pron Interr) | MO ; SET NP-BORDER = BOS | EOS | Adv | V-NOT-CMPND | Pers | CS | CP | Recipr |# Refl | Po | Pr | Pcle ; # CLB removed from set in order to allow for NP-internal commas. # Refl is deactivated because of "sin iez1aset vieruid" etc. # ==================== # # ==================== # # Disambiguation rules # # ==================== # # ==================== # # =================================== # # One-cohort disambiguation - cycle 0 # # =================================== # CONSTRAINTS # # =================================== # # Lexicalised derivations # ----------------------- REMOVE N-DER IF (0 LEX-N); # SELECT instead of REMOVE if one wants to REMOVE A-DER IF (0 LEX-A); # investigate word structure REMOVE V-DER IF (0 LEX-V); # THIS IS PROBABLY TOO STRONG, MSC may differ ## Dat lea oahpaheaddjin doppe. ## Dábálas1 mearrádusat. ## Maid don doaivvut? REMOVE V-DER-PASS IF (0 V-PASS); # It might be that this one is no longer needed. - No hits in corpus! # Lexicalised adverbs # ------------------- REMOVE (A* Adv) IF (0 LEX-ADV) ; ## Son dábálac1c1at ráhkkana dasa dálvvi mielde. REMOVE Foc IF (0 ("died1usge")); ## Romssa universitehta áigu died1usge dán geahc1c1alit áimmahus1s1at. # Lexicalised adpositions # ----------------------- REMOVE N IF (0 Pr)(*1 (N Gen) OR (Pron Pers Gen) LINK NOT 0 Cmpnd BARRIER NPNH); REMOVE N IF (0 Po)(NOT 0 ("guovddás1"))(-1 (N Gen) OR (Pron Pers Gen)); ## Golmma jándor geaz1is. ## Dat boahtá nuoraidpsykiatriija vuollái. # Proper nouns # ------------ REMOVE (Prop Pl) IF (0 (Prop Sg))(NOT 0 ("Sámediggi")); ## Marit lea dál. # Marit N Sg, not Mari+t Nom Pl REMOVE (Prop Pl) IF (-1 BOS)(0 CNOUN-PL-NOM); ## Sámit leat álgoálbmot. REMOVE (Prop Pl Nom) IF (-1 BOS)(NOT *1 V-PL3); ## Unnit nuppástusaiguin. # Removing proper nouns that are lookalikes # - - - - - - - - - - - - - - - - - - - - REMOVE ("Dan" Attr) IF (NOT 1 Prop); REMOVE ("Dan" Prop) IF (1 CNOUN); # Dan is Nom or Attr. REMOVE ("Hu" Ill) IF (1 A or Adv); REMOVE Prop IF (0 ("Lassi"))(1 Pron OR N); ## Lassin dasa ferte váldit vuhtii sierralágan dilálas1vuod1aid. REMOVE ("Lea") IF (-1 BOS OR PUNCT)(NOT 1 V-SG3); REMOVE ("Lea") IF (-1 BOS OR PUNCT OR (":"))(1 A); ## Lea dus1s1e okta Ipmil. Lea idja. ## Lea buolas1. Son dajai: Leage gierdávas1. REMOVE ("Man") IF (-1 BOS OR PUNCT OR (":"))(0 (V Imprt)); ## De son celkkii sutnje: "Mana basadit Siloaláddos." # Cannot think of sensible conditions. REMOVE Prop IF (-1 BOS)(0 ("Mo"))(NOT 1 go)(*1 ("?")); REMOVE Prop IF (-2 CLB)(-1 PUNCT)(0 ("Mo")); ## Mo sáhttá su riika dalle bissut? # Selecting proper nouns # - - - - - - - - - - - SELECT (Prop Nom) IF (0 ("Rabbi"))(1 COMMA); ## Rabbi, lea buorre go mii leat dáppe. # Temporal expressions with locative case # --------------------------------------- SELECT (N Sg Loc) IF (0 MANNU); # To avoid "skábma#mánus" N Sg Nom. ## Dat hávdáduvvojedje Álahedjui skábmamánus 1997. # Removing a spurious Pr reading # ------------------------------ REMOVE (Pr Foc) IF (0 ("c1ad1a")); # To get rid of "c1ad1a" Pr Foc. ## Studeanttat geat leat c1ad1ahan váldofágaeksámena... # Adposition + Px # --------------- SELECT Adp IF (0 ("gaska" N Ess)); ## Sii árvalis1gohte gaskaneaset. # Pass and Imprt # -------------- REMOVE Imprt IF (0 Pass); ## Jos fávleoalggis lea guolli, loktestuvvo dat dus1s1e c1ázeoaivái. # ===================================== # # Local disambiguation - cycles 1 and 2 # # ===================================== # # --------------------------------------------------------- # # Cycle 1a: cases that will be needed in careful mode later # # --------------------------------------------------------- # CONSTRAINTS # # --------------------------------------------------------- # # The idea with cycle 1a is to disambiguate cases that are judged as easier and # more secure than later cases, and that at the same may be used as context # for other rules in later cycles. # Personal pronouns # ----------------- # Mon ( = Mo N Prop Ess) # - - - - - - - - - - - # Moai ( = Moa N Prop Ill) # - - - - - - - - - - - - SELECT MOAI IF ( *1 V-DU1); ## Moai c1ilge dan ás1s1i. SELECT MOAI IF (*-1 V-DU1); ## C1ilgego moai dan? # mii ( = Interr) # - - - - - - - - # Left conditions SELECT Pers IF (-3 BOS)(-2 V-PL1)(-1 go)(0 MII-PERS); SELECT Pers IF (-1 (V Ind Prs Pl1 Clt))(0 MII-PERS); ## Eat go mii leat profehtastallan du nammii? ## SELECT Pers IF (-1 (V Neg Pl1))(0 MII-PERS); SELECT Pers IF (*-1 V-PL1 BARRIER NON-ADV)(0 MII-PERS)(NOT 1 V-SG3); ## Eat mii sáhte vuolgit. ## Goas oinniimet mii du nelgon dahje goikan? #The last condition added because of the example below. Attempts to formulate # a negative condition on V-PL1 instead (e.g. LINK NOT 0 A) did not work. ## Dat geaidnu lea govdat mii doalvu gád1ohussii. # Right conditions SELECT Pers IF (0 MII-PERS)(1C Interr); SELECT Pers IF (0 MII-PERS)(1 COMMA)(2C Interr); SELECT Pers IF (0 MII-PERS)(*1 V-PL1 BARRIER VFIN OR CP OR CS LINK NOT 0 Adv); ## ## .. de mii, gud1et leat eatnagat, leat okta rumas1. ## Dasgo mii oinniimet su násti badjáneamen. SELECT Pers IF (0 MII-PERS)(1 CC)(2 (N Nom)); ## Mii ja farisealac1c1at atnit borakeahttáivuod1a. # mis and sis # - - - - - - # mun Pron Pers Pl1 Loc = mis Adv, corr. for son Pron Pers Pl3 Nom = sis Adv # This one is hard to resolve, as they have the same distribution. # don ( = Pron Dem Sg Acc/Gen) # - - - - - - - - - - - - - - SELECT Pers IF (*-1 V-SG2)(0 DON); SELECT Pers IF (0 DON)(*1 V-SG2 BARRIER PUNCT); ## Liikotgo don Abbai? ## Don it leat nama c1állán. # son ( = Pcle) # - - - - - - - SELECT Pers IF (*-1 V-SG3 BARRIER CLB OR CS OR CP)(NOT -1 Qst or ("go")) (0 ("son" Pron Pers Sg3 Nom)); ## Ii son liikon dohko. SELECT Pers IF (0 ("son" Pron Pers Sg3 Nom))(1 (Pron Interr Sg)); ## Son gii addá veahki galgá mearridit. SELECT Pcle IF (NOT -2 CLB)(-1 Qst or ("go"))(0 ("son"))(1 Nom) (NOT 1 Refl OR Inf OR Cmpnd); ## Lea go son Máret boahtán? SELECT (Pron Pers Sg3 Nom) IF (0 ("son"))(*1 V-SG3 BARRIER N); ## Son fertii vuolgit. # sutnje ( = forms of the verb "suotnjat") # - - - - - - - - - - - - - - - - - - - - SELECT (Pron Ill) IF (0 ("son"))(1 (Pron Interr Sg)); SELECT (Pron Ill) IF (*-1 (V Ind)) (0 ("son")); # Barrier? ## Dearvvas1vuod1abálvalus galgá addit sutnje gii ohca... ## Son galgá addit sutnje dárbbas1las1 died1uid. # dat ( Pron Pers, Pron Dem, Pcle) # - - - - - - - - - - - - - - - - SELECT Pcle IF (-1 Nom)(NOT -1 A)(0 ("dat" Nom)); ## Máret dat boahtá. SELECT Pers IF (0 ("dat"))(NOT 0 ("dasgo") OR ("danin")) (NOT 1 A OR Num OR N OR Attr); ## Dá dat leat. # dasa ( = forms of the verb "dassat") # - - - - - - - - - - - - - - - - - - REMOVE VGen IF (0 Pron); ## Na muhto don it leat dasa nama c1állán! ## Dat gal lei beare unnán. # Earlier specific rules, to be reactivated if the previous one is too strong. # ---------------------------------------------------------------------------- #SELECT Dem IF (0 ("dat" Pron Dem Sg Ill))(1 VFIN); ## Dasa lea guhkes historjá. #SELECT Dem IF (0 ("dat" Pron Dem Sg Ill))(1 ("lassi" N Ess)); ## Dasa lassin. #SELECT Ill IF (-1 ("sivva"))(0 ("dat")); ## Sivva dasa lea, ahte ... #SELECT Ill IF (-1 PrfPrc)(0 ("dat")); ## Sii leat c1ujuhan dasa vuosttas jagi. SELECT Ill IF (0 ("dat"))(1 ("lassi" Ess)); ## Dasa lassin buvttán dás lasseargumenttaid. # Other homonymies linked to personal pronouns, with non-obvious answers. # Munin = Pron Pers Sg1 Ess = Ess of N Prop Muni (!) # dudnon = Pron Per Du2 Ess = dudnu N Sg ... PxSg1 (covered by Px rule) # Sunin = Pron Pers Sg3 Ess = Ess of N Prop Sun # Px constraints # -------------- # First select some clear Px cases # Let these come directly after local disambiguation. SELECT (PxSg1) IF (-1 V-SG1)(NOT -1 ("leat"))(-2 MUN); # Also hits some essives. SELECT (PxSg2) IF (-1 V-SG2)(NOT -1 ("leat"))(-2 DON); SELECT (PxSg3) IF (-1 V-SG3)(NOT -1 ("leat") OR Pass)(NOT 0 NOPX)(-2 ("son")); ## Mun attán heaggan du ovddas. ## Don attát heakkat mu ovddas? ## Son beastá álbmogis sin suttuin. ## Dat ráhkaduvvo gáttis gárvvisin. # NOT -1 Pass! # Px for names for relatives # More rules must be added here, and the set PX expanded. SELECT (Nom PxSg1) IF (-1 PUNCT OR CLB)(0 PX)(1 COMMA); SELECT (PxSg3) IF (*-1 (Sg Nom) OR (Sg3 Nom) BARRIER CS OR CP)(0 PX); ## Bárdnán, leage dorvvolas1. ## Dat guhte ráhkista bártnis dahje nieiddas eanebut go mu... # Px for diminutives # Other Px rules SELECT (Gen PxSg2) IF (*-1 Sg2 BARRIER CS OR CP)(0 (N Pl Nom))(1 Po) (NOT *2 NP-HEAD-GEN BARRIER NPNH); ## Go don rohkadalat, de mana gámmárat sisa. # Certain verb forms # ------------------ # Pret Sg2 # - - - - - SELECT (V Ind Prt Sg2) IF (*-1 DON BARRIER V-SG2); ## Don muitalit mu birra. # Pret Pl3 # - - - - REMOVE (V Ind Pl3) IF (1C VFIN)(NOT 1 Pl3) ; ## Vihtta bivdovuogi mun gal dus1s1e namahin. REMOVE V IF (-1 CS)(0 ("dus1s1e"))(*1 Acc BARRIER NPNH); ## Suhpodit daddjojuvvo dat go dus1s1e nod1iid váldá olmmos1 eret. # This rule has to precede particle rules, so that the verb reading of # "dus1s1e" will not force the CS reading of a preceding particle. # Imperatives # - - - - - - REMOVE Imprt IF (0 (Clt Qst)); ## Heivego gávtti coggat? REMOVE Imprt IF (1 ("go" Pcle)); ## Heive go gávtti coggat? # ahte # ---- SELECT CC IF (-1 COMPAR OR Comp)(0 ("ahte"))(1 COMPAR OR Comp); ## Dárogiel sánit bohtet eanet ahte eanet sámegiela sisa. ## Dat s1attai heajut ahte heajut. SELECT CS IF (0 ("ahte")); # All other occurrences of "ahte" are CSs. # These rules have to precede all rules referring to CC, so I put # them here, although they logically belong with the subjunction rules # in a later block. # ---------------------------------------------------------------- # # Cycle 1b: removing the readings that were left from the 1a rules # # ---------------------------------------------------------------- # CONSTRAINTS # # ---------------------------------------------------------------- # # Removing (nearly) all remaining Px readings REMOVE (PxSg1) ; # IF (0 Ess); # yes, kill'em all REMOVE (Nom PxSg2); ## Ale bala váldimis Márjjá ruktosat áhkkán. ## Su lusa bohte olbmot Jerusalemis. REMOVE (PxSg2) IF (NOT *-1 (Imprt Sg2) OR MOD-ASP BARRIER VFIN LINK 0 Sg2); REMOVE (PxSg2) IF (*-1 (Sg Gen) OR (Sg3 Gen) BARRIER NPNH LINK -1 CC); ## De bohte rud1at. ## ...eará c1uovvoleapmi mii johtui biddjo ja dan bohtosat. # The remaining Px readings will be taken care of later. REMOVE (PxSg3) ; # IF (0 Loc); ## Son celkkii sidjiide: Gearpmas1c1ivggat! ## De almmustuvai Hearrá en1gel Jovssehii niegus. # -------------------------------------------- # # Cycle 2: Other cases of local disambiguation # # -------------------------------------------- # # This is the main part of the local disambiguation. # Here we go through the grammar in a systematic way. # Cases that should be handled before or after the main disambiguation, will be # taken care of in cycles before or after this one. # ============ # # Noun or not? # # ============ # # Based on left context # --------------------- SELECT N IF (-1 (A Attr))(NOT 0 Inf)(NOT -1 Adv)(1 NP-BORDER); ## Dat lea c1uovvovas1 sajis. SELECT N IF (-2C N)(-1 CC)(NOT 0 VERB)(NOT 1 N OR Pron OR Num OR A); ## Mánát ja nuorat leat dál. SELECT N IF (-2 BOS)(-1C Gen)(1 EOS); ## Son lea Ruot1a c1álli. # (titles) REMOVE PrsPrc IF (-1 A)(NOT -1 Adv) ; ## Dainnna ii leat vissis mearri galljodagas. SELECT A IF (-1 ("eambbo")); ## Muhto eambbo eahpidahtti lea c1ielggadusa s. 17 cealkámus1. # Based on right context # ---------------------- SELECT N IF (NOT 0 VFIN)(1 CC)(2C N); ## Sápmelac1c1at ja dáz1at leat ovdal eallán ovttas. SELECT N IF (1 COMMA)(*2 HNOUN BARRIER NPNH OR CC LINK 1 CC); ## ...lez1z1et sii dál sápmelac1c1at, dáz1at dahje kveanat. SELECT N IF (NOT 0 Adv OR Inf OR PrfPrc)(1 COMMA)(2 CP); ## Doaimmat, maiguin mun barggan. ## Gaz1aldat lea dus1s1e, man ollu ... # NOT 0 Adv! ## Lea miellagiddevas1 lohkat, maid ...# NOT 0 Inf! SELECT N IF (0 ("sápmelas1" Pl Nom))(*1 V-PL3 BARRIER CS OR CP); ## Sápmelac1c1at orro maid skandinávalas1 njárgga siskkimus guovlluin. # Does the adverb ever show up? SELECT N IF (NOT 0 Po OR Pron OR PrfPrc)(1C (Pron Interr)); ## Dát lea mu bálvaleaddji gean mun lean válljen. REMOVE A IF (0 N)(1 Po); REMOVE A IF (NOT -1 ("mii" Sg Gen))(0 N)(1C VFIN) ; ## C1ohkkán dárolac1c1aid gaskkas. ## Dál go sápmelac1c1ain leat bohccot. ## Man guhkki lea du biila? # NOT -1 "mii" Sg Gen! REMOVE VFIN IF (-1 BOS)(0 NP-HEAD-SG-NOM)(1C V-SG3); ## Lásse lea mus rean1gan. # Here I am careful, and require the V-SG3 to be a secure reading. REMOVE VFIN IF (-1 BOS)(0 Prop)(1 V-SG3); ## Máhtte ferte leat vuolgime. # Here I am less careful, and accept also ambiguous V-SG3, since I take it # that when the left context is a name, it is a more secure subject-candidate. # Alternatively, I might drop the 1C in the previous rule, or include the # pronouns. REMOVE Adv IF (1C Po)(NOT 1 Adv); ## Mun vulgen dus1s1e mielde. # NBN! This example clause still gets the wrong analysis, it removes # Adv of dus1s1e although 1 not is (only) Po, but also Adv. REMOVE A-CASE IF (*-1 BOS BARRIER NON-DEM)(0 N)(NOT 0 ("buorre"))(1 N); ## Sápmelac1c1aid historjá lea boaris. # No adjective, except buorre, agrees with a head noun in case. The correct # reading for a case-inflected prenominal word must thus be N. # (Problem: we have not considered a string predicative adj + other NP) REMOVE (A Gen) IF (0 N)(NOT 0 Ord)(*1 N BARRIER NON-ADJ); ## Sámi dutkamiid guovddáz1a ásaheapmi. # Preverbal subject SELECT (Pl Nom) IF (NOT 0 Inf LINK -1 INF-VERB)(1C (V Pl3))(NOT 0 Adv); ## Olu nuorat bohte naitalanahkái. # This is a brave rule, probably too strong. It comes this early in order to # precede other rules. # New: Modified because of ## Pros1eavtta áigut c1ad1ahit. # Added C to avoid áigut as subject. ## ... geainna váimmut buoremusat lávggadit. # Buoremusat = Adv! # Based on circumscribed context # ------------------------------ REMOVE A IF (-1 Dem)(1 (Pron Interr)); ## Son lea dan sápmelas1 gean dovddan. REMOVE (A Sg Nom) IF (NOT *-1 VFIN OR ("mii" Sg Gen))(0 (N Sg Nom)) (*1 V-SG3 BARRIER NON-ADV-PCLE); ## Sápmelas1 dál soittii dávjá dadjalit: gal han doppe ledje olbmot. REMOVE (A Pl Nom) IF (NOT *-1 VFIN)(0 (N Pl Nom))(*1 V-PL3 BARRIER NON-ADV-PCLE); ## Dálá guovlluin sápmelac1c1at eai leat ássan nu guhká. REMOVE V IF (-1C Dem)(1 V-IND-FIN); ## Dán báhkis s1addá c1áppa gohppu. REMOVE V IF (-1 BOS)(0 N)(1 ("go"))(2 VFIN); ## Ádjás go lea od1d1a fanas? REMOVE (V Ind) IF (-1 Dem)(0 N)(1C (V Ind)); ## Dakkár registreren ii leat goassege leamas1 oassin árbevierus. REMOVE (V Ind) IF (-1 CS)(0 N)(NOT 0 (V Pl1)) (1 (Pron Interr) LINK *1 (V Ind)); ## Dasgo mánná mii lea su siste... # ====================== # # Adjectives and adverbs # # ====================== # SELECT A IF (-2 BOS)(-1 ("mii" Interr Sg Gen)); ## Man guhkki lea girkui? REMOVE VERB IF (-1 ("mii" Interr Sg Gen)); ## In died1e man buorit dat leat. REMOVE VERB IF (-1 ("mihá")); REMOVE VERB IF (-1 ("seammá"))(*1 go BARRIER NON-NA LINK NOT 1 VFIN); REMOVE V IF (1 ("ihkinassii")); ## Muhtun riggodagaid geavahit mihá unnit dál. ## Bargiid guottut mearkkas1it seamma ollu go fáktadied1ut. ## Mun áiggun c1uovvut du ihkinassii manaz1at. REMOVE N IF (-1 ("nu") OR ("mihá") OR ("hui")); ## Mun lean nu suhttan. ## Lea hui easkka c1uoz1z1ilan gaz1aldat. SELECT Adv IF (-1 ("leat"))(1 PrfPrc); SELECT Adv IF (-1 VERB OR Com)(0 ("ovttas"))(NOT 0 Foc); ## Divs1s1ohas lea duod1alac1c1at roasmmohuvvan. ## Bátnedoavttir galgá ovttas eará bargiiguin mearridit. # ======================= # # Certain singleton words # # ======================= # # fuolla (idiomatic) # - - - - - - - - - SELECT (N Acc) IF (*-1 ("atnit") BARRIER VFIN OR CS OR CP)(0 ("fuolla")); ## Son ii ane fuola sávzzain. # guovddás1 # - - - - - SELECT Attr IF (0 ("guovddás1"))(1 N); ## Guovddás1 doaibmabidju lea vuod1d1udit sámegiela álgooahpahusa. # guovttes # - - - - REMOVE ("guovttes") IF (1 (N Sg Gen)); ## Viesus leat guokte olbmo. # imas1 # - - - SELECT N IF (-1 VFIN OR ConNeg OR A OR Dem)(0 ("imas1")); ## Lei imas1, go buvddas eai vuovdde albma varramárffiid. ## dakkár imas1 ja ártegis dilli ahte ... # mán1ga # - - - - REMOVE N IF (0 ("mán1ga"))(*1 N BARRIER NPNH); ## Bargu ollas1uhttit mán1ga dáin doaibmabijuin lea juo álggahuvvon. # ========================== # # Disambiguating clitics # # ========================== # REMOVE Qst IF (0 Adv)(NOT *1 EOS LINK -1 ("?")); ## Nugo died1át, de lean dál. # ========================== # # Disambiguating adpositions # # ========================== # CONSTRAINTS # # ========================== # # The case of GASKAL SELECT Pr IF (0 GASKAL)(1 (Pron Gen))(2 CC)(3 (Pron Gen)); SELECT Po IF (-3 (Pron Gen))(-2 CC)(-1 (Pron Gen))(0 GASKAL); SELECT Pr IF (0 GASKAL)(1 Num)(2 CC)(3 Num); SELECT Po IF (-3 Num)(-2 CC)(-1 Num)(0 GASKAL); SELECT Pr IF (0 GASKAL)(*1 (N Gen) BARRIER NPNH LINK 1 CC LINK *1 (N Gen) BARRIER NPNH LINK 0 HNOUN); SELECT Pr IF (0 GASKAL)(1 A)(2 CC)(3 A LINK *1 (N Gen) LINK 0 HNOUN); # Barrier? SELECT Po IF (-1 (N Gen) LINK *1 CC BARRIER NPNH LINK -1 (N Gen))(0 GASKAL); # =========== CONSTRAINTS # =========== # Po or Pr? # --------- REMOVE Po IF (NOT -1 N OR A OR Num OR Pron); REMOVE Po IF (-1 N)(NOT -1 Gen); REMOVE Pr IF (NOT *1 N OR A OR Num OR Pron BARRIER NPNH); ## Jus divs1s1ohas lea badjel 16 jagi boaris,... ## Leansmánni lea kommis1uvnnas fárus. ## Na mun gal hupmen dan birra. SELECT Pr IF (NOT -1 Gen OR (Pron Interr Nom))(NOT 0 A) (*1 (N Gen) BARRIER NPNH LINK 0 HNOUN); SELECT Pr IF (NOT -1 Gen)(1 (Pron Gen)); REMOVE Pr IF (NOT *1 (N Gen) BARRIER NPNH); ## Olbmuin bisttii luossaguolli miehtá dálvvi. ## Ovdal dan aiggi ledje sápmelac1c1at boahtán dán guvlui. ## Gonagas addá láhkaásahusa lága geavaheami birra Svalbarddas. SELECT Po IF (*-1 BOS OR CLB BARRIER NPNH)(-1 Gen); SELECT Po IF (-1 Gen)(1 CC); SELECT Po IF (-1 Gen)(NOT -1 VERB OR Adv)(1 TIME); ## Dán vuostá sáhttá dadjat, ahte ... ## Jos sáddo deavdá buod1u vuollái dahje jos sáddo hávddarda buod1u vuolde... ## Sámi guovlluin oz1z1o Sámeparlameantta Suoma beallái jagi 1976. SELECT Pr IF (NOT 0 Attr)(*1 (N Gen) OR (Pron Gen) BARRIER PUNCT LINK NOT 0 Cmpnd LINK NOT *1 N OR Po BARRIER CP OR CS OR CLB); REMOVE Pr IF (NOT 1 (Pron Gen)); ## Sáhttá dahttege vurket journála olggobealde doaimma. ## Geavatlas1 sivaid geaz1il c1atnasa bajimus submi namuhuvvon máksomearrái. SELECT Po IF (-1 Gen)(NOT -1 ("leat" PrfPrc))(NOT 0 Attr OR ("guovddás1"))(NOT 1C Po); SELECT Po IF (-1 Num)(0 ("rádjai")); # Make general rule! REMOVE Po IF (NOT -1 Gen OR Num); ## Daid ovddas gal in máksán maidege. ## ... paragráfaide 3-18 rájes 3-21 rádjái. ## Jus divs1s1ohas dasa miehtá,... # Removing some readings that compete with Po REMOVE N IF (-1 Gen)(0 Po)(NOT 0 ("guovddás1"))(NOT 1C Po); REMOVE V IF (-1 Gen)(0 Po)(NOT 1C Po); REMOVE Adv IF (-1 Gen)(NOT -1 ("leat" PrfPrc))(0 Po)(NOT 1C Po); # =========================== # # Disambiguating subjunctions # # =========================== # CONSTRAINTS # # =========================== # # Subjunctions are disambiguated in two subcycles. This is the first. SELECT CS IF (-1 COMMA)(0 ("de") OR ("vaikko"))(NOT 1 CS); REMOVE CS IF (NOT *1 VFIN OR ("leapma" Dimin)); # The latter is "leamas1". ## Sii manne meahccái, vaikko lei issoras buolas1. ## Eai lean váldán go niestebohcco. # amas # - - - # A, or Neg Sup, or CS (if followed by (nominative) subject and (infinitival) verb). SELECT A IF (0 ("amas"))(1 CC)(2 A); SELECT A IF (*-1 ("leat") BARRIER NON-ADV OR CLB)(0 ("amas")); ## Mán1gasat leat sakka fuolastuvvan amas ja dovddus vahágiin. ## Ollu sápmelac1c1aide lea dál ain amas jurdda. SELECT CS IF (0 ("amas"))(1 Neg); SELECT CS IF (0 ("amas"))(*1 Nom BARRIER NPNH LINK *1 Inf); ## Prinsihpa maid lean c1uovvon lea juohkehac1c1a ektui fuolahan, amas ii ## vuovdi vahágahtto. ## Váruhehket amas oktage c1ádjidahttit din! # amat # - - - SELECT (Neg Sup) IF (0 ("amat"))(1 Inf); # Also Pcle? ## Sii guddet du gied1aideaset alde, amat norddastit juolggát gead1gái. # daningo # - - - - # dasságo # - - - - # These two are taken care of by the rule in the cycle 'Disambiguating clitics'. # dasgo # - - - SELECT CS IF (0 ("dasgo"))(NOT *1 ("?")); ## Dasgo Herodes lea ohcamin máná goddin dihtii dan. # de # - - SELECT CS IF (*-1 ("jos") OR ("go") LINK -1 BOS OR CS)(-1 COMMA)(0 ("de")); ## Jos died1ás1in, de dajas1in. ## Go olbmot jaskkodit, de sáhpánat álget jursit. ## Son diehtá, ahte jos galgá leat mielde, de ferte máksit. # dego # - - - REMOVE Qst IF (0 ("dego")); ## Dego njamaheaddji eadni diks1umin mánáidis,... # go # - - SELECT Pcle IF (-3 BOS)(-2 CC)(-1 V)(0 go); SELECT Pcle IF (-2 BOS)(0 go)(*1 ("?")); ## Muhto boad1át go? ## Eai go báhkinat ge daga aiddo nu? SELECT Pcle IF (-2 CLB OR PUNCT)(-1 V)(0 go); SELECT Pcle IF (-2 ("vai"))(0 go); SELECT Pcle IF (-2 VERB)(-1C VFIN)(0 go); ## Jus juo, lea go nu ahte.. ## ... vai geahc1c1aluvvo go gávdnat c1ovdosiid bissovas1 rievttis,... ## Árvvos1taladettiin galgá go addit lobi lea dattege gaz1aldat das,... SELECT Pcle IF (-1 (V Neg))(0 go); ## Son jerre it go boad1e? SELECT Pcle IF (*-1 A OR Adv LINK *-1 ("nu") OR ("mihá") BARRIER CS)(0 go); SELECT Pcle IF (*-1 ("seammá"))(NOT -1 VFIN)(0 go); ## Nu guhkás go Gonagas mearrida... ## Gid1d1abuod1ut ráhkaduvvojit seammá vuogi mielde go geassebuod1ut. ## Seammá gusto go... # NOT -1 VFIN! SELECT Pcle IF (*-1 COMPAR BARRIER NON-ADJ)(0 go); SELECT Pcle IF (*-1 Comp BARRIER CS OR CP OR CONTRA OR PUNCT LINK NOT 0 VERB)(0 go); ## Dát dáhpáhuvva dávjjit go dat, maid ovdal namuhin. ## Láhkaásahus addá mán1gga ás1s1is dárkilit njuolggadusaid go láhka. SELECT Pcle IF (-1 A OR Adv)(NOT -1 Po)(0 go)(*1 Interr BARRIER VFIN); ## Joavku ii válddahala dát gaz1aldagaid dobbelii go maid Sámi ## vuoigatvuod1alávdegoddi lea dahkan. SELECT Pcle IF (0 go)(*1 CONTRA OR EOS BARRIER VFIN); SELECT Pcle IF (0 go)(1 ("ahte")); ## Mus ii leat go okta beana. ## Lea váttis áddet earáláhkai, go ahte maiddái duopmostuollu rahc1á ## c1ad1at dainna váttisvuod1ain. SELECT Pcle IF (-3 N OR Pron)(-2 ("ahte"))(-1 VFIN)(0 ("go")); ## Politihkas lei 1866 rájes sáhka ahte galggai go stivrregoahtit ## gii oaz1z1u eatnama láigohit stáhtas. # vai # - - # This one may be CS (vai = 'in order to') or CC (vai = 'or'). SELECT CC IF (0 ("vai"))(1 Neg)(2 CLB); SELECT CC IF (0 ("vai"))(1 Qst); SELECT CC IF (0 ("vai"))(2 ("go")); ## Leago sámeálbmogis vuoigatvuod1at vai eai, dahje... ## ... vai leago .. ## Dáhpáhuvvá go dat od1d1a lágaid bokte, vai geahc1c1aluvvo go gávdnat ## c1ovdosiid bissovas1 rievttis? SELECT CC IF (0 ("vai"))(NOT *1 VFIN BARRIER CS OR CP); ## Dan dihte dárbbas1uvvojit stipeanddat vai studeanttat geat leat ## c1ad1ahan váldofágaeksámena sáhttet ráhkadit buriid pros1eavttaid. # vaikko # - - - - SELECT Pron IF (0 ("vaikko")) (1 ("mii") OR ("gii") OR ("guhte") OR ("goabbá") OR ("guhtemus1") OR ("makkár")); # "vaikko mii", etc. is a pronoun. Other vaikko cases are CS. # This should probably rather be taken care of in the preprocessor. #SELECT CS IF (-1 BOS OR CS)(0 ("vaikko"))(*1 ("de")); # See rule in the next cycle. # Subjunctions are disambiguated in two subcycles. This is the second. # =========== # CONSTRAINTS # # =========== # # CS selection for specific CS candidates SELECT CS IF (0 go); # All other go's are CS. SELECT CS IF (0 ("vaikko")); SELECT CS IF (0 ("vai")); ## Na geasset go bod1ii diehtiht ahte ii beasa skuvlii. ## Ja go beasai fas seammá bargui. ## Ásahusa journálaovddasvástideaddji sáhttá liikká rievdadit journála ## vaikko gustojit vuolláic1állojuvvon journálamerkestemiide. ## Vai miehtan galgá leat lágalas1, ferte divs1s1ohas leat oz1z1on... # CS removal for specific CS candidates REMOVE CS IF (0 ("de")); ## De leat máksán. # ====================== # # Disambiguating adverbs # # ====================== # CONSTRAINTS # # ====================== # # General adverb rules # -------------------- SELECT Adv IF (-2 VFIN)(-1 ("nu"))(1 COMMA)(2 ("ahte")); ## Lohku lassánii nu johtilit, ahte ... SELECT Adv IF (*-1C VFIN-NON-AUX BARRIER NON-ADV OR PUNCT) (0 A-ATTR)(NOT 0 Inf)(NOT 1 N); ## Mannet ja guorahallet dárkilit dán máná hárrái! # Adv if postverbally SELECT Adv IF (-2 VERB)(NOT -2 COPULAS)(-1 ("hui") OR ("nu")) (NOT *1 N BARRIER NP-BORDER); ## Son c1állá hui c1ábbát. REMOVE Nom IF (-1 (Pron Interr Nom))(0 Adv); ## Iige leat duopmu mii c1ielgasit ja njuolga mearrida... REMOVE (Pl Nom) IF (*-1 V-SG3 BARRIER VFIN OR CP OR CS)(0 Adv); REMOVE (Pl Nom) IF (0 Adv)(*1 V-SG3 BARRIER NON-ADV-PCLE OR CLB); ## Lávdegoddi berre oppalac1c1at c1ilget... ## Son dábálac1c1at ráhkkana dasa dálvvi mielde. REMOVE Adv IF (-1 (N Gen) OR (Pron Gen))(NOT -1 Adv OR ("leat" PrfPrc)) (0 Po); # Po if after Gen ## but no hits in corpus! REMOVE Adv IF (-1 ("leat"))(0 (A Attr))(1 N); ## Bussás leat alit c1almmit. SELECT Adv IF (0 (Pron Indef))(1 CS); SELECT Adv IF (0 (Pron Indef))(1 COMMA)(2 CS); ## Dat mearridit seammás ahte stáhtaeiseválddit galget ovddidit ## doaibmabijuid. ## Muhto geavadis ráddjejuvvui vuoigatvuohta veahás1, go ráfáiduhttima ## spiehkastat mearralottiid ektui gárz1z1ui. REMOVE Po IF (-1 NON-NP)(0 Adv)(1 NON-NP OR CLB); ## Mun in leat mielde. REMOVE (N Gen) IF (-1 VFIN)(0 Adv)(NOT 1 N or Po); ## Diet lea beare unnán. REMOVE (Pron Interr) IF (1 CLB); ## Dá lea reivve maid. # Adverbs, not interjections # -------------------------- REMOVE Interj IF (NOT -1 Interj OR BOS)(0 Adv); ## Dat dinii bures doppe. # Adverbs, not comparative adjectives # ----------------------------------- REMOVE Comp IF (-1 ("hui") OR ("nu") OR ("seammá"))(0 Adv); ## Dat lea hui c1ielgasit. REMOVE Comp IF (-1 VFIN)(0 Adv)(1 Inf); ## Rád1d1ehus áigu erenomázit giddet fuopmás1umi sámegillii. REMOVE (A Comp) IF (-1 N OR Pron)(1 VFIN); ## ...ja ahte dat dáhttu c1ielgasit berre doahttaluvvot. SELECT Adv IF (*-1 NP-HEAD-NOM OR (A Nom) BARRIER NON-ADV-PCLE) (NOT 0 (Pron Interr))(1 PrfPrc); ## ...leatgo sámit historjjálac1c1at adnon eamiálbmogin... # Adverbs, not verbs # ------------------ REMOVE (V Ind) IF (-1 Nom LINK *-1 (V Ind) BARRIER NPNH)(0 ADV-NOT-VERB); REMOVE VFIN IF (NOT *-1 Interr BARRIER VERB)(*1C VFIN BARRIER CLB OR CC OR CS OR CP); ## Oar-julggiid atnet olbmot dus1s1e dalle go bodni lea nu garas ahte... ## Manne ii leat áviisa boahtán? SELECT Adv IF (-1 (Pron Interr))(1 CC)(2C Adv); ## ... dan dearvvas1vuod1abálvalussii, mii ollásit dahje osohahkii... # Adverbs, not nouns # ------------------ SELECT Adv IF (*-1 VFIN)(0 GEASSET)(NOT 1 Acc); ## Son lei doppe geasset. SELECT Adv IF (0 GEASSET)(*1 VFIN); ## Dálvet son vulggii meahccái. SELECT Adv IF (*-1 VFIN BARRIER NON-ADV)(0 ADV-NOT-OTHER-POS); ## Lea dus1s1e okta Ipmil. ## Ja Biret-Elle lea easka skuvllas geargan. # Move to cycle 1a? SELECT Adv IF (-1 CS)(0 ADV-NOT-OTHER-POS)(1 Nom LINK 1 VFIN OR Interr); ## Lahka mearridii, ahte dus1s1e sii gud1et máhte... # A bit half-hearted the previous LINK). REMOVE Interj IF (-1 BOS)(0 ADV-NOT-NAMES); ## De fidnejin. ## No hits in corpus. SELECT Adv IF (-1 (N Nom))(0 ADV-NOT-NOUN); SELECT Adv IF (-1 CC)(0 ADV-NOT-NOUN)(NOT *1 VFIN); ## Dáin ás1s1iin sáhttet Sámedikkit várra nu gohc1oduvvon friija ## árvvos1tallama mielde mearridit. ## Dás lea unnimus 150 jagis sáhka ja várra 200 jagis. # Nouns, not adverbs # ------------------ Remove Adv IF (-1 Gen)(NOT -1 Interr)(0 (N Loc)) ; ## Son bod1ii njukc1amánu loahpas. # Rules related to specific adverbs # --------------------------------- # álgu # - - - SELECT N IF (-1 Gen OR (A Attr))(0 ("álgu")); ## Pros1eavtta álgu ii lean álki. # beare # - - - SELECT Adv IF (0 ("beare"))(1 ("ollu")); ## Orohagas leat beare olu bohccot. # beallái # - - - - # The Po/Pr seems to be taken care of by the general rules in an earlier block. # But rules are needed that distinguish between N and Adv readings. # danin # - - - SELECT Adv IF (0 ("danin"))(NOT *1 (N Ess) BARRIER NPNH) (NOT *-1 COPULAS BARRIER NON-ADV)(NOT 1 CLB) (NOT *-1 OPRED-VERB BARRIER NON-ADV) (NOT *1 OPRED-VERB BARRIER NON-ADV); ## Danin badjánii jurdda lága ráhkadit. ## Návetruitu lávejit danin atnit. # Essive - hence the restrictions. SELECT Ess IF (*-1 COPULAS BARRIER NON-ADV)(0 ("danin"))(1 CLB); ## ...jos fierpmit leat danin,... SELECT Ess IF (0 ("danin"))(*1 OPRED-VERB BARRIER NON-ADV-PCLE); SELECT Ess IF (0 ("danin"))(*-1 OPRED-VERB BARRIER NON-ADV-PCLE); ## Návetruitu lávejit danin atnit. ## SELECT Adv IF (0 ("danin")); ## Sierralágan diehtojuohkingeahc1c1aleamit leage danin dehálac1c1at. # If there are more essives, give rules for them. # dassá # - - - REMOVE (V Ind Prs Sg3) IF (0 ("dassá"))(*1 VFIN BARRIER CS OR CLB); REMOVE (V Ind Prs Sg3) IF (0 ("dassá"))(*-1 VFIN BARRIER CS OR CLB); ## No hits for the first one? ## Leago guhkes áigi dassá go Máreha oidnet? # If this is to strict, (IF (1 ("go")) is also possible. # dákko # - - - REMOVE (V Imprt Prs Sg2) IF (0 ("dákko"))(*1 VFIN); REMOVE (V Imprt Prs Sg2) IF (*-1 VFIN)(0 ("dákko")); ## ... oaiviliid ja ákkaid bokte mat dákko ovddiduvvojit,... ## Hammerfeastta suohkanbáhppá Harboe lea dákko maid, nu go ## eará oktavuod1ain, buorre gáldu. # Alternatively, on could remove all imperatives. Here, I remove the # imperative reading of "dággut" if there is a finite verb somewhere # else. # duo # - - SELECT Adv IF (NOT -1 Dem or (A Attr))(0 ("duo")); ## Áddjá go duo lea boahtime? # dus1s1e # - - - - # There is a rule "Lea dus1s1e okta Ipmil" for the typical dus1s1e cases. REMOVE N IF (0 ("dus1s1e")); REMOVE A IF (0 ("dus1s1e")); ## Vihtta bivdovuogi mun gal dus1s1e namahin,... ## Oar-julggiid atnet olbmot dus1s1e dalle go bodni lea nu garas... # Brutal, but the noun and the adjective are almost always "dus1s1i". REMOVE VFIN IF (*-1 VFIN BARRIER CP OR CS)(0 ("dus1s1e")); REMOVE VFIN IF (0 ("dus1s1e"))(*1 VFIN BARRIER CP OR CS); REMOVE (Actor) IF (0 ("dus1s1at")); # Make a set for non-agentive verbs? ## Nu eai died1us dárbbas1 skáhppot birra buot gal, dus1s1e lasi ## dan sadjái mii mieská. ## ...go dus1s1e áibbas moatti sajis heive meardebuod1d1u adnojuvvot. ## Oktagaslas1 olbmo lonuheami dohkálas1vuohta lea stáhtii geavadis ## dus1s1in. SELECT Adv IF (-1 BOS)(0 ADV-NOT-VERB);#(*1 VFIN BARRIER CC OR CS OR CLB); SELECT Adv IF (-2 BOS)(-1 Pcle)(0 ADV-NOT-VERB); ## Dus1s1e daid died1uid, mat gusket konkrehta várraárvvos1tallamii, ## sáhttá c1uoldit geahc1c1anlobis. ## No hits for the last rule? # eanet # - - - SELECT Adv IF (0 ("eanet"))(1 CC)(2 ("eanet"))(3 A); SELECT Adv IF (-2 ("eanet"))(-1 CC)(0 ("eanet"))(1 A); ## Dutkangaskkusteapmi ja jearru dutkanbohtosiidda s1addá eanet ja ## eanet guovddás1 oassi dutkama árgabeaivvis. SELECT Adv IF (0 ("eanet"))(1 ("uhcit") OR ("unnit)); SELECT Adv IF (-1 ("uhcit") OR ("unnit"))(0 ("eanet")); ## ...muhto dál lea eanet uhcit jávkan. ## Go vierroopmodaga geavaha ja eaiggát unnit eanet c1ielgasit ## dasa leat miehtán,... SELECT Adv IF (0 ("eanet"))(NOT 0 Pron)(NOT 1 Dem OR N OR A); ## Guovlu atnigoahtá olu eanet. ## Dat lea eanet go 10. # Ambiguous: ## ...hálida universitehta almmuhit eanet died1alas1 artihkkaliid ## sámegillii. # - hence the condition (NOT 1 A). SELECT Adv IF (0 ("eanet"))(1 A-CASE)(NOT *2 N BARRIER NPNH); ## Báhkkodeamis ferte leat sáhka geavaheamis mii lea oktorád1d1ejeaddji ## dahje ainjuo c1ielgasit eanemus c1albmáic1uohcci. # But the A-CASE is often a wrong analysis. SELECT Attr IF (0 ("eanet"))(1 Dem OR N); ## Jos galgá eanet dutkiid oz1z1odit dán suorgái,... ## Noad1d1ebealli oaz1z1u deaddit eanemus viegu. ## ...okta dahje eanet dain eará namuhuvvon doaimmain. # easkka # - - - - SELECT Adv IF (0 ("easkka"))(*1 TIME BARRIER NPNH); ## ...mii easkka man1imus1 áiggiid lea jávkágoahtán. ## Dat lei boahtán ruot1agielain easkka j. 1863. # Ambiguous: ## Dat c1ielgá dálá oasálac1c1aide easkka proseassas. SELECT Adv IF (0 ("easkka"))(1 Num OR ("man1n1el")); ## Muhto easkka 1898:s dovdagohte Láhppiolbmot dan mii man1n1elis bod1ii. ## ...easkka man1n1el 1529 ásaiduvve olbmot duod1as báikkiide. # goas # - - - SELECT Adv IF (0 ("goas"))(NOT 1 go)(*1 ("")); SELECT Adv IF (0 ("goas"))(1 CC)(2 CP); ## Goasbat Máret fuobmái fas dohko vuolgit? ## Goas ja mo dearvvas1vuod1aveahki lea addojuvvon,... # goassige # - - - - SELECT Adv IF (*-1 Neg BARRIER VFIN)(0 ("goassige")); ## Ii leat stáhtas várra goassige leamas1 rud1alas1 ávki dán ámmahis. # gosa # - - - SELECT Adv IF (0 ("gosa"))(*1 VFIN BARRIER CLB OR CS); ## Gosa don c1ihket dan? ## Son oinnii báikkiid gosa juo ledje ásaiduvvan. # Here, the rule giving the verbal reading of "gosa" is missing. It must # be added. # gusto # - - - SELECT Adv IF (-1 VFIN)(NOT -1 Neg)(0 ("gusto")); ## Diet lea gusto ávkkálas1. # ihttin # - - - - SELECT Adv IF (0 ("ihttin")); ## Mii vuolgit ihttin juo. # The competitor is '"ihtit" V N Actor Ess'. This reading will now never be # selected. Have a look at this when dealing with Actor nouns. # ikte # - - - SELECT Adv IF (0 ("ikte"))(*1 (V Prt)); ## Ikte lei hui buolas1. SELECT Adv IF (*-1 (V Prt))(0 ("ikte")); ## Ikte lei hui buolas1. # maid # - - - SELECT Adv IF (-1C VFIN)(0 ("maid")); SELECT Adv IF (-1 N LINK *-1 BOS BARRIER NPNH)(0 ("maid")) (NOT *1 VFIN LINK *1 VFIN BARRIER CS OR CP); ## Mun háliidan maid mannat. ## Suomas maid lei dilli váttis. ## Nubbi maid fuobmáimet lei ahte... (Interr, hence the last condition.) SELECT Adv IF (-2 BOS)(-1 (Pron Pers))(0 ("maid")); ## Sidjide maid lei Ruija. SELECT Adv IF (-1 COPULAS LINK 0 Pl3)(0 ("maid"))(*1 (N Pl Nom) BARRIER NPNH); ## Romssa universitehtas leat maid eará plánat álggahit fálaldagaid. SELECT Adv IF (*-1 CS BARRIER VFIN OR CLB)(NOT -1 go)(0 ("maid")) (*1 VFIN LINK NOT *1 VFIN); ##... nu ahte dat maid siskkilda ávnnalas1 kultureavttuid. SELECT (Pron Interr) IF (-1 BOS OR PUNCT)(1 Nom)(*1 ("?")); ## Maid mii dál vihtaniiguin? SELECT Adv IF (0 ("maid"))(NOT *1 VFIN); SELECT Adv IF (0 ("maid"))(NOT *1 VFIN BARRIER CC OR CS OR CP); ## Dán oktavuod1as c1ujuhuvvo maid oanáduslistui ja gáldolistui. ## Sápmelec1c1at oasálaste maid dasa, muhto lassin ledje sis vel eará ## resursat. SELECT Adv IF (*-1 INF-VERB BARRIER VERB)(0 ("maid"))(*1 Inf BARRIER VERB); ## Sápmelac1cat galge maid vearu máksit Danmárku-Norgii. SELECT Interj IF (-1 BOS)(0 ("maid"))(1 COMMA); ## Maid, iigo leat boahtán? # manne # - - - SELECT Adv IF (-2 BOS OR CLB OR PUNCT)(-1 CC)(0 ("manne"))(*1 VFIN); SELECT Adv IF (*-1 BOS OR CLB OR PUNCT BARRIER NON-ADV-PCLE)(0 ("manne")) (*1 VFIN BARRIER CC OR CS OR CP); ## Ja manne moras1tehpet biktasiid dihtii? ## Naba dii, manne dii iez1a rihkkubehtet Ipmila báhkkomiid? ## Sii manne isideaset lusa ja muitaledje buot. # BARRIER CC! # mielas # - - - - REMOVE Adv IF (-1 Gen)(0 ("mielas")); ## Mu mielas don sáhtát mielas boahtit. # naba # - - - SELECT Adv IF (0 ("naba"))(NOT 1 V-SG3); ## Naba don, man ollu don leat dahkan. # "Naba" is a proper noun also, but hardly relevant in a Sami context. # Thus, it could perhaps be deleted in all contexts. The intended context # here is one of the subject, but it is somewhat halfheartedly written. # oktan/ovttas # - - - - - - - SELECT Adv IF (0 ("oktan") OR ("ovttas"))(*1 Com BARRIER NON-NP); ## Divs1s1ohas lea vuoigatvuohta iez1as journála geahc1c1at oktan ## mildosiiguin. # rádjái/rádjai # - - - - - - - SELECT Po IF (-1 Num)(0 ("rádjai") OR ("rádjái")); ## Njuolggadusat nággolága § 204:s § 209 rádjái oz1z1ot seammá geavahusa. # This rule should be extended to all postpositions likely to occur after # number expressions. Todo: Make a set. # sullii # - - - - SELECT Adv IF (0 ("sullii"))(1 Num); ## Bus1eahtas lea sullii 650.000 ruvnno leamas1 várrejuvvon. # This rule must be generalised on both conditions: "sullii" must be extended # to a set of adverbs denoting quantification, and Num must be extended to # more measures (or parallel rules must be written). SELECT Adv IF (-1 ("leat"))(0 ("sullii")); ## Spahká lea sullii dus1s1e suorbmabeali asu gez1iid bokte. # The idea is that "leat" doesn't subcategorise for illatives. # unnán # - - - SELECT Adv IF (0 ("unnán"))(1 VFIN OR PrfPrc)(NOT 1 N); ## Eanas1 duopmárat unnán dovdet eamiálbmogiid historjjá. ## Dat orru oppanassii unnán c1ilgejuvvon 1800-logu gaskamuttu. # uhcit/unnit # - - - - - - SELECT Adv IF (-1 ("eanet"))(0 ("uhcit") OR ("unnit")); SELECT Adv IF (0 ("uhcit") OR ("unnit"))(1 ("eanet")); ## Dál lea eanet uhcit jávkan. ## Go eaiggát eanet unnit c1ielgasit dasa lea miehtán,... # várra # - - - SELECT Adv IF (*-2 A BARRIER WORD)(-1 CC)(0 (várra))(*1 PrfPrc BARRIER NON-ADV-PCLE); ## Ovdabarggut c1ájehit láhkateavstta leat váilevas1, ja várra boastut ## báhkkoduvvon. # The rule does not hit here, 'várra' gets N reading, but why? SELECT Adv IF (-1 CLB)(0 ("várra"))(NOT *1 V-SG3); ## Sápmelac1c1at geat ledje birgegoahtán dus1s1e boazudoaluin, várra ## ledje buot friddjamusat. # visot # - - - SELECT Adv IF (0 ("viso"))(NOT 1 (N Pl)); ## Ii leat vel visot c1ohkkejuvvon. ## Visot dan maid NRK sádde digitála fierpmis sáhttá maid gullat Nettradios. # This is not a particularly good rule for 'visot'. # ======================= # # Disambiguating pronouns # # ======================= # CONSTRAINTS # # ======================= # # Interrogative pronouns # ====================== SELECT Interr IF (-1 BOS OR (":"))(*1 ("?")); SELECT Interr IF (-2 BOS)(-1 Pcle)(*1 ("?")); SELECT Interr IF (-2 BOS OR CLB)(-1 PUNCT); ## Maid don doaivvut, mun gielistan? ## Na maid don din1gojit? ## Man uhccán osku dus lea! # The last example is an exclamation. Hit because no ? required. REMOVE Interr IF (-1 Interr); ## Dat lea c1uonz1z1a, mii maid gorgn1u detnui c1akc1ageasi. SELECT Interr IF (NOT -1 V-PL1)(0 ("mii")) (*1 V-SG3 BARRIER V-PL1 LINK NOT 0 (Pl1)); ## Dát ii guoskka diks1ui mii boahtá psykiatriija vuollái. SELECT (Pl Gen) IF (0 ("gii") OR ("mii" Interr))(1C N)(NOT 1 Ess OR PROP)(2 NP-BORDER); ## Dasa lassin bohte kvenaid 1700-logus, geaid logu eat died1e. ## Dáidda gulle dávjá 10-12 ládjogietti, maid gaska sáhtii leahkit... ## Dan áigge galge ges olbmot Finnmárkkus geaid golgolaz1z1an gohc1odedje, ## sáddejuvvot Danmárkui. NOT 1 Ess! # This rule is placed here in order to bleed the 'SELECT Sg'-rules below. SELECT Sg IF (-1C NP-HEAD-SG OR (Card Sg))(NOT *-2 NUMERALS BARRIER NPNH) (0 (Pron Interr)); SELECT Pl IF (-1C NP-HEAD-PL)(0 (Pron Interr)); ## ...go lei sáimmaiguin bivdán jávrris maid stáhta lei láigohan. ## Davviriikkain leat guokte álbmoga maid átnit álgoálbmogin. # NUMERALS! ## Doaibma gullá doaimmaide maid ulbmil lea movttiidahttit sámi nuoraid... SELECT Sg IF (NOT -3 CC)(-2C NP-HEAD-SG)(-1 COMMA)(0 (Pron Interr)); SELECT Pl IF (-2C NP-HEAD-PL)(-1 COMMA)(0 (Pron Interr)); ## Deat1alas1 lea ahte c1állojuvvojit dakkár gillii, maid buot bargit ## áddejit. ## Dat divs1s1ohasat, geaid leat geavadis vejolas1 joksat,... SELECT Sg IF (-2 Sg LINK NOT *-1 NUMERALS BARRIER NPNH)(-1 Po)(0 (Pron Interr)); SELECT Sg IF (-3 Sg LINK NOT *-1 NUMERALS BARRIER NPNH)(-2 Po)(-1 COMMA)(0 (Pron Interr)); ## Mandáhta mielde maid Sámi vuoigatvuod1alávdegoddi lea addán... ## ...ja dan dearvvas1vuod1aveahki birra, maid son oaz1z1u,... SELECT Pl IF (-2 Pl)(-1 Po)(0 (Pron Interr)); SELECT Pl IF (-3 Pl)(-2 Po)(-1 COMMA)(0 (Pron Interr)); ## ...ahte resurssaid ektui maid livc1c1ii dárbbas1an atnit... ## Sivaid geazil, maid berre c1uovvolit,... SELECT Pl IF (-1 Po LINK *-1 NUMERALS BARRIER NPNH)(0 (Pron Interr)); SELECT Pl IF (-2 Po LINK *-1 NUMERALS BARRIER NPNH)(-1 COMMA)(0 (Pron Interr)); ## No hits? ## No hits? REMOVE Pl IF (-1 BOS)(0 ("mii" Pron Interr))(NOT *1 (N Pl) BARRIER NPNH); ## Maid don doaivvut, mon gielistan? SELECT (Sg Gen) IF (0 ("mii" Interr))(1 A OR Adv)(NOT 1 Comp OR Superl); SELECT Gen IF (0 (Pron Interr))(1 Po); SELECT Gen IF (0 (Pron Interr))(NOT *1 V-NON-AUX); ## Man guhkki lea skuvlii? ## Son gean birra died1ut leat,... ## Gii galgá árvvos1tallat gud1e died1ut galget leat journálas. # Reflexive pronouns # ================== # iez1as is Gen or Acc # iez1a is Pl or Du # Reflexive iez1as # ---------------- SELECT Gen IF (-1 Acc)(0 ("ies1" Gen) OR (Pron Pers Gen))(1 HNOUN); ## ... muhto it fuomás1 hirssa iez1at c1almmis? # Emphatic ies1 # ------------- # Sg ies1 is unique, there is homonymy Du/Pl for iez1a. # Problem: Prs Du1 = Prt Pl3. SELECT Pl IF (*-1 V-PL OR (V Imprt Pl2) OR MII-PERS OR DII OR SII OR (Pron Interr Pl Nom) BARRIER CS OR CP OR PUNCT)(0 ("ies1" Pron Refl Pl Nom)) (NOT *1 V-DU BARRIER NON-ADV-PCLE); ## Allet dubme, amadet iez1a dubmejuvvot! ## ...muhto leat maiddái muhtumat geat iez1a leat dahkan iez1aset ## dohkketmeahttumin... SELECT Pl IF (0 ("ies1" Pron Refl Pl Nom))(*1 V-PL BARRIER CS OR CP); ## ...ja didjiide mihtiduvvo seammá mihtuin mainna iez1a ge mihtidehpet. SELECT Du IF (*-1 V-DU OR MOAI OR DOAI OR SOAI BARRIER CS OR PUNCT) (0 ("ies1" Pron Refl Du Nom)); ## Doai galgabeahtti iez1a mannat. SELECT Du IF (0 ("ies1" Pron Refl Du Nom)) (*1 V-DU OR MOAI OR DOAI OR SOAI BARRIER CS OR CP); ## Iez1a soai muitaleigga mii lei dáhpáhuvvan mátkkis. # Reciprocal pronouns # =================== SELECT Recipr IF (1 Recipr); SELECT Recipr IF (-1 Recipr); ## ...de dadje guhtet guoibmáseaset:... ## Gielddat berrejit ásahit fásta dulkaveaga, kánske ovttasbarggus nubbi ## nuppiin. # =========== # CONSTRAINTS # =========== # REMOVE Recipr ; ## Jos dajan nubbái: Mana! de son manná. # Indefinite pronouns # =================== # nubbi # ----- # These rules have to precede the general rules, or the Ord reading will # be removed where it should remain. SELECT Ord IF (*-2 ("vuosttas") OR ("vuosttas1"))(-1 CC OR COMMA)(0 ("nubbi")); SELECT Ord IF (0 ("nubbi"))(*1 CC OR COMMA LINK 1 ("goalmmát")); ## Vuosttas1 vuojahaga fávllimus c1uolda lea goaratc1uoldan ja ## nubbi c1uolda fas gáddeoal-c1uoldan. ## Nubbi noad1d1eheargi goallustuvvo giehtahearggi lávz1ái ja goalmmát ## fas dan nuppi lávz1ái. SELECT Gen IF (0 ("nubbi"))(1 N); ## Son oac1c1ui c1áda ás1s1i fas nuppi Stuorradikkis. SELECT Indef IF (0 ("nubbi"))(*1 CC OR COMMA LINK 1 ("nubbi")); SELECT Indef IF (*-2 ("nubbi"))(-1 CC OR COMMA)(0 ("nubbi")); ## Nubbi lei dáz1a, muhto nuppi bearras1is lei isit sápmelas1. ## C1ielggadeapmi lea guovtteoasát - nubbi ies1 vuoigatvuod1a- ## gaz1aldagaid birra ja nubbi dán suorggi siskkabeale hálddahus- ## ortnegiid birra. SELECT Indef IF (*-2 ("okta" Num))(-1 CC OR COMMA)(0 ("nubbi")); ## Okta ás1s1i lea mii lágas mearriduvvui, nubbi lea man kommis1uvnnat ## c1uvvo mearrádusaid. ## Riektegeavadis sáhtás1ii danin geavahit guokte váldolinjjá, ## okta ovdal ja nubbi fas man1n1á 1970. REMOVE Attr IF (0 ("nubbi"))(1 Dem OR Adv); ## ... ja nubbi dán suorggi siskkabeale hálddahusortnegiid birra. ## ...nubbi fas rávesolbmuid psykiatriijas. # General rules # ------------- SELECT Attr IF (0 Pron)(*1C N BARRIER NON-ADJ-PCLE OR go); ## Dan muitalii muhtin mátkkos1teaddji gean namma lei Keilhau. ## Njuolggadusain ledje eará ge mearrádusat. REMOVE Attr IF (0 Pron)(1 (Pron Interr)); ## Lea unnán maid sáhttit dahkat. SELECT Indef IF (*-1 Neg)(0 Interr); SELECT Indef IF (-1 Indef)(0 Interr); ## Ale divtte geange badjelgehc1c1at du. ## Várut dadjamis maidege geasage dan birra! # seamma/seammá # ------------- SELECT Attr IF (0 ("seamma") OR ("seammá))(1 A); SELECT Attr IF (0 ("seamma") OR ("seammá))(1 N); ## Dasto smiehttatge fas seamma sullasas1 jearaldagaid. ## Sáhttá leat ulbmillas1, ahte seamma olmmos1 áimmahus1s1á mán1ga ## dain doaimmain. REMOVE Attr IF (0 ("seamma") OR ("seammá"))(NOT *1 N OR A BARRIER NPNH); ## Seammá gusto poliklinihkalas1 divs1s1us. # unnán # ----- SELECT Indef IF (*-1 COPULAS BARRIER V-NON-AUX)(0 ("unnán")) (NOT 1 PrfPrc LINK *1 NP-HEAD-ACC BARRIER NPNH); ## Dat gal lei beare unnán. ## Sii leat hui unnán dahkan guorahallat "sámi vieruid ja riekteáddejumiid". ## Eanetlohku lea menddo unnán bidjan Finnmárkku mihtilmas diliid vuod1d1un. # In the last example "unnán" is an Adv. Hence the last condition. Alternative: # (NOT 1 PrfPrc LINK 1 Inf)? # Demonstrative pronouns # ====================== REMOVE Pcle IF (-1 Interr OR CC)(0 ("dat")); ## Maid dat Kárás1jogas bargá? ## Dahje dat gávccenuppelogis geat sorbmas1uvve... SELECT Dem IF (NOT -1 VERB)(1 (Indef Attr)); ## Nuppi geahc1i dan seammá lávz1z1is fas biddjojuvvo bad1a birra. REMOVE (Dem Sg) IF (0 ("dat" Sg))(NOT *1 (N Sg) BARRIER NON-NP LINK 0 HNOUN); ## .. ja dan golut leat govttolac1c1at veahki ektui. REMOVE (Dem Pl) IF (0 ("dat" Pl))(NOT *1 (N Pl) OR NUMERALS BARRIER NPNH); ## ...ja ahte dat dáhttu c1ielgasit berre doahttaluvvot. # DP-internal number concord # -------------------------- SELECT Pl IF (0 (Pron Dem))(*1C (N Pl) BARRIER NON-ADJ LINK 0 HNOUN); SELECT Pl IF (0 (Pron Dem))(1 (Num Pl)); ## Naba daid stuora dorskiid, gosa daid bidjet? ## Dainna golbma ovdamearkkain Álttas, Kárás1jogas ja Buolbmágis,... # DP-internal case concord # ------------------------ # More rules for Dem in front of NUMERALS must be added. SELECT (Dem Sg Nom) IF (0 ("dat"))(*1 (N Sg Nom) BARRIER NON-ADJ LINK 0 HNOUN LINK *1 V-SG3 BARRIER CC OR CS); SELECT (Dem Sg Nom) IF (0 ("dat"))(*1C HNOUN BARRIER NON-ADJ LINK 0 (Sg Nom) LINK *-1 V-SG3 BARRIER CS OR CP); ## Dalle dat geahppaset gurppas daddjojuvvo veajan. ## Ii han ovttasge du sogas leat dat namma. SELECT (Dem Pl Nom) IF (*1 (N Pl Nom) BARRIER NON-ADJ LINK 0 HNOUN LINK *1 V-PL3 BARRIER CS); SELECT (Dem Pl Nom) IF (*1 (N Pl Nom) BARRIER NON-ADJ LINK 0 HNOUN LINK *-1 V-PL3 BARRIER CS OR CP); ## Dát vejolas1vuod1at leat dehálas1 eallindiliid eavttut álbmogii. ## Noad1d1espagáin leat dat geaz1it guokte golbma tumá guhku. SELECT (Dem Pl Nom) IF (*1 (N Pl Nom) BARRIER NON-ADJ LINK 0 HNOUN LINK *1 V-DU3 BARRIER CS); SELECT (Dem Pl Nom) IF (*1 (N Pl Nom) BARRIER NON-ADJ LINK 0 HNOUN LINK *-1 V-DU3 BARRIER CS OR CP); ## Go dat geaz1it mat geaigut leaba bajás, gohc1oduvvoba spahká-oaivin. ## No hits in corpus for the last rule, but it looks OK! SELECT (Dem Pl Nom) IF (0 ("dat"))(1 NUMERALS LINK 0 Nom); ## ...oz1z1o dat 50 vuotnaguolásteaddji Gáivuonas buhtadasa. SELECT (Dem Pl Nom) IF (1 Nom)(2 (Pron Interr Pl)); ## SELECT (Dem Acc) IF (0 ("dat"))(1C (Num Acc)); ## Tabealla vuosttas1 ceakkoc1uolddas oaidnit dan golbma bajitdási ## váldofáddajoavkku. SELECT (Dem Gen) IF (0 ("dat"))(1C (Num Gen)); SELECT (Dem Gen) IF (0 ("dat"))(*1C (N Gen) BARRIER NON-ADJ LINK 0 HNOUN); ## Davimus guovllut ledje dálá Ruos1s1a ja daid guovtti davvi- ## ovttastumiid oktasas1 vearroeanan. ## Fertejitgo máksit daid vuoivasiid ovddas? SELECT (Dem Sg Gen) IF (NOT *-1 VERB BARRIER NON-ADV-PCLE)(0 ("dat")) (*1C (N Sg Ill) BARRIER NPNH); SELECT (Dem Pl Ill) IF (0 ("dat"))(*1C (N Pl Ill) BARRIER NON-NP); ## Nubbi noad1d1eheargi goallustuvvo giehtahearggi lávz1ái ja goalmmát ## fas dan nuppi lávz1ái. ## Láhka gusto daidda dearvvas1vuod1ahálddahusa dearvvas1vuoda- ## died1uid gied1ahallamiidda. # Disambiguating (Pl Ill) is only a question of distinguishing between Pers and # Dem. Accordingly, the barrier can be less strict. SELECT (Dem Sg Gen) IF (0 ("dat"))(*1C (N Sg Loc) BARRIER NPNH); SELECT Dem IF (0 ("dat"))(0C Loc)(*1 (N Pl Loc) BARRIER NPNH); ## Ja dan báhkka cizas lea fierpmit dassá go dat c1oasku. ## Seamma olmmos1 áimmahus1s1á mán1ga dain doaimmain dahje rollain. SELECT Dem IF (0 ("dainna"))(*1 (N Sg Com) OR (N Pl Loc) BARRIER NPNH); ## ...suollemas dainna doaivvuin ahte... ## Guhtemus1 dainna bivdovugiin guhkimus leas1 geavahuvvon... # No disambiguation between Sg Com and Pl Loc here. All we do is distinguish # between Dem and Pers. # As for Dem Pl Com, it is taken care of by the first rule for DP-internal # number concord above. SELECT (Dem Pl Gen) IF (0 ("dat"))(*1C (N Pl Com) BARRIER NPNH); ## ...ja daid lunddolas1 rájáiguin ássanguovlluid siiddaid gaska. REMOVE (Dem Nom) IF (0 ("dat"))(NOT *1 (N Nom) BARRIER NPNH); REMOVE (Dem Sg Loc) IF (0 ("dat")); REMOVE (Dem Sg Ill) IF (0 ("dat")); ## Maid dat Kárás1jogas bargá? ## ...ja lea vuoigatvuohta oaz1z1ut das mán1gosa sierranas jearrama ## vuod1ul. ## Olggosaddin sáhttá liikká dáhpáhuvvat jos gávdnojit dasa ## beaktilis sivat. # Some rules for personal pronouns again (will hit "dat", except the last one) # ---------------------------------------------------------------------------- SELECT (Sg3 Nom) IF (*-1 (V Sg3) BARRIER CC OR CS OR CLB OR CP OR PUNCT) (NOT *1 (N Sg Nom) BARRIER NPNH); SELECT (Sg3 Nom) IF (*1 (V Sg3) BARRIER VFIN OR CS OR CP LINK NOT 0 (N Pl)) (NOT *-1 V-SG3 BARRIER NON-ADV); ## Iihan dat liikon Kárás1johkii? ## Ja dan báhkka cizas leat fierpmit dassá go dat c1oasku. SELECT (Pl3 Nom) IF (*-1 (V Pl3) BARRIER CC OR CS OR CLB OR CP OR HNOUN-NOM); SELECT (Pl3 Nom) IF (*1 (V Pl3) BARRIER VFIN OR CS OR CP); ## Eai dat leat vel giksan. ## Dathan gal leat buorit guolit. SELECT (Pron Sg3) IF (1 (Pron Interr Sg)); SELECT (Pron Pl3) IF (1 (Pron Interr Pl)); ## ...go dus1s1e dat mii guoská reguleremii. ## Dat mat sáhttet háhkkojuvvot, leat ovdalis juo namuhuvvon. REMOVE (Pers Acc) IF (*1C (N Acc) BARRIER (Actio Loc) OR CS OR CP LINK NOT 0 TIME); ## De lea sihke divs1s1ohas ja su lagamus oapmahac1c1as vuoigatvuohta ## oaz1z1ut died1uid. ## Min áiggi lea dat gildojuvvon. ## Go ii oktage vuosttildan dan vuoigatvuod1adili... # Disambiguating against other POS # -------------------------------- # Getting rid of problematic names. # Problematic here are the names Dan, Dien, and the essive of the noun duo. REMOVE (Prop) IF (-1 BOS)(0 Dem)(1 N)(NOT 1 Prop); ## Dan nieidda mun dovddan. # Does this rule ever hit? REMOVE (Dem Sg Nom) IF (NOT *-1 V-SG3 BARRIER CS)(NOT *1 (N Sg Nom) BARRIER NPNH) (NOT *1 V-SG3 BARRIER CS); ## Dasto leat dát ies1gud1etge doaibmabijut juhkkojuvvon... REMOVE (Dem Pl Nom) IF (NOT *-1 V-PL3 BARRIER CS)(NOT *1 (N Pl Nom) OR NUMERALS BARRIER NPNH)(NOT *1 V-PL3 BARRIER CS); ## Amma duot lei Niillasa guollebiila? # The verb is there to capture intransitive Dem. # ========================= # # Disambiguating adjectives # # ========================= # CONSTRAINTS # # ========================= # # Rules related to specific adjectives # ==================================== # garra # - - - # These rules are here to remove "garra" N Sg Nom. SELECT Attr IF (0 ("garas"))(1 (N Nom)); SELECT Attr IF (NOT *-1 V-SG3)(0 ("garas" A Attr))(1 A OR N)(NOT *1 V-SG3); ## Norggas lea leamas1 gal garra digas1tallan sámi oahppoplána hárrái. ## Beatnagat eai biva vis1s1at garra buollas1iid. # stuoris # - - - - SELECT Attr IF (-1C N)(0 ("stuorát"))(1C (N Pl))(1 HNOUN); ## ...leat viiddis njuolggadusat ás1s1emeannudeapmái stuorát ## c1ázádatmuddemiid oktavuod1as. # vuolit # - - - - SELECT Attr IF (0 ("vuolit"))(1 ("gráda") OR ("dássi")); ## Skuvla dus1s1e addá oahpu vuolit dásis. # Attribute disambiguation # ======================== # Rules for Attr between Dem and N. # - - - - - - - - - - - - - - - - - SELECT Attr IF (*-1 (Dem Sg Nom) BARRIER NPNH)(*1 (N Sg Nom) BARRIER NPNH); SELECT Attr IF (*-1 (Dem Pl Nom) BARRIER NPNH)(*1 (N Pl Nom) BARRIER NPNH); ## Dalle dat geahppaset gurppas daddjojuvvo veajan. ## ...jus dát máinnas1uvvon árbevirolas1 dilálas1vuod1at eai ## geahc1c1aluvvo c1uvgejuvvot. SELECT Attr IF (*-1 (Dem Sg Acc) BARRIER NPNH)(*1 (N Sg Acc) BARRIER NPNH); SELECT Attr IF (*-1 (Dem Pl Acc) BARRIER NPNH)(*1 (N Pl Acc) BARRIER NPNH); ## ...ja son doaimmaha dán dábálas1 dahje eanas1 geavaheami. ## Nuppe beales geahc1c1alit dahkat dáid siskkáldas áddejumiid ## duod1as1tanfáddán. SELECT Attr IF (*-1 (Dem Sg Gen) BARRIER NPNH)(*1 (N Sg Gen) BARRIER NPNH); SELECT Attr IF (*-1 (Dem Pl Gen) BARRIER NPNH)(*1 (N Pl Gen) BARRIER NPNH); ## Dán konkrehta háve gustojedje gárz1z1ideamit nappo earáidego ## boazosapmelac1c1aide. ## No cases left after the Dem Pl Acc-Attr-N Pl Acc rule? SELECT Attr IF (*-1 (Dem Sg Gen) BARRIER NPNH)(*1 (N Sg Ill) BARRIER NPNH); SELECT Attr IF (*-1 (Dem Pl Ill) BARRIER NPNH)(*1 (N Pl Ill) BARRIER NPNH); ## Dás lei maiddái gaz1aldat geavahanvuoigatvuod1as vuovdái ja dan ## vejolas1 viidodahkii. ## ...mat gullet dáidda ja eará lunddolas1 sullasas1 doaimmaide. SELECT Attr IF (*-1 (Dem Sg Gen) BARRIER NPNH)(*1 (N Sg Loc) BARRIER NPNH); SELECT Attr IF (*-1 (Dem Pl Loc) BARRIER NPNH)(*1 (N Pl Loc) BARRIER NPNH); ## Ja dan báhkka cizas leat firpmit dassá go dat c1oasku. ## Sápmelac1c1at ledje vuosttasin dahje okta dain vuosttas1 álbmot- ## joavkkuin,... ## ...dainna váilevas1 vejolas1vuod1ain... SELECT Attr IF (*-1 (Dem Pl Com) BARRIER NPNH)(*1 (N Pl Com) BARRIER NPNH); ## Geainnuin livc1c1ii eambbo turistajohtolat suohkana c1oahkke- ## ássanguovddás1iid c1ad1a daiguin ekonomalas1 oalgeváikkuhusaiguin. SELECT Attr IF (*-1C Dem BARRIER NPNH)(*1 N BARRIER NON-ADJ-CC); ## Mo Alimusriekti meannudii vaikkoba dakkár vuolit dási olbmuid ## vihtanc1ilgehusaigun? # Other attribute rules # - - - - - - - - - - - REMOVE Adv IF (NOT *-1 VERB BARRIER CS OR CP)(NOT *1 VERB BARRIER CS OR CP); ## Diehtojuohkin divs1s1ohasa lagamus1 oapmahaz1z1ii. ## Stuorát guolit mat eai bisán c1almmiide, mannet c1ad1a. SELECT Attr IF (*-1 BOS BARRIER NPNH)(NOT 0 VERB)(NOT 1 Dem OR VERB) (*1 N BARRIER NPNH); ## Golbma c1áppa, doaimmalas1 nieidda livz1o áhc1iset riegádanbeaivve. SELECT Attr IF (NOT 0 Prop)(1 COMMA)(2 Attr)(3 CC LINK *1 HNOUN BARRIER NPNH); ## ...go viidáset gaskkusta oppalac1c1at álbmoga historjjálas1, ## kultuvrralas1 ja politihkalas1 died1uid. SELECT Attr IF (NOT 0 Prop)(1 COMMA)(2 Attr OR PrsPrc)(*3 HNOUN BARRIER NPNH); ## SELECT Attr IF (-1 ("leat"))(1 A OR N LINK NOT *1 Po OR Loc OR Inf BARRIER NON-NP) (NOT 1 Adv OR VERB); ## Sis-Finnmárkkus lea vuolit gaskamearálas1 bruttoboahtu go fylkkas... REMOVE (A Nom) IF (0 (A Attr))(*1C N OR Cmpnd BARRIER NON-ADJ LINK NOT 1 Po) (NOT 1 COMMA LINK 1 N); REMOVE (A Gen) IF (0 (A Attr))(*1 N BARRIER NON-ADJ LINK NOT 1 Po); REMOVE (A Acc) IF (0 (A Attr))(*1 N BARRIER NON-ADJ LINK NOT 1 Po); ## Dat lea c1uovvovas1 sajis. ## Sámegiella ja dárogiella leat ovttaárvosas1 gielat. ## Lea deat1alas1 movttiidahttit studenttaide gazzat doavttergrádaoahpu. # The careful mode (*1C N) was removed because of the second example. # But reintroduced because of the third example. REMOVE V IF (NOT -1 (N Nom))(0 (A Attr))(*1 N BARRIER NON-ADJ LINK NOT 1 Po) (*2 VFIN BARRIER CC OR CLB OR CP OR CS); REMOVE N IF (0 (A Attr))(NOT 1 VFIN OR PrfPrc OR CLB) (*1 N BARRIER NON-ADJ LINK NOT 1 Po); ## Olles doaibmaviessu lea sullii 2300 njealjehasmetera stuoru. ## ...muhto dakkár radikála rievdadus eahpitkeahttá buktá garra ## reaks1uvnnaid,... REMOVE Adv IF (-2 A OR N)(-1 ("go" Pcle))(1 N); ## Sámedikki ásaheapmi lea eanet ideologalas1 go c1ielga mearrádus. REMOVE PrsPrc IF (0 (A Attr))(1 N)(NOT 1 Gen); ## Sidjiide maid lei guollerikkis Ruija geasuheaddji guovlu. REMOVE (A Loc) IF (0 Attr)(1 N); SELECT (A Attr) IF (NOT -1 ("leat") LINK -1 Nom)(NOT -1 CS)(0 (N Nom) OR (A Nom)) (NOT 0 VERB)(1 N)(NOT 1 A OR VFIN OR TIME OR ("leapma" Dimin)); REMOVE VGen IF (-1 Gen OR Dem OR Indef)(0 Attr)(1 N)(2 NP-BORDER); REMOVE N IF (-1 Gen OR Dem OR Indef)(0 Attr)(1 N)(2 NP-BORDER); REMOVE Adv IF (-1 Gen OR Dem OR Indef)(0 Attr)(1 N)(2 NP-BORDER); REMOVE VFIN IF (-1 Gen OR Dem OR Indef)(0 Attr)(1 N)(2 NP-BORDER); ## Dat lea died1áhus sámepolitihka bajit linjáid birra. # This is a highly specified context. The idea is that the Spec ___ N # position should have and Attr or some other adjective. Look out for probl. # Coordinated attributes # ---------------------- SELECT (A Attr) IF (-1 NP-BORDER)(1 CC)(2C (A Attr)); SELECT (A Attr) IF (1 CC)(2 PrfPrc)(*3 N BARRIER NPNH); ## ## Norgga duohta dahje c1uoc1c1uhuvvon mearrideaddji váldi... # Special rules for 'buorre' (the only adjective showing case agreement) # ---------------------------------------------------------------------- SELECT (Pl Nom) IF (0 ("buorre"))(*1 (N Pl Nom) BARRIER NON-ADJ-CC); SELECT Gen IF (0 ("buorre"))(NOT 0 Comp OR Superl) (*1C (N Gen) BARRIER NON-ADJ-CC LINK 0 HNOUN); SELECT Acc IF (0 ("buorre"))(NOT 0 Comp OR Superl) (*1C (N Acc) BARRIER NON-ADJ-CC); ## # Rules for predicative attributes # -------------------------------- SELECT Attr IF (-3 BOS)(-2 Nom)(-1 ("leat"))(0 Prop)(1 Prop)(2 NP-BORDER); SELECT (A Attr) IF (1 CC)(2 (A Attr))(3 N); SELECT (A Attr) IF (-1 COMPAR)(1 ("go" Pcle))(2 (A Attr))(*3 N BARRIER NON-ADJ); ## ## Dat lea od1d1a ja vilges gákti. ## Sámedikki ásaheapmi lea eanet ideologalas1 go c1ielga mearrádus. # Coordinated attributive first names # ----------------------------------- SELECT (Prop Attr) IF (NOT -1 Prop)(1 CC)(2 (Prop Attr))(3 (N Prop)); ## Dál leaba Brita ja Ove Kĺven. # Adjectives as predicates # ======================== # Two rules to avoid removing infinitive: REMOVE VGen IF (*-1 COPULAS BARRIER NON-ADV-INDEF)(0 Attr)(1 N OR EOS); REMOVE VFIN IF (*-1 COPULAS BARRIER NON-ADV-INDEF)(0 Attr)(1 N OR EOS); SELECT (A Sg Nom) IF (*-1 COPULAS BARRIER NON-ADV-PCLE LINK *-1 (N Sg Nom) OR (Pron Sg Nom) OR (Sg3 Nom) BARRIER NON-ADV-PCLE); ## Dat geaidnu lea govdat mii doalvu gád1ohussii. # sjekk og lag regel for Pl! SELECT A IF (*-1 COPULAS BARRIER NON-ADV-INDEF)(NOT 0 VERB OR N) (1 N OR EOS); # sjekk! SELECT A IF (-2 (N Sg Nom))(-1 ("leat" Sg3))(NOT 0 N OR PrfPrc OR Inf) (NOT 0 Ill LINK 1 PrfPrc); ## Ikte lei hui buolas1. ## Joddu suhppejuvvo go doaris lea gárvvis. ## Go joddu lea c1áhcái boahtán,... # See the last condition! SELECT A IF (-2 BOS)(-1 ("leat" V Ind))(1 ("ahte")); # Sjekk spesielt, var Adv!! ## Lea duohta, ahte mán1ggas eai oz1z1on oastit eatnama. REMOVE Attr IF (0 A)(1 COMMA)(NOT 2 A OR PrsPrc); ## Jos dat ii leat vejolas1, de mii fertet mannat. REMOVE Attr IF (0 A)(NOT 1 A OR N OR CC OR COMMA); ## Vuolgit lea suohtas. REMOVE Attr IF (0 A-CASE OR Adv)(1 CC)(NOT *2 N BARRIER NP-BORDER); ## Guovlu lea 1500 km guhkkosas1 ja 300 km govdosas1. REMOVE (A Gen) IF (*-1 COPULAS BARRIER NON-ADV-PCLE)(1 Inf); ## Lea hávski oaz1z1ut reivve. REMOVE (A Sg Nom) IF (0 (A Attr))(*1C N BARRIER NON-Attr); # When 1 = object predicative, this is a bad rule. Perhaps: # (-1 COPULAS)? Keep it in mind. - Also compare first rule of Attribute disambiguation. SELECT (A Sg Nom) IF (*-1 COPULAS BARRIER NON-ADV LINK 0 V-SG3)(NOT -1 Gen) (NOT 0 Inf OR Attr)(NOT 0 Adv LINK *1 VERB BARRIER NON-ADV)(NOT 1 PrfPrc); ## Buod1d1u lea dál gárvvis. ## Dalle lea lunddolas1, ahte... SELECT (A Pl Nom) IF (*-1 COPULAS BARRIER NON-ADV LINK 0 V-PL3)(NOT 0 N) (NOT 1 PrfPrc OR ("go" Pcle)); ## Died1ut mat leat dárbbas1lac1c1at deavdin dihtii vánhenovddasvástadusa... ## Álgohálduiváldin galgá leat gárz1z1it go geavahus dolos1 áiggi rájes. # Verbs are disambiguated later -'leat' in the last example is an infinitive. But the # last part of the rule fixes the last example. SELECT (A Sg Nom) IF (-1 (N Sg Nom) LINK *-1 COPULAS BARRIER NPNHA LINK NOT 0 Pl3) (NOT 0 N OR Inf); SELECT (A Pl Nom) IF (-1 (N Pl Nom) LINK *-1 COPULAS BARRIER NPNHA)(NOT 0 Inf) (NOT 1 PrfPrc); ## De lea cihca gárvvis. ## Dán oktavuod1as leat dolos1 geavahusa njuolggadusat miellagiddevac1c1at. # Comparatives # ------------ REMOVE Gen IF (0 Comp)(*1 HNOUN BARRIER NPNH LINK 0 NON-GEN); # Try this form. REMOVE Acc IF (0 Comp)(1 N)(NOT 1 (N Acc)); REMOVE Nom IF (0 Comp)(1 N)(NOT 1 (N Nom)); ## Dat lea died1áhus sámepolitihka bajit linjáid birra. # This block of rules is there to ensure case agreement for attributive # comparatives. SELECT Comp IF (NOT -1 ("nu") OR CC) (*1 ("go" Pcle) BARRIER NON-N); ## Son lea buoret go mun. ## Dáz1at navde Finnmárkku buoret guovlun go iez1aset ruovttubáiki. SELECT Comp IF (-1 ("mihá")); REMOVE Comp IF (-1 ("nu"))(*1 ("go") BARRIER NON-N); ## C1almmit leat aiddo nu baskit go láhka suovvá. REMOVE Adv IF (*-1 ("go" Pcle) BARRIER NPNH OR CC)(*1 N BARRIER NON-ADJ-CC); ## Alimusriekti ii badjelgeahc1c1ange sápmelac1c1aid nu sakka go vuolit ## instánssa duopmu. # And now a rule for adverbs that modify adjectives # ------------------------------------------------- SELECT Adv IF (-1 NON-NP)(NOT 0 VERB)(1C A); # ============================= # # Disambiguating verbs - part 1 # # ============================= # CONSTRAINTS # # ============================= # # In this section, we include safe verbal rules, rules that should come before # the nominal rules. Two things may be done to improve this: # 1. These rules may be moved to the front of the cycle, before other POS # 2. More safe V rules may be moved earlier in the rule file. # Selecting some finite verb forms # -------------------------------- SELECT Sg1 IF (*-1 MUN BARRIER CS LINK NOT *-1 V-SG1 BARRIER NON-ADV-PCLE) (NOT 0 PrfPrc LINK *-1 V-SG1 BARRIER NON-ADV-PCLE) (NOT 0 PrfPrc LINK *-1 ("leat")); ## Mun dud1an danin buktit moadde ovdamearkka. ## Dego mun dás vuollelis mottiin ovdamearkkain c1ájehan,... SELECT Pl1 IF (*-1 MII-PERS BARRIER NON-ADV-PCLE LINK NOT *-1 V-PL1 BARRIER CS); ## ...nugo mii ge ándagassii addit velgolac1c1aidasamet. SELECT VFIN IF (0 VERB)(1 ("ba"))(2 Nom); ## Galgat ba mii oastit láibbi guovttec1uod1i denara ovddas? # ConNeg forms # ------------ SELECT (Imprt ConNeg) IF (*-1 (Neg Imprt) BARRIER VFIN OR ConNeg OR CS OR CP); SELECT (Ind ConNeg) IF (*-1 (Neg Ind) BARRIER VFIN OR ConNeg OR PrfPrc OR CS OR CP); SELECT (Cond ConNeg) IF (*-1 (Neg Ind) BARRIER VFIN OR ConNeg OR CS OR CP); REMOVE ConNeg IF (NOT *-1 Neg BARRIER CS OR ("go")); SELECT (Imprt ConNeg) IF (*-1 CC BARRIER NON-ADV LINK *-1 (Imprt ConNeg) BARRIER VERB); SELECT (Ind ConNeg) IF (*-1 CC BARRIER NON-ADV LINK *-1 (Ind ConNeg) BARRIER VERB); # Need more advanced rule to select ConNeg when more # material between neg and conneg. # SELECT (ConNeg IF (0 LEAT) (*-1 Neg); REMOVE VGen IF (NOT *-1 V-IND-FIN BARRIER CLB OR CS) (Not *1 V-IND-FIN BARRIER CLB OR CS); # too sloppy, but a bit better with the barrier... REMOVE ConNeg IF (NOT *-1 (Neg) BARRIER CLB OR V-IND-FIN); REMOVE Imprt IF (*-1 (Neg Ind) BARRIER CLB OR V-IND-FIN); REMOVE Imprt IF (*-1 ConNeg BARRIER VFIN OR COMMA OR CS OR CP); REMOVE Prs IF (*-1 (Neg Imprt) BARRIER CLB OR V-IND-FIN)(0 (ConNeg)); # Infinitive # ---------- SELECT Inf IF (*-1 (Neg Sup) BARRIER CLB); SELECT Inf IF (*-1 ("amas" CS) BARRIER VERB); # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Rules that prevent later selection of Inf for a finite verb in the frame # # INF-VERB...CC... ____ # # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # REMOVE Inf IF (*-1 (N Nom) OR (Pron Nom) BARRIER NPNH LINK -1 CC) (NOT -1 INF-VERB OR A); REMOVE Inf IF (*-1 (Num Nom) BARRIER NON-NA LINK -1 CC LINK NOT *-1 Inf OR INF-VERB BARRIER VFIN); REMOVE Inf IF (-1 CC LINK NOT *-1 Inf); # Barrier? REMOVE Inf IF (-3 (A Attr))(-2 CC)(-1 PrfPrc)(0 N); ## ## Mearrasápmelac1c1at ledje án1giris ja oahppan bivdit. # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # # Now we select Inf (the first rule seems much better without the NOT 0 Adv)# # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # SELECT Inf IF (*-1 INF-VERB BARRIER CS OR CLB OR CP OR Neg);#(NOT 0 Adv); ## Skuvla galggai oahpahit sámemánáide dárogiela. ## Pros1eavtta áigut c1ad1ahit. SELECT Inf IF (-2 Inf)(-1 COMMA)(1 COMMA OR CC); # This rule looks backwards across a relative clause: SELECT Inf IF (*-1 VFIN BARRIER CS OR CP OR CONTRA LINK *-1 (Pron Interr) BARRIER CS LINK *-1 INF-VERB BARRIER VFIN OR CS OR CP); SELECT Inf IF (*-1 ACC-INF-VERB BARRIER Inf OR CS OR CP OR Nom OR Neg); SELECT Inf IF (-1 (A Nom))(*-2 COPULAS BARRIER NON-ADV-PCLE); SELECT Inf IF (*-1 ("leat") BARRIER NON-ADV-PCLE OR CLB LINK *-1 Loc BARRIER NON-ADV-PCLE); # Perfect Participle # ------------------- SELECT PrfPrc IF (*-1 Neg BARRIER CONTRA OR VFIN); # This rule also hits "Ii leat boahtán", but that is OK. SELECT PrfPrc IF (*-1 VFIN BARRIER CLB OR CS)(NOT 0 Actio) (NOT *-1 CC BARRIER VFIN); ## Mun lean muitalan. ## Mun muitalan ja muitalan. # Hmm: PrfPrc if there is not a Sg1 to the left, but if there is a CC to # the right of a possible Sg1, then we forget about the Sg1. SELECT PrfPrc IF (*-1 VFIN BARRIER Nom OR V OR CS OR CC OR CLB OR PUNCT) (NOT 0 Actio); ## Mun lean muitalan dan. REMOVE (V Sg1) IF (*-1 ("leat") BARRIER NON-ADV-PCLE); REMOVE Foc IF (0 Actio); # Further qualification may be needed. The idea is to avoid focus reading of # oahpahan etc. Seems best to have this rule early. # Old rules, remove asap. #SELECT PrfPrc IF (0 LEAN) (-1 (Neg)); #SELECT PrfPrc IF (*-1 VFIN-NOT-IMP); # Too general!! #SELECT PrfPrc IF (-1 NP-BORDER)(0 Pass)(1 CNOUN); # ==================== # # Disambiguating nouns # # ==================== # CONSTRAINTS # # ==================== # # Proper nouns # ============ # Prop or not # ----------- SELECT Prop IF (NOT *-1 BOS OR (":") OR (""") BARRIER WORD)(NOT 0 ("de")); # Capitalised nouns in the middle of a sentence are names. # Jesus dajai: "Lea c1állojuvvon: ..." # The final part of the rule is to avoid name reading of "de Romsa" etc. # But it would be better to list "de Silva" etc. as two-part names. # Prop as Attr or not # ------------------- REMOVE Attr IF (0 Prop)(NOT 0 A)(NOT 1 Prop OR INITIAL); ## Trond Trosterud lea dál. ## Olles doaibmaviessu lea sullii 2300 njealjehasmetera. # Note: the rule for selecting attribute reading of surnames is given # in the section on adjectives. SELECT Attr IF (0 Prop)(1 INITIAL)(2 Prop); ## Mathis K. Sara. SELECT Attr IF (0 Prop)(1C (N Prop))(NOT 1 ("Romsa")) ; ## Rolf Arne Berg. # Choosing between different proper nouns # --------------------------------------- # Johanas SELECT ("Johanas" Nom) IF (1 V-SG3)(*1 VFIN-NON-AUX); ## Daid beivviid gásttas1eaddji Johanas bod1ii ja sárdnidis1god1ii. # Lassi REMOVE Prop IF (-1 BOS)(0 ("Lassi")); ## Lassin nammadii direktevra guokte bargi. # Nilse vs. Nilsen REMOVE ("Nilse") IF (0 ("Nilsen" N Prop Sg Nom)); ## Tor Nilsen lea boahtán. # Norga vs. Norge REMOVE ("Norge") IF (0 ("Norga")); ## Mun vuolggán Norgii. # Case disambiguation # =================== # =========== # # Early rules # # =========== # CONSTRAINTS # # =========== # # Genitive # -------- # Genitive after quantifier # - - - - - - - - - - - - - SELECT Gen IF (*-1C NUMERALS BARRIER NPNH OR Gen LINK NOT 0 Ord)(NOT 0 VERB); # Gen as barrier because of: ## Dan eatnamis oaz1z1u ovtta gusa fuod1d1ara. # SELECT Gen IF (NOT -2 Pr)(-1 NUMERALS); ## Dat leat golbma nieidda. ## Dál leat mán1ga nieidda ## Ovdal 1920 orru guovtti goalmmátoasis ohcamiin nu geavvan. # Genitive in front of postposition # - - - - - - - - - - - - - - - - - SELECT Gen IF (NOT 0 Adv OR PrfPrc)(1 Po); ## Dat lea nieidda dihte, nieidda birra. # As it stands, this rule has no conditions. So, what errors will we get? SELECT Gen IF (-1 PrfPrc)(0 Actio)(1 Po); ## Lean boahtán lohkan dihtii od1d1asiid. # Genitive after preposition # - - - - - - - - - - - - - SELECT Gen IF (*-1 Pr BARRIER NPNH)(NOT 0 VFIN)(1 NP-BORDER OR CC OR COMMA); ## Earret mu ii giige lea boahtán. ## Sáhka su birra viidánii miehtá Syria, ja ... # Genitive inside DP # - - - - - - - - - SELECT Gen IF (*-1 (Dem Pl Ill) BARRIER NPNH)(*1 (N Pl Ill) BARRIER NON-NP); ## Dearvvas1vuod1aregisttarláhka gusto daidda dearvvas1vuod1a- ## hálddahusa dearvvas1vuod1adied1uid gied1ahallamiidda. SELECT Gen IF (*-1 ("oktan") OR ("ovttas") BARRIER NPNH)(*1 (N Com) BARRIER NON-NP); ## Eamiálbmotguovddáz1a ásaheami sáhttá geahc1c1at ovttas universitehta ## Áivan dutkamiid guovddáz1a ohcamiin. # Accusative after actio (exceptions to next rule) # - - - - - - - - - - - - - - - - - - - - - - - - SELECT Acc IF (*-1C Actio BARRIER Nom OR VERB OR CS OR CP LINK NOT 0 Cmpnd) (NOT -1 CC LINK -1 Actio)(NOT 0 TIME)(1 NP-BORDER)(NOT 1 N); ## ... diehtin dihtii iez1as dili ja veahki sisdoalu. # Genitive in clause without full verb REMOVE Acc IF (NOT *-1 V-NON-AUX BARRIER CS OR CP)(NOT 0 TIME) (NOT *1 V-NON-AUX BARRIER CS OR CP); # Genitive in front of 'oktavuod1as' SELECT Gen IF (1 PREGEN); # Coordination # - - - - - - SELECT Gen IF (1 CC)(*2 NP-HEAD-GEN BARRIER NON-ADJ LINK 1 Po OR PREGEN); SELECT Gen IF (1 COMMA)(*2C NP-HEAD-GEN BARRIER NPNH LINK 1 CC); # Various # ------- REMOVE Nom IF (*-1 (Pron Dem Acc) OR (Pron Dem Gen) BARRIER NON-ADJ); ## Dan ás1s1i ferte dutkat. REMOVE Nom IF (*-1 Nom)(NOT 0 NUMERALS)(1C Actio); REMOVE (Nom Sg) IF (*-1 V-NOT-SG3 BARRIER CC)(NOT *-1 COPULAS OR Pass BARRIER V) (0 (N Sg Acc) OR (N Sg Gen))(NOT *1 CC)(NOT *1 V-SG3); ## C1uovvovas1 seminára cealkagat govahallet seminára loahppabohtosa. ## Dat leamas1 vissa gobmi. ## Eai das leat go áibbas moadde c1uoldda. REMOVE Acc IF (-1 ("leat"))(1 EOS); ## Dát lea áhc1i. # Accusative object with secondary predicate # -------------------------------------- REMOVE Gen IF (*-1 OPRED-VERB BARRIER NPNH)(1 Ess); # Nominative or Accusative # ------------------------ REMOVE Gen IF (-1 BOS)(1 Adv)(NOT 1 N); ## Dan maid dalle dárbbas1a fievrridit. REMOVE Gen IF (NOT *-1 Pr OR NUMERALS BARRIER NPNH)(NOT -1 ("mii")) (NOT 0 TIME OR ROUTE)(1C NP-BORDER); ## Eai lean váldán go niestebohcco. # =========== # CONSTRAINTS # # =========== # # Nominative # ========== SELECT (N Nom) IF (*-1 (Dem Nom) BARRIER NON-ADJ)(NOT 0 ("leapma" Dimin)); REMOVE (N Nom) IF (*-1 (Pers Nom) BARRIER NON-ADJ); # Nominative in titles and sentence fragments # - - - - - - - - - - - - - - - - - - - - - - # A single word is nominative SELECT Nom IF (-1 BOS)(NOT 0 VFIN)(0 N OR A OR Pron)(1 EOS); ## Katja. # An NP head with a genitive modifier is nominative SELECT Nom IF (-2 BOS)(-1 Gen)(0C N)(1 EOS); # An NP head with an Attr modifier is nominative. SELECT Nom IF (-2 BOS)(-1 Attr)(1 EOS); # An NP head with a nominative Pron Dem modifier is nominative SELECT Nom IF (-2 BOS)(-1 (Pron Dem Sg Nom))(0 Sg) (*1 V-SG3 BARRIER NON-ADV); ## Dat died1us mielddisbuvtii ahte ... # A numeral preceded by a Nom demonstrative is nominative SELECT (Num Nom) IF (-1 (Dem Sg Nom)); # Nominative subjects # ------------------- # Find the subject, and assume it is nominative # Ordinary preverbal subjects # - - - - - - - - - - - - - - SELECT Nom IF (*-1 CS OR BOS OR CC OR (Interr Sg) BARRIER NPNH)(0 Sg) (NOT 0 Adv OR Loc)(1C V-SG3); ## Died1án, ahte plána movttiidahttá dan. SELECT Nom IF (*-1 CS OR BOS OR CC BARRIER NPNH)(0 Pl)(NOT 0 Adv)(1 V-PL3); # ... and the same in pl.. SELECT Nom IF (*-1 CS OR BOS BARRIER NON-ADV)(0 NUMERALS) (*1 (V Pl3) BARRIER CS)(NOT *1 Nom BARRIER CS); SELECT Nom IF (0 NOTIME OR Pron)(NOT 0 ("leat"))(NOT 1 CC LINK 1 VFIN) (*1C V-PASS BARRIER V-NON-AUX OR NP-HEAD OR Po OR CS OR CLB LINK NOT 0 Inf); ## Váfistan dihte od1d1a bargovugiid lea komitea viiddiduvvon. ## Bus1eahtas lea sullii 650.000 ruvnno leamas1 várrejuvvon dáidda. ## Dat guhte osku ja gásttas1uvvo, bestojuvvo. REMOVE Nom IF (-1 BOS)(NOT 0 (Pron Pers))(1C V-1-2); ## Dan oainnán viesu duohkin. ## Moai c1ilge dan ás1s1i dutnje. # Vocatives, subjects of sentence fragments # - - - - - - - - - - - - - - - - - - - - - SELECT Nom IF (-1 BOS OR (":"))(0 Prop)(1 COMMA); ## Biera, du sabehiid! # Nominative after 'dego' # - - - - - - - - - - - - SELECT Nom IF (*-1 ("dego") BARRIER NPNH)(1 NP-BORDER OR CLB); SELECT Nom IF (-2 ("dego"))(-1 Gen)(1 NP-BORDER); REMOVE Imprt IF (*-1 ("dego") BARRIER VFIN OR CS OR CP); # Coordinated subjects # - - - - - - - - - - SELECT Nom IF (*-1 CC BARRIER NPNHAI LINK -1C Nom)(1 NP-BORDER); ## Bror Berg ja Per Mikael Utsi leaba ruovttus. ## Bivdoearrái gullet diksu ja dorski. SELECT Nom IF (1 CC)(*2C Nom BARRIER NPNHAI LINK 1 NP-BORDER); ## Per Mikael Utsi ja Bror Berg leaba ruovttus. ## Bivdoearrái gullet dorski ja diksu. SELECT Nom IF (1 CC)(2C (Pron Nom))(3 (Pron Nom)); ## Gonagas Agrippa ja dii buohkat geat lehpet dás minguin! SELECT Nom IF (*-1 COMMA BARRIER NPNHAI LINK -1 Nom)(1 CC); # Postverbal subjects # - - - - - - - - - - # Singular SELECT (Sg Nom) IF (*-1 V-SG3 BARRIER NPNHAIIP LINK NOT 0 (Imprt Sg2) LINK *-1 BOS OR CS OR CLB BARRIER Nom)(0 (N Sg) OR (Pron Pers Sg) OR (Pron Interr Sg))(NOT 0 PrfPrc)(NOT 1 Po)(Not 0 Gen); ## Dat lei 1827s, muitalii muhtin mátkkos1teaddji midjiide. ## Riikkaid galgá Piera oaidnit. # Plural SELECT (Pl Nom) IF (*-1 V-PL3 BARRIER NPNHAIIP LINK *-1 BOS OR CLB BARRIER Nom) (0 (N Pl) or (Pron Pers Pl) OR (Pron Interr Pl))(NOT 0 PrfPrc); ## 1995:s gárvánedje rádiobuvttadeapmái lanjat. # Coordinated nominatives - Could we simplify somewhat - see above? # - - - - - - - - - - - - SELECT Nom IF (*-1 (V Pl3) BARRIER NPNH LINK NOT *-1 (Pl Nom) OR (Pl3 Nom) BARRIER CS OR CP)(1 CC)(*2 Nom BARRIER NPNH); SELECT Nom IF (*-1 CC BARRIER NPNHC OR PUNCT LINK -1 Nom)(0C N OR Num)(1 NP-BORDER); # Nominative predicatives # - - - - - - - - - - - - # Here, we handle both nouns and adjectives. REMOVE A IF (NOT *-1 COPULAS OR OPRED-VERB BARRIER V-NON-AUX)(0 N)(1 CLB) (NOT 2 A OR PrsPrc); ## Sii dahke sámi kultuvrra oainnusin. ## De lea cihca gárvvis. # This rule has to follow identification of subject. # Case disambiguation of predicatives # ----------------------------------- SELECT Nom IF (*-1 COPULAS BARRIER VERB OR CP OR CS OR NP-HEAD-NOM)(0 NP-HEAD) (NOT 0 PrfPrc)(1C NP-BORDER); ## Dasgo dus boahtá oaivámus1 gii lea mu álbmoga Israela báimman. ## Dii lehpet máilmmi c1uovggas! ## Ládju lea stuoris, muhto bargit uhccán. SELECT Nom IF (*-1 ("leat" V Sg1) BARRIER NPNH OR PrfPrc LINK *-1 MUN BARRIER NON-ADV-PCLE) (NOT 0 PrfPrc)(NOT *1 PrfPrc); SELECT Nom IF (*-1 ("leat" V Sg2) BARRIER NPNH OR PrfPrc LINK *-1 DON BARRIER NON-ADV-PCLE) (NOT 0 PrfPrc)(NOT *1 PrfPrc); ## Mun lean Anna. Don leat Anna. SELECT (Pl Nom) IF (*-1 ("leat" V Pl3) BARRIER NPNH LINK *-1 (Pl Nom) BARRIER NON-ADV-PCLE)(NOT 0 PrfPrc); SELECT Nom IF (-2 Nom)(-1 COPULAS)(0 A)(NOT 0 PrfPrc)(1 EOS OR ("go")); ## Biilla ivdni lea vielgat. ## Biilla ivdni lea vielgadeabbo go mielki. SELECT Nom IF (-2 Nom)(-1 COPULAS)(0 A)(NOT 0 PrfPrc)(1 CC)(2 A); ## Viessu lea vielgat ja ruksat. SELECT Nom IF (-4 Nom)(-3 COPULAS)(-2 A)(-1 CC)(0 A)(NOT 0 PrfPrc)(1 EOS); ## Viessu lea vielgat ja ruksat. SELECT Nom IF (-3 BOS)(-2 Nom)(-1 ("leat"))(NOT 0 PrfPrc)(1 EOS); ## Mun lean Bond. ## Mun lean gánda. SELECT Nom IF (-2 NP-HEAD-SG-NOM)(-1 ("leat" V Sg3))(NOT 0 VERB OR Adv OR Ill OR Num) (NOT *1 Nom BARRIER NPNH); SELECT Nom IF (-4 BOS)(-3 Nom)(-2 ("leat"))(-1 Prop OR (ABBR))(NOT 0 PrfPrc) (1 NP-BORDER); SELECT Nom IF (*-5 BOS BARRIER NPNH)(-4 Nom)(-3 ("leat")) (-2 Prop OR (ABBR))(-1 Prop)(0 Prop)(1 NP-BORDER); SELECT Nom IF (*-6 BOS BARRIER NPNH)(-5 Nom)(-4 ("leat")) (-3 Prop OR (ABBR))(-2 Prop)(-1 Prop)(0 Prop)(1 NP-BORDER); ## Mun lean James Bond. ## Mun in leat James Bond. ## Mu namma lea Jo Ann Ba Doe. # Again, these rules are too specific. Need empirical data to enlarge them. # What is needed is linking both to copula and to clause border. SELECT Nom IF (-2 NP-HEAD-SG-NOM)(-1 COPULAS + (V Sg))(1 EOS); ## Tor lea oahpaheaddji. #SELECT (N Sg Nom) IF (*-1 V-SG3 LINK NOT *-1 NP-HEAD-SG-NOM) # (NOT -1 NP-HEAD-SG-NOM) # (NOT 0 PrfPrc)(1 EOS); SELECT Nom IF (*-1 COPULAS BARRIER V-NON-AUX OR CS OR CC)(NOT 0 VERB OR Adv OR Ill) (*1 CLB OR CS BARRIER NP-HEAD OR (A Nom)); # Nominative as objects in existential clauses # -------------------------------------------- REMOVE Acc IF (-2 Loc)(-1 ("leat"))(NOT *1 V); # Mus lea golli. SELECT Nom IF (-2 Loc)(-1 ("leat"))(1 EOS); # Mus lea golli. # Unclassified # - - - - - - SELECT Nom IF (-1 Gen)(NOT -1 (Pron Dem Gen))(0 N-SG-NOM)(NOT 0 PrfPrc)(1 V-SG3); ## Du ás1s1i lea dehalas1. ## Dan ás1s1i ferte dutkat. # HMM, brave.. - but it seems to work! # Note that the tag is selected, the set is in the condition. # Nominative if two names in a row SELECT Nom IF (-1 PROP) (0 PROP) (1 V-SG3); # Biret Anne galgá mannat. # Rules for disambiguation around conjunctions, in coordination # ------------------------------------------------------------- SELECT Nom IF (-2C N-NOM)(-1 CC)(NOT 0 PrfPrc)(NOT 1 Gen OR (Prop Attr)); ## Trond ja Kirsti leat dál. Bror Berg ja Per Mikael Utsi leat ruovttus. SELECT Nom IF (1 CC)(2C N-NOM); # Kirsti ja Trond leat dál. REMOVE Gen IF (0 N)(1 CC)(2 (Pron Sg3 Gen)); ## Jos1iai riegádii. # Peters and Pauls friend OK. ## Jekonja ja su vieljat leat dál. # These are not good: #SELECT Nom IF (-2 (Nom Cmpnd)) (-1 CC); #SELECT Gen IF (-2 (Gen Cmpnd)) (-1 CC); #SELECT Acc IF (-2 (Acc Cmpnd)) (-1 CC); # Nominative plural # ================= CONSTRAINTS # ================= # Nominative plural is also covered by many of the rules found in the general # Nominative section above. Rules related to Nominative plural but #not# No- # minative singular should go here. # Postverbal predicative SELECT (Pl Nom) IF (*-1 LEAT-DU-PL BARRIER NPNHAI LINK *-1 PPRON-DU-PL BARRIER NON-ADV-PCLE); ## Doai leahppi goappas1agat nu jallat. SELECT (Pl Nom) IF (*-1 ("leat" Du3) BARRIER NPNHAI LINK *-1 (N Sg Nom) BARRIER NON-ADV-PCLE LINK *-1 CC BARRIER NPNH LINK -1 (N Sg Nom)); ## Anne ja Biret leaba goappas1agat nu jallat. SELECT (Pl Nom) IF (*-1 ("leat" Pl3) BARRIER NPNHAI LINK *-1 (N Sg Nom) BARRIER NON-ADV-PCLE LINK *-1 CC BARRIER NPNH LINK -1 (N Sg Nom) LINK *-1 COMMA BARRIER NPNH LINK -1 (N Sg Nom)); ## Anne, Biret ja Cathrin leat nu jallat. SELECT (Pl Nom) IF (*-1 ("leat" Pl3) BARRIER NPNHAI LINK *-1 (N Pl Nom) BARRIER NON-ADV-PCLE); ## Mánát ge leat buot nu jallat. # Missing Du3 and Pl3 rules for coordinated subjects and pl subjects #SELECT (Pl Nom) IF (NOT *-1 (N Pl Nom))(*1 V-PL3 BARRIER () # LINK NOT *-1 CC); # Accusative # =========== # CONSTRAINTS # # =========== # # Topicalised object # ------------------ SELECT Acc IF (NOT *-1 VFIN BARRIER CS)(NOT -1 ("mii"))(NOT 0 Nom OR TIME OR ("leat")) (NOT 1 COMMA OR N)(*1 VFIN BARRIER NON-ADV-PCLE) (*1 V-NON-AUX-PASS BARRIER V-PASS OR CLB)(NOT 1 Actio) ; #check w/o care LINK NOT *1 Acc); ## Dan lean mun váldán. ## Dat leamas1 vissa gobmi. ## Min áiggi lea dat gildojuvvon. SELECT Acc IF (-1 BOS)(0 ("mii"))(1 (N Pl Gen))(2 NP-BORDER); SELECT Acc IF (*-1 (V Neg))(NOT 0 Nom) (*1 ConNeg OR PrfPrc BARRIER NON-ADV-PCLE LINK NOT *1 Acc); ## Ii go mánáid sáhte oahpahit dárogillii? REMOVE Gen IF (NOT -2 Gen)(-1 CC)(1C VFIN); ## Mus lea doaivu ja dan sáhttá c1állit c1uovvovac1c1at. REMOVE Gen IF (*-1 CLB BARRIER NON-CC)(1C VFIN); ## Mus lea doaivu, ja dan sáhttá c1állit c1uovvovac1c1at. REMOVE Gen IF (-1 CS)(1C VFIN); # No hits? ## Mun jáhkán, ahte dan sáhttá c1állit c1uovvovac1c1at. # The "1C" part is problematic, as this rule should have been placed # after the verb disambiguation. Keep in mind. REMOVE Gen IF (NOT *-1 Pr OR Num BARRIER NPNH)(1 CC)(2 NP-BORDER); REMOVE Nom IF (NOT *-1 (V Pl3) BARRIER CS)(0 NUMERALS)(NOT 1 CC) (NOT *1 (V Pl3) BARRIER CS); # Accusative between Aux and main verb # ------------------------------------ # In front of an infinitive SELECT Acc IF (*-1 VFIN BARRIER NPNHAI)(NOT 0 VERB)(NOT 0 Nom OR Adv OR TIME) (*1 Inf BARRIER NON-ADV-PCLE); ## Od1astus addá vejolas1vuod1a muitalit. ## Son lea beassan bargat. # changed V-IND-FIN to VFIN here and in subsequent rules. SELECT Acc IF (*-1 Nom BARRIER CS)(*-1 VFIN)(NOT 0 PrfPrc OR Nom OR Adv OR TIME) (1 Inf); SELECT Acc IF (*-1 VFIN BARRIER NPNH)(1 CC) ( *2 NP-HEAD BARRIER NPNH LINK 1 Inf); SELECT Acc IF (*-1 CC BARRIER NPNH LINK -1 NP-HEAD LINK *-1 VFIN BARRIER NPNH)(1 Inf); # In front of a participle SELECT Acc IF (*-1 LEAT-FIN-NON-IMP BARRIER NPNHAI)(NOT 0 Adv OR Nom OR TIME) (*1 ACT-PRFP BARRIER NON-ADV LINK NOT *1 ("leat" PrfPrc) BARRIER CS OR CP); ## Mun lean dan dahkan. ## Váfistan dihte bargovugiid lea komitea viiddiduvvon. ## Ruot1as leat guhká jo ságastallan dán ás1s1is. # Accusative postverbally # ----------------------- # Object only. SELECT Acc IF (*-1C V-NON-AUX BARRIER NPNHAIIP OR COMMA) (0 NP-HEAD)(NOT 0 PrfPrc or Adv or Dem or Nom)(NOT 0 TIME) (1 NP-BORDER OR (Num Nom))(NOT 1 Po) ; ## Oainnán du. ## In mun sálten nu olu. ## Dáz1at eai atnán sámiid buoret go beanan. ## Sii badjelgehc1c1e olbmo jos sámiin náitala. ## Son ráhkada gáhkuid hui buriid. ## Mun manan daid mánáidguin. ## Skuvla galggai oahpahit dárogiela vissis guovlluin. ## Berit lei oz1z1on permis1uvnna guovvamánu 22. b. ## Berit lei oz1z1on permis1uvnna 22.10. # earlier formulation: (NP-BORDER OR ADVLCASE OR Adv), which gives the wrong # result with ## Dat ii gal mearkkas1 ollu álbmoga ealáhussii. # Removed (1 NP-BORDER OR Adv OR TIME OR Attr) because of ## Fylka mearrida olugo galgá atnit sámi od1d1a leavgga. # The (Num Nom) is not optimal, we need to consider the Num Ord and Num Card # tagging. Now, 22. is given Num Ord and 22.10. is given Num Nom, this gives # the correct result, but is not satisfying, linguistically. # look at the NP-BORDER concept here... # NPNHAII there to include "indirect objects" # Added C to *-1C, to avoid interference from derived nouns. The problem will # become smaller as we improve the preprocessor. # The (1 Adv or Adj) is there to take care of object predicatives # Here is a set ofrules that were dismissed # (1 CLB OR Adv OR (A Comp) OR (A Superl) OR (A Attr) OR # ("go") OR CS OR PUNCT); # Extended copy of the previous rule: # This rule is to tolerate a PP between the verb and the object. SELECT Acc IF (*-1C Po BARRIER NPNHAIIP LINK -1 N OR Pron LINK *-1C V-NON-AUX BARRIER NPNHAIIP) (0 NP-HEAD)(NOT 0 PrfPrc or Adv OR TIME) (1 NP-BORDER OR ADVLCASE OR Adv) (NOT 1 Po) ; ## Ii olmmos1 gille guoddit, go beare deaivá dan mad1e bohcco ## ahte lea niesteseahkkaguoddi. REMOVE Nom IF (*-1 VFIN-NON-AUX BARRIER NPNHA OR PUNCT LINK *-1 NP-HEAD-SG-NOM OR NP-HEAD-PL-NOM BARRIER NON-ADV OR CLB); SELECT Acc IF (*-1C V-NON-AUX BARRIER NPNHAIIP OR COMMA) (0 NP-HEAD)(NOT 0 PrfPrc OR Adv OR Dem OR Inf ) (1 CC)(*2 VFIN BARRIER NON-ADV-NEG) ; ## Ovddemus dáidá oastit árppuid ja god1d1a firpmiid. # Could this rule be modified so that it accepts a subject between 0 and verb? REMOVE Gen IF (NOT *-1 Pr OR NUMERALS BARRIER NPNH)(0 N)(1 Dem); # Accusative sentence-finally # --------------------------- REMOVE Gen IF (NOT *-1 Pr OR Num OR CC BARRIER NPNH)(0 NOTIME OR Pron) (*1 CS OR CP OR EOS BARRIER NON-ADV-PCLE) ; ## Fylkka mearrida olugo galgá atnit sámi leavgga. ## C1uovvovas1 seminára cealkagat govahallet seminára loahppabohtosa. ## Man1n1il lea viessu viiddiduvvon guovtte geardde. # CC in the preceding rule because of coordination after Pr. The next rule # compensates for it. SELECT Acc IF (NOT *-1 Pr OR Num BARRIER NPNH)(0 NOTIME OR Pron)(NOT 0 Nom OR VERB) (*1 CLB BARRIER NON-ADV-PCLE LINK NOT *1 Gen BARRIER NPNH); REMOVE Gen IF (NOT *-1 Pr OR CC BARRIER NPNH)(-1 Gen)(0 NOTIME OR Pron) (*1 CLB BARRIER NON-ADV-PCLE); # Coordinated object # - - - - - - - - - # First part SELECT Acc IF (0 N)(1 CC)(*2C NP-HEAD-ACC BARRIER NPNHA OR Gen LINK 1 NP-BORDER) ; ## Dalle skáhppo biergasiid nugo firpmiid ja buod1d1omuoraid. # Only one problem found: ## Romssa universitehta sámi(*ACC) ja eamiálbmotguoskevas1 dutkama. SELECT Acc IF (*-1C V-NON-AUX BARRIER NPNHAII)(0 N)(1 CC) (*2C NP-HEAD-ACC BARRIER NPNH OR Gen); SELECT Acc IF (*-1C V-NON-AUX BARRIER NPNHAII)(0 Num)(1 CC) (2 Num LINK *1 N BARRIER NON-ADJ LINK 1 NP-BORDER) ; ## Ja de ráhkadit ovtta dahje moadde s1luppoha vel. # Second part SELECT Acc IF (*-1 CC BARRIER NPNH LINK -1 NP-HEAD-ACC LINK *-1 V-NON-AUX BARRIER NPNHAII)(0 N)(1 NP-BORDER); ## Oainnán vilges biilla ja rukses viesu. SELECT Acc IF (-1 CC LINK *-1C Acc BARRIER NON-NA OR CLB)(0 Num) ; ## Ja de ráhkadit ovtta dahje moadde s1luppoha vel. # Three coordinated objects # First part SELECT Acc IF (*-1 V-NON-AUX BARRIER NPNHAII)(0 N)(1 COMMA) ( *2 NP-HEAD-ACC BARRIER NPNHA LINK 1 CC LINK 1 NP-HEAD-ACC BARRIER NPNHA LINK 1 NP-BORDER); ## Jos juohká dáz1aid, sámiid ja láddelac1c1aid ies1 gud1et sadjái, ... # Second part SELECT Acc IF (*-1 COMMA BARRIER NPNH LINK -1 NP-HEAD-ACC LINK *-1 V-NON-AUX BARRIER NPNHAII)(0 N)(1 CC); # LINK 1 NP-HEAD-ACC BARRIER NPNHA LINK 1 NP-BORDER); ## Jos juohká dáz1aid, sámiid ja láddelac1c1aid ies1 gud1et sadjái, ... # Third part SELECT Acc IF (*-1 CC BARRIER NPNH LINK -1 NP-HEAD-ACC LINK -1 COMMA BARRIER NPNH LINK -1 NP-HEAD-ACC LINK *-1 V-NON-AUX BARRIER NPNHAII) (0 N)(1 NP-BORDER OR Gen); ## Jos juohká dáz1aid, sámiid ja láddelac1c1aid ies1 gud1et sadjái, ... ## Ferte vuhtiiváldit divs1s1ohasa dárbbuid, beros1tumiid ja riektesihkar- ## vuod1a dearvvas1vuod1abálvalusa ektui. # Accusative for a topicalised verb # --------------------------------- REMOVE Gen IF (@1 V-NON-AUX + Clt)(NOT -1 (N Acc)) (1 EOS OR CLB); ## C1ilgego moai dan? # This is not a good rule. Have more looks at it. # On the other hand side: With the addition (1 EOS) # it has become too careful. Thus, let's try with CLB as well. #REMOVE Gen IF (-1 VFIN)(0 N)(1 CLB); ## Joramii riegádii Ussia, Ussiai riegádii # The rule is too specific. ## Jotam. # - And not needed any more for these examples. # See rule under "Accusative sentence-finally"! # Numeral as object after postverbal subject # - - - - - - - - - - - - - - - - - - - - - SELECT Acc IF (-1 (N Nom) LINK *-1 VFIN BARRIER NPNHAIIP) (0 Num)(NOT 1 Po); ## Lassin nammadii direktevra guokte bargi ja ozai c1álli lávdegoddái # Accusative in time expressions # ------------------------------ #SELECT Acc IF (0 VAHKKU)(NOT 1 Po); # Too general! ## Min áiggi boaresolbmot muitaladdet ahte... # Object predicatives # ------------------- SELECT Acc IF (*-1 Acc BARRIER NPNHA)(0 A)(NOT 0 Adv)(1 CLB OR EOS OR CS); ## Dáz1at eai atnán sámiid buoret go beanan. # Not accusative # -------------- REMOVE Acc IF (NOT *-1 V-NON-AUX BARRIER CS OR CP)(NOT *1 V-NON-AUX BARRIER CS OR CP); ## Sápmelac1c1aid historjá álbmogin lea duháhiid jagiid boaris, muhto ## dálá ássanguovlluin sápmelac1c1at eai leat ássan nu guhká. # We need a verb for an obj. REMOVE Acc IF (NOT *-1 V-NON-AUX BARRIER CS OR CP) (*1 V-NON-AUX BARRIER CS OR CP LINK *1C Acc BARRIER CS OR CP); REMOVE (N Acc) IF (NOT 0 TIME OR ROUTE)(1 (Pron Pers Acc)); REMOVE Acc IF (*1 ("leat") BARRIER V-NON-AUX OR CS OR CP LINK *1 Ger BARRIER V-NON-AUX OR CS) ; ## Vihtta bivdovuogi leat Deanus luosa bivdidettiin. # An overly specific rule? And what about time expressions? REMOVE Acc IF (NOT *-1 V-NON-AUX BARRIER CS)(NOT 0 TIME) (*1 V-PASS BARRIER V-NON-AUX OR CS OR CP); REMOVE Acc IF (*-1 V-PASS BARRIER VFIN)(NOT 0 TIME)(NOT *1 V-NON-AUX BARRIER CS OR CP); ## Dál nannejuvvui girku sámeguovlluin. # Illative # ======== REMOVE (V Ind Prt Sg3) IF (-1 (N Gen))(0 Ill); ## Mud1ui gustojit seamma njuoggadusat sámi levgii. REMOVE (V Ind Prt Sg3) IF (*-1 Acc BARRIER NPNH LINK *-1 VFIN); ## Cokka láibbiid sehkkii. # Genitive # =========== CONSTRAINTS # =========== # Genitives that are complements of adpositions are dealt with in an earlier # cycle. # Genitive as specifier # --------------------- # Genitive in front of noun in the beginning of a sentence # - - - - - - - - - - - - - - - - - - - - - - - - - - - - REMOVE (N Acc) IF (-1 NP-BORDER)(NOT -1 V) (*1 N BARRIER NON-ADJ LINK *1 VFIN BARRIER CS); REMOVE (N Nom) IF (-1 NP-BORDER)(NOT 1 ("leat") OR Inf) (*1 N BARRIER NON-ADJ OR CLB LINK *1 VFIN BARRIER CS); ## Nieidda girji lea ruoksat. REMOVE Acc IF (NOT *-1 VERB BARRIER CS OR CP)(*1 Po BARRIER VERB); ## Romssa universitehta vuosttas1 c1ielgadeapmi sámi dutkama ja oahpahusa ## birra dahkkui 1988/89s. REMOVE (Pron Pers Acc) IF (-1 NP-BORDER)(*1 N BARRIER NON-Attr LINK *1 VFIN); #REMOVE (Pron Pers Nom) IF (-1 NP-BORDER)(*1C N BARRIER NON-Attr LINK *1 VFIN); ## Din viessu s1attai oppa stuoris. #REMOVE (Dem Acc) IF (-1 NP-BORDER)(NOT -1 V) # (*1 N BARRIER NON-ADJ LINK *1 VFIN BARRIER CS); ## Dan girji lea ruoksat. #REMOVE (Dem Nom) IF (-1 NP-BORDER) # (*1 N BARRIER NON-ADJ LINK *1 VFIN BARRIER CS); # Desse to var for nokre akkusativ-pronomen som skulle vore Gen, men no # finn eg dei ikkje att. SELECT Gen IF (*-1 BOS BARRIER NPNH)(NOT 0 ("mii" Interr) OR Dem OR Attr) (1C (N Nom) OR (N Acc)); # The 'select' rule was too powerful, we do 'remove' instead. #SELECT Gen IF (-1 NP-BORDER)(*1 N BARRIER NON-ADJ LINK *1 VFIN); REMOVE Gen IF (-1 CLB)(1 (Pron Pers))(*1 VFIN); ## Na, du mun lean oaidnán. REMOVE Gen IF (-1 BOS)(1 (Pron Pers))(*1 VFIN); ## Du mun lean oaidnán. REMOVE Gen IF (0 Adv)(NOT 0 TIME)(NOT *-1 Pr BARRIER NPNH) (NOT *1 Po BARRIER NON-NP) (NOT *1 N BARRIER NON-NP) ; # Genitive in nominal phrase between finite and nonfinite verb # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELECT Gen IF (*-1 VFIN BARRIER NON-ADV-PCLE)(NOT 0 Nom OR Dem OR VGen OR PrfPrc) (*1 (N Nom) OR (N Acc) BARRIER NPNH OR CC OR PUNCT LINK *1 Inf OR PrfPrc OR (Actio Ess) OR CLB BARRIER NON-ADV-PCLE); # Genitive in front of noun at the end of a sentence # - - - - - - - - - - - - - - - - - - - - - - - - - SELECT Gen IF (NOT 0 Dem OR Attr OR VERB)(*1C Acc BARRIER NPNH OR CC LINK 1 EOS); ## Fylkka mearrida olugo galgá atnit sámi od1d1a leavgga. ## Ulbmiliin lea nannet sámegiela máhtolas1vuod1a Sámedikki organisas1uvnnas. ## Ulbmiliin lea duohtan dahkat sámegiela geavaheapmi Sámedikkis. # Genitive in front of the final word in the sentence, or: NP-initially # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELECT Gen IF (0C CNOUN)(*1C (N Acc) BARRIER NPNH) (2 NP-BORDER OR ADVLCASE); # earlier: (2 CLB); ## Oainnán nieidda biilla. ## Oainnán nieidda biillas. SELECT Gen IF (0C (Pron Pers))(*1 Acc BARRIER NPNH LINK 1 CLB); ## Oainnán su od1d1a biilla. # Unify these? Look at the effect of each and one of them. SELECT Gen IF (0C (N Prop) )(*1C CNOUN BARRIER NPNH LINK 1 CLB); ## Oainnán Uria biilla. SELECT Gen IF (NOT 0 A)(*1 (N Acc) BARRIER NPNH OR CC LINK 1 PrfPrc); ## Mun lean du biilla oaidnán. REMOVE Acc IF (-1 CLB)(NOT 0 Interr)(*1 Nom BARRIER NPNH); # Specifier disambiguation in coordination constructions # - - - - - - - - - - - - - - - - - - - - - - - - - - - REMOVE Acc IF (-1 CC)(*1C (N Nom) BARRIER NPNH); SELECT Gen IF (-1 CC)(*1 Gen BARRIER NPNH LINK 1 NP-BORDER); SELECT Gen IF (-2 Ill)(-1 CC)(*1 Ill BARRIER NPNH); SELECT Gen IF (-2 Com)(-1 CC)(*1 Com BARRIER NPNH); SELECT Gen IF (-2 Loc)(-1 CC)(*1 Loc BARRIER NPNH); SELECT Gen IF (-2 Ess)(-1 CC)(*1 Ess BARRIER NPNH); ## Suoma sisafárrejeaddjiide ja sin man1isboahttiide. # Genitive inside a two-part Po # ----------------------------- SELECT Gen IF (-1 POST-A)(1 N)(2 POST-B); ## Nu leat 40 buolvva Dávveda rájes Babylonia fán1gavuod1a rádjái. #REMOVE Acc IF (-1 BOS)(1 (N Gen) OR (Attr) OR PPOS) ; ## Mu birra don humat. # This should be covered by the others... Check. # Genitive relative pronouns # -------------------------- SELECT (Pron Interr Gen) IF (1 N) (*1 COPULAS BARRIER CLB) (NOT *1 V-NON-AUX-PASS BARRIER CLB); ## Oidnen mátkkos1teaddji, gean namma lei Keilhau. # Genitive as agent of Actio # -------------------------- SELECT Gen IF (-1 BOS)(0 Interr)(1 Actio); # Genitive in time expressions # ---------------------------- # A 'measure' time adverbial is Acc, others are Gen. # Genitive if cardinal number SELECT Gen IF (0 Card)(1 (N Gen)); ## Dat lea duháhiid jagiid boaris. SELECT Gen IF (-1 ("seammá" Attr))(0 TIME); # Other attributes similar? SELECT Gen IF (0 MANNU)(1 (Num Ord)); ## Dál lea miessemánu 1. beaivvi. SELECT Gen IF (-1 Ord)(0 ("beaivi")); SELECT Gen IF (0 ("jahki"))(1 Num); SELECT Gen IF (1 ("áigi")); SELECT Gen IF (-1 Gen)(0 ("áigi")); # "áigi" can be an accusative object, but then there is in most cases no genitive # in front - cf. 'dárbbas1a guhkit áiggi', 'gáibida olu áiggi' vs. 'dulvvi áiggi'. SELECT Gen IF (0 ("hávvi"))(*1C Acc BARRIER CS OR CP); SELECT Gen IF (NOT *-1 V-NON-AUX BARRIER CS OR CP)(0 ("hávvi")) (*1 V-PASS BARRIER V-NON-AUX OR CS OR CP); SELECT Gen IF (*-1 V-PASS BARRIER VFIN)(0 ("hávvi"))(NOT *1 V-NON-AUX BARRIER CS OR CP); # The time expression hávvi is not Acc, but the problem is the homonymous noun. # Genitive in place adverbials # ---------------------------- SELECT Gen IF (*-1 MOVEMENT-VERB BARRIER NPNHA)(0 ROUTE); # Genitive in proper name sequences # --------------------------------- REMOVE Acc IF (0 Prop)(1 Prop); ## Dat lea Norgga Röros ja Máhte Piera. # Hmm, very general indeed! # Genitive after "mii" # ------------------- SELECT (N Pl Gen) IF (-1 ("mii"))(1 NP-BORDER)(*1 ("?")); ## Maid ipmas1iid doppe dagat? # Embedded questions are also possible, but harder to formulate a rule. # Locative singular # ================= # CONSTRAINTS # ================= # SELECT (Pl Loc) IF (*-1C (Dem Pl Loc));# BARRIER? # 'Dain' is unambiguosly (Pl Loc). 'Dainna' is not. SELECT Loc IF (*-1 BOS OR CS BARRIER NPNHAI)(NOT 0 (A Nom)) (*1 ("leat") BARRIER NON-ADV-NEG); ## Ádjásgo lea od1d1a fanas. ## Suomas maid lei dilli váttis. ## Lágas eai leat mearrádusat. ## Daningo sámiin lea iez1aset giella. # SELECT Loc IF (1 COPULAS)(*2 NP-HEAD-NOM BARRIER NPNHA); # Try this out SELECT Loc IF (-2 BOS)(-1 ("leat" Clt)); ## Leago mus rud1aid? # hmm... SELECT Loc IF (NOT -1 Num)(0 VAHKKU); ## 1870-jagiin lea c1ielggas ahte láddelac1c1aide guske ortnegat. ## ...gal guhkui ruos1s1aid gávppas1anriekti guvttiin vahkuin. # SELECT Loc IF (-1 ("guhtemus1") OR ("goappas1at"));# To be improved on. SELECT Loc IF (0 Num)(*1 PL-NOUN BARRIER NON-ADJ); SELECT Loc IF (0 PL-NOUN); # Comitative singular # =================== # NP-internal disambiguation of Com # --------------------------------- SELECT Com IF (-1C (Dem Sg Com)); ## Vuolggán dainna biillain. SELECT Com IF (-2C (Dem Sg Com))(-1 Adv); ## Vuolggán dainna biillain. SELECT Com IF (0 Num); # Cf. rules for PL-NOUN above. SELECT Com IF (*-1C Num BARRIER NON-ADJ); # Disambiguation based upon type of NP # ------------------------------------ SELECT Com IF (0 Prop)(NOT 0 (Sámediggi")); # Person names are normally sg. # Disambiguation based upon verb valency # -------------------------------------- SELECT Com IF (*-1 COM-VERB BARRIER VERB OR CS OR CP LINK 0 VERB)(0 Sg)(NOT 0 GUOVLU); ## Son náitali nieiddain. SELECT Com IF (0 Sg)(*1 COM-VERB BARRIER CS OR CP LINK 0 VERB); ## Nieiddain son náitali. # Other cases # ----------- SELECT Com IF (*-1 ("ovttas") OR ("oktan") OR ("searválagaid") BARRIER (N Com)); # Locative plural # =============== SELECT (Pl Loc) IF (1 LEAT-FIN-NON-IMP)(*2 NP-HEAD-NOM OR (Num Nom) BARRIER V-NON-AUX OR CS); ## # NP-internal disambiguation of Loc # --------------------------------- SELECT Loc IF (-1C (Dem Pl Loc)); ## Mii c1ohkkát dain biillain. SELECT Loc IF (-2C (Dem Pl Loc))(-1 Adv); ## Mii c1ohkkát dain biillain. # Not too elegant, the rule set might be done more general with a barrier SELECT (Pl Loc) IF (-2 Num)(-1 PROSEANTA); ## Dat lea 50 % rud1ain. SELECT Loc IF (1 ("gos")); ## Son lea guovlluin gos sámit ásset. SELECT Loc IF (1 COMMA)(2 ("gos")); ## Son lea guovlluin, gos sámit ásset. # Disambiguation based upon type of NP SELECT (Pl Loc) IF (0 GUOVLU); # Disambiguation based upon verb valency SELECT Loc IF (*-1 LOC-VERB BARRIER CS); ## Son balla nieiddain. SELECT Loc IF (*1 LOC-VERB BARRIER CS); ## Nieiddain son balla. SELECT Loc IF (*-1 ("sáhka"))(0 Pl); ## Ii leat dus1s1e sáhka olbmuid oktavuod1ain juohkebeaivválas1 eallimis. # Disambiguation based upon coordination # =========== # CONSTRAINTS # =========== # # The idea is to let the other rules work first, and then let the # coordination follow suit. # Simple coordination SELECT Gen IF (1 CC)(*2 Po BARRIER NON-NP) ; # Overgenerates? # Váfistan ja áimmahus1s1an dihte od1d1a bargovugiid.. SELECT (Pl Loc) IF (*-1 CC LINK *-1 Loc BARRIER NPNH LINK NOT 0 Com); ## Son lea skuvllas ja od1d1a mediain. SELECT (Pl Loc) IF (1 CC)(*2 Loc BARRIER NPNH LINK NOT 0 Com); ## Son lea od1d1a mediain ja skuvllas. SELECT (Sg Com) IF (*-1 CC LINK *-1 Com BARRIER NPNH LINK NOT 0 Loc); SELECT (Sg Com) IF (1 CC)(*2 Com BARRIER NPNH LINK NOT 0 Loc); # Coordination within coordination # Context to the left: SELECT (Pl Loc) IF (*-1 CC BARRIER NPNH LINK -1 Cmpnd LINK *-1 CC BARRIER NPNH LINK -1 Loc LINK NOT 0 Com); ## Son lea skuvllas ja od1d1a fylkka- ja riikkamediain. SELECT (Sg Com) IF (*-1 CC BARRIER NPNH LINK -1 Cmpnd LINK *-1 CC BARRIER NPNH LINK -1 Com LINK NOT 0 Loc); # Context to the right: SELECT (Pl Loc) IF (1 CC) (*2 Cmpnd BARRIER NPNH LINK 1 CC LINK *1 Loc LINK NOT 0 Com); ## Son lea od1d1a fylkka- ja riikkamediain ja skuvllas. # This part is the addition for right context checking of # coordination within coordination: # LINK -1 Cmpnd LINK *-1 CC BARRIER NPNH SELECT (Sg Com) IF (1 CC)(*2 Com BARRIER NPNH LINK NOT 0 Loc); # Generalising the Cmpnd addition: # Cmpnd in the left branch, checking to the left: # Late case rules (after other case rules have worked). # ===================================================== REMOVE (N Nom) IF (NOT *-1 VFIN)(*1 (N Nom) BARRIER PUNCT OR CLB OR CC OR VERB); ## Romssa universitehta sámi strategiijaplána. # ============================= # # Disambiguating verbs - part 2 # # ============================= # # Finite forms # # ============ # CONSTRAINTS # # ============ # SELECT VFIN IF (*-1 BOS BARRIER VERB)(0 INF-VERB)(*1 Inf BARRIER CS OR CP); # Looks brave but works! ## Áigugo skuvlii álgit? ## Sáhttit maid namahit ahte ... SELECT VFIN IF (NOT *-1C VFIN BARRIER CS OR CP)(-1 Loc)(0 LOC-VERB); REMOVE VFIN IF (NOT -2 BOS OR CLB)(-1 Inf)(NOT 0 Qst); ## Lága juksanmearrin lea váikkuhit sihkkarastit álbmogii ## ovttadássásas1 dearvvas1vuod1aveahki. # Neg conditions because of: ## Suhpodit daddjojuvvo dat go dus1s1e nod1iid váldá olmmos1 eret... ## Mearrideaddjin dasa ferte danin leat addojuvvogo... # Indicative or imperative # # ======================== # REMOVE Imprt IF (0 Qst); ## Bijatgo don sohkkara dedjii? # We could perhaps have had some restrictions here, like # (0 Ind) and/or (1 Nom) or something. But Both Imprt and Qst sounds # unlikely. REMOVE Imprt IF (-1 BOS)(0 Adv)(*1 ("?") BARRIER CS); ## Gosa don dál? REMOVE Imprt IF (*-1 CS OR CP BARRIER PUNCT); ## Vuoigatvuohta gusto dus1s1e jus divs1s1ohas oaz1z1u ávkki veahkis. ## Leago guhkes áigi dassá go Máreha oidnet? ## Maid ipmas1iid doppe dagat? # Very unlikely that an imperative should show up in an embedded clause, except in # quotations (...de son celkkii: Manni eret!). # The set CP subsumes interrogative pronouns, so the rule also precludes # imperatives in questions. # Indicative Negative # ------------------- # Unique are Sg1, Sg3, Du1, Du2, Du3, Pl1, Pl2, Pl3 # hom: "it", where Sg2 = ABBR. # Select Neg Sg2 instead of ABBR REMOVE ABBR IF (*-1 ConNeg OR PrfPrc)(0 Neg); ## Dáppe don leamas1 it. REMOVE ABBR IF (0 Neg)(*1 ConNeg OR PrfPrc); ## Don it leat dál. # Indicative Present (and Past) # ----------------------------- # Sg1 # --- # Sg1 = PtcPrf (odd-syllables), and Sg1 = V Actio (even-syllables) SELECT Sg1 IF (0 LEAN) (*1 PrfPrc); ## Mun lean boahtán. # So, what kind of barrier could we have here? SELECT Sg1 IF (-2 (V Sg1))(-1 CC); ## Mun human ja human. #SELECT Sg1 IF (NOT *-1 (V Neg))(NOT *-1 PrfPrc OR Actio OR V-SG1); #SELECT Sg1 IF (NOT *-1 VFIN)(NOT 1 CC)(NOT 2 Actio) ; # many wrong results ## Háliidan hupmat. ## In háliidan hupmat. ## Váfistan ja áimmuhus1s1an dihte... # Sg2 # --- # Sg2 = Inf (even syllables, copula) # Note the homonymy with derived verbs (jearat = jearadit + ... SELECT Sg2 IF (0 LEAT) (*-1 DON BARRIER NON-ADV); # no hits SELECT Sg2 IF (*-1C DON BARRIER Neg LINK NOT *-1 V-SG2 BARRIER CS OR CP); SELECT Sg2 IF (*1C DON BARRIER CC OR Neg); ## De, don fertet vuolgit. # Sg3 # --- # Sg3 = ConNeg (even) # Sg3 = ConNeg = Imprt Sg2 (contracted) # Sg3 = Sg Ill for certain words!! # Sg3 = VGen # Disambiguating Prs Sg3 is taken care of by rules removing the other # readings whenever their conditions are not fulfilled. SELECT Sg3 IF (-2 CLB OR go)(-1 (Sg3 Nom)); SELECT Sg3 IF (-1 (N Sg Nom) LINK *-1 CLB OR CS BARRIER NPNH); SELECT Sg3 IF (-1 CLB)(NOT 0 Adv)(1 (Sg3 Nom)); SELECT Sg3 IF (-1 CLB)(NOT 0 Adv)(*1 (N Sg Nom) BARRIER NPNH); SELECT V-SG3 IF (*-1 (N Sg Nom) OR (Pron Sg3 Nom) BARRIER VFIN OR CS) (NOT *-1 V-SG3 BARRIER CS OR CP)(NOT *1 V-SG3 BARRIER CC OR CS OR CP) (NOT -1 COMMA LINK -1 Nom); SELECT V-SG3 IF (*-1 (Pron Sg3 Nom) BARRIER NON-ADV); SELECT V-SG3 IF (-1 (Pron Interr Sg Nom)); ## ## Cihca ráhkaduvvo soahkebárkkus, mii faskojuvvo nu ahte álus ## ii c1uovo mielde. SELECT V-SG3 IF (*-1 ("gii" Pron Interr Sg Loc) BARRIER CS OR CP); SELECT V-SG3 IF (-2 V-SG3)(-1 CC)(NOT 0 Adv OR A); SELECT V-SG3 IF (NOT *-1 V-SG3 BARRIER CS OR CP OR PUNCT LINK NOT *-1 CP BARRIER VFIN) (1 CC)(2 V-SG3); # Rules that look for a subject across a relative clause: SELECT V-SG3 IF (-1 CLB LINK *-1 (Pron Interr) OR MO BARRIER CS LINK *-1 (N Sg Nom) OR (Pron Sg3 Nom) BARRIER N OR VFIN LINK NOT *-1 V-SG3 BARRIER CS OR CP) (NOT 0 Qst); SELECT V-SG3 IF (*-1 VFIN BARRIER Nom OR CS OR CP LINK *-1 (Pron Interr) BARRIER CS LINK *-1 (N Sg Nom) OR (Pron Sg3 Nom) BARRIER VFIN LINK NOT *-1 V-SG3 BARRIER CS OR CP)(NOT 0 Loc OR Ill OR A OR Adv OR Qst); # Du1 # --- # Du1 = Prt Pl3 REMOVE Pl3 IF (0 Sg3) (-1 (N Sg Nom)); ## Dokumeanta c1ilge, mo mii eallit. SELECT Du1 IF (*-1 MOAI BARRIER MII-PERS OR CLB); SELECT Du1 IF (*1 MOAI BARRIER MII-PERS OR CLB); SELECT Du1 IF (1 Pcle) (2 MOAI); ## Jerre go moai? SELECT Du1 IF (*-1 (N Sg Nom) BARRIER NON-ADV LINK *-1 CC BARRIER NPNHAI LINK -1 (N Sg Nom)); ## Anne ja Biret c1ilge, ahte dat lea duohta. REMOVE (V Du1) IF (NOT *-1 MOAI)(NOT *1 MOAI); # Du2 # --- REMOVE (Du2) IF (*1 (Sg3) BARRIER CS OR CP); # Add a rule for preceding Sg3? # leahppi = ("leahppi" N Sg Nom) REMOVE ("leahppi") IF (*-1 DOAI)(0 ("leat" V Ind Prs Du2)); REMOVE ("leahppi") IF (0 ("leat" V Ind Prs Du2))(*1 DOAI BARRIER NON-ADV-PCLE); # If there is a pronoun, then we have dual, and not the noun. # Du3 # --- # Du3 = PrsPrc Clt = Imprt Prs Du2 Clt # Du3 = Ind Prs Sg3 Clt "leaba, ferteba leat" SELECT (Du3) IF (*-1 ("son" Pron Pers Du3 Nom)); ## Soai ferteba mannat. SELECT (Du3) IF (*1 ("son" Pron Pers Du3 Nom)); ## fertebago soai mannat? SELECT (Du3) IF (-1 (N Sg Nom)) (*-2 CC BARRIER NPNH LINK -1 (N Sg Nom)); ## Per Berg ja Rolf Olsen leaba doppe. ## Stuorra nieida ja unna gánda ferteba leat doppe. SELECT (Du3) IF (*-1 ("guokte")) ; ## Guokte viesu leaba dál. # The competition is -ba Foc. # Pl1 # --- # Pl1 = Inf for all stem classes # Pl1 = Inf = Pl3 = Prt Sg2 for odd syll # Pl1 = Inf = Pl3 = Sg2 = ConNeg (copula) SELECT Pl1 IF (*-1C MII-PERS BARRIER SII OR MOAI OR CLB OR V-PL1); SELECT Pl1 IF (NOT -2 (V Ind Prs Pl1 Clt))(-1 MII-PERS); ## Fertetgo mii fertet? SELECT Pl1 IF (-1 BOS)(0 (Clt))(1 MII-PERS); SELECT Pl1 IF (-1 BOS OR CC)(1 ("go" Pcle))(2 MII-PERS); SELECT Pl1 IF (1 MII-PERS)(NOT *2 V-PL1 BARRIER CLB); # Pl2 unique, no rules needed # Pl3 # --- # Prs Pl3 = Prt Sg2 = Prs Pl1 = Inf (odd syll) muitalit # Prs Pl3 = Prt Sg2 = Imprt Prs Pl2 (even syll) vulget # Prs Pl3 = Prt Sg2 (contracted) fertejit REMOVE Pl1 IF (*-1C (N Pl Nom) BARRIER NON-ADV-PCLE); REMOVE Pl1 IF (-1 Nom)(NOT -1 Pl1); REMOVE Sg2 IF (-1 Nom)(NOT -1 Sg2); # Preverbal subject # - - - - - - - - - # Single noun SELECT Pl3 IF (*-1C NP-HEAD-PL-NOM BARRIER PPRON-NOT-SII OR (N Sg Nom)) (NOT *-1 (V Pl3) BARRIER CS); ## Nieiddat jerre. ## Makkár vuoigatvuod1at dain leat riikavuloz1in? ## Ciza atnet olbmot firpmiid várjalit. # Coordination SELECT Pl3 IF (*-1 NP-HEAD-SG-NOM BARRIER NON-ADV LINK *-1 CC BARRIER NPNH LINK -1 NP-HEAD-SG-NOM); ## Nieida ja gánda jerre. # Pronoun SELECT Pl3 IF (*-1 SII BARRIER MII-PERS OR MOAI OR CLB); ## Sii jerre. SELECT Pl3 IF (*-1 (Pron Interr Pl Nom) BARRIER CP OR CS OR VFIN); SELECT Pl3 IF (*-1 (Pron Indef Pl Nom) BARRIER CP OR CS OR VFIN); ## ## ## Muhtumat han bohtet guhkkin ge. # Numeral SELECT V-PL3 IF (*-1 (Num Nom) BARRIER CS OR PPRON-NOT-SII OR (N Sg Nom) OR (":")) (NOT *-1 (V Pl3) BARRIER CS); SELECT V-PL3 IF (NOT *-1 VFIN BARRIER CS OR CP OR CC) (NOT -1 (N Nom))(NOT -1 CC LINK *-1 Inf BARRIER VERB) (*1 (PxPl3) BARRIER VFIN OR CS OR CP); ## ...ja dasto leat massán hálddas1eami iez1aset guovlluid badjel. # Rules that look for a subject across a relative clause: SELECT V-PL3 IF (-1 CLB LINK *-1 (Pron Interr) OR MO BARRIER CS LINK *-1 (N Pl Nom) OR (Pron Pl3 Nom) BARRIER N OR VFIN LINK NOT *-1 V-PL3 BARRIER CS OR CP) (NOT 0 Qst); ## Dát duovdagat gos jogat ja ádjagat, jávrrit je eará c1áhcec1oahkut ## leat, gullet daid duovdagiid eaiggádiidda. SELECT V-PL3 IF (*-1 VFIN BARRIER Nom OR CS OR CP LINK *-1 (Pron Interr) BARRIER CS LINK *-1 (N Pl Nom) OR (Pron Pl3 Nom) BARRIER N OR VFIN LINK NOT *-1 V-PL3 BARRIER CS OR CP)(NOT 0 Qst OR Adv); # Postverbal subject # - - - - - - - - - SELECT Pl3 IF (NOT *-1 VFIN BARRIER CS OR CP)(0C VERB)(*1 (N Pl Nom) OR (Pl3 Nom) OR (Pron Pl Nom) BARRIER CS OR CP LINK NOT 0 Refl); SELECT Pl3 IF (0 (V Qst))(*1 NP-HEAD-PL-NOM BARRIER NPNHA); ## Dávjá lea váttis mearridit báhkkoditgo sii gean gaz1ada... SELECT Pl3 IF (NOT *-1 INF-VERB)(NOT 0 Pron OR Adv) # Instead: (0C VERB)? (*1 (Num Nom) BARRIER NON-ADV-PCLE LINK NOT 0 OKTA); # Sentence-initial verb with question particle and coordinated subject SELECT Pl3 IF (*-1 BOS BARRIER NON-ADV-PCLE) (*1 (N Sg Nom) BARRIER NPNH OR NON-ADV-PCLE LINK 1 CC LINK *1 (N Sg Nom) BARRIER NPNH); ## Jerrego Al ja Bo? # Sentence-initial verb with question particle and subject 'sii' SELECT Pl3 IF (*-1 BOS BARRIER NON-ADV-PCLE) (*1 SII BARRIER NON-ADV-PCLE); ## Jerrego sii? # Sentence-initial verb with question particle and ordinary plural subject SELECT Pl3 IF (*-1 BOS BARRIER NON-ADV-PCLE)(*1C NP-HEAD-PL-NOM BARRIER NPNH LINK NOT 0 Refl); ## Jerrego nieiddat? SELECT Pl3 IF (*-1 BOS BARRIER NON-ADV-PCLE)(1 ("go" Pcle))(*2C NP-HEAD-PL-NOM BARRIER NPNH); ## Jerre go nieiddat? # Post-adverbial verb with final subject SELECT Pl3 IF (-1 Adv OR ADVERBIAL LINK *-1 BOS BARRIER NPNH) (*1 (N Pl) BARRIER NPNHAI); # Relative pronoun as subject # - - - - - - - - - - - - - - SELECT Pl3 IF (-3 NP-HEAD-PL-NOM)(-2 COMMA)(-1 (Pron Interr Pl Nom)) ; #olbmot, geat fállet (too specific?) SELECT Pl3 IF (-2 NP-HEAD-PL-NOM)(-1 (Pron Interr Pl Nom)) ; #olbmot geat fállet (too specific?) # Existential sentences # - - - - - - - - - - - SELECT ("leat" Pl3) IF (-1 (Loc))(1 NP-HEAD-PL-NOM); ## Mis leat beatnagat. SELECT ("leat" Pl3) IF (-1 (Loc))(1 NUMERALS); ## Mis leat golbma beatnaga. ## Dá livc1c1e dutnje sabehat. # Number phrases as subjects # - - - - - - - - - - - - - SELECT Pl3 IF (-2 Num) (-1 N-GEN) ; ## Golbma nieidda leat boahtán. SELECT Pl3 IF (-1 Adv) (1 Num); ## Nu jerre golbma nieidda SELECT Pl3 IF (-1 Loc) (1 Attr OR Pron)(2 (N Pl Nom));## Mus leat od1d1a sabehat. # Selecting some present # ---------------------- SELECT Prs IF (NOT *-1 V-IND-FIN BARRIER CS)(0 LEAT)(NOT *1 V-IND-FIN) ; # More barriers? COLON? # one strange hit, revise! # The same should be done ... hmm, for what? SELECT Prs IF (-1 (Neg Prs)) ; # Select some finite REMOVE Inf IF (-2 CLB) (-1 CS); ## Dus1s1e, juos leat doarvái... REMOVE Inf IF (*-1 (Pron Interr) BARRIER VFIN); REMOVE Inf IF (-1 Inf) ; # This will work when all INF-VERBs are identified! # Indicative Past # --------------- # Past Sg1 is unique # Past Sg2 # -------- # Prt Sg2 = Prs Pl3 = Imprt Prs Pl2 (even syll) vulget # Prt Sg2 = Prs Pl3 = Prs Pl1 = Inf (odd syll) muitalit # Prt Sg2 = Prs Pl3 (contracted) fertejit SELECT Sg2 IF (*-1 (Pron Pers Sg2 Nom) BARRIER CS OR CP)(0 Prt); ## Don vulget ikte. SELECT Sg2 IF (-1 BOS)(0 (Prt Clt))(1 (Pron Pers Sg2 Nom)); ## Vulgetgo don? SELECT Sg2 IF (*-1 IKTE)(0 Prt); ## Mun died1an, ahte vulget ikte. SELECT Sg2 IF (-1 BOS)(0 (Prt Clt))(*1 IKTE); ## Vulgetgo ikte? # Past Sg3 # -------- # Prt Sg3 = Imprt Prs Sg3 (leai) REMOVE Sg3 IF (*-1 Neg)(0 (Sg Ill)); ## Iiba leat skuvlii álgán. REMOVE Sg3 IF (-1 VFIN)(0 (N Sg Ill)); ## Mánná galggai skuvlii. REMOVE Ill IF (*-1 (N Sg) OR (Pron Sg) BARRIER NON-ADV-PCLE LINK *-1 BOS OR CS OR CC OR Adv BARRIER NPNHAI) (0 (V Ind Sg3)); ## Muhto eanandoallu gillái rievdemiid bokte. REMOVE Ill IF (-2 BOS)(-1 Adv OR ADVLCASE)(0 (V Ind Sg3)); ## Dattege loktii dáz1a sisafárren gitta 1850. REMOVE Ill IF (NOT *-1 ("seammá") OR ("eará"))(1 ("go" Pcle)); ## Gos lei riegádan, ja máhtii go dárogiela? ## Mud1ui gustojit seammá njuolggadusat sámi levgii go dáz1a levgii. # Past Du1 # -------- # Past Du2 # -------- # Past Du3 # -------- # Past Pl1 # -------- # Past Pl2 # -------- # Past Pl3 # -------- # Prt Pl3 = Prs Du1 # leai disambiguation SELECT Prt IF (0 LEAI)(-1 NP-HEAD-SG-NOM); # Introduced 0 LEAI REMOVE (Prs Du1) IF (0 (Prt Sg3)) (-1 (N Pl Nom)); ## Dokumeantat c1ilge, mo... SELECT (Prt Pl3) IF (NOT *-1 (N Sg Nom) OR (Pron Sg Nom)) (*1 (Pl Nom) BARRIER VFIN); ## Maiddá siidaguovlluide bohte soapmásat. # REMOVE (Prs Du1 instead? SELECT Pl3 IF (*-1 BOS LINK 1 ("go") LINK *1 (V Pl3))(-1 COMMA) (0 (V Ind Prt Pl3)); # Potential Present # ----------------- # Potential Past # -------------- # Conditional # ----------- # Sg3 # copula sg3 = pl3 livc1c1e (in the eastern dialect) SELECT Sg3 IF (NOT *-1 (Pl Nom) OR CC)(0 ("leat V Cond Sg3)) (NOT *1 (Pl Nom) OR CC); ## Dá livc1c1e dutnje gahpir SELECT Pl3 IF (*-1 (Pl Nom))(0 ("leat V Cond Pl3)); SELECT Pl3 IF (NOT *-1 (Sg Nom))(0 ("leat" V Cond Pl3))(*1 (Pl Nom)); ## Dá livc1c1e dutnje sabehat. # These rules may be generalised. Let's first see whether they work. SELECT (Sg3) IF (-1 ("Son" Pron Pers Sg Nom))(0 ("leat")); SELECT (Sg3) IF (NOT *-2 CC)(-1 (N Sg Nom) OR ("son" Pron Pers Sg Nom)) (0 ("leat")); # strange rule, revise! SELECT (Sg3) IF (-1 Loc)(1 (N Sg Nom)); # Mus livc1c1e viessu. # Selecting Sg3 is not restricted to leat. This is not a rule for Conditional. # Pl3 # copula sg3 = pl3 SELECT (Pl3) IF (-1 (N Pl Nom) OR ("son" Pron Pers Pl Nom))(0 ("leat")); SELECT (Pl3) IF (-1 Loc)(1 (N Pl Nom)); # Mus livc1c1e guolit. # Imperative # ---------- SELECT (Imprt ConNeg) IF (-1 (Neg Imprt)) ; ## Ale suhta munnje. REMOVE Imprt IF (-1 Imprt)(NOT 0 ConNeg); REMOVE Imprt IF (-2 (A Attr))(-1 CC OR COMMA); ## Eaige galggas1ii gierdat eahpegovttolas1 garra, vahágahtti meassamiid. ## Mohtorfievrojohtolat meahcis gáttis dahje rabas dahje gálbmon ## c1ázis muddejuvvo dál. SELECT Imprt IF (-3 BOS OR PUNCT)(-2 (N Nom))(NOT -2 Actio) (-1 COMMA)(NOT 0 AUX)(NOT *1 ("?")); ## Bárdnán, leage dorvvolas1. REMOVE (Imprt Du2) IF (*1 (Pron Pers Nom) BARRIER CS OR CP OR PUNCT LINK NOT 0 Du2); REMOVE (Imprt Du2) IF (*1 Sg2 BARRIER CS OR CP OR PUNCT); ## Ealli Ipmila bokte mun vuortnuhan du. ## Rabbi, geahc1a! # The last example is now taken care of by a rule for "Rabbi", but other cases # might show up. SELECT Imprt IF (-1 BOS OR COMMA)(*1 COMMA LINK 1 Imprt)(NOT 0 (A Attr) LINK 1 N); SELECT Imprt IF (NOT *-1 VFIN-NOT-IMP BARRIER CS OR CP) (*1 CC BARRIER VFIN LINK *1C Imprt BARRIER VFIN OR CS OR CP)(NOT 0 PrfPrc); SELECT (Imprt Sg2) IF (NOT *-1 V-SG2 BARRIER VFIN)(*-1 PUNCT OR CLB BARRIER NON-ADV-PCLE)(1 (PxSg2)); SELECT (Imprt Pl2) IF (*1 CC BARRIER VFIN LINK *1C (Imprt Pl2) BARRIER VFIN OR CS OR CP); SELECT Imprt IF (*-2 ("dadjat") OR ("cealkit") OR ("vástidit") BARRIER VERB) (-1 PUNCT)(NOT 0 Pass)(NOT 0 MOD-ASP); ## Jesus celkkii sutnje: "Várut dadjamis maidege geasage dan birra!" SELECT Imprt IF (-1 COMMA OR CC)(*-2 Imprt BARRIER VFIN LINK NOT *-1 CP); # Rule that finds a coordinated Imprt across a relative clause: # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SELECT (Imprt Pl2) IF (-1 CC OR COMMA)(*-2 VFIN BARRIER CS OR CP OR CONTRA LINK *-1 (Pron Interr) BARRIER CS LINK *-1 (Imprt Pl2) BARRIER VFIN OR CS OR CP); # Negative imperative # - - - - - - - - - - # Neg Imprt Pl2 = allet V Inf = Prs Pl1 = Prs Pl3 SELECT (Neg Imprt Pl2) IF (*1 ConNeg BARRIER Neg); ## Allet ge gátte ahte ... REMOVE (V Ind Prs Sg3) IF (-2 BOS)(-1 Pcle)(0 (V Imprt Prs Sg2)); ## Na attes munnje daid. # Note that this is dangerous, and kept specific in order to play safe. # May need to be generalised. REMOVE Imprt IF (-1 Interr OR CP OR CS)(NOT -1 ("de")); REMOVE (Imprt Sg2) IF (0 V-SG2); REMOVE Imprt IF (*-1 VERB BARRIER NON-ADV OR CLB LINK NOT 0 Neg); # Infinite forms # # ============== # CONSTRAINTS # # ============== # REMOVE VFIN IF (-1 ("nu"))(*1 ("go" Pcle) BARRIER NON-NA); REMOVE Inf IF (-1 ("nu"))(*1 ("go" Pcle) BARRIER NON-NA); # Infinitive # ---------- REMOVE VFIN IF (*-1C VFIN BARRIER NON-ADV-PCLE OR CLB LINK NOT *-1 CP BARRIER VFIN); REMOVE VFIN IF (*-1 VFIN-NON-AUX OR ConNeg OR PrfPrc BARRIER ("mii" Pers Pron Nom Pl1) OR SII OR CP OR CS OR CC OR CLB) (0 Inf)(NOT 0 LEAT); ## Mun háliidan bargat. Son ii háliidan bargat. ## Stockfleth lea beassan bargat sámegiela buorrin. # reintroduce (NOT 0 LEAT)? Yes. # The following two rules extend the preceding one. REMOVE (V N Actor Pl Nom) IF (*-1 VFIN-NON-AUX OR ConNeg OR PrfPrc BARRIER ("mii" Pers Pron Nom Pl1) OR SII OR CS OR CLB) (0 Inf)(NOT 0 LEAT); REMOVE (N Pl Nom) IF (*-1 VFIN-NON-AUX OR ConNeg OR PrfPrc BARRIER ("mii" Pers Pron Nom Pl1) OR SII OR CS OR CLB) (0 Inf)(NOT 0 LEAT); REMOVE (V Ind Prs ConNeg) IF (*-1 VFIN-NON-AUX OR ConNeg OR PrfPrc BARRIER ("mii" Pers Pron Nom Pl1) OR SII OR CS OR CLB) (0 Inf)(NOT 0 LEAT); REMOVE (V Pl3) IF (-1 (N Sg Nom))(*-1 V-SG3 BARRIER VFIN OR CS); REMOVE (V Pl3) IF (-1 (N Sg Nom))(*1 V-SG3 BARRIER VFIN OR CS); SELECT Inf IF (*-2 ("leat") BARRIER VERB)(-1 Ess); ## ...lea Sámedikkiin dáhpin geavahit... SELECT Inf IF (-2 (Sg Nom) OR (Sg3 Nom))(-1 (Interr Sg Nom))(1 (V Sg3)); SELECT Inf IF (-3 (Sg Nom) OR (Sg3 Nom))(-1 (Interr Sg Nom))(-2 COMMA) (1 (V Sg3)); ## Son gii ohcat áiggui, fertii... # This rule is all to specific. It tries to capture topicalised objects # Within a subject relative clause. SELECT Inf IF (-1 V-PL1)(NOT -1 Neg)(*-2C MII-PERS BARRIER SII OR MOAI OR CLB); SELECT Inf IF (-1 ("dilli"))(NOT 0 ("leat")); # Infinitive after predicative # - - - - - - - - - - - - - - # There are two rules in the beginning, conflate when I see the effect. # The barrier may be too weak. SELECT Inf IF (-1 A BARRIER VFIN OR CP LINK *-1 ("leat") OR ("s1addat") BARRIER NON-ADV)(NOT 0 (N Pl Nom)); ## Eará guovlluin lei vejolas1 nannet dárogiela. SELECT Inf IF (*-1 N BARRIER VFIN OR CP LINK *-1 ("leat") OR ("s1addat") BARRIER NPNHAI)(NOT 0 (N Pl Nom)); ## Jos leat jaska, de lea dárbu singuin gulahaddat. # Infinitive as subject # - - - - - - - - - - - REMOVE (Prs Pl1) IF (-1 BOS)(1C V-SG3); ## Vuolgit lea suohtas. REMOVE NP-HEAD-PL-NOM IF (0 (Inf) OR NP-HEAD-SG-NOM)(1C V-SG3); # Infinitive in coordination # - - - - - - - - - - - - - SELECT Inf IF (1 CC)(2C Inf); ## Mus lea árvalusat mo skuvlla nannet ja buoridit. SELECT Inf IF (-2C Inf)(-1 CC); SELECT Inf IF (*-1 CC BARRIER NON-ADV-PCLE LINK *-1 Inf BARRIER VERB); # Present Participle # ------------------ # PrsPrc = Imprt Prs Du2 (even-syll) REMOVE PrsPrc IF (0 N)(1C NP-BORDER); REMOVE PrsPrc IF (0 N)(1 CLB)(2 NP-BORDER); ## De geahc1c1aleaddji bod1ii su lusa. ## Dávveda bárdni, árpmit munno! #REMOVE PrsPrc IF (0 Nom)(1 V-SG3); #REMOVE PrsPrc IF (*-1 Dem BARRIER NPNH)(0 N)(1 NP-BORDER); #REMOVE PrsPrc IF (*-1 Dem BARRIER NPNH)(0 N)(1 CLB)(2 NP-BORDER); # Actio/PrfPrc # ------------ # Actio = Prs Sg1 = PrfPrc (odd-syll verbs, contracted verbs) # Perfect Participle is also treated in the Ind Prs Sg1 chapter. SELECT PrfPrc IF (0 ("mannat"))(1 VAHKKU); ## Mannan c1uohtejagi gaskkamuttos lei stuorra gilvu. REMOVE (V Ind) IF (-1 NP-HEAD)(-1 Gen)(NOT -1 TIME)(1 N); REMOVE PrfPrc IF (-1C NP-HEAD)(-1 Gen LINK NOT *-1 Num BARRIER NON-ADJ) (NOT -1 TIME)(1 N); SELECT Actio IF (-1C A); ## Norggas lea leamas1 gal garra digas1tallan sámi oahppoplána hárrái. # This rule is aimed at actio in coordination (I know it looks ugly): REMOVE PrfPrc IF (NOT -1 LEAT-FIN-NON-IMP LINK *-1 CP BARRIER VFIN) (1 CLB LINK *1 N BARRIER NPNH LINK *1 CC BARRIER VFIN LINK *1 N BARRIER NPNH LINK NOT 0 Loc); SELECT PrfPrc IF (*-1 LEAT-FIN-NON-IMP)(NOT *1 PrfPrc BARRIER CC OR CP OR CS); REMOVE PrfPrc IF (*-1 Gen BARRIER NPNH LINK -1 BOS OR CLB); ## Sámi dutkan ii leat dan dihte soaittáhagas válljejuvvon. REMOVE PrfPrc IF (NOT *-1 VFIN)(NOT 0 Pass)(NOT *1 VFIN BARRIER CP OR CS); SELECT Actio IF (1C Po); #REMOVE V-SG1 IF (*-1 LEAT-FIN-NON-IMP BARRIER CS OR CP); REMOVE V-SG1 IF (*-1 VFIN BARRIER CLB OR CS OR CP); # leamas1 without finite verb # - - - - - - - - - - - - - - SELECT PrfPrc IF (-1 NP-HEAD)(NOT -1 Gen)(0 ("leapma" Dimin)); SELECT PrfPrc IF (0 ("leapma" Dimin))(*1 A-CASE BARRIER NON-ADV-PCLE); SELECT PrfPrc IF (0 ("leapma" Dimin))(*1 Nom BARRIER NON-ADV-PCLE); SELECT PrfPrc IF (NOT *-1 VFIN BARRIER CS)(0 ("leapma" Dimin)) (NOT *1 VFIN BARRIER CP OR CS); # ImprtII # ------- # VGen # ---- REMOVE VGen IF (*-1 CS OR CP OR BOS BARRIER VFIN)(0 VFIN) ( *1 CS OR CP OR EOS BARRIER VFIN); ## Báldáhan ferte din1got, jos galgá fidnet. # This rule assumes that VGen comes parasitically upon a finite verb, # and removes VGen if this is not the case. More rules are needed in order # to remove more cases. REMOVE VGen IF (0 Attr) (*1 N BARRIER NON-ADJ); REMOVE VGen IF (-1 ("nu") OR ("mihá")); # Gerund, Verb abessive and Supine do have unique forms and need no rules. # Selecting some finite. # ---------------------- SELECT VFIN IF (NOT *-1 VFIN BARRIER CS OR CP)(NOT 0 N)(NOT *1 VFIN BARRIER CS) (NOT -1 BOS LINK 2 EOS)(NOT -2 BOS LINK 1 N LINK 2 EOS); ## Son lea dan sápmelas1 gean dovddan. ## Gos don dál boad1át? Siiddas. # first approximation # BOS/EOS is there to allow for fragments like the "Siiddas" example. # and headlines like ## Giellabarggu organiseren. # But the rules goes wrong with lists consisting of infinitives. SELECT VFIN IF (*-1 CP OR CS BARRIER VFIN)(NOT 1 (Pron Interr)) (NOT *1 VERB BARRIER CS OR CP); # Finite verbs in coordination # More rules must be added! # - - - - - - - - - - - - - - SELECT Pl1 IF (-1 CC)(*-2 V-PL1 BARRIER VFIN OR CS); SELECT Pl3 IF (-1 CC)(*-2 V-PL3 BARRIER VFIN OR CS); # ===================== # # Residual cases # ===================== # CONSTRAINTS # # ===================== # # This is a section for local disambiguation that must come after the main POS # Pronouns and nouns # ================== SELECT Nom IF (*-1 BOS OR PUNCT BARRIER NPNH)(1 COMMA)(2 Imprt); ## Sáhtán, gáidda eret! SELECT Gen IF (0 Dem)(*1C (N Gen) OR (N Sg Ill) OR (N Sg Loc) OR (N Pl Com) BARRIER NON-ADJ LINK NOT 0 Cmpnd); ## Mun manan daid mánáiguin. SELECT (Interr Sg) IF (-1 CC LINK *-1 VFIN LINK *-1 (Interr Sg) BARRIER VFIN); ## ...maid addet dearvvas1vuod1aásahusain dahje maid almmolas1 ## dohkkehuvvon dearvvas1vuod1bargit addet. # Coordinated relative clauses! Also write a rule for Pl? # Remaining Px readings # ===================== # Now we select the Px that are connected to Imprt: SELECT (PxSg2) IF (*-1 (Imprt Sg2) BARRIER VFIN OR Sup) (NOT 0 (N Pl Nom) OR (A Pl Nom) LINK *1 V-PL3 BARRIER CS OR CP); ## Buvtte dasto oaffarsken1kkat! # LINK because of ## Eai dearvvas1 olbmot(!) dárbbas1 dálkkasteddji. ## Manne c1álaoahppavac1c1at dalle dadjet ahte ... SELECT (PxSg2) IF (*-1 MOD-ASP BARRIER VFIN LINK 0 Sg2 LINK *-1 DON BARRIER NON-ADV-PCLE)(0 Nom); # - and remove the rest: REMOVE (PxSg2); # =============================== # # Global disambiguation - cycle 3 # # =============================== # CONSTRAINTS # # =============================== # # This is the section for rules of more global scope. # It is also the section for rules that we would like to work in careful mode, # i.e. after the other rules have removed as many false readings as possible. # Adverbs # ------- SELECT Adv IF (-1C N)(NOT 0 N)(1C Inf); ## Geain lea leamas1 vejolas1vuohta systemáhtalac1c1at guorahallat válggaid? # The idea is that we between a noun an an infinitive will have an adverb, and # not an adjective. # A weaker version (in case of trouble) will be to say: # REMOVE (A Sg) ... # REMOVE (A Pl) ... # i.e., this weaker version will keep readings that are neither adverbs not # adjectives. REMOVE (A Nom) IF (-1 Nom)(1 VFIN); REMOVE (Pl Nom) IF (0 Adv)(1 V-SG3); # Adjectives # ---------- REMOVE Attr IF (1C V OR EOS)(NOT 1 N); ## Diet lea beare unnán. # When all rules are executed, remove the Attrs # The double requirement is there because of the compounds. # Determiners # ----------- REMOVE Sg IF (0 DEM-PL) (NOT *1 V-SG3); ## Dat lea buorre. REMOVE Pl IF (0 DEM-SG) (NOT *1 V-PL3); ## Dat lea od1d1a niibbit. REMOVE (Dem Gen) IF (*1 (N Nom) BARRIER NPNH); # Nouns # ----- REMOVE (N Actor); # The N reading should remain. REMOVE Actio IF (NOT 0 Ess); # Same here. REMOVE (N Actio) IF (0 (V Actio)); # Finite verbs # ------------ REMOVE V-DER; # Removes only if there is another reading. # At least one finite verb in the sentence (exception: leamas1). # The rule scans to the left until it finds a finite verb. #SELECT VFIN IF (NOT *-1 VFIN)(NOT *1 VFIN); # Stop at guhto to the left and comma to the right. #SELECT VFIN IF (NOT *-1 VFIN BARRIER COMP)(NOT *1 VFIN BARRIER CLB); # cut these two because of titles. They would be ok if we could # recognise titles. # Accusative # ---------- REMOVE Acc IF (0 Pron)(NOT 0 Dem)(1C Acc); # Mun oainnán du vielja. # Afterthought, get rid of Acc in specifier position. # Move to logical place, but after the primary Acc cycle. #=====# END # #=====# # Notes for future thought: # ========================= # Soai leaba goappas1agat nu jallat # they are both-Pron-Indef so stupid # Here, the subject NP is spread around the finite verb. Either, all the # rules must be duplicated with this feature in mind, or the possible # discontinuous parts must be included in the complement to the # NON-ADV-PCLE set. # While thinking, let us try including Pron Indef into a NON-ADV-PCLE-INDEF, # at least for predicative constructions.