Piirrerakennekielioppien jäsentäminen ja ProFIT Kontekstittomat jäsennysmenetelmät Lili Aunimo lili.aunimo@helsinki.fi Helsingin yliopisto Kieliteknologia Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.1/23 2005-04-26
Sisältö 1. Taulukkojäsentäminen ja piirrerakennekieliopit 2. Profit Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.2/23 2005-04-26
Taulukkojäsentäminen ja piirrerakennekieliopit Kolme vaihtoehtoa: 1. Muunnetaan piirrerakennekielioppi CFG:ksi. 2. Jäsennetään CFG-kielioppi ja tarkistetaan rajoitteet jälkikäteen. 3. Muunnetaan jäsennin käsittelemään piirrerakennekielioppeja. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.3/23 2005-04-26
Taulukkojäsentäminen Muunnetaan piirrerakennekielioppi CFG:ksi. S -> NP VP: <NP num> = <VP num>. S -> NP_sing VP_sing. S -> NP_plur VP_plur. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.4/23 2005-04-26
Taulukkojäsentäminen Jäsennetään CFG-kielioppi ja tarkistetaan rajoitteet jälkikäteen. Jäsennin hukkaa aikaa turhiin hypoteeseihin ja analyyseihin. Piirrerakennekieliopilla pitää olla ainakin yksi sellainen piirre, jolla on arvo jokaisessa kieliopin DAG:issa, jotta siitä voisi tehdä CFG:n. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.5/23 2005-04-26
Taulukkojäsentäminen Muunnetaan jäsennin käsittelemään piirrerakennekielioppeja. Perusjäsennysongelma on sama riippumatta siitä, ovatko kategoriat atomisia vai piirrerakenteita. Muutetaan jäsentimen perusoperaatioita (samanlaisuuden testaaminen, sopivien sääntöjen etsiminen, jne.) hyväksymään erilaisia tietorakenteita. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.6/23 2005-04-26
Taulukkojäsentäminen 1. <START> = kokonaisluku (mistä kaari alkaa) 2. <FINISH> = kokonaisluku (mihin kaari loppuu) 3. <LABEL> = kategoria (kaaren päämäärä) 4. <FOUND> = kategoriajono (jo löydetyt lausekkeet) 5. <TOFIND> = kategoriajono (etsittävät lausekkeet) Pisteen sisältävä sääntö: <LABEL> -> <FOUND>.<TOFIND> <LABEL>, <FOUND> ja <TOFIND> ovat DAG:eja. Taulukkojäsentämisen perussääntö (The Fundamental rule) <i,j,a -> W1.B W2> <j,k,b -> W3.> <i,k,a -> W1 B. W2> A ja B ovat kategorioita ja W1, W2 ja W3 ovat (mahdollisesti tyhjiä) kategoriajonoja tai sanoja. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.7/23 2005-04-26
Verbit, semanttiset luokat Luokilla omat semanttiset roolit. Verbs of giving, roles: donor, gift, recipient. %to = V NP to-pp is possible %ditran = V NP NP is possible %with = the with-alternant is possible. give_verb(give, (to or ditrans)). give_verb(lend, (to or ditrans)). give_verb(supply, (to or ditrans or with)). give_verb(present, (to or with)). give_verb(bribe, with). give_verb(contribute, to). Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.8/23 2005-04-26
Verbit, aikamuodot % Tense Templates t_overlap(sit) := reln!t_overlap & ref_time!sit & speech_time!now. t_precede(sit) := reln!t_precede & ref_time!sit & speech_time!now. t_follow(sit) := reln!t_follow & ref_time!sit & speech_time!now. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.9/23 2005-04-26
Leksikko, pronominit %orthography, case, agreement, restriction, anaphoric or not. pron(he, nom, 3&sg&m, male, -). pron(she, nom, 3&sg&f, female, -). pron(him, acc, 3&sg&m, male, -). pron(himself, acc, 3&sg&m, male, +). Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.10/23 2005-04-26
Leksikko, substantiivit lex(goose, @cn_lxm(goose,+)). lex(moose, @cn_lxm(moose,+)). lex(information, @cn_lxm(information,-)). Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.11/23 2005-04-26
Morfologiset funktiot morph_plural(nounsg, NounPl) :- atomic(nounsg), name(nounsg, SpellSg), reverse(spellsg, RevSg), reverse_plural(revsg, RevPl), reverse(revpl, SpellPl), name(nounpl, SpellPl). Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.12/23 2005-04-26
Reverse_plural() reverse_plural([0 e,0 s,0 o,0 o Rev], [0 e,0 s,0 e,0 e Rev]) :-!. Ongelma: moose, hirvi sama yksikössä ja monikossa. Sääntöjen järjestys. reverse_plural([0 e,0 s,0 o,0 o,0 m Rev], [0 e,0 s,0 o,0 o,0 m Rev]) :-!. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.13/23 2005-04-26
Merkintöjä arg_st argument structure ana anaphor (reflexive pronoun) const_lxm constant lexeme finclause finite clause gram_cat grammatical category infl_lxm inflectable lexeme lxm lexeme Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.14/23 2005-04-26
Merkintöjä mod modifies pos part of speech sit situation sent_verb verb that takes a sentential argument srv_lxm subject-raising verbs lexeme tv_lxm transitive verb lexeme val valency val_cat valency category Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.15/23 2005-04-26
Lähteet: Gazdar and Mellish: Natural Language Processing in Prolog, 1989. Paul Bennett: GDE Handout 4 Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.16/23 2005-04-26
Harjoitustehtävä 3 Alikategorisointi 3.1 Kim saw Sandy eat the duck % Category(Index, [Phon P]-P, Subcat, [LF_Term L]-L). v(e, [eat P]-P, [np(a)], [eat(e,a) L]-L) ---> [eat]. v(e, [saw P]-P, [np(a),s(b)], [see(e,a,b) L]-L) ---> [saw]. vp(e, P0-PN, [Subj], L0-LN) ---> v(e, P0-P1, [Subj,s(X)], L0-L1), s(x, P1-PN, [], L1-LN). Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.17/23 2005-04-26
Harjoitustehtävä 3 Alikategorisointi 3.1 Kim saw the duck die Kim saw the woman give a duck to Sandy % Category(Index, [Phon P]-P, Subcat, [LF_Term L]-L). v(e, [die P]-P, [np(a)], [die(e,a) L]-L) ---> [die]. v(e, [give P]-P, [np(a),np(c),pp(to,b)], [give(e,a,b,c) L]-L) ---> [give]. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.18/23 2005-04-26
Harjoitustehtävä 3 Semantiikka 3.2 Kim gave a duck to Sandy the duck died the woman ate the duck % Category(Index, [Phon P]-P, Subcat, [LF_Term L]-L). v(e, [gave P]-P, [np(a),np(c),pp(to,b)], [give(e),past(e),agent(e,a),recipient(e,b),patient(e,c) L]-L) ---> [gave]. v(e, [died P]-P, [np(a)], [die(e),past(e),patient(e,a) L]-L) ---> [died]. v(e, [ate P]-P, [np(a),np(b)], [eat(e),past(e),agent(e,a),patient(e,b) L]-L) ---> [ate]. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.19/23 2005-04-26
Harjoitustehtävä 3 Aikamuodot 3.3 Kim gave a duck to Sandy the duck died the woman ate the duck % Category(Index, [Phon P]-P, Subcat, [LF_Term L]-L). v(e, [gave P]-P, [np(a),np(c),pp(to,b)], [give(e),before(e,now),agent(e,a),recipient(e,b),patient(e,c) L]-L) ---> [gave]. v(e, [died P]-P, [np(a)], [die(e),before(e,now),patient(e,a) L]-L) ---> [died]. v(e, [ate P]-P, [np(a),np(b)], [eat(e),before(e,now),agent(e,a),patient(e,b) L]-L) ---> [ate]. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.20/23 2005-04-26
Harjoitustehtävä 3 Aikamuodot 3.3 Kim saw Sandy eat the duck Lisätään infinitiivisellekin verbille aikamuotoesitys: [name(a,kim),see(b),agent(b,a),patient(b,c),before(b,now), name(d,sandy),eat(c),overlap(c,now),agent(c,d),patient(c,e),def(e),duck(e)] before(b,now) overlap(c,b) before(b,subclause(c),now) Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.21/23 2005-04-26
Harjoitustehtävä 3 Aikamuodot 3.3 Kim saw Sandy eat the duck Infinitiivisellä verbillä ei erillistä aikamuotoa vp(vform, E, P0-PN, [Subj], L0-LN) ---> v(vform, E, P0-P1, [Subj,s(X)], L0-L1), s(nonfin, X, P1-PN, [], L1-LN). v(nonfin, E, [eat P]-P, [np(a),np(b)], [eat(e),agent(e,a),patient(e,b) L]-L) ---> [eat]. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.22/23 2005-04-26
Harjoitustehtävä 3 Aikamuodot 3.3 Kim saw Sandy eat the duck Ei-finiittisellä verbillä ei erillistä akamuotoa s(e, P0-PN, [], L0-LN) ---> np(a, P0-P1, [], L0-L1), vp(fin, E, P1-PN, [np(a)], L1-LN). v(fin, E, [eat P]-P, [np(a)], [eat(e),agent(a),overlap(e,now) L]-L) ---> [eat]. Lili Aunimo Piirrerakennekielioppien jäsentäminen ja ProFIT p.23/23 2005-04-26