# ==================================================================== # # ==================================================================== # # 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 aš = "aš" ; # 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 eamoš eapmi heapmi š muš upmi us vuohta ; LIST A-DER = geahtes keahtes heapmi lágan laš 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 = "dušše" ; 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" "šaddat" ; 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" "beroštit" "biehttalit" "bihtit" "ceavzit" "čuoččut" "čuovvut" "dolkat" "fuollat" "geargat" "heaitit" "ilbmat" "nohkkot" "váruhit" ; LIST COM-VERB = "árvalit" "árvvohuššat" "bargat" "bártašuvvat" "háladit" "hilbošit" "humadit" "meannudit" "náitalit" "riidalit" "ságastaddat" "ságastallat" ; LIST ILL-VERB = "áibbašit" "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ávččagit" "beassat" "berret" "bivvat" "bistit" "boahtit" "bovdet" "čohkkát" "čohkkedit" "čohkkánit" "čuoččahit" "čuoččastit" "čurggodit" "dáhttut" "dáidit" "dárbbašit" "doaivut" "doapmat" "duostat" "fertet" "fuobmát" "fuolahit" "galgat" "gáibidit" "gártat" "geahččalit" "geatnegahttit" "gillet" "háhppehit" "hálidit" "háliidit" "hárjánit" "heivet" "lávet" "mannat" "máhttit" "navdit" "oahppat" "oažžut" "ollet" "ribahit" "riepmat" "sáhttit" "sihtat" "soaitit" "šaddat" "stađđat" "veadjit" "viggat" "viššat" "vuogáiduvvat" "vuolgit" "vuollánit" "vuordit"; LIST ACC-INF-VERB = "bivdit" "čuorvut" "diktit" "gohččut" "movttiidahttit" "sihtat" "suovvat" ; # These are verbs taking accusative objects and infinitives. ## Ii suova nieiddas náitalit. LIST OPRED-VERB = "atnit" "dahkat" "gohčodit" "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 ; # "njaŋggofirpmiiguin 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 = "ođđa#jage#mánnu" "ođđa#jagi#mánnu" "guovva#mánnu" "njukča#mánnu" "njuvčča#mánnu" "márs#mánnu" "cuoŋo#mánnu" "cuoŋos#mánnu" "gáranas#mánnu" "miesse#mánnu" "mái#mánnu" "geasse#mánnu" "suoidne#mánnu" "borge#mánnu" "šnjilča#mánnu" "šnjilža#mánnu" "čakča#mánnu" "golggot#mánnu" "skábma#mánnu" "november#mánnu" "ritne#mánnu" "juovla#mánnu" ; LIST VAHKKU = "áigi" "beaivi" "čakča#geassi" "čuohte#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" "giđđat" "geasset" "geassit" "čakčat" ; LIST GUOVLU = "ássan#guovlu" "báiki" "gávpot" "gielda" "goahti" "guovlu" "sádji" "viessu" ; LIST ROUTE = "geaidnu" "luodda"; # and more! LIST PL-NOUN = "beassaš" "čalbme#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áŋga" "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 iežaset 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álaš 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álaččat ráhkkana dasa dálvvi mielde. REMOVE Foc IF (0 ("dieđusge")); ## Romssa universitehta áigu dieđusge dán geahččalit áimmahuššat. # 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áš"))(-1 (N Gen) OR (Pron Pers Gen)); ## Golmma jándor geažis. ## 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álašvuođaid. REMOVE ("Lea") IF (-1 BOS OR PUNCT)(NOT 1 V-SG3); REMOVE ("Lea") IF (-1 BOS OR PUNCT OR (":"))(1 A); ## Lea dušše okta Ipmil. Lea idja. ## Lea buolaš. Son dajai: Leage gierdávaš. 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 ("čađa")); # To get rid of <čađahan> "čađa" Pr Foc. ## Studeanttat geat leat čađahan váldofágaeksámena... # Adposition + Px # --------------- SELECT Adp IF (0 ("gaska" N Ess)); ## Sii árvališgohte gaskaneaset. # Pass and Imprt # -------------- REMOVE Imprt IF (0 Pass); ## Jos fávleoalggis lea guolli, loktestuvvo dat dušše čá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 čilge dan ášši. SELECT MOAI IF (*-1 V-DU1); ## Čilgego 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áđohussii. # 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, guđet leat eatnagat, leat okta rumaš. ## Dasgo mii oinniimet su násti badjáneamen. SELECT Pers IF (0 MII-PERS)(1 CC)(2 (N Nom)); ## Mii ja farisealaččat atnit borakeahttáivuođa. # 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 čá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? ## Dearvvašvuođabálvalus galgá addit sutnje gii ohca... ## Son galgá addit sutnje dárbbašlaš dieđuid. # 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 čá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 čujuhan 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 dorvvolaš. ## 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 dušše namahin. REMOVE V IF (-1 CS)(0 ("dušše"))(*1 Acc BARRIER NPNH); ## Suhpodit daddjojuvvo dat go dušše nođiid váldá olmmoš eret. # This rule has to precede particle rules, so that the verb reading of # "dušše" 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 šattai 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 ruđat. ## ...eará čuovvoleapmi mii johtui biddjo ja dan bohtosat. # The remaining Px readings will be taken care of later. REMOVE (PxSg3) ; # IF (0 Loc); ## Son celkkii sidjiide: Gearpmaščivggat! ## De almmustuvai Hearrá eŋgel 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 čuovvovaš 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 Ruoŧa čá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 čielggadusa s. 17 cealkámuš. # Based on right context # ---------------------- SELECT N IF (NOT 0 VFIN)(1 CC)(2C N); ## Sápmelaččat ja dážat leat ovdal eallán ovttas. SELECT N IF (1 COMMA)(*2 HNOUN BARRIER NPNH OR CC LINK 1 CC); ## ...ležžet sii dál sápmelaččat, dážat dahje kveanat. SELECT N IF (NOT 0 Adv OR Inf OR PrfPrc)(1 COMMA)(2 CP); ## Doaimmat, maiguin mun barggan. ## Gažaldat lea dušše, man ollu ... # NOT 0 Adv! ## Lea miellagiddevaš lohkat, maid ...# NOT 0 Inf! SELECT N IF (0 ("sápmelaš" Pl Nom))(*1 V-PL3 BARRIER CS OR CP); ## Sápmelaččat orro maid skandinávalaš 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) ; ## Čohkkán dárolaččaid gaskkas. ## Dál go sápmelaččain 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 reaŋgan. # 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 dušše mielde. # NBN! This example clause still gets the wrong analysis, it removes # Adv of dušše 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ápmelaččaid 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áža á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 ## Prošeavtta áigut čađahit. # 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ápmelaš 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ápmelaš 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ápmelaččat eai leat ássan nu guhká. REMOVE V IF (-1C Dem)(1 V-IND-FIN); ## Dán báhkis šaddá čáppa gohppu. REMOVE V IF (-1 BOS)(0 N)(1 ("go"))(2 VFIN); ## Ádjás go lea ođđa fanas? REMOVE (V Ind) IF (-1 Dem)(0 N)(1C (V Ind)); ## Dakkár registreren ii leat goassege leamaš 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 dieđe 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 mearkkašit seamma ollu go fáktadieđut. ## Mun áiggun čuovvut du ihkinassii manažat. REMOVE N IF (-1 ("nu") OR ("mihá") OR ("hui")); ## Mun lean nu suhttan. ## Lea hui easkka čuožžilan gažaldat. SELECT Adv IF (-1 ("leat"))(1 PrfPrc); SELECT Adv IF (-1 VERB OR Com)(0 ("ovttas"))(NOT 0 Foc); ## Divššohas lea duođalaččat 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áš # - - - - - SELECT Attr IF (0 ("guovddáš"))(1 N); ## Guovddáš doaibmabidju lea vuođđudit sámegiela álgooahpahusa. # guovttes # - - - - REMOVE ("guovttes") IF (1 (N Sg Gen)); ## Viesus leat guokte olbmo. # imaš # - - - SELECT N IF (-1 VFIN OR ConNeg OR A OR Dem)(0 ("imaš")); ## Lei imaš, go buvddas eai vuovdde albma varramárffiid. ## dakkár imaš ja ártegis dilli ahte ... # máŋga # - - - - REMOVE N IF (0 ("máŋga"))(*1 N BARRIER NPNH); ## Bargu ollašuhttit máŋga dáin doaibmabijuin lea juo álggahuvvon. # ========================== # # Disambiguating clitics # # ========================== # REMOVE Qst IF (0 Adv)(NOT *1 EOS LINK -1 ("?")); ## Nugo dieđá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 divššohas lea badjel 16 jagi boaris,... ## Leansmánni lea kommišuvnnas 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ápmelaččat 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á buođu vuollái dahje jos sáddo hávddarda buođu vuolde... ## Sámi guovlluin ožžo 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. ## Geavatlaš sivaid geažil čatnasa bajimus submi namuhuvvon máksomearrái. SELECT Po IF (-1 Gen)(NOT -1 ("leat" PrfPrc))(NOT 0 Attr OR ("guovddáš"))(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 divššohas dasa miehtá,... # Removing some readings that compete with Po REMOVE N IF (-1 Gen)(0 Po)(NOT 0 ("guovddáš"))(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 "leamaš". ## Sii manne meahccái, vaikko lei issoras buolaš. ## 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áŋgasat leat sakka fuolastuvvan amas ja dovddus vahágiin. ## Ollu sápmelaččaide 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 čuovvon lea juohkehačča ektui fuolahan, amas ii ## vuovdi vahágahtto. ## Váruhehket amas oktage čádjidahttit din! # amat # - - - SELECT (Neg Sup) IF (0 ("amat"))(1 Inf); # Also Pcle? ## Sii guddet du gieđaideaset alde, amat norddastit juolggát geađgá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 dieđášin, de dajašin. ## 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 dikšumin mánáidis,... # go # - - SELECT Pcle IF (-3 BOS)(-2 CC)(-1 V)(0 go); SELECT Pcle IF (-2 BOS)(0 go)(*1 ("?")); ## Muhto boađá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 geahččaluvvo go gávdnat čovdosiid bissovaš rievttis,... ## Árvvoštaladettiin galgá go addit lobi lea dattege gažaldat das,... SELECT Pcle IF (-1 (V Neg))(0 go); ## Son jerre it go boađe? 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... ## Giđđabuođut ráhkaduvvojit seammá vuogi mielde go geassebuođut. ## 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áŋgga áššis 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 gažaldagaid dobbelii go maid Sámi ## vuoigatvuođalá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 rahčá ## čađat dainna váttisvuođain. 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 oažžu 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 vuoigatvuođat vai eai, dahje... ## ... vai leago .. ## Dáhpáhuvvá go dat ođđa lágaid bokte, vai geahččaluvvo go gávdnat ## čovdosiid bissovaš rievttis? SELECT CC IF (0 ("vai"))(NOT *1 VFIN BARRIER CS OR CP); ## Dan dihte dárbbašuvvojit stipeanddat vai studeanttat geat leat ## čađahan váldofágaeksámena sáhttet ráhkadit buriid prošeavttaid. # vaikko # - - - - SELECT Pron IF (0 ("vaikko")) (1 ("mii") OR ("gii") OR ("guhte") OR ("goabbá") OR ("guhtemuš") 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 bođii diehtiht ahte ii beasa skuvlii. ## Ja go beasai fas seammá bargui. ## Ásahusa journálaovddasvástideaddji sáhttá liikká rievdadit journála ## vaikko gustojit vuolláičállojuvvon journálamerkestemiide. ## Vai miehtan galgá leat lágalaš, ferte divššohas leat ožžon... # 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 čállá hui čábbát. REMOVE Nom IF (-1 (Pron Interr Nom))(0 Adv); ## Iige leat duopmu mii čielgasit 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 oppalaččat čilget... ## Son dábálaččat 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 čalmmit. 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áš, go ráfáiduhttima ## spiehkastat mearralottiid ektui gáržžui. 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 čielgasit. REMOVE Comp IF (-1 VFIN)(0 Adv)(1 Inf); ## Ráđđehus áigu erenomázit giddet fuopmášumi sámegillii. REMOVE (A Comp) IF (-1 N OR Pron)(1 VFIN); ## ...ja ahte dat dáhttu čielgasit 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álaččat 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 dušše dalle go bodni lea nu garas ahte... ## Manne ii leat áviisa boahtán? SELECT Adv IF (-1 (Pron Interr))(1 CC)(2C Adv); ## ... dan dearvvašvuođabá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 dušše 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 dušše sii guđet 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 áššiin sáhttet Sámedikkit várra nu gohčoduvvon friija ## árvvoštallama 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 bođii njukčamánu loahpas. # Rules related to specific adverbs # --------------------------------- # álgu # - - - SELECT N IF (-1 Gen OR (A Attr))(0 ("álgu")); ## Prošeavtta á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 diehtojuohkingeahččaleamit leage danin dehálaččat. # 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á oktavuođain, 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? # dušše # - - - - # There is a rule "Lea dušše okta Ipmil" for the typical dušše cases. REMOVE N IF (0 ("dušše")); REMOVE A IF (0 ("dušše")); ## Vihtta bivdovuogi mun gal dušše namahin,... ## Oar-julggiid atnet olbmot dušše dalle go bodni lea nu garas... # Brutal, but the noun and the adjective are almost always "dušši". REMOVE VFIN IF (*-1 VFIN BARRIER CP OR CS)(0 ("dušše")); REMOVE VFIN IF (0 ("dušše"))(*1 VFIN BARRIER CP OR CS); REMOVE (Actor) IF (0 ("duššat")); # Make a set for non-agentive verbs? ## Nu eai dieđus dárbbaš skáhppot birra buot gal, dušše lasi ## dan sadjái mii mieská. ## ...go dušše áibbas moatti sajis heive meardebuođđu adnojuvvot. ## Oktagaslaš olbmo lonuheami dohkálašvuohta lea stáhtii geavadis ## duššin. 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); ## Dušše daid dieđuid, mat gusket konkrehta várraárvvoštallamii, ## sáhttá čuoldit geahččanlobis. ## 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 šaddá eanet ja ## eanet guovddáš 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 čielgasit ## 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 dieđalaš 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áđđejeaddji ## dahje ainjuo čielgasit eanemus čalbmáičuohcci. # But the A-CASE is often a wrong analysis. SELECT Attr IF (0 ("eanet"))(1 Dem OR N); ## Jos galgá eanet dutkiid ožžodit dán suorgái,... ## Noađđebealli oažžu deaddit eanemus viegu. ## ...okta dahje eanet dain eará namuhuvvon doaimmain. # easkka # - - - - SELECT Adv IF (0 ("easkka"))(*1 TIME BARRIER NPNH); ## ...mii easkka maŋimuš áiggiid lea jávkágoahtán. ## Dat lei boahtán ruoŧagielain easkka j. 1863. # Ambiguous: ## Dat čielgá dálá oasálaččaide easkka proseassas. SELECT Adv IF (0 ("easkka"))(1 Num OR ("maŋŋel")); ## Muhto easkka 1898:s dovdagohte Láhppiolbmot dan mii maŋŋelis bođii. ## ...easkka maŋŋel 1529 ásaiduvve olbmot duođas 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 dearvvašvuođaveahki lea addojuvvon,... # goassige # - - - - SELECT Adv IF (*-1 Neg BARRIER VFIN)(0 ("goassige")); ## Ii leat stáhtas várra goassige leamaš ruđalaš ávki dán ámmahis. # gosa # - - - SELECT Adv IF (0 ("gosa"))(*1 VFIN BARRIER CLB OR CS); ## Gosa don čihket 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álaš. # 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 buolaš. SELECT Adv IF (*-1 (V Prt))(0 ("ikte")); ## Ikte lei hui buolaš. # 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 ávnnalaš 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 oktavuođas čujuhuvvo maid oanáduslistui ja gáldolistui. ## Sápmeleččat 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ápmelačcat 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 moraštehpet biktasiid dihtii? ## Naba dii, manne dii ieža 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); ## Divššohas lea vuoigatvuohta iežas journála geahččat 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 ožžot 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); ## Bušeahtas lea sullii 650.000 ruvnno leamaš 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 dušše suorbmabeali asu gežiid 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); ## Eanaš duopmárat unnán dovdet eamiálbmogiid historjjá. ## Dat orru oppanassii unnán čilgejuvvon 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 čielgasit 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 čájehit láhkateavstta leat váilevaš, 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ápmelaččat geat ledje birgegoahtán dušše boazudoaluin, várra ## ledje buot friddjamusat. # visot # - - - SELECT Adv IF (0 ("viso"))(NOT 1 (N Pl)); ## Ii leat vel visot čohkkejuvvon. ## 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 diŋgojit? ## Man uhccán osku dus lea! # The last example is an exclamation. Hit because no ? required. REMOVE Interr IF (-1 Interr); ## Dat lea čuonžža, mii maid gorgŋu detnui čakčageasi. SELECT Interr IF (NOT -1 V-PL1)(0 ("mii")) (*1 V-SG3 BARRIER V-PL1 LINK NOT 0 (Pl1)); ## Dát ii guoskka dikšui 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 dieđe. ## Dáidda gulle dávjá 10-12 ládjogietti, maid gaska sáhtii leahkit... ## Dan áigge galge ges olbmot Finnmárkkus geaid golgolažžan gohčodedje, ## 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)); ## Deaŧalaš lea ahte čállojuvvojit dakkár gillii, maid buot bargit ## áddejit. ## Dat divššohasat, geaid leat geavadis vejolaš 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 vuoigatvuođalávdegoddi lea addán... ## ...ja dan dearvvašvuođaveahki birra, maid son oažžu,... 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 livččii dárbbašan atnit... ## Sivaid geazil, maid berre čuovvolit,... 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 dieđut leat,... ## Gii galgá árvvoštallat guđe dieđut galget leat journálas. # Reflexive pronouns # ================== # iežas is Gen or Acc # ieža is Pl or Du # Reflexive iežas # ---------------- SELECT Gen IF (-1 Acc)(0 ("ieš" Gen) OR (Pron Pers Gen))(1 HNOUN); ## ... muhto it fuomáš hirssa iežat čalmmis? # Emphatic ieš # ------------- # Sg ieš is unique, there is homonymy Du/Pl for ieža. # 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 ("ieš" Pron Refl Pl Nom)) (NOT *1 V-DU BARRIER NON-ADV-PCLE); ## Allet dubme, amadet ieža dubmejuvvot! ## ...muhto leat maiddái muhtumat geat ieža leat dahkan iežaset ## dohkketmeahttumin... SELECT Pl IF (0 ("ieš" Pron Refl Pl Nom))(*1 V-PL BARRIER CS OR CP); ## ...ja didjiide mihtiduvvo seammá mihtuin mainna ieža ge mihtidehpet. SELECT Du IF (*-1 V-DU OR MOAI OR DOAI OR SOAI BARRIER CS OR PUNCT) (0 ("ieš" Pron Refl Du Nom)); ## Doai galgabeahtti ieža mannat. SELECT Du IF (0 ("ieš" Pron Refl Du Nom)) (*1 V-DU OR MOAI OR DOAI OR SOAI BARRIER CS OR CP); ## Ieža 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 ("vuosttaš"))(-1 CC OR COMMA)(0 ("nubbi")); SELECT Ord IF (0 ("nubbi"))(*1 CC OR COMMA LINK 1 ("goalmmát")); ## Vuosttaš vuojahaga fávllimus čuolda lea goaratčuoldan ja ## nubbi čuolda fas gáddeoal-čuoldan. ## Nubbi noađđeheargi goallustuvvo giehtahearggi lávžái ja goalmmát ## fas dan nuppi lávžái. SELECT Gen IF (0 ("nubbi"))(1 N); ## Son oaččui čáda ášši 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áža, muhto nuppi bearrašis lei isit sápmelaš. ## Čielggadeapmi lea guovtteoasát - nubbi ieš vuoigatvuođa- ## gažaldagaid birra ja nubbi dán suorggi siskkabeale hálddahus- ## ortnegiid birra. SELECT Indef IF (*-2 ("okta" Num))(-1 CC OR COMMA)(0 ("nubbi")); ## Okta ášši lea mii lágas mearriduvvui, nubbi lea man kommišuvnnat ## čuvvo mearrádusaid. ## Riektegeavadis sáhtášii danin geavahit guokte váldolinjjá, ## okta ovdal ja nubbi fas maŋŋá 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átkkošteaddji 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 badjelgehččat 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 sullasaš jearaldagaid. ## Sáhttá leat ulbmillaš, ahte seamma olmmoš áimmahuššá máŋga ## dain doaimmain. REMOVE Attr IF (0 ("seamma") OR ("seammá"))(NOT *1 N OR A BARRIER NPNH); ## Seammá gusto poliklinihkalaš divššus. # 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 vuođđun. # 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ášjogas bargá? ## Dahje dat gávccenuppelogis geat sorbmašuvve... SELECT Dem IF (NOT -1 VERB)(1 (Indef Attr)); ## Nuppi geahči dan seammá lávžžis fas biddjojuvvo bađa birra. REMOVE (Dem Sg) IF (0 ("dat" Sg))(NOT *1 (N Sg) BARRIER NON-NP LINK 0 HNOUN); ## .. ja dan golut leat govttolaččat veahki ektui. REMOVE (Dem Pl) IF (0 ("dat" Pl))(NOT *1 (N Pl) OR NUMERALS BARRIER NPNH); ## ...ja ahte dat dáhttu čielgasit 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ášjogas 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 vejolašvuođat leat dehálaš eallindiliid eavttut álbmogii. ## Noađđespagáin leat dat geažit 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 geažit mat geaigut leaba bajás, gohčoduvvoba 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); ## ...ožžo 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 vuosttaš ceakkočuolddas 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á Ruošša ja daid guovtti davvi- ## ovttastumiid oktasaš 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 noađđeheargi goallustuvvo giehtahearggi lávžái ja goalmmát ## fas dan nuppi lávžái. ## Láhka gusto daidda dearvvašvuođahálddahusa dearvvašvuoda- ## dieđuid gieđahallamiidda. # 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 čoasku. ## Seamma olmmoš áimmahuššá máŋga dain doaimmain dahje rollain. SELECT Dem IF (0 ("dainna"))(*1 (N Sg Com) OR (N Pl Loc) BARRIER NPNH); ## ...suollemas dainna doaivvuin ahte... ## Guhtemuš dainna bivdovugiin guhkimus leaš 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 lunddolaš 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ášjogas bargá? ## ...ja lea vuoigatvuohta oažžut das máŋgosa sierranas jearrama ## vuođul. ## 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ášjohkii? ## Ja dan báhkka cizas leat fierpmit dassá go dat čoasku. 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 dušše 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 divššohas ja su lagamus oapmahaččas vuoigatvuohta ## oažžut dieđuid. ## Min áiggi lea dat gildojuvvon. ## Go ii oktage vuosttildan dan vuoigatvuođadili... # 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 iešguđetge 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 leamaš gal garra digaštallan sámi oahppoplána hárrái. ## Beatnagat eai biva viššat garra buollašiid. # stuoris # - - - - SELECT Attr IF (-1C N)(0 ("stuorát"))(1C (N Pl))(1 HNOUN); ## ...leat viiddis njuolggadusat áššemeannudeapmái stuorát ## čázádatmuddemiid oktavuođas. # vuolit # - - - - SELECT Attr IF (0 ("vuolit"))(1 ("gráda") OR ("dássi")); ## Skuvla dušše 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áinnašuvvon árbevirolaš dilálašvuođat eai ## geahččaluvvo čuvgejuvvot. 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álaš dahje eanaš geavaheami. ## Nuppe beales geahččalit dahkat dáid siskkáldas áddejumiid ## duođaštanfá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áržžideamit nappo earáidego ## boazosapmelaččaide. ## 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 gažaldat geavahanvuoigatvuođas vuovdái ja dan ## vejolaš viidodahkii. ## ...mat gullet dáidda ja eará lunddolaš sullasaš 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 čoasku. ## Sápmelaččat ledje vuosttasin dahje okta dain vuosttaš álbmot- ## joavkkuin,... ## ...dainna váilevaš vejolašvuođain... SELECT Attr IF (*-1 (Dem Pl Com) BARRIER NPNH)(*1 (N Pl Com) BARRIER NPNH); ## Geainnuin livččii eambbo turistajohtolat suohkana čoahkke- ## ássanguovddášiid čađa daiguin ekonomalaš 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 ## vihtančilgehusaigun? # Other attribute rules # - - - - - - - - - - - REMOVE Adv IF (NOT *-1 VERB BARRIER CS OR CP)(NOT *1 VERB BARRIER CS OR CP); ## Diehtojuohkin divššohasa lagamuš oapmahažžii. ## Stuorát guolit mat eai bisán čalmmiide, mannet čađa. SELECT Attr IF (*-1 BOS BARRIER NPNH)(NOT 0 VERB)(NOT 1 Dem OR VERB) (*1 N BARRIER NPNH); ## Golbma čáppa, doaimmalaš nieidda livžo áhčiset riegádanbeaivve. SELECT Attr IF (NOT 0 Prop)(1 COMMA)(2 Attr)(3 CC LINK *1 HNOUN BARRIER NPNH); ## ...go viidáset gaskkusta oppalaččat álbmoga historjjálaš, ## kultuvrralaš ja politihkalaš dieđuid. 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álaš 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 čuovvovaš sajis. ## Sámegiella ja dárogiella leat ovttaárvosaš gielat. ## Lea deaŧalaš 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 ## reakšuvnnaid,... REMOVE Adv IF (-2 A OR N)(-1 ("go" Pcle))(1 N); ## Sámedikki ásaheapmi lea eanet ideologalaš go čielga 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 dieđá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 čuoččuhuvvon 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 ođđa ja vilges gákti. ## Sámedikki ásaheapmi lea eanet ideologalaš go čielga 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áđohussii. # 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 buolaš. ## Joddu suhppejuvvo go doaris lea gárvvis. ## Go joddu lea čá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áŋggas eai ožžon oastit eatnama. REMOVE Attr IF (0 A)(1 COMMA)(NOT 2 A OR PrsPrc); ## Jos dat ii leat vejolaš, 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 guhkkosaš ja 300 km govdosaš. REMOVE (A Gen) IF (*-1 COPULAS BARRIER NON-ADV-PCLE)(1 Inf); ## Lea hávski oažžut 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); ## Buođđu lea dál gárvvis. ## Dalle lea lunddolaš, ahte... SELECT (A Pl Nom) IF (*-1 COPULAS BARRIER NON-ADV LINK 0 V-PL3)(NOT 0 N) (NOT 1 PrfPrc OR ("go" Pcle)); ## Dieđut mat leat dárbbašlaččat deavdin dihtii vánhenovddasvástadusa... ## Álgohálduiváldin galgá leat gáržžit go geavahus dološ á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 oktavuođas leat dološ geavahusa njuolggadusat miellagiddevaččat. # 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 dieđá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ážat navde Finnmárkku buoret guovlun go iežaset ruovttubáiki. SELECT Comp IF (-1 ("mihá")); REMOVE Comp IF (-1 ("nu"))(*1 ("go") BARRIER NON-N); ## Čalmmit 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 badjelgeahččange sápmelaččaid 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 duđan danin buktit moadde ovdamearkka. ## Dego mun dás vuollelis mottiin ovdamearkkain čájehan,... SELECT Pl1 IF (*-1 MII-PERS BARRIER NON-ADV-PCLE LINK NOT *-1 V-PL1 BARRIER CS); ## ...nugo mii ge ándagassii addit velgolaččaidasamet. SELECT VFIN IF (0 VERB)(1 ("ba"))(2 Nom); ## Galgat ba mii oastit láibbi guovttečuođi 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ápmelaččat ledje áŋgiris 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. ## Prošeavtta áigut čađahit. 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 čá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ásttašeaddji Johanas bođii ja sárdnidišgođii. # 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 oažžu ovtta gusa fuođđara. # SELECT Gen IF (NOT -2 Pr)(-1 NUMERALS); ## Dat leat golbma nieidda. ## Dál leat máŋga 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 ođđasiid. # 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); ## Dearvvašvuođaregisttarláhka gusto daidda dearvvašvuođa- ## hálddahusa dearvvašvuođadieđuid gieđahallamiidda. SELECT Gen IF (*-1 ("oktan") OR ("ovttas") BARRIER NPNH)(*1 (N Com) BARRIER NON-NP); ## Eamiálbmotguovddáža ásaheami sáhttá geahččat ovttas universitehta ## Áivan dutkamiid guovddáža 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 iežas 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 'oktavuođas' 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 ášši 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); ## Čuovvovaš seminára cealkagat govahallet seminára loahppabohtosa. ## Dat leamaš vissa gobmi. ## Eai das leat go áibbas moadde čuoldda. REMOVE Acc IF (-1 ("leat"))(1 EOS); ## Dát lea áhči. # 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árbbaša 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 dieđus 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); ## Dieđá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 ođđa bargovugiid lea komitea viiddiduvvon. ## Bušeahtas lea sullii 650.000 ruvnno leamaš várrejuvvon dáidda. ## Dat guhte osku ja gásttašuvvo, bestojuvvo. REMOVE Nom IF (-1 BOS)(NOT 0 (Pron Pers))(1C V-1-2); ## Dan oainnán viesu duohkin. ## Moai čilge dan ášši 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átkkošteaddji 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ámuš gii lea mu álbmoga Israela báimman. ## Dii lehpet máilmmi čuovggas! ## 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 ášši lea dehalaš. ## Dan ášši 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)); ## Jošiai 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 goappašagat 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 goappašagat 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 leamaš 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á čállit čuovvovaččat. REMOVE Gen IF (*-1 CLB BARRIER NON-CC)(1C VFIN); ## Mus lea doaivu, ja dan sáhttá čállit čuovvovaččat. REMOVE Gen IF (-1 CS)(1C VFIN); # No hits? ## Mun jáhkán, ahte dan sáhttá čállit čuovvovaččat. # 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); ## Ođastus addá vejolašvuođa 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. ## Ruoŧas leat guhká jo ságastallan dán áššis. # 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ážat eai atnán sámiid buoret go beanan. ## Sii badjelgehčče 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 ožžon permišuvnna guovvamánu 22. b. ## Berit lei ožžon permišuvnna 22.10. # earlier formulation: (NP-BORDER OR ADVLCASE OR Adv), which gives the wrong # result with ## Dat ii gal mearkkaš ollu álbmoga ealáhussii. # Removed (1 NP-BORDER OR Adv OR TIME OR Attr) because of ## Fylka mearrida olugo galgá atnit sámi ođđa 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 olmmoš gille guoddit, go beare deaivá dan mađe 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 gođđa 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. ## Čuovvovaš seminára cealkagat govahallet seminára loahppabohtosa. ## Maŋŋil 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 buođđomuoraid. # Only one problem found: ## Romssa universitehta sámi(*ACC) ja eamiálbmotguoskevaš 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 šluppoha 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 šluppoha 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ážaid, sámiid ja láddelaččaid ieš guđet 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ážaid, sámiid ja láddelaččaid ieš guđet 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ážaid, sámiid ja láddelaččaid ieš guđet sadjái, ... ## Ferte vuhtiiváldit divššohasa dárbbuid, beroštumiid ja riektesihkar- ## vuođa dearvvašvuođabálvalusa ektui. # Accusative for a topicalised verb # --------------------------------- REMOVE Gen IF (@1 V-NON-AUX + Clt)(NOT -1 (N Acc)) (1 EOS OR CLB); ## Čilgego 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 čá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ážat 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ápmelaččaid historjá álbmogin lea duháhiid jagiid boaris, muhto ## dálá ássanguovlluin sápmelaččat 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); ## Muđui 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 vuosttaš čielgadeapmi 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 šattai 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 ođđa leavgga. ## Ulbmiliin lea nannet sámegiela máhtolašvuođa Sámedikki organisašuvnnas. ## 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 ođđa 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 maŋisboahttiide. # 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áŋgavuođa 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átkkošteaddji, 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árbbaša 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 ipmašiid 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 ođđa fanas. ## Suomas maid lei dilli váttis. ## Lágas eai leat mearrádusat. ## Daningo sámiin lea iežaset 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 ruđaid? # hmm... SELECT Loc IF (NOT -1 Num)(0 VAHKKU); ## 1870-jagiin lea čielggas ahte láddelaččaide guske ortnegat. ## ...gal guhkui ruoššaid gávppašanriekti guvttiin vahkuin. # SELECT Loc IF (-1 ("guhtemuš") OR ("goappašat"));# 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 čohkkát dain biillain. SELECT Loc IF (-2C (Dem Pl Loc))(-1 Adv); ## Mii čohkká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 % ruđain. 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 dušše sáhka olbmuid oktavuođain juohkebeaivválaš 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 áimmahuššan dihte ođđa bargovugiid.. SELECT (Pl Loc) IF (*-1 CC LINK *-1 Loc BARRIER NPNH LINK NOT 0 Com); ## Son lea skuvllas ja ođđa mediain. SELECT (Pl Loc) IF (1 CC)(*2 Loc BARRIER NPNH LINK NOT 0 Com); ## Son lea ođđa 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 ođđa 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 ođđa 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ásaš dearvvašvuođaveahki. # Neg conditions because of: ## Suhpodit daddjojuvvo dat go dušše nođiid váldá olmmoš 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 dušše jus divššohas oažžu ávkki veahkis. ## Leago guhkes áigi dassá go Máreha oidnet? ## Maid ipmašiid 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 leamaš 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 áimmuhuššan 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 čuovo 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 čilge, 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 čilge, 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 vuoigatvuođat dain leat riikavuložin? ## 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álddašeami iežaset 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á čáhcečoahkut ## 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 gažada... 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á livčče 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 ođđa 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); ## Dušše, 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 dieđan, 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áža 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? ## Muđui gustojit seammá njuolggadusat sámi levgii go dáža 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 čilge, 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 livčče (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á livčče 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á livčče 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 livčče 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 livčče 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 galggašii gierdat eahpegovttolaš garra, vahágahtti meassamiid. ## Mohtorfievrojohtolat meahcis gáttis dahje rabas dahje gálbmon ## čá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 dorvvolaš. 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, geahča! # 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 ("šaddat") BARRIER NON-ADV)(NOT 0 (N Pl Nom)); ## Eará guovlluin lei vejolaš nannet dárogiela. SELECT Inf IF (*-1 N BARRIER VFIN OR CP LINK *-1 ("leat") OR ("šaddat") 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 geahččaleaddji bođii 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 čuohtejagi 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 leamaš gal garra digaštallan 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); # leamaš 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 diŋgot, 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ápmelaš gean dovddan. ## Gos don dál boađá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 dearvvašvuođaásahusain dahje maid almmolaš ## dohkkehuvvon dearvvašvuođbargit 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 oaffarskeŋkkat! # LINK because of ## Eai dearvvaš olbmot(!) dárbbaš dálkkasteddji. ## Manne čálaoahppavaččat 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 leamaš vejolašvuohta systemáhtalaččat 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 ođđa 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: leamaš). # 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 goappašagat 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.