21
Ber¨ akning av implikatur och presupposition Peter Bohlin Uppsats i pragmatik Utbildningsprogrammet i datalingvistik oteborgs universitet 30 mars 1998 Handledare: Staffan Larsson och Jens Allwood, Institutionen f¨ or lingvistik, oteborgs universitet

Beräkning av implikatur och presupposition

Embed Size (px)

Citation preview

Berakning av implikatur och presupposition

Peter Bohlin

Uppsats i pragmatikUtbildningsprogrammet i datalingvistik

Goteborgs universitet

30 mars 1998

Handledare:Staffan Larsson och Jens Allwood,Institutionen for lingvistik,Goteborgs universitet

Innehall

1 Syfte 3

2 Bakgrund 32.1 Implikatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Presupposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Berakning av implikatur och presupposition . . . . . . . . . . . . 42.4 Gazdars teori om berakning av implikatur och presupposition . . 5

3 Metod 53.1 Formalism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Logisk inferens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.3 Kontext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.4 Kvalitetsimplikatur . . . . . . . . . . . . . . . . . . . . . . . . . . 63.5 Klausal implikatur . . . . . . . . . . . . . . . . . . . . . . . . . . 63.6 Skalar implikatur . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.7 Presupposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.8 Utvidgning av kontexten . . . . . . . . . . . . . . . . . . . . . . . 8

4 Implementering 84.1 Potentiell klausal implikatur . . . . . . . . . . . . . . . . . . . . . 94.2 Potentiell skalar implikatur . . . . . . . . . . . . . . . . . . . . . 94.3 Potentiell presupposition . . . . . . . . . . . . . . . . . . . . . . . 94.4 Att utvidga kontexten . . . . . . . . . . . . . . . . . . . . . . . . 94.5 Logisk inferens och konsistens . . . . . . . . . . . . . . . . . . . . 10

5 Resultat och diskussion 10

6 Slutsatser 12

7 Litteratur 12

A Testexempel 13

B Programkod 17

1 Syfte

Syftet med denna uppsats ar att beskriva en mojlig datorimplementering avGazdars (1979) teori for att berakna kvantitetsimplikatur och presupposition,och samtidigt undkomma projektionsproblemet.

Denna teori sager att man forst ska berakna alla potentiella implikatu-rer/presuppositioner for att sedan valja ut de som ar konsistenta med det manredan vet. Detta ska man dessutom gora i en viss ordning – forst implikaturer,sedan presuppositioner.

I bakgrunden ges en oversiktlig bild av begreppen implikatur och presuppo-sition, samt beskrivs Gazdars teori for att kunna berakna dessa ur ett yttrande.I metodavsnittet beskrivs mer noggrant de begrepp som kravs for att kunnautfora denna oversattning. Darefter foljer en beskrivning av den implemente-ring jag har gjort, foljt av resultat och en avslutande diskussion.

2 Bakgrund

2.1 Implikatur

Implikatur kan sagas vara de slutsatser som man kan dra ur ett yttrande, ochvilka inte ar rena logiska konsekvenser av yttrandet. Grice delade upp begreppeti konventionell och konversationell implikatur (Levinson 1983:127). Konventio-nell implikatur ar da de slutsatser som ar konventionella – de kan inte beraknasutifran de maximer Grice stallde upp. Eftersom de inte kan beraknas, maste delaras in. Konventionell implikatur hamnar utanfor avsikten med denna uppsats,och darfor lamnar vi det begreppet darhan.

Konversationell implikatur ar, enligt Grice, de slutsatser som kan dras utifranantagandet att alla inblandade foljer samarbetsprincipen. Samarbetsprincipenar (Levinson 1983:101):

Make your contribution such as required, at the stage at which itoccurs, by the accepted purpose or direction of the talk exchange inwhich you are engaged.

D.v.s. deltagarna i en konversation har nagot gemensamt mal, och det kan antasatt de gor sina bidrag sa att malet ska kunna uppnas. Utifran denna principformulerade Grice fyra maximer som deltagarna i en konversation kan antasfolja for att uppna det gemensamma malet (Levinson 1983:101-102):

• Kvalitetsmaximen: Var sann. Speciellt (i) sag ingenting du tror ar falskt,och (ii) sag ingenting for vilket du inte har adekvat bevis/evidens.

• Kvantitetsmaximen: (i) Var sa informativ som kravs, och (ii) var inte merinformativ.

• Relevansmaximen1: Var relevant.

• Sattsmaximen: Var tydlig. Speciellt (i) undvik oklarhet, (ii) undvik ambi-guitet, (iii) var kortfattad, och (iv) hall ordning.

1Grice kallade denna maxim for ”relation”, medan bade Levinson (1983) och Gazdar (1979)anvander ”relevans”. Det ar Levinsons och Gazdars benamning jag haller mig till i dennauppsats.

3

En implikatur enligt en viss maxim ar da en slutledning som kan dras endastunder forutsattning att talaren foljer just den maximen. I vissa fall kan entalare bryta mot en maxim i syfte att pavisa nagonting helt annat, detta kallasda ”flouting”. Exempel pa flouting ar ironi och metaforer.

En forutsattning for att flouting ska fungera ar att bade talaren och lyssnarenar medvetna om att talaren egentligen inte menar vad som yttras, och att dear medvetna om att den andre ar medveten om detta, och att de ar medvetnaom att de ar medvetna om . . . (s.k. gemensam kunskap – common knowledge).Exempelvis ar en logn inte flouting, inte ens om den genomskadas. Talaren arda inte medveten om att lyssnaren inser att talaren inte menar det som det ljugsom.

2.2 Presupposition

Presupposition kan sagas vara fakta man maste kanna till for att ett yttrandeska bli meningsfullt. En vanlig egenskap hos presuppositioner ar att deras san-ningsvarde bibehalls aven om yttrandet negeras. Detta har fatt folk att forsokadefiniera presupposition som ungefar (Levinson 1983:175):

Ett yttrande A presupponerar ett pastaende B omm (i) i alla varldardar A ar sann ar B sann, och (ii) i alla varldar dar A ar falsk ar Bsann.

Denna typ av definitioner medfor dock ett antal problem (Levinson 1983:174-177), vilka vi dock inte ska ga in pa har. Detta for att vi enbart kommer attanvanda oss av s.k. ”presupposition triggers”, d.v.s. kanda yttrandetyper urvilka man kan berakna mojliga presuppositioner. Karttunen har gjort en listapa 31 sadana triggers (Levinson 1983:181-184).

2.3 Berakning av implikatur och presupposition

Ett problem med Grices maximer ar att det inte alls ar sjalvklart hur man skaberakna ett yttrandes implikaturer. Gazdar (1979:43-48) beskriver kortfattathur man skulle kunna gora for att berakna satts- och kvalitetsimplikaturer, ochLarsson (1996) presenterar ett mojligt satt att berakna relevansimplikaturer.Presuppositioner ar aven de problematiska (Levinson 1983:191).

En av anledningarna till att berakningarna blir sa svara ar det s.k. pro-jektionsproblemet (Levinson 1983:142-144,191-198). Med detta menas att ettyttrandes inferenser inte ar en enkel summa av dess ingaende delars inferenser.Ibland kan en underliggande inferens overleva en kontext, ibland inte, och iblandforandras den till en annan inferens.

Karttunen har en teori om presuppositioner vilken forsoker losa projektions-problemet for presuppositioner. Teorin inbegriper vad han kallar for ”plugs”,”holes” och ”filters”. Problemet med den ar att den dels ar komplicerad, ochdels att den inte gor helt korrekta forutsagelser (Gazdar 1979:108-109, Levinson1983:193-198).

4

2.4 Gazdars teori om berakning av implikatur och presup-position

Gazdar (1979) presenterar en teori for att berakna kvantitetsimplikaturer ochpresuppositioner ur ett yttrande. Grundidn ar att man forst beraknar potentiellaimplikaturer och valjer de som inte gor yttrandet inkonsistent. Sedan beraknarman potentiella presuppositioner och valjer de som inte gor yttrandet (med detillagda implikaturerna) inkonsistent.

For att gora detta delas kvantitetsimplikatur upp i tva typer – klausaloch skalar implikatur. Forst laggs de klausala implikaturerna till, och sedande skalara. Allra sist presuppositionerna. Potentiella klausala implikaturer ar ikorthet de olika pastaenden som talaren uttrycker sasom varande mojliga ge-nom val av vissa uttryck i stallet for andra. Potentiella skalara implikaturerar de pastaenden som talaren uttrycker sasom varande omojliga genom val avvissa uttryck i stallet for andra. Slutligen, potentiella presuppositioner ar depastaenden som genereras av de olika ”presupposition triggers” man anvandersig av.

3 Metod

Jag har utgatt fran Gazdars (1979) teori for att berakna implikatur och presup-position, och gjort en liten implementering i Prolog. Implikaturerna beraknas itva steg – forst de klausala, sedan de skalara implikaturerna.

3.1 Formalism

Den formalism Gazdar anvander sig av ar en del av Hintikkas epistemiska logik(Hintikka 1962). I denna logik finns tva operatorer K och P , dar KA φ betyder”A vet φ” och PA φ betyder ”A haller φ for mojligt”. Dessa tva informelladefinitioner ger dem ett inbordes forhallande: PA φ ≡ ¬KA ¬φ.

I denna uppsats kommer K φ resp. P φ att anvandas, eftersom den somasyftas hela tiden ar samma, d.v.s. den som yttrar ett pastaende.

3.2 Logisk inferens

Gazdars teori forutatter att man pa nagot satt kan avgora om en mangd pastaendenar inkonsistenta eller ej. For att kunna berakna den mojliga inkonsistensen kravsatt man har nagon form av logisk slutledningsmekanism. Det finns flera olikasatt att implementera en sadan. Jag har anvant en inferensmekanism som letarefter motexempel genom att forenkla propositioner, och modifierat den till atthantera epistemisk logik samt vissa sprakspecifika implikationer.

3.3 Kontext

Ett yttrande atfoljs alltid av en viss kontext, som kan definieras av en mangdpastaenden. Ett yttrandes inferenser relaterar alltid till den givna kontexten ochfar ej motsaga denna.

Exempel: Yttrandet ”Pelle skrev inte klart uppsatsen” presuppone-rar att Pelle paborjade uppsatsen om inget annat ar kant. Men om

5

man precis har sagt att Pelle dog innan han borja skriva, sa kan juinte presuppositionen vara korrekt.

Vad som ska inga i kontexten ar inte helt klart. Gazdar ger inget svar pa fragan,han sager bara att den far ses som primitiv (Gazdar 1979:130-132). Det kan intevara lyssnarens eller talarens alla kunskaper – da skulle t.ex. yttrandet ”Vascoda Gama visste inte att jorden var platt” inte kunna ha presuppositionen attjorden ar platt, eftersom det bryter mot varldskunskapen. Ett forslag ar attta som kontext de kunskaper och trosforestallningar som ar gemensamma fortalaren och lyssnaren (common knowledge resp. common belief). Men dettafaller utanfor ramen for denna uppsats och darfor gar jag inte in narmare pa deproblemen.

3.4 Kvalitetsimplikatur

Gazdars tolkning av kvalitetsmaximet ar helt enkelt ”sag endast det du vet”.Detta innebar att vi kan definiera ett yttrandes unika kvalitetsimplikatur som

Kvalitetsimplikaturen till ett yttrande φ ar K φ

Med detta behover inte menas att yttraren verkligen vet vad som yttras, snarareatt han/hon tar pa sig ett ansvar att veta det som yttras. Daremot hanterar den-na tolkning inte s.k. ”flouting”, eftersom den helt enkelt inte tillater yttrandensom ar inkonsistenta med den givna kontexten.

Exempel: Yttrandet ”Pelle mordade Lisa” ger da kvalitetsimp-likaturen att talaren vet att Pelle mordade Lisa, d.v.s.Kmordade(Pelle, Lisa).

3.5 Klausal implikatur

Forst beraknas alla potentiella klausala implikaturer och sedan adderar man tillkontexten endast de som utan risk for inkonsistens kan laggas till.

Levinsons formulering av Gazdars definition av potentiell klausal implikaturar (Levinson 1983:136):

P φ och P ¬φ ar potentiella klausala implikaturer till ett yttrandeS omm (i) φ ingar i S, (ii) varken φ eller ¬φ impliceras av S, och(iii) det finns en finns en S′ (av ungefar samma storlek som S) sominnehaller φ och S′ implicerar eller presupponerar φ

Detta ger da att yttrandet ”φ och ψ” inte har nagra klausala implikaturer, ef-tersom yttrandet motsager krav nr (ii), medan yttrandet ”φ eller ψ” har klausalaimplikaturer, eftersom ”φ och ψ” uppfyller krav nr (iii).

Problemet med ovanstaende definition (och Gazdars motsvarande) ar kravnr (iii). Det S′ man ska hitta kan vara vilket yttrande som helst, och det arorimligt for en implementering att leta igenom alla mojliga yttranden.

Av den anledningen implementerar jag inte definitionen, utan helt enkelten enkel sokning som letar efter fraser for vilka det ar kant att de genererarklausala implikaturer (Levinson 1983:137). Sadana fraser kallar jag hadanefter”klausala triggers”. De fraser jag har implementerat ar ”φ eller ψ” och ”om φsa ψ” (vilka bada genererar de potentiella implikaturerna P φ, P ¬φ, P ψ och

6

P ¬ψ) samt ”Jag haller det for mojligt att φ” och ”Jag tror φ” (vilka genererarde potentiella implikaturerna P φ och P ¬φ).

Exempel: Yttrandet ”Om Lisa overlever kommer Pelle angra atthan mordade henne” ger de potentiella klausala implikaturernaP overlever(Lisa), P ¬overlever(Lisa), P mordade(Pelle, Lisa) ochP ¬mordade(Pelle, Lisa).

3.6 Skalar implikatur

Forst beraknas alla potentiella skalara implikaturer och sedan adderas till kon-texten endast de som utan risk for inkonsistens kan laggas till. For att kunnadefiniera potentiell skalar implikatur kravs forst nagra andra definitioner.

En kvantitativ skala ar en ordnad lista av ”skalara predikat” e1 . . . en, daren proposition φ implicerar φ[ei/ej ] omm i ≤ j. Med φ[x/y] menas har φ medexakt en forekomst av x utbytt mot y (Levinson 1983:133).

Under forutsattning att vi har ett antal sadana skalor givna, kan vi definieraen partiell ordningsrelation mellan fraser (Gazdar 1979:58):

φ ar storre an φ′ enligt den kvantitativa skalanQ, omm φ′ = φ[ei/ej ],dar ei och ej ingar i Q och i ≤ j.

Definitionen av potentiell skalar implikatur kan nu skrivas (Gazdar 1979:58):

K ¬φ ar en potentiell skalar implikatur till S omm (i) φ′ ingar i S,(ii) S implicerar φ′, och (iii) φ ar storre an φ′ enligt nagon kvantitativskala.

Denna definition ar relativt implementeringsvanlig. Man kan implementera de-finitionen, en ordningsrelation och ett antal kvantitativa skalor ganska direkt.De skalor jag har implementerat ar och—eller, jag vet—jag tror—jag haller detfor mojligt, alla—de flesta—manga och skrev klart—borjade skriva.

Exempel: Yttrandet ”Det var manga studenter som skrev klartuppsatsen” ger alltsa den potentiella skalara implikaturenK ¬alla(x, student(x), skrev klart(x, uppsatsen)).

3.7 Presupposition

Forst beraknas alla potentiella presuppositioner och sedan adderas till kontextenendast de som utan risk for inkonsistens kan laggas till. Definitionen pa enpotentiell presupposition ar enkel:

K φ ar en potentiell presupposition till S omm (i) φ′ ingar i S, och(ii) φ′ triggar φ enligt nagon presupposition trigger.

Harnast ger jag en lista pa de presupposition triggers jag har implementerat. Foren mer fullstandig lista, se Levinson (1983:181-185) och Gazdar (1979:125-127).

• Faktiva verb: φ′ ar ”v att φ”, dar v ar ett faktivt/semifaktivt verb.Exempel: Yttrandet ”Pelle angrar inte att han mordade Lisa” presuppo-nerar Kmordade(Pelle, Lisa).

7

• Bestamd form: φ′ ar en nominalfras i bestamd form eller ett egennamn, φblir da ”φ′ existerar”.Exempel: Yttrandet ”Pelle mordade Lisa” har darfor presuppositionenK existerar(Pelle), daremot inte K existerar(Lisa), eftersom det ar in-konsistent med pastaendet att hon blev mordad.

• Kvantifierare: φ′ ar ”Q α”, dar Q ar en kvantifierare, φ blir i det fallet ”αexisterar”.Exempel: Yttrandet ”alla studenter borjade skriva uppsatsen” presuppo-nerar K existerar(x, student(x)).

• Temporala fraser: φ′ ar ”. . . tφ”, dar tφ ar en temporal fras.Exempel: Yttrandet ”Pelle skrev klart uppsatsen innan han dog” presup-ponerar K dog(Pelle), medan yttrandet ”Pelle dog innan han skrev klartuppsatsen” inte presupponerar K skrev klart(Pelle, uppsatsen).

• Implikativa verb: φ′ ar ”α v′ β”, dar v′ ar ett implikativt verb som impli-cerar v, φ blir da ”α v β”.Exempel: Yttrandet ”Pelle skrev inte klart uppsatsen” presupponerarK borjade skriva(Pelle, uppsatsen)

3.8 Utvidgning av kontexten

Nar man utvidgar kontexten med de potentiella implikaturer/presuppositionerman har beraknat, lagger man endast till de propositioner som kan laggas till”utan risk for inkonsistens” (Gazdar 1979:131-132). Gazdar definierar salundaden ”satisfierbara utvidgningen”, X∪!Y , av en mangd X med en mangd Y som:

X∪!Y = X ∪ {y ∈ Y : (∀Z ⊆ X ∪ Y )kons(Z) → kons({y} ∪ Z)}

D.v.s. de element ur Y som laggs till X ar de element som ar konsistenta medalla konsistenta delmangder till X ∪ Y .

Det ar inte korrekt att enbart valja ut den storsta delmangd Y ′ till Y som intear inkonsistent med X. Detta for att denna mangd Y ′ inte ar unikt definieradutan beror pa i vilken ordning man valjer ut elementen ur Y .

4 Implementering

Implementeringen ar gjord i programmeringsspraket Prolog, den hagade kantitta i appendix B efter hela programkoden.

Huvudpredikatet ar utvidga kontext/7, vilket tar en kontext och ett ytt-rande, och ger som resultat kvalitativa, klausala, skalara implikaturer och presup-positioner, samt den nya kontexten. Kontexterna och inferenserna ges i form aven mangder (prologlistor) med propositioner, och yttrandet ges i form av enproposition.

Huvudpredikatet anropar i sin tur i foljd predikaten utvidga kvalitet/4,utvidga klausal/4, utvidga skalar/4 och utvidga presupposition/4.Dessa predikat tar aven de som indata en kontext och ett yttrande, och gersom utdata de korrekta inferenserna samt den nya kontexten. Den nya kontex-ten skickas sedan vidare till nasta predikat pa tur o.s.v.

8

Predikatet utvidga kvalitet/4 ar speciellt, eftersom det endast lagger tillen enda proposition, namligen K φ om yttrandet ar φ. Denna proposition mastevara konsistent med den ingaende kontexten, annars misslyckas predikatet.

De ovriga tre predikaten fungerar pa ett och samma satt. Forst hittar de allapotentiella implikaturer/presuppositioner genom att anropa predikaten pot klausal/2,pot skalar/2 resp. pot presupp/2 via det inbyggda prologpredikatet setof/3.Sedan utvidgas den ingaende kontexten med de konsistenta propositionerna ge-nom predikatet utvidga/3.

Predikaten utvidga/3 och utvidga kvalitet/3 undersoker om en mangd arinkonsistent, resp. om en proposition ar inkonsistent med en (konsistent) mangd.Detta gors med predikaten inkonsistent/1 resp. inkonsistent/2. Dessutomanvander sig predikatet pot skalar/2 av logisk implikation, d.v.s. predikatetimplicerar/2.

4.1 Potentiell klausal implikatur

Predikatet pot klausal/2 tar ett yttrande och ger en mojlig potentiell klausalimplikatur. Detta gor det genom att hitta en delfras i yttrandet, vilken ar en”klausal trigger”. Denna delfras triggar en proposition, och denna propositionger de potentiella implikaturerna P φ och P ¬φ, dar φ ar propositionen.

En klausal trigger ar helt enkelt en viss typ av fras, som ar kodad i predikatetklausal trigger/2. Till exempel ar en disjunktion en sadan fras, och triggarda var och en av disjunkterna.

4.2 Potentiell skalar implikatur

Predikatet pot skalar/2 raknar ut en potentiell skalar implikatur ur ett yttran-de genom att hitta en delfras i yttrandet, vilken logiskt impliceras av yttrandet.Da blir den potentiella implikaturen K ¬φ, dar φ ar varje fras som ar skalartstorre an den funna delfrasen.

En fras ar skalart storre (predikatet skalart storre/2) an en annan om denstorre frasen ar lika med den mindre, med huvudet utbytt mot ett storre elementi en kvantitativ skala. Kvantitativa skalor ar lagrade som listor i predikatetskala/1, dar det storre elementet star framfor det mindre i listan.

4.3 Potentiell presupposition

Potentiella presuppositioner (predikatet pot presupp/2) beraknas genom atthitta en delfras i yttrandet, vilken ar en ”presupposition trigger”. Da blir denpotentiella presuppositionenK φ, dar φ ar den proposition som triggas av delfra-sen.

En presupposition trigger ar en viss typ av fras, som ar kodad i predikatetpresupp trigger/2. Det tar en fras och ger som resultat den proposition somtriggas av frasen.

4.4 Att utvidga kontexten

Predikatet utvidga/3 ar en prologimplementering av Gazdars definition av sa-tisfierbar utvidgning. Som indata har det tva mangder med propositioner. Dethittar alla element i den andra mangden vilka inte ar inkonsistenta med nagon

9

konsistent delmangd till mangdernas union. De funna elementen laggs till denforsta mangden. Predikatet konsistent delmangd/2 hittar en mojlig delmangdsom dessutom ar konsistent.

Eftersom utvidga/3 maste ga igenom alla mojliga konsistenta delmangder,blir predikatets tidskomplexitet exponentiell mot langden pa indata. Och naraven den logiska inferensmekanismen ar exponentiell, blir det ohanterligt forlite mer komplexa fall. Darfor har jag aven implementerat en enklare variant,som dock inte ar helt korrekt. Den alternativa varianten lagger helt enkelt tillde element som inte medfor nagon inkonsistens med det som redan lagts till.Detta gor att det ar beroende av den ordning i vilken elementen laggs till. Defel som skulle kunna uppsta ar att nagon slutsats laggs till som egentligen inteborde laggas till. For ett exempel, se appendix A.

4.5 Logisk inferens och konsistens

Predikatet inkonsistent/1 fungerar enligt principen att en mangd ar inkon-sistent om det finns nagot proposition i mangden som ar inkonsistent med deresterande. En proposition ar inkonsistent med en mangd om mangden implice-rar propositionens motsats (predikatet inkonsistent/2). For den epistemiskalogik som anvands har innebar det:

(i) K φ ar inkonsistent med M omm M ` P ¬φ, och(ii) P φ ar inkonsistent med M omm M ` K ¬φ.

For logisk implikation har jag implementerat slutledare med positiva och nega-tiva listor, vilken forsoker hitta motexempel till en foreslagen inferens. Dennainferensmekanism ar modifierad till att anvandas med epistemiska operatorer.Dessutom ar ett predikat imp/2 tillagt, dar man kan lagga in sprakliga impli-kationer. De som ar implementerade ar att en fras som ar skalart storre an enannan implicerar den mindre frasen, att nagon blir mordad implicerar att dennedor, att nagon dor implicerar att denne inte existerar, att nagon overlever in-nebar att denne existerar, att frasen ”φ innan . . . ” implicerar φ, samt att nagonskrev klart nagot innebar att denne borjade skriva.

Tyvarr fungerar inte mekanismen helt tillfredsstallande. En del logiska im-plikationer undgar dess eminenta syn. Men eftersom slutledningsmekanismeninte ar det egentliga amnet for uppsatsen sa far det ga anda.

5 Resultat och diskussion

Domanen for vilket programmet ar tankt att fungera finns implementerad i pre-dikaten (se appendix B) utvidga kvalitet/4, klausal trigger/2, skala/1,presupp trigger/2 och imp/2. Denna doman ar det i princip inga problem attutvidga. Naturligtvis finns det massor av implikaturer och presuppositioner somimplementeringen inte klarar, men de tror jag faller utanfor ramen for dennauppsats. D.v.s. de ar implikaturer och presuppositioner som inte Gazdars teoriklarar av. De kan vara implikaturer som inte ar kvantitativa, de kan vara kvan-titativa implikaturer som varken tacks av definitionen pa klausal eller skalarimplikatur. De kan aven vara presuppositioner som inte passar in i Karttunnenslista pa presupposition triggers. Eller sa kan det vara nagot systematiskt pro-blem i den logiska inferensen, t.ex. att generell 1:a ordningens predikatlogik aroavgorbar.

10

Programmet fungerar bra for den minimala doman for vilket det ar skrivet,se appendix A for exempel testade mot programmet. Nagra dubiosa fall finns,vilka dock kan harledas till den felaktiga inferensmekanismen (ex. 4 och 9). Iex. 7 finns ett enkelt exempel dar den mer komplicerade varianten av predikatetutvidga/3 kravs (se avsnitt 4.4).

Det finns dessutom ett fel i hur potentiella presuppositioner beraknas i kvan-tifierade fraser (ex. 8). En potentiell presupposition inuti en kvantifierad fras borbehalla kvantifikatorn for att bli korrekt, vilket inte namns i Gazdar. Teorin boralltsa utvecklas lite mer an vad som star i Gazdar (1979).

Denna implementation ar naturligtvis i hogsta grad forenklad och det armanga problem kvar att losa. Foljande ar en lista med ett antal mojliga utvidg-ningar, helt utifran mitt eget huvud:

• Utoka antalet presupposition triggers. For att kunna gora det kravs attformalismen tar viss hansyn till ordfoljden, inte bara den semantiska be-tydelsen (Gazdar 1979:124-125).

• Forbattra teorin for hur potentiella presuppositioner beraknas i kvantifie-rade fraser.

• Utoka antalet klausala triggers.

• Utoka antalet kvantitativa skalor.

• Forbattra berakningen av kvalitetsimplikatur. I dess nuvarande form kla-rar den t.ex. inte av flouting.

• Nagon mekanism som hanterar flouting aven av kvantitet och presupposi-tioner, vilket inte finns med i Gazdars ursprungliga teori.

• Lagg till berakning av satts- och relevansimplikatur. Dar har vi tva pro-blem. Dels i vilken ordning vi ska lagga till dem (om det nu overhuvudtaget gar att hantera dem pa samma satt som kvantitetsimplikaturer ochpresuppositioner). Ska de t.ex. adderas till kontexten fore eller efter kvan-titetsimplikaturerna? Dels hur de ska beraknas. Gazdar (1979:43-48) harnagra ider om hur sattsimplikatur kan beraknas och Larsson (1996) harbeskrivit en mojlig implementation av relevansimplikatur.

• En semantisk parser for yttranden kravs forstas, som omvandlar ett ytt-rande till en proposition lampad for inferensberakning.

• En forbattring av den logiska inferensen. Bl.a. bor den bli snabbare.

• Utvidga den epistemiska logiken till att aven inkludera andra an talaren.Detta ar nodvandigt da talaren och lyssnaren inte har samma varldsuppfattningoch man darfor har behov av att t.ex. pasta att en person tror att en annanvet nagonting, men att den forsta inte vet sjalv.

• En snabbare implementation av satisfierbar utvidgning.

11

6 Slutsatser

Jag har i denna uppsats visat att det ar mojligt att implementera Gazdars teorifor att berakna kvantitetsimplikatur och presupposition i en dator. Detta harjag gjort genom att presentera en mojlig implementation for enkla yttranden.

Det har visat sig att ett krav for att implementeringen ska fungera bra aratt man har en korrekt inferensmekanism for epistemisk logik. Men har manval uppfyllt det kravet ska det ga att implementera en enkel berakning av dessaimplikaturer och presuppositioner utan nagra storre problem.

En utvidgning av denna implementation bor kunna vara en viktig del i ettfungerande dialogsystem. De viktigaste utvidgningarna syns mig vara att fa insatts- och relevansimplikatur, samt att hitta nagot satt att hantera flouting.

7 Litteratur

Gazdar, G. (1979). Pragmatics: Implicature, Presupposition and Logical Form.New York: Academic Press.

Hintikka, J. (1962) Knowledge and Belief. Ithaca: Cornell University Press.

Larsson, S. (1996): Computing Implicature: The Case of Relevance. Magisterupp-sats, Inst. for lingvistik, Goteborgs universitet.

Levinson, S. C. (1983). Pragmatics. Cambridge: Cambridge University Press.

12

A Testexempel

Varje exempel ar uppbyggt pa samma satt. Forst star yttrandet, darefter foljeren testkorning av den semantiska oversattningen, samt resultatet fran program-met. Avslutningsvis star kommentarer om exemplet.

Foljande operatorer ar definierade. ”K φ” och ”P φ” ar de epistemiska ope-ratorerna K φ och P φ. ”~ φ” ar ¬φ, ”φ v ψ” ar φ∨ψ, och ”φ & ψ” ar φ∧ψ.Daremot ar inte ”φ => ψ” den logiska implikationen, utan en svagare sprakligimplikation, definierad enligt φ => ψ ∧ φ ` ψ.

1. Pelle skrev inte klart uppsatsen

?- testa( ~skrev_klart(pelle,uppsatsen) ).

Kvalitet: [ K ~skrev_klart(pelle,uppsatsen) ]Klausal: []Skalar: []Presupp: [ K existerar(pelle), K existerar(uppsatsen),

K borjade_skriva(pelle,uppsatsen) ]

Presuppositionerna overlever aven om yttrandet ar negerat. Sags ingetannat sa antas det att Pelle borjade skriva uppsatsen.

2. Pelle skrev inte klart uppsatsen, eftersom han aldrig borjade skriva.

?- testa( ~skrev_klart(pelle,uppsatsen)& ~borjade_skriva(pelle,uppsatsen) ).

Kvalitet: [ K ~skrev_klart(pelle,uppsatsen)& ~borjade_skriva(pelle,uppsatsen) ]

Klausal: []Skalar: []Presupp: [ K existerar(pelle), K existerar(uppsatsen) ]

Pelle borjade inte ens skriva uppsatsen, eftersom det uttryckligen sags.

3. Pelle gar eller springer.

?- testa( gar(pelle) v springer(pelle) ).

Kvalitet: [ K gar(pelle) v springer(pelle) ]Klausal: [ P gar(pelle), P springer(pelle),

P ~gar(pelle), P ~springer(pelle) ]Skalar: [ K ~( gar(pelle) & springer(pelle) ) ]Presupp: [ K existerar(pelle) ]

Den skalara presuppositionen sager att det inte ar fallet att Pelle gar ochspringer samtidigt.

13

4. Pelle gar eller springer eller bada.

?- testa( gar(pelle) v springer(pelle)v gar(pelle)&springer(pelle) ).

Kvalitet: [ K gar(pelle) v springer(pelle)v gar(pelle)&springer(pelle) ]

Klausal: [ P gar(pelle), P springer(pelle),P ~gar(pelle), P ~springer(pelle),P ~( gar(pelle) & springer(pelle) ),P gar(pelle) & springer(pelle),P gar(pelle) v springer(pelle) ]

Skalar: [ K ~( gar(pelle) & springer(pelle) ),K ~( (gar(pelle) v springer(pelle))

& (gar(pelle) & springer(pelle)) ) ]Presupp: [ K existerar(pelle) ]

De tva skalara implikaturerna ar felaktiga, vilket beror pa den inte heltkorrekta logiska inferensmekanismen. Bada ar inkonsistenta med de klau-sala implikaturerna.

5. Pelle angrar inte att han mordade Lisa

?- testa( ~angrar(pelle,mordade(pelle,lisa)) ).

Kvalitet: [ K ~angrar(pelle,mordade(pelle,lisa)) ]Klausal: []Skalar: []Presupp: [ K existerar(pelle), K mordade(pelle,lisa) ]

I detta fall fas inte presuppositionen att Lisa existerar, eftersom detta arinkonsistent med det faktum att hon ar mordad.

6. Innan Pelle dog, skrev han klart uppsatsen.

?- testa( innan( dog(pelle), skrev_klart(pelle,uppsatsen) ) ).

Kvalitet: [ K innan(dog(pelle),skrev_klart(pelle,uppsatsen)) ]Klausal: []Skalar: []Presupp: [ K existerar(uppsatsen),

K borjade_skriva(pelle,uppsatsen),K skrev_klart(pelle,uppsatsen) ]

Vi har har ingen presupposition att Pelle existerar, eftersom han ar dod.Daremot bade borjade han och avslutade han sin uppsats.

14

7. Innan Pelle skrev klart uppsatsen, dog han.

?- testa( innan( skrev_klart(pelle,uppsatsen), dog(pelle) ) ).Kvalitet: [ K innan(skrev_klart(pelle,uppsatsen),dog(pelle)) ]Klausal: []Skalar: []Presupp: [ K dog(pelle), K existerar(uppsatsen),

K borjade_skriva(pelle,uppsatsen) ]

Fortfarande ar Pelle dod, alltsa existerar han inte. Men har hann haninte ens avsluta uppsatsen. Daremot paborjade han den. En intressantdetalj ar att har maste man anvanda den korrekta versionen av predikatetutvidga/3, annars far man aven presuppositionen att Pelle existerar (sevidare avsnitt 4.4).

8. Det var manga studenter som skrev klart uppsatsen.

?- testa( manga( x, student(x), skrev_klart(x,uppsatsen) ) ).

Kvalitet: [ K manga(x,student(x),skrev_klart(x,uppsatsen)) ]Klausal: []Skalar: [ K ~alla(x,student(x),skrev_klart(x,uppsatsen)),

K ~deflesta(x,student(x),skrev_klart(x,uppsatsen)) ]Presupp: [ K existerar(uppsatsen),

K borjade_skriva(x,uppsatsen),K existerar(x,student(x)) ]

Eftersom kvantifieraren ”manga” inte ar den storsta i sin kvantitativaskala, far man tva skalara implikaturer som sager att inte alla resp. intede flesta studenter skrev klart. Dessutom presupponerar kvantifieraren attdet existerar studenter.

Presuppositionen att x borjade skriva uppsatsen borde egentligen varaatt ”de flesta x som ar studenter” borjade skriva. Detta ar ett fel i hurpresuppositionerna beraknas i de fall de tacks av en kvantifikator.

9. Om Lisa overlever kommer Pelle angra att han mordade henne.

?- testa( overlever(lisa) => angrar(pelle,mordade(pelle,lisa)) ).

Kvalitet: [ K overlever(lisa) => angrar(pelle,mordade(pelle,lisa)) ]Klausal: [ P ~overlever(lisa), P overlever(lisa),

P ~angrar(pelle,mordade(pelle,lisa)),P angrar(pelle,mordade(pelle,lisa)) ]

Skalar: []Presupp: [ K existerar(pelle), K mordade(pelle,lisa) ]

Presuppositionen att Pelle mordade Lisa ar felaktig och beror pa att in-ferensmekanismen inte ar helt korrekt. Egentligen ar presuppositioneninkonsistent med den klausala implikaturen att det ar mojligt att Lisaoverlever.

15

10. Om Pelle skrev klart uppsatsen kommer han angra att han mordade Lisa.

?- testa( skrev_klart(pelle,uppsatsen)=> angrar(pelle,mordade(pelle,lisa)) ).

Kvalitet: [ K skrev_klart(pelle,uppsatsen)=> angrar(pelle,mordade(pelle,lisa)) ]

Klausal: [ P ~skrev_klart(pelle,uppsatsen),P ~angrar(pelle,mordade(pelle,lisa)),P skrev_klart(pelle,uppsatsen),P angrar(pelle,mordade(pelle,lisa)) ]

Skalar: []Presupp: [ K existerar(pelle), K existerar(uppsatsen),

K borjade_skriva(pelle,uppsatsen),K mordade(pelle,lisa) ]

Har ar dock presuppositionen att Pelle mordade Lisa korrekt, eftersomdet inte finns nagon information om att Lisa overlever.

11. De flesta studenter skrev klart uppsatsen eller sa borjade de aldrig skrivaden.

?- testa( deflesta( x, student(x), skrev_klart(x,uppsatsen)v ~borjade_skriva(x,uppsatsen) ) ).

Kvalitet: [ K deflesta(x,student(x),skrev_klart(x,uppsatsen)v ~borjade_skriva(x,uppsatsen)) ]

Klausal: [ P ~ ~borjade_skriva(x,uppsatsen),P ~borjade_skriva(x,uppsatsen),P ~skrev_klart(x,uppsatsen),P skrev_klart(x,uppsatsen) ]

Skalar: [ K ~alla(x,student(x),skrev_klart(x,uppsatsen)v ~borjade_skriva(x,uppsatsen)) ]

Presupp: [ K existerar(uppsatsen), K existerar(x,student(x)) ]

Har blir det inga presuppositioner om att de flesta studenter skrev klartsin uppsats, eller ens paborjade den, eftersom de klausala implikaturernamotsager sadana pastaenden.

16

B Programkod

% inferens.pl%% En implementering av Gazdars teori for berakning av% implikatur och presupposition. Av Peter Bohlin 1998.

:- use_module( library(lists) ).

% Operatorer. OBS! ’=>’ betyder INTE klassisk logisk implikation,% utan snarare den implikation som finns i naturligt sprak.

:- op( 200, fy, ~ ).:- op( 250, yfx, & ).:- op( 260, yfx, v ).:- op( 270, yfx, => ).:- op( 300, fy, [’K’,’P’] ).

% Diverse hjalppredikat

set_of( A, B, C ) :-setof( A, B, C ), !.

set_of( _, _, [] ).

ingar( A, A ).ingar( A, B ) :-

B =.. [_|BL],member( C, BL ),ingar( A, C ).

union( A, B, AuB ) :-append( A, B, AB ),remove_duplicates( AB, AuB ).

delmangd( A, A ).delmangd( A, B ) :-

append( B1, [_|B2], B ),delmangd( A2, B2 ),append( B1, A2, A ).

disjunkta( P, N ) :-\+ ( member(X,P), member(X,N) ).

% Predikat om ’satisfierbar utvidgning’. Den bortkommenterade varianten ar% den korrekta, men den har exponentiell tidskomplexitet, medan den andra% versionen ar linjar. Och eftersom aven den logiska implikationen ar% exponentiell, blir den korrekta versionen ohanterligt lang.

/*

17

utvidga( X, Y, YKons, Res ) :-findall( P, (member( P, Y ),union( X, Y, XuY ),\+ ( konsistent_delmangd(Z,XuY), inkonsistent(P,Z) )

), YKons ),union( X, YKons, Res ).

*/

utvidga( L, [], [], L ).utvidga( Lin, [X|XLin], XLut, Lut ) :-

utvidga( Lin, XLin, XL, L ),( inkonsistent( X, L )-> XLut = XL, Lut = L; XLut = [X|XL], Lut = [X|L] ).

konsistent_delmangd( A, B ) :-delmangd( A, B ),\+ inkonsistent( A ).

% Huvudpredikaten: testa/1 och utvidga_kontext/7.

testa( Sats ) :- utvidga_kontext( Sats, [], _, _, _, _, _ ).

utvidga_kontext( Sats, In, Kvalitet, Klausal, Skalar, Presupp, Ut ) :-utvidga_kvalitet( In, Sats, Kvalitet, A ),format( "Kvalitet: ~w~n", [Kvalitet] ),utvidga_klausal( A, Sats, Klausal, B ),format( "Klausal: ~w~n", [Klausal] ),utvidga_skalar( B, Sats, Skalar, C ),format( "Skalar: ~w~n", [Skalar] ),utvidga_presupp( C, Sats, Presupp, Ut ),format( "Presupp: ~w~n", [Presupp] ).

% Kvalitetsimplikaturer.

utvidga_kvalitet( In, Sats, [’K’ Sats], [’K’ Sats|In] ) :-\+ inkonsistent( ’K’ Sats, In ).

% Klausala kvantitetsimplikaturer.

utvidga_klausal( In, Sats, Klausal, Ut ) :-set_of( Prop, Prop^pot_klausal(Sats,Prop), Pot ),utvidga( In, Pot, Klausal, Ut ).

pot_klausal( Sats, ’P’ Prop ) :-ingar( Fras, Sats ),klausal_trigger( Fras, Prop2 ),member( Prop, [Prop2,~Prop2] ).

18

klausal_trigger( P v _, P ).klausal_trigger( _ v P, P ).klausal_trigger( P => _, P ).klausal_trigger( _ => P, P ).klausal_trigger( ’P’ P, P ).klausal_trigger( tror(P), P ).

% Skalara kvantitetsimplikaturer.

utvidga_skalar( In, Sats, Skalar, Ut ) :-set_of( Prop, Prop^pot_skalar(Sats,Prop), Pot ),utvidga( In, Pot, Skalar, Ut ).

pot_skalar( Sats, ’K’ ~Prop ) :-ingar( Prop2, Sats ),implicerar( [’K’ Sats], ’K’ Prop2 ),skalart_storre( Prop, Prop2 ).

skalart_storre( Prop1, Prop2 ) :-skala(Skala),suffix( [H1|Resten], Skala ),member( H2, Resten ),( var( Prop2 )-> Prop1 =.. [H1|Grenar], Prop2 =.. [H2|Grenar]; Prop2 =.. [H2|Grenar], Prop1 =.. [H1|Grenar] ).

skala( [&,v] ).skala( [’K’,tror,’P’] ).skala( [alla,deflesta,manga] ).skala( [skrev_klart,borjade_skriva] ).

% Preuppositioner.

utvidga_presupp( In, Sats, Presupp, Ut ) :-set_of( Prop, Prop^pot_presupp(Sats,Prop), Pot ),utvidga( In, Pot, Presupp, Ut ).

pot_presupp( Sats, ’K’ Prop ) :-ingar( Fras, Sats ),presupp_trigger( Fras, Prop ).

presupp_trigger( pelle, existerar(pelle) ).presupp_trigger( lisa, existerar(lisa) ).presupp_trigger( uppsatsen, existerar(uppsatsen) ).presupp_trigger( angrar(_,P), P ).presupp_trigger( innan(_,P), P ).presupp_trigger( skrev_klart(X,P), borjade_skriva(X,P) ).presupp_trigger( alla(X,P,_), existerar(X,P) ).presupp_trigger( deflesta(X,P,_), existerar(X,P) ).presupp_trigger( manga(X,P,_), existerar(X,P) ).

19

% Logisk implikation, utokad till att behandla epistemiska operatorer.% Versionen behandlar dock inte ’P’-operatorn helt korrekt.

inkonsistent( L ) :-select( P, L, LL ),inkonsistent( P, LL ).

inkonsistent( ’K’ P, L ) :-implicerar( L, ’P’ ~P ).

inkonsistent( ’P’ P, L ) :-implicerar( L, ’K’ ~P ).

implicerar( L, P ) :-\+ motexempel( L, [P] ).

implicerar( L, P ) :-select( ’K’ X, L, LL ),imp( X, Y ),implicerar( [’K’ Y|LL], P ).

implicerar( L, P ) :-select( ’P’ X, L, LL ),imp( X, Y ),implicerar( [’P’ Y|LL], P ).

implicerar( L, P ) :-select( ’K’ X, L, LL ),implicerar( [’P’ X|LL], P ).

imp( X, Y ) :-skalart_storre( X, Y ).

imp( mordade(_,X), dog(X) ).imp( dog(X), ~existerar(X) ).imp( overlever(X), existerar(X) ).imp( innan(X,_), X ).imp( skrev_klart(X,Y), borjade_skriva(X,Y) ).

motexempel( P, N ) :-\+ forenkla( P, N, _, _ ),!, disjunkta( P, N ).

motexempel( P, N ) :-disjunkta( P, N ),forenkla( P, N, PP, NN ),motexempel( PP, NN ).

forenkla( P, N, [’K’ Y|PP], N ) :- select( ’K’ X => Y, P, PP ),member( ’K’ X, PP ).

forenkla( P, N, PP, [’K’ X|N] ) :- select( ’K’ ~X, P, PP ).forenkla( P, N, [’K’ X|P], NN ) :- select( ’K’ ~X, N, NN ).forenkla( P, N, [’K’ X,’K’ Y|PP], N ) :- select( ’K’ X & Y, P, PP ).

20

forenkla( P, N, P, [’K’ X,’K’ Y|NN] ) :- select( ’K’ X v Y, N, NN ).forenkla( P, N, P, [’K’ X|NN] ) :- select( ’K’ X & _, N, NN ).forenkla( P, N, P, [’K’ Y|NN] ) :- select( ’K’ _ & Y, N, NN ).forenkla( P, N, [’K’ X|PP], N ) :- select( ’K’ X v _, P, PP ).forenkla( P, N, [’K’ Y|PP], N ) :- select( ’K’ _ v Y, P, PP ).

forenkla( P, N, [’K’ X|PP], N ) :- select( ’K’ ’K’ X, P, PP ).forenkla( P, N, P, [’K’ X|NN] ) :- select( ’K’ ’K’ X, N, NN ).forenkla( P, N, [’P’ X|PP], N ) :- select( ’K’ ’P’ X, P, PP ).forenkla( P, N, P, [’P’ X|NN] ) :- select( ’K’ ’P’ X, N, NN ).

forenkla( P, N, [’P’ X|PP], N ) :- select( ’P’ ~ ~X, P, PP ).forenkla( P, N, P, [’P’ X|NN] ) :- select( ’P’ ~ ~X, N, NN ).forenkla( P, N, [’P’ X,’P’ Y|PP], N ) :- select( ’P’ X & Y, P, PP ).forenkla( P, N, P, [’P’ X,’P’ Y|NN] ) :- select( ’P’ X v Y, N, NN ).forenkla( P, N, P, NNN ) :- select( ’P’ X & Y, N, NN ),

forenklaP( X, Y, NN, NNN ).forenkla( P, N, PPP, N ) :- select( ’P’ X v Y, P, PP ),

forenklaP( X, Y, PP, PPP ).

forenklaP( X, Y, L, [’P’ X,’P’ Y|L] ) :-member( ’P’ ~X, L ), member( ’P’ ~Y, L ), !.

forenklaP( X, Y, L, [’P’ Y|L] ) :- member( ’P’ ~X, L ), !.forenklaP( X, Y, L, [’P’ X|L] ) :- member( ’P’ ~Y, L ), !.

21