Automatisk språkgranskning av svensk text
|
|
- Marcus Gunnarsson
- för 8 år sedan
- Visningar:
Transkript
1 Automatisk språkgranskning av svensk text Ola Knutsson TRITA-NA-0105 Licentiatavhandling Kungliga Tekniska Högskolan Institutionen för numerisk analys och datalogi
2 Automatisk språkgranskning av svensk text Ola Knutsson Akademisk avhandling som med tillstånd av Kungl. Tekniska Högskolan framlägges till offentlig granskning för filosofie licentiatexamen i Människa-datorinteraktion torsdagen den 8 mars 2001, kl i seminarierum E2, Nada, Lindstedtsvägen 3, Kungl. Tekniska Högskolan, Stockholm. Avhandlingen presenteras på svenska. ISBN , IPLab-180, TRITA-NA-0105, ISSN ISRN KTH/NA/R-01/05-SE Ola Knutsson, mars 2001 KTH, Stockholm 2001
3 Sammanfattning Denna avhandling beskriver utveckling och utvärdering av en miljö för svensk grammatikkontroll, Granska. Fokus ligger på konstruktion av ett regelspråk, utveckling av regler för tre huvudkategorier av grammatiska fel och utvärdering av systemet. De felkategorier som täcks in är kongruensfel och särskrivna sammansättningar. Forskning om automatisk språkgranskning bidrar inte uteslutande till att det utvecklas bättre program för grammatikkontroll. De metoder och algoritmer som utvecklas för att detektera fel och problem i språket är också mycket användbara för program som eftersträvar en robust analys av löpande text. Regelspråket är objektorienterat och har konstruerats för automatisk språkgranskning och liknande tillämpningar. En av huvudidéerna var en integration av olika nivåer av språklig analys. En regel skall kunna utnyttja information från samtliga steg i den grundläggande språkliga analysen; från teckennivå till frasstruktur. Mycket kraft har också lagts på en tydlig och effektiv regelnotation. Eftersom det till stora delar saknas allmänt tillgängliga samlingar av texter med många fel i har delvis ett teoretiskt perspektiv, baserat på beskrivningar av svensk grammatik, använts vid utformningen av granskningsreglerna. Några av fördelarna med detta är att reglerna är ganska generella och i någon mån anger hur en feltyp är konstruerad, samt att reglerna enkelt kan utvidgas och förbättras. Några av nackdelarna är att falska alarm uppstår och att ett litet misstag av regelkonstruktören får stor effekt på resultatet. Utvecklingen av granskningsreglerna har också utgått från några begränsade samlingar av autentiska fel. Felsamlingarna bidrar med viktig information om hur felen är konstruerade och i vilken kontext de förekommer. En utvärdering med Granska utfördes på cirka ord från fem olika texttyper. Resultatet visade att det är skillnader i granskningsresultatet från olika texttyper. Ett vanligt fel i en texttyp förekommer nästan inte alls i en annan. I testkörningar på populärvetenskapliga artiklar upptäcktes nio av tio fel och fem av tio felrapporter var korrekta. I studenttexter var resultatet nästan det omvända; fyra av tio fel upptäcktes och sju av tio felrapporter var korrekta. En mindre utvärdering med användare utfördes med Granska och en kommersiell grammatikkontroll. Resultatet indikerar att användarna inte har några problem med att välja mellan olika feldiagnoser om ett av ersättningsförslagen är korrekt. En del användare verkade endast behöva själva detektionen från grammatikkontrollen; korrektionen utförde de själva i texten. Falska alarm verkar vara av varierande svårighetsgrad: falska alarm från stavningskontrollen är ofarliga, men falska alarm från mer komplicerade feltyper kan orsaka skada i användarens text.
4 Abstract This thesis describes the development and evaluation of a Swedish grammarchecking environment, Granska. The focus is on the construction of a rule language, the development of rules covering three major error categories, and evaluation of the system. The error categories are agreement errors and split compounds, both of which are frequent in Swedish texts. Research on grammar checking does not only contribute to the development of better programs for automatic proofreading. Methods and algorithms from grammar checking are also very useful in any system for robust analysis of unrestricted text. The rule language is object-oriented and has been designed for grammar checking and similar applications. One of the main ideas of the rule language was an integration of several levels of language analysis. A rule should benefit from every step in the general linguistic analysis; from tokenization to phrase structure analysis. Much effort has also been put in a clear and effective rule notation. With the lack of large comprehensive error corpora a theoretical approach to error modelling, based on Swedish grammar descriptions, has been used. This has resulted in rather general error detection rules. The main advantages of the general rules are that they to some extent describe an error type, and that the rules could easily be extended and improved. The main disadvantages are overgeneration of error reports and the fact that a small mistake by the grammarian often has great effect on the result. However, the development of the error detection rules has also taken advantage of the results of some limited studies of real errors in Swedish text. The collections of real errors give important information of how errors are constructed and in which contexts they appear. An evaluation was conducted with Granska comprising about words from five different text genres. The result indicates that there are differences of the outcome of the grammar checking between text genres. An error type very common in one text genre is sometimes not represented at all in another. In test runs on texts from popular science, nine of ten errors were found and five of ten error reports were correct. In student texts, the results were almost the opposite; four of ten errors were found and seven of ten error reports were correct. A small user study was conducted with Granska and a commercial grammar checker. The results indicate that the users do not have any problem with choosing between different error diagnoses if one of the correction proposals is correct. Some users seem to need only the detection from a grammar checker and they can do the correction in the text by themselves. False alarms seem to be of variable difficulty; false alarms from the spell-checker are harmless, but false alarms from more complicated error types can cause harm to the text.
5 Förord Avhandlingsarbetet har utförts vid Interaktions- och Presentationslaboratoriet (IPLab), Institutionen för numerisk analys och datalogi (Nada), Kungliga Tekniska Högskolan i Stockholm. Jag vill först och främst tacka min huvudhandledare, Kerstin Severinson Eklundh, för all hjälp under åren, och den senaste tidens många viktiga (långa) genomläsningar och möten. Därefter vill jag tacka min biträdande handledare, Viggo Kann, för många goda råd och synpunkter, samt för en utomordentlig implementation av Granskas regelspråk. Rickard Domeij introducerade ämnet automatisk språkgranskning för mig och betyder mycket för mig i allt från tolkning av grammatiska feltyper till analys av omvärlden. Johan Carlberger har sporrat och ifrågasatt mitt regelskrivande och dessutom implementerat såväl taggare som regelmatchare, vilka har varit oumbärliga i avhandlingsarbetet. Hercules Dalianis har med sann optimism uppmuntrat mig, samt låtit mig slutföra denna avhandling inom SeaSum-projektet. Martin Hassel har fungerat som ett snabbt och kunskapsrikt bollplank i alla möjliga viktiga frågor. Annika Hansén- Eriksson har gjort betydande insatser i samarbetet kring den användarstudie som presenteras i avhandlingen. Även andra personer på IPLab har betytt mycket för den dagliga trivseln. Ola Karlsson har granskat ett manus av avhandlingen och funnit felaktigheter svåra för en maskin att upptäcka. Lena Öhrman och Viktoria Johansson har skrivit uppsatser i datorlingvistik som har varit viktiga för mitt arbete. Försökspersoner, studenter och användare av Granska har också varit oumbärliga och uppmuntrande. Jussi Birn, Fredrik Westerlund med flera på Lingsoft har gett mig många utmaningar men också stunder av igenkännandets glädje när vi har presenterat våra problem och lösningar för varandra. Min familj med Lena, Axel, Isak, Gert, Ulla och Anders och vännerna Jonas och Olle betyder mycket för mig. Ni får mig att ägna mig åt viktigare saker än automatisk språkgranskning av svensk text. Jag riktar ett varmt tack till er alla! Ekonomiskt stöd till min forskning har tacksamt mottagits från HSFR och Nutek genom Språkteknologiprogrammet och Favorit-programmet samt från Nada. Stockholm i februari 2001 Ola Knutsson
6 Innehåll 1. Inledning Övergripande problembeskrivning Problemområden och målsättningar Översikt och läsanvisning Utgångspunkter och angreppssätt för automatisk språkgranskning Övergripande utgångspunkter Utgångspunkter för automatisk grammatisk analys av svenska Automatisk språkgranskning för andra språk Automatisk språkgranskning för svenska Granskas angreppssätt Granskas regelspråk Ett generellt regelspråk Operatorer, kvantifikatorer och konstanter i regelspråket Notationen i vänsterledet Notationen i högerledet Olika typer av regler Hjälp för regelkonstruktören Detektion av särskrivna sammansättningar Särskrivna sammansättningars uppbyggnad Regler för detektion av särskrivna sammansättningar Inkongruens i nominalfraser Felaktiga nominalfrasers uppbyggnad Regler för detektion av inkongruenta nominalfraser Inkongruens i predikativ Bakgrund Avgränsningar i detektionen av feltypen Inkongruenta konstruktioner i predikativ Regler för inkongruens i predikativ Utvärdering av Granska på olika texttyper Detektion, diagnos och ersättningsförslag Täckning och precision Faktorer som påverkar resultatet Andra utvärderingar av språkgranskningsprogram Intern och extern utvärdering Centrala frågor i undersökningen Testkörningen och valet av texter Resultat från utvärderingen Diskussion Slutsatser
7 8. Utvärdering med användare Granskningsprocessen och automatisk språkgranskning Försökets utförande Datainsamling och analys Resultat från försöken Slutsatser Avslutande diskussion och slutsatser Granskas arkitektur och angreppssätt En experimentell miljö Skribenter och regelkonstruktörer Sammanfattande slutsatser Referenser Appendix A Särdragsklasser och särdragsvärden Appendix B Syntaxregler för Granskas regelspråk
8
9 Övergripande problembeskrivning 1. Inledning Ordbehandlingsprogram är idag en av de mest spridda datortillämpningarna. Datorn som skrivverktyg används inom vitt skilda områden av olika typer av användare i olika åldrar med olika utbildning. Många som inte har använt text som uttrycksmedel tidigare skriver dagligen e-brev och använder text som ett av flera kommunikationsmedel. Inom utbildning och arbetsliv skall även de kortaste texter skrivas på dator för lagring och snygg utskrift. Datorn som skrivverktyg har blivit något för folket och inte bara ett verktyg för professionella skribenter och textframställare. Med ganska begränsad teknisk kunskap kan de allra flesta åstadkomma texter som åtminstone till det yttre ser ganska professionella ut. Problemen med att formulera innehållet finns dock kvar. Texter som verkar skrivna av professionella skribenter lider ofta av språkliga brister såväl globalt som lokalt i texten. Med datorn som skrivverktyg är det också enkelt att producera mycket text i många olika versioner. Detta medför ofta färre genomläsningar och mindre granskning av texten eftersom dessa processer är tidskrävande. Datorn förser också användaren med kraftfulla medel för en ytlig redigering av texten. Redigeringsmöjligheterna ger bland annat upphov till att nya språkliga fel uppstår eftersom datorn endast utför redigeringen utan att kontrollera om den är vettig eller språkligt korrekt. Detta är några exempel på områden där det finns ett ökat behov av språkliga datorstöd under skrivprocessen. Det finns flera olika kognitiva modeller av skrivprocessen, men Flower & Hayes (1981) utgör den kanske mest kända. Flower and Hayes delar in skrivprocessen i tre delprocesser; planering, textproduktion och granskning/revision. Dessa processer sker inte i en ordnad följd, utan skribenten rör sig mellan de olika processerna enligt ofta komplicerade mönster. Ny textproduktion ger upphov till ny granskning som i sin tur kan leda till att delar av texten måste planeras om och så vidare. En diskussion om skrivprocessen och datorns påverkan på användarnas skrivmönster finns i Severinson Eklundh (1995). Skrivande med datorn som verktyg medför nya möjligheter och problem för skribenten under skrivprocessen, varav några har nämnts ovan. Denna avhandling berör främst den tredje delprocessen som består av granskning och revision av den skrivna texten, och då främst hur ett datorprogram kan stödja denna granskningsprocess. De kanske främsta fördelarna med datorn som språkgranskare är att datorn är outtröttlig, tillgänglig och snabb. Man skulle också kunna tro att datorn skulle fungera som någon slags språkexpert. Ännu så länge är dock tekniken och den språkliga beskrivningen alltför begränsade för att datorn ens skulle komma i närheten av en mänsklig språkgranskares kompetens. Det arbete som presenteras i denna avhandling vilar på en flerårig tradition av forskning kring skrivande och språkliga datorstöd hos en forskargrupp ledd av 1
10 Kapitel 1. Inledning Kerstin Severinson Eklundh vid Institutionen för numerisk analys och datalogi (Nada) på Kungliga Tekniska Högskolan i Stockholm. Med utgångspunkt i flera års forskning om skrivande på dator startades det under 1992 en förstudie om språkliga datorstöd för skrivande (Cedergren & Severinson Eklundh, 1992). I denna förstudie kartlades bland annat några olika språkliga feltyper 1 och hur de skulle kunna detekteras med automatiska medel. Även användargränssnittets stora betydelse för den här typen av datorverktyg uppmärksammades. Språkgranskningsprototypen Plita började under denna tid utvecklas av forskargruppen och försågs av Domeij (1994) med ett mer omfattande språkligt innehåll. Under samma tid utvecklades ett kraftfullt och effektivt program för svensk stavningskontroll, Stava, som bland annat kunde hantera svenska sammansättningar. Stava utvecklades också på Nada av Kann och Hollman (1992). Inom ramen för ett nytt forskningsprojekt började ett mer avancerat språkgranskningsprogram kallat Granska utvecklas under åren 1996 och 1997 under Kerstin Severinson Eklundhs ledning (Domeij et al, 1998). I denna version av Granska utfördes viss ord- och frasanalys vilket möjliggjorde att enklare grammatiska problem kunde upptäckas i löpande text i en ordbehandlingsmiljö. Men det var först under 1998 som utvecklarna av Plita och Granska slog sig samman med utvecklarna av Stava. Det nya program som började utvecklas kom även i fortsättningen att kallas Granska (se vidare i kapitel 2) trots att det till stora delar byggdes upp från grunden. Det nya Granska-programmet utvecklades med tre övergripande utgångspunkter: Det måste finnas ett väldesignat användargränssnitt för att verkligen stödja granskningsprocessen och för att göra det möjligt att undersöka hur de språkliga datorstöden påverkar skrivprocessen. Det måste finnas lingvistisk kunskap för att konstruera de verktyg som detekterar, diagnostiserar och korrigerar skribentens språkliga problem. De verktyg som utför den språkliga analysen måste implementeras effektivt och robust för att skribenterna inte skall sluta använda programmet för att programmet är för långsamt eller instabilt. Jag har deltagit i denna forskning och utveckling sedan 1994 genom både en C- uppsats och en D-uppsats i datorlingvistik (Knutsson & Sahlin, 1994; Knutsson, 1996). I denna avhandling presenteras den forskning som har utförts av mig under åren inom ramen för utvecklingen av Granska. Detta arbete hade inte varit möjligt utan de personer som har verkat i de olika projekt om svenska språkgranskningsverktyg som har presenterats ovan. Mitt arbete med Granska har bland annat bestått av att konstruera ett regelspråk för att möjliggöra konstruktion av såväl allmänna språkliga analysregler som specifika 1 Till exempel särskrivna sammansättningar och olika former av inkongruens som är viktiga problemområden i denna avhandling. 2
11 Övergripande problembeskrivning regler som detekterar, diagnosticerar och korrigerar grammatiska fel. Detta arbete har skett i nära samarbete med regelspråkets implementatörer Viggo Kann och Johan Carlberger. Det mest omfattande och självständiga arbetet har dock ägnats att utforma själva reglerna för språklig analys och detektion av grammatiska fel. Dessutom har jag utfört en teknisk utvärdering av Granska som presenteras i kapitel 7. Den mindre användarstudie som presenteras i avhandlingen utfördes i samarbete med Annika Hansén-Eriksson. 1.1 Övergripande problembeskrivning Automatisk språkgranskning 2 innehåller många utmanande problem och liksom många andra språktekniska tillämpningar kan problemen i vissa fall endast lösas om programmet kan tillgodogöra sig innehållet i texten (de Smedt & Rosén, 2000). Att få en maskin att förstå vad en text handlar om är ett synnerligen svårt problem. Svårigheten är väl formulerad av Källgren (1979) med påståendet att det som gör en text svår inte bara är det som står i den utan också det som inte står. För ett språkgranskningsprogram utan någon förståelse av texten är egentligen alla dess påpekanden om eventuella grammatiska felaktigheter i en text osäkra. Det är endast språkbrukarna som fullt ut kan bedöma påpekandens riktighet. Det finns oändligt många sätt att åstadkomma grammatiska fel på, vilket innebär att inget program kommer att vara heltäckande, om inte programmet på ett mer generellt plan kan skilja en grammatisk sats från en ogrammatisk. Detta är dock en mycket svår uppgift. Det är helt enkelt svårt att beskriva det som är grammatiskt korrekt i ett språk. Forskningen om automatisk språkgranskning bidrar inte uteslutande till att det utvecklas bättre program för grammatikkontroll, utan forskningen belyser också gränslinjen mellan det grammatiskt korrekta och det ogrammatiska, vilket är viktigt i all språkbeskrivning. De metoder och algoritmer som utvecklas för att detektera fel och problem i språket är också mycket användbara för program som eftersträvar en robust analys av löpande text. Den automatiska språkgranskningen är fragmentarisk, eftersom endast vissa instanser av ett fel detekteras och kan korrigeras av ett språkgranskningsprogram. Detta måste förmedlas till dem som använder programmet. Skribentens text är inte felfri bara för att ett språkgranskningsprogram inte hittar något fel i den, inte ens med avseende på de feltyper som programmet faktiskt säger sig klara. Det finns också ett annat problem för en användare av ett språkgranskningsprogram, nämligen att programmet ibland signalerar att något är fel, trots att det egentligen är rätt. Programmet har i detta fall åstadkommit ett s.k. falskt alarm. 2 Automatisk språkgranskning (eng. automatic proofreading) och grammatikkontroll (eng. grammar checking) används i avhandlingen synonymt. 3
12 Kapitel 1. Inledning Det är inte bara missade fel och falska alarm som kan ge användarna problem; det är ofta också svårt för programkonstruktören att utforma en förklaring av felet utan att använda krångliga språkvetenskapliga termer. Trots att det har funnits språkgranskningsprogram för engelska sedan 1980-talet, har det först under senare delen av 1990-talet utvecklats program för de skandinaviska språken. Området har stora kommersiella värden vilket medför att detaljredovisningar ofta lyser med sin frånvaro, även i forskningsprojekt. Denna avhandling vill i vissa avseenden råda bot på detta. Att analysera och korrigera svenska texter avses som mål för den automatiska språkgranskning som beskrivs i denna avhandling. Det sverigesvenska skriftspråket är enligt Svenska Akademiens grammatik (Teleman et al, band 1, 1999) mycket enhetligt. I skriftspråket försöker man ofta hålla sig till den språkliga normen för att undvika oklarheter. Siv Strömquist uttrycker det väl med orden: Bra formellt skriftspråk skall vara osynligt (Svenska Dagbladet 23/1 2000). Ett bra språkgranskningsprogram försöker hjälpa skribenten att hålla sig till den ibland ganska osynliga språkliga normen. Någon specifik målgrupp av användare har inte funnits vid utvecklingen av Granska annat än att programmet riktar sig till vuxna skribenter med svenska som modersmål. Detta kommer att ha konsekvenser för granskningsresultatet vilket kommer att visa sig senare i avhandlingen. Eftersom olika feltyper bör förekomma med olika frekvens hos olika skribenter och användargrupper, bör Granska i framtiden anpassas till olika användare och användargrupper. Inom Granskaprojektet ville vi dock inte låsa oss vid någon specifik användargrupp. Programmet skulle istället designas för att med rimliga medel kunna anpassas för olika skribenters behov. 1.2 Problemområden och målsättningar Ett av de största problemen med all automatisk språkbehandling (Gazdar & Mellish, 1989) är språkets mångtydighet. Än värre blir det när de språkliga yttranden som skall behandlas utvidgas med syntaktiskt felaktiga yttranden. Om programmet skall välja mellan två korrekta tolkningar måste dessutom en tredje tolkning beaktas, nämligen den att hela konstruktionen är syntaktiskt felaktig. För att kunna välja mellan olika tolkningar behövs det olika nivåer av språklig analys och någon formalism där det går att uttrycka vilka tolkningar som skall väljas. En viktig del av detta avhandlingsarbete är utvecklandet av en sådan regelformalism. Denna formalism ingår tillsammans med en uppsättning verktyg för grundläggande språklig analys i en experimentell miljö för automatisk språkgranskning, kallad Granska, som presenteras mer utförligt i kapitel 2. Regelformalismen utgör en grundstomme för det övriga arbetet som presenteras i avhandlingen och beskrivs som problemområde 1 nedan. 4
13 Problemområden och målsättningar Förutom att utvärdera programmets förmåga i termer av antalet korrekt detekterade fel vill jag också undersöka hur relevanta användaren uppfattar de detektioner, diagnoser, och ersättningsförslag som programmet ger. Detta område utgör problemområde 2. Avhandlingen belyser främst tre typer av grammatiska fel: särskrivna sammansättningar (problemområde 3), inkongruens i nominalfraser (problemområde 4) och inkongruens i predikativ (problemområde 5). Varje feltyp innehåller en mängd olika problem, men i texten nedan presenteras det som tycks utgöra kärnproblemen. Mest möda har ägnats de två första feltyperna då dessa verkar vara mer frekventa i svenskan, samt att feltyperna vid en första anblick ser ut att vara fel av ganska lokal art. Med andra ord, det bör vara möjligt att detektera felen utan att analysera hela satser. Inkongruens i nominalfrasen har också undersökts av mig i ett tidigare arbete (Knutsson, 1996). Särskrivna sammansättningar har undersökts av Öhrman (1998) med mig som handledare. Inkongruens i predikativ kräver en mer omfattande analys av satsen. Huvudanledningen till att problemet angripits är att visa att även längre beroenden kan hanteras med de metoder för automatisk språkgranskning som presenteras här. Problemområde 1: Utformning av ett regelspråk för automatisk språkgranskning Det behövs ett språk för att uttrycka hur detektioner, diagnoser och korrektioner av fel skall utföras. I denna avhandling presenteras ett regelspråk för detta ändamål, i fortsättningen kallat Granskas regelspråk. I Granskas regelspråk skall det gå att skriva specifika granskningsregler som skall kunna utnyttja information från teckennivå via ordnivå till fras- och satsnivå. Regelnotationen skall vara tydlig, objektorienterad och uttrycksfull men den skall samtidigt kunna implementeras effektivt. Regelspråket skall också vara generellt för att kunna användas i andra tillämpningar än automatisk språkgranskning. De regler som konstrueras skall kunna återanvändas av andra regler eller i andra tillämpningar. Reglerna skall också ge åtminstone en övergripande lingvistisk beskrivning av hur en feltyp är konstruerad. Vid utformningen av regelspråket har fokus legat på lingvistisk uttryckskraft, men också på behoven hos skribenten som möter resultatet från regelspråket samt den som konstruerar reglerna. Med detta menas att regelkonstruktören skall ha full kontroll över den språkliga information som presenteras för skribenten. Detta gäller framförallt hur felen markeras i texten, hur kommentarer och diagnos utformas samt hur ersättningsförslagen skapas. Notationen i regelspråket har också utformats med god läsbarhet och överblick som mål. Problemområde 2: Utvärdering av språkgranskningsprogram Utvärderingar av språktekniska system spelar en allt större roll inom forskning och utveckling. Det finns dock problem, brister och begräsningar med de metoder som 5
14 Kapitel 1. Inledning används framförallt för att språket är så rikt och på många sätt ogripbart. Trots de problem som finns med utvärderingar är dessa mycket viktiga för att uppskatta metoders och algoritmers lämplighet för vissa givna problem. Det finns flera sätt att utvärdera språkgranskningsprogram. I denna avhandling används två olika metoder som presenteras kort nedan. Den första metoden innefattar användarstudier där programmet undersöks i direkt interaktion med användaren. Det finns flera fördelar med denna metod, t.ex. att programutvecklarna kan få svar på hur brister i programmet påverkar användarna och deras texter. En användarstudie kan också ge en del svar på hur språkgranskningsprogram i stort påverkar användarens granskningsprocess. En viktig fördel är dessutom att man kan undersöka hur skribenten uppfattar och bedömer relevansen i programmets detektioner, diagnoser och korrektionsförslag. En nackdel är att endast en begränsad textmassa och endast en del av de feltyper som programmet eftersöker kan undersökas med rimliga medel. Det kan också vara svårt att göra upprepade jämförelser av algoritmer och system utan att upprepa hela användarstudien. Den andra metoden innebär att programmet testas direkt på många olika skribenters texter. Programmet granskar stora mängder text och uppskattningar kan göras om programmets förmåga att korrekt detektera, diagnostisera och korrigera texter. Med denna metod är det möjligt att granska relativt stora mängder text med rimliga resurser. Utvärderingsmaterialet kan återanvändas vilket möjliggör jämförelser mellan olika algoritmer och system. Ett problem med metoden är att individuella skillnader hos skribenter och mellan textgenrer har stor påverkan på det slutliga utvärderingsresultatet. Det är också kostsamt att ta fram ett utvärderingsmaterial som är balanserat vad gäller skribenter och textgenre. Ett omfattande manuellt arbete måste också utföras för att märka upp de fel som förekommer i texterna. Om utvärderingsmaterialet skall återanvändas kräver det ett omfattande annoteringsarbete som dock kan vara lönsamt på längre sikt. Problemområde 3: Särskrivna sammansättningar I svenskan sker sammansättningar i huvudsak inom fyra ordklasser: sammansatta substantiv som utgör den största gruppen, adjektiv, verb och slutligen med ganska få fall adverb. En felaktig särskrivning av en sammansättning består vanligen av att ordet har delats upp i två eller fler delar förled och efterled. Exempel på särskrivna sammansättningar är substantivet grammatik kontroll, adjektivet ving snabb, verbet segel flyga och adverbet ut åt. Efterledet bestämmer det sammansatta ordets ordklass och förledet består vanligen av någon av de redan nämnda ordklasserna. Adverben skiljer sig väsentligt från de tre andra grupperna se t.ex. (Thorell, 1981). Avhandlingen innehåller inte någon beskrivning av särskrivna adverb då denna grupp bör vara ganska marginellt förekommande och verkar uppenbart svår att detektera då särskrivningen ofta sammanfaller med korrekta konstruktioner. Även gruppen särskrivna verb saknar belysning i denna 6
15 Problemområden och målsättningar avhandling. Dels verkar särskrivna verb mycket svåra att detektera och dels har tiden inte räckt till för att ge sig på dem. Urvalet av vilka feltyper som angrips har delvis baserats på en studie av autentiska fel (Öhrman, 1998). Ett av problemen med särskrivna sammansättningar är hur den särskrivna sammansättningen skall analyseras. Ett annat problem är att den särskrivna sammansättningen ofta påminner om en syntaktiskt korrekt konstruktion. Kapitel 4 kommer att belysa dessa frågor ytterligare med en koncentration på metoder för detektion av särskrivna sammansättningar och metoder för att skilja ut den felaktigt särskrivna sammansättningen från korrekta konstruktioner i svenskan. Problemområde 4: Inkongruens i nominalfraser Kongruens inom nominalfrasen sker i genus, numerus och species. Några exempel på inkongruens i nominalfrasen är det lilla stugan och en högt fjäll. Ett led i nominalfrasen måste kongruera med övriga led för att hela nominalfrasen skall vara syntaktiskt korrekt. I en inkongruent nominalfras sker ett brott mot överensstämmelsen mellan leden i genus, numerus eller species. Ett urval av dessa nominalfraser kommer att belysas i kapitel 5. Ett stort problem med inkongruenta nominalfraser är liksom vid särskrivningarna hur konstruktionerna skall analyseras. Avviker den felaktiga konstruktionen mycket från den korrekta blir den svår att analysera automatiskt. Den svåra frågan om var frasgränserna finns ingår också i detta problem och problemet blir än värre att reda ut när fraserna innehåller fel. Kapitel 5 kommer att visa flera exempel på hur några olika konstruktioner ser ut och hur dessa i vissa fall kan hanteras på ett tillfredställande sätt. Vilket led i nominalfrasen som styr hela frasens genus, numerus och species får också konsekvenser för de korrektionsförslag som programmet kommer att föreslå. Kapitel 5 visar hur de olika korrektionsförslagen blir utifrån det valda huvudordet. Problemområde 5: Inkongruens i predikativ Problemet med detektion av inkongruens i predikativ är avgränsat till kopulaverben vara, bli, förbli och innefattar kongruens mellan subjektet och adjektivfrasen/adjektivistisk participfras. Några exempel på inkongruens i predikativ är Mannen är glada och Den avhandling vilken Jonsson skrivit är läsvärt. Inkongruens uppstår när adjektivet inte stämmer överens med subjektet i genus eller numerus. Här är det också så att själva felet påminner om korrekta konstruktioner, men det är ofta än svårare att identifiera subjektet och den inkongruenta adjektivfrasen. Problemet är styrt av längre beroenden och risken för falska alarm är överhängande just på grund av att nästan hela satsen måste analyseras. För skribenten är förmodligen denna feltyp svårare att upptäcka än t.ex. en särskrivning och därför bör detektionen av denna feltyp vara värdefull för 7
16 Kapitel 1. Inledning skribenten trots att den inte är lika frekvent som de två andra feltyperna som nämnts ovan. Hela problemet kommer att belysas djupare i Kapitel Översikt och läsanvisning En kort presentation av varje kapitel görs nedan. Kapitel 2, kapitel 7, kapitel 8 och kapitel 9 bör kunna läsas av den allmänt språkligt intresserade läsaren. Om läsaren tar sig genom kapitel 3 som beskriver regelspråket, bör också kapitel 4, 5 och 6 kunna läsas med behållning. Texten är försedd med en stor mängd exempel, ofta autentiska, men det är också nödvändigt med konstruerade exempel för att tydligt belysa någon viss konstruktion. Den stora mängden exempel bör hjälpa läsaren genom den ofta snåriga språkliga beskrivningen av automatisk språkgranskning. En mycket bra presentation av språkvetenskapliga termer finns i Svenska Akademiens Grammatik, band 1 (Teleman et al, 1999). Jag har genomgående försökt att använda denna terminologi. I de fall där jag funnit att den skiljer sig ifrån skolgrammatikor har jag kommenterat detta. Kapitel 2: Utgångspunkter och angreppssätt för automatisk språkgranskning I detta kapitel presenteras några utgångspunkter för automatisk språkgranskning av svenska, främst vilka metoder och verktyg som finns tillgängliga för svenska språket. Språkgranskningsprogrammet Granska presenteras i detta kapitel och relateras till annan forskning om automatisk språkgranskning. Delar av texten om Granska härstammar från Domeij, Knutsson, Carlberger och Kann (2000). Kapitel 3: Granskas regelspråk Ett nytt objektorienterat regelspråk har konstruerats för automatisk språkgranskning. Med detta regelspråk är det möjligt att detektera, diagnosticera och korrigera en rad olika grammatiska fel i svenska språket. Hur regelspråket är uppbyggt och hur man skriver regler i regelspråket beskrivs i detta kapitel. Kapitel 4: Särskrivna sammansättningar Särskrivna sammansättningar verkar bli en alltmer frekvent feltyp i svenskan, alltifrån otvetydiga särskrivningar som cykel ställ i satsen Vi ställde cyklarna i ett cykel ställ, till mer tvetydiga som ljus hårig i satsen Nina i Cardigans är ljus hårig och sjunger bra. I detta kapitel beskrivs hur särskrivna sammansättningar är uppbyggda med utgångspunkt i korrekta sammansättningar. Dessutom visas hur ett antal granskningsregler kan konstrueras för att detektera dessa. Kapitel 5: Inkongruens i nominalfrasen Inkongruens i nominalfrasen är också den en alltmer frekvent feltyp även hos professionella skribenter. I detta kapitel beskrivs hur svenskans kongruenssystem 8
17 Översikt och läsanvisning för nominalfraser är uppbyggt och hur regler kan konstrueras för att upptäcka brott mot kongruenssystemet. Kapitel 6: Inkongruens i predikativ Inkongruens i predikativ verkar ännu så länge inte vara en lika frekvent feltyp i svenskan som särskrivna sammansättningar och inkongruens i nominalfraser. Den kan dock vara svårare för skribenten att upptäcka genom ett relativt långt avstånd mellan de inkongruenta leden som t.ex. Mannen och trevliga i Mannen som bor uppe i backen är trevliga. Kapitel 7: Utvärdering av Granska på olika texttyper Granska utvärderades på fem olika texttyper totalt ord. De olika texttyperna var sportnyheter, utrikesnyheter, myndighetstexter, populärvetenskapliga texter och gymnasie- och studentuppsatser. Trots att textsamlingen inte var balanserad kan man ändå skönja skillnader i granskningsresultatet beroende på texttypen. Kapitel 8: Två språkgranskningsprogram och fem användare I detta kapitel presenteras en mindre användarstudie med fem användare. Användarna skulle bedöma feldetektioner, feldiagnoser och ersättningsförslag från Granska och ett annat språkgranskningsverktyg som granskade en text. Texten var krångligt skriven och preparerad med olika feltyper för att få fram såväl goda feldetektioner som falska alarm. Kapitel 9: Avslutande diskussion och slutsatser Avhandlingen avslutas med en diskussion om några visioner om språkgranskning och Granska i synnerhet. Slutligen ges några sammanfattande slutsatser för varje kapitel. 9
18 Kapitel 1. Inledning 10
19 Översikt och läsanvisning 2. Utgångspunkter och angreppssätt för automatisk språkgranskning Detta kapitel beskriver utgångspunkter och angreppssätt för automatisk språkgranskning för svenska. I kapitlet presenteras också språkgranskningsprogrammet Granska, i vilket avhandlingsarbetets lingvistiska delar har implementerats. Jag placerar Granska i en språkteknologisk kontext, för att visa utifrån vilka grunder och beslut programmet konstruerades. Beskrivningen är koncentrerad till den lingvistiska delen av implementationen av Granska. Mer datalogiska och tekniska beskrivningar av Granska finns i (Carlberger & Kann, 1999; Carlberger, Domeij, Kann & Knutsson, 2000; Carlberger & Kann, 2000). En prototyp till Granskas grafiska gränssnitt finns beskriven i (Larsson, 1998). Det är viktigt att göra klart att det är stora skillnader mellan att bygga ett språkgranskningssystem för svenska och för t.ex. engelska. Den mesta litteraturen om grammatikkontroll handlar om system för engelska. En viktig skillnad är att en del svenska feltyper inte ens förekommer i engelska och tvärtom. För det här arbetets del gäller det särskrivna sammansättningar, inkongruens i predikativ och till stora delar inkongruens i nominalfrasen. Att direkt översätta metoder och analysverktyg från engelska är därför inte möjligt. Om intresset för grammatikkontroll för engelska de senaste åren har minskat på grund av teknikens kommersiella mognad, har det ökat för flera andra språk, t.ex. holländska (Vosse, 1994), spanska och grekiska (Bustamente & León, 1996), svenska (Birn, 2000; Arppe, 2000; Sågvall-Hein 1998; Domeij et al, 1996; Andersson et al, 1999), danska (Paggio, 2000), norska (de Smedt & Rosén, 2000) och tyska (Bredenkamp, 2000) för att ge några exempel. För användarna har utvecklingen medfört att fler och fler språk läggs till i ordbehandlarnas grammatikkontrollmoduler. Det finns också ett ökat intresse för så kallade kontrollerade språk (se t.ex. Almqvist & Sågvall-Hein, 1996). Ett kontrollerat språk består ofta av en delmängd av ett språk, till exempel att endast vissa konstruktioner eller uttryck är godkända i språket. Begränsningarna införs dels för att möjliggöra en mycket täckande språkgranskning av språket och dels för att konstruktioner i det kontrollerade språket skall kunna hanteras av andra automatiska språksystem. Den främsta tillämpningen för kontrollerade språk är översättning, såväl manuell som maskinell. För översättning används grammatikkontrollen dels som en förprocess; programmet plockar bort oönskade konstruktioner som skribenten har konstruerat, och dels som en efterprocess efter den maskinella översättningen, programmet hittar och rättar fel i den maskingenererade texten. För svenska finns t.ex. det kontrollerade språket Scaniasvenska (Almqvist & Sågvall Hein, 1996). 11
20 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning Vid konstruktionen av ett kontrollerat språk bestämmer konstruktörerna vad som skall anses som grammatiskt eller ogrammatiskt. När det gäller utvecklingen av ett språkgranskningsprogram för ett riktigt språk måste konstruktörerna ha ett annat förhållningssätt till det grammatiska respektive det ogrammatiska, eftersom gränsen finns därute hos språkbrukarna och bara delvis i grammatikor och språkvårdsböcker. Detta medför ju också att utvecklarna av ett språkgranskningsprogram påverkar vilka feltyper som finns med i det slutgiltiga programmet. Urvalet av vilka feltyper som skall finnas med blir därför subjektivt och det är därför mycket viktigt med omfattande korpusstudier och insamling av texter med fel i. Urvalet i Granska är delvis baserat på en undersökning om inkongruens i substantivfraser och en undersökning om särskrivna sammansättningar (Domeij, Knutsson & Öhrman 1999). Grammatikkontroll används med viss framgång inom andraspråksinlärning (se t.ex. Chen 1997; Bolt 1992; Yazdani, 1990). Granska har testats mot texter skrivna av personer med svenska som andra språk (se Öhrman, 2000). Resultaten är delvis lovande och en fortsatt inriktning med pedagogiska förtecken vore en intressant utveckling av denna typ av program. Inom detta område och språkinlärning överhuvudtaget kan grammatikkontroll eller teknik från grammatikkontroll säkerligen utvecklas vidare. 2.1 Övergripande utgångspunkter Gränsen mellan grammatiskt och ogrammatiskt är en väsentlig del av all språkbeskrivning. En grammatik som gör anspråk på att beskriva grammatiska satser och meningar i ett språk måste på något sätt förhålla sig till de ogrammatiska. De flesta grammatiska beskrivningar brukar vara försedda med ogrammatiska exempel som ett slags motexempel till satser som grammatiken avser att beskriva. Studier och analysmetoder av ogrammatiska konstruktioner är alltså viktiga inte bara i ett språkgranskningsperspektiv, utan för analys av språk överhuvudtaget. Detta blir kanske än mer uppenbart när grammatiska analysverktyg skall implementeras, än det är för den rent teoretiska lingvisten. I ett mer formellt grammatiskt perspektiv på språklig analys har Chomskys tidiga teorier om en grammatik som antingen accepterar eller förkastar satser varit dominerande (Chomsky, 1957) 3. Med en generativ grammatik skulle man tala om att grammatiken antingen genererar en viss sats eller inte. Om grammatiken genererar satsen tillhör den språket. Om satsen tillhör språket får satsen en analys, om satsen inte tillhör språket genereras ingen analys alls. I viss mån har program för grammatikkontroll bidragit till en mer nyanserad syn på gränslandet mellan det grammatiska och det ogrammatiska. 3 Den senare Chomsky talar om att tilldela alla fonetiskt möjliga satser någon form av analys (Ramer, 1993). 12
21 Övergripande utgångspunkter Vid utvecklingen av språkgranskningsprogrammet Critique (Ravin, 1993; Richardson & Braden-Harder, 1993) användes en formalism/programspråk för automatisk grammatisk analys, kallat PLNLP (Jensen et al, 1993). Critique använder den engelska grammatiken English Grammar (PEG) implementerad i PLNLP, som på ett generellt sätt, det vill säga inte enbart för grammatikkontroll, kan hantera ogrammatiska satser (Jensen, 1993). Den grundläggande idén är att alla satser skall få något slags analys, även om de är ogrammatiska. Metoderna som används kallas relaxering och parse fitting, och beskrivs i avsnitt 2.3. En analys av ogrammatiska satser hade inte varit möjlig med en klassisk generativ grammatik som endast genererar grammatiskt korrekta satser. PEG:s analys kan användas av ett språkgranskningsprogram för att ställa en diagnos på felet och ta fram ett lämpligt ersättningsförslag. Metoden blir sålunda mycket användbar för löpande text som i många fall både innehåller grammatiska fel och även satser som ligger på gränsen till det ogrammatiska. Dessa insikter verkar ha påverkat mer moderna grammatikformalismer för löpande text, t.ex. Constraint Grammar (Karlsson, 1995b) och Functional Dependency Grammar (Järvinen & Tapanainen, 1998). Figur 1 visar skillnaden mellan hur en hårdragen klassisk generativ grammatik och PEG hanterar ogrammatiska satser. 4 PEG och dess användning i Critique är mycket tilltalande, men bygger på ett mycket omfattande arbete. Man bör också ha klart för sig, att det trots PEG:s generalitet behövs någon form av regler som ställer feldiagnoser och genererar ersättningsförslag. Det finns också risker med att använda ett generellt system; riskerna består framför allt av att klassiska strukturella flertydigheter eventuellt måste lösas av systemet. Om systemet misslyckas med att lösa dessa flertydigheter, kan dessa medföra att falska alarm uppstår eller att fel inte upptäcks. Konstruktörerna av ett system måste noggrant överväga hur pass omfattande analys som behövs för detektionen av varje enskild feltyp. 4 Ramer (1993) hävdar att PEG tillhör s.k. transduktiv lingvistik (transductive linguistics). 13
22 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning Jag har en liten bil. generativ grammatik S / \ NP VP PEG S / \ NP VP Jag har ett litet bil. generativ grammatik Ingen analys, satsen tillhör inte språket. PEG S / \ NP VP Med en identifiering (genom relaxering) av inkongruens i VP-delen. Figur 2.1. Skillnaden mellan en hårdragen klassisk generativ grammatik och PEG för hantering av två satser. Om satsen är ogrammatisk får vi av den generativa grammatiken veta att satsen inte tillhör språket. PEG däremot tilldelar satsen en analys som visar att det förekommer inkongruens i frasen ett litet bil. 2.2 Utgångspunkter för automatisk grammatisk analys av svenska För datorlingvisten är grammatiska beskrivningar centrala vid en implementation. Om inte de grammatiska strukturer som skall implementeras finns väl beskrivna, måste grammatikern göra denna beskrivning, vilket ofta är en övermäktig uppgift. Detta gäller också för den som skall implementera ett system för språkgranskning; om inte de korrekta konstruktionerna finns detaljerat beskrivna, är det mycket svårt att skilja ut de felaktiga från de korrekta. För engelska finns det inte bara fler formella grammatiker implementerade än för svenska, de grammatiska beskrivningarna är också fler och mer omfattande. För svenska innebar Svenska Akademiens grammatik (1999) något av ett genombrott, vad det gäller den 14
23 Utgångspunkter för automatisk grammatisk analys av svenska grammatiska beskrivningen. 5 De enkelt implementerbara beskrivningarna i SAG är tyvärr inte så frekventa, utan detta arbete får grammatikern utföra på egen hand. SAG påpekar också i vissa fall hur språkvården förhåller sig till vissa språkliga konstruktioner; denna information har också varit mycket användbar. Det är rimligt att ett språkgranskningssystem försöker följa de riktlinjer som dras upp av en majoritet av svenska språkvårdare. En grammatikkontroll kräver någon form av grundläggande grammatisk analys. Denna analys kan variera i nivå; från en morfosyntaktisk (ordklasser och morfologiska särdrag) till en full syntaktisk analys av satsen med full analys av frasstruktur (analys av fraser och hur de hänger ihop med varandra) och syntaktiska funktioner (subjekt och objekt osv.). För engelska finns det program som utför full analys av satser i löpande text, men för många andra språk, t.ex. svenska, saknas sådana program. För en bra översikt över olika system och metoder för syntaktisk analys främst för engelska se Karlsson (1995a). Det finns idag inte några färdiga verktyg för att analysera hela satser och meningar vad det gäller svensk syntax, åtminstone inte med traditionell frasstrukturgrammatik. Gambäcks implementation av en unifieringsbaserad grammatik (Gambäck, 1997) klarar vid ett litet test med 2000 ord ur Stockholm- Umeå Corpus (Ejerhed et al, 1992) endast att analysera 28 % av de 131 meningarna i testtexten. Det måste sägas att Gambäcks grammatik och lexikon inte är konstruerade för löpande text. Men testresultaten för Gambäcks grammatik ger ändå en bra bild hur tillståndet är för implementationer av svenska grammatiksystem, och vad det finns att utgå ifrån när det gäller en implementation av en svensk grammatikkontroll. Att försöka sig på en fullständig frasstrukturanalys i Granska-projektet var därför uteslutet. Detta är ju något som görs i flera grammatikkontroller för engelska, t.ex. Critique. Det finns flera olika system för morfosyntaktisk analys av svenska. Dessa program väljer vilken ordklass och morfologiska särdrag ett ord skall ha i dess språkliga kontext. Metoderna spänner från regelbaserade system (t.ex. Birn, 1998), via maskininlärning av regler (t.ex. Lindberg & Eineborg, 1998) till statistiskt baserad analys (t.ex. Carlberger & Kann 1999; Eriksson 1992; Åström 1998). Även om det är svårt att jämföra utvärderingar uppnår samtliga system en korrekthet runt 95 %. För en bra beskrivning av hur dessa metoder och algoritmer fungerar se t.ex. (Jurafsky & Martin, 2000). För grammatikkontroll är det önskvärt med en mer omfattande analys än en morfosyntaktisk. Det vore till exempel önskvärt med en analys av fraser och syntaktiska funktioner. Om man vänder sig bort från frasstrukturgrammatiken 5 Tyvärr återstod mindre än sex månader av Granska-projektet när Svenska akademinens grammatik (SAG) släpptes på bokdiskarna. Under de alltför få månader som jag har arbetat med SAG, har jag funnit den mycket användbar, och hittills har jag funnit alla eftersökta konstruktioner och även en mängd andra konstruktioner av relevans för automatisk språkgranskning. 15
24 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning finner man t.ex. ytsyntaktisk analys med Constraint Grammar (Karlsson, 1995b) som är konstruerad för analys av löpande text. Constraint Grammar fungerar reduktionistiskt, analysen utgår från flertydig lexikal analys. En omfattande samling regler plockar successivt bort de flertydigheter som finns. Detta förfarande fortgår tills det inte går att tillämpa fler regler. Vid svåra fall lämnas flertydigheter kvar. En svensk version av Constraint Grammar (Birn, 1998) innehåller dock i nuläget endast ett begränsat antal syntaktiska taggar och är fortfarande under utveckling. Den engelska versionen av Constraint Grammar, ENGlish Constraint Grammar (ENGCG) (Voutilainen et al, 1992) har en intressantare tagguppsättning, med flera syntaktiska taggar som skulle vara mycket användbara för grammatikkontroll. ENGCG har uppnått mycket bra resultat med avseende på såväl täckning som precision (Voutilainen, 1995). När en svensk version av Constraint Grammar har byggts ut med motsvarande tagguppsättning kommer den att ge möjligheter till en ganska omfattande grammatikkontroll. Det verkar också finnas en Functional Dependency Grammar för svenska 6 under utveckling; denna bör vara mycket användbar i en grammatikkontroll eftersom en ytsyntaktisk analys kan ges inom ramen för en dependensgrammatik. Implementationer av dependensgrammtik används t.ex. i kommersiella grammatikkontroller för engelska, spanska, franska och portugisiska (Bourdon et al, 1998) 7. Såväl Constraint Grammar som Functional Dependency Grammar har som uttalat mål att hantera ogrammatisk text, vilket gör dessa mer lämpade än system där ingen analys av ogrammatiska satser ges. Ett annat ytsyntaktiskt analysverktyg har implementerats med goda resultat av (Kokkinakis & Johansson-Kokkinakis, 1999a) och det är möjligt att detta program skulle vara användbart som en förprocess för grammatikkontroll. En mer traditionell grammatisk analysator är Uppsala Chart Parser (Sågvall Hein, 1981) som har vidareutvecklats i Scarrie, en grammatikkontroll för svenska (Sågvall Hein, 1998). Hur ogrammatiska konstruktioner angrips med hjälp av Uppsala Chart Parser beskrivs kort i avsnittet Grammatikkontroll för svenska. För en kort, men bra, överblick över implementerade svenska grammatiksystem se (Gambäck, 1997). 2.3 Automatisk språkgranskning för andra språk Det finns många system för språkgranskning, men jag väljer att kort beskriva två kända och väldokumenterade system: Critique och CORRie. Det har tidigare framgått att många och omfattande system har utvecklats för engelska. Det är därför på sin plats med en kortfattad beskrivning av ett av de mest kända 6 Se 7 se också 16
25 Automatisk språkgranskning för andra språk systemen, som från början kallades Epistle (Jensen et al 1983), men sedermera bytte namn till Critique. Critique utvecklades först och främst för engelska, men tanken var att applicera tekniken på flera andra språk, varav åtminstone ett system för franska blev verklighet (Chanod, 1993). Det kanske mest intressanta med Critique är det generella angreppssätt som utvecklarna hade med systemet och målet att alla satser skulle tilldelas något slags analys och en så omfattande analys som möjligt (fullständig syntaktisk analys). Mer i detalj angriper Critique okända och ogrammatiska satser på följande sätt. Om ett ord i satsen är okänt tilldelas det några förvalda värden; detta räcker i många fall för att få fram en rimlig analys. Om kraven i grammatiken är för stränga lättas dessa upp, för att åstadkomma en analys (s.k. relaxering). Relaxering innebär att vissa krav på syntaktisk korrekthet i grammatiken lättas upp och därmed kan en del ogrammatiska satser analyseras. Regler för lexikala sammanblandningar används också för att få bort vanliga sammanblandningar som t.ex. whose who s. Om systemet trots allt inte lyckas kan det bero på svagheter i den konstruerade grammatiken eller att systemet stött på ett oförutsägbart fel, och då används i Critique metoden parse fitting, som går ut på att med olika metoder välja ut en huvudkonstituent i satsen. Den konstituent som täcker mest i satsen från vänster till höger blir första kandidat t.ex. en verbfras. Omkring denna huvudkonstituent passas övriga konstituenter in enligt ett visst schema. När hela satsen täcks upp av delvis sammankopplade konstituenter är analysen klar. Om flera analysalternativ ges, finns det en metrik som tar fram den troligaste analysen. Metriken föredrar analyser där modifierade ord och fraser (fel) kopplas till närmaste lämpliga konstituent. Algoritmer för feligenkänning arbetar mot alla stegen i analysen. Algoritmer som upptäcker grammatiska fel är inbyggda i den robusta analysen. Om en analys lyckas genom att lätta på kravet på t.ex. subjekt-verb kongruens så markeras orden i texten och ett ersättningsförslag med kommentar presenteras för användaren. Critique hanterar 25 olika feltyper som är indelade i fem kategorier: Numerusinkongruens, t.ex. He go (He goes) och Many book (Many books). The man who come to dinner (The man who comes to dinner). It clarifies and enforce (It clarifies and enforces). Fel pronomenform, t.ex. between you and I (between you and me) Fel verbform, t.ex. had expect (had expected) och seems to been (seems to be) 17
26 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning Skiljeteckensfel, t.ex. kommatecken används felaktigt istället för semikolon eller punkt; det kan också vara frågor som avslutas med punkt istället för frågetecken. Sammanblandningar av ord och uttryck, t.ex. who s - whose, you re - your, tangentsbordsfel, t.ex. from blir form som inte upptäcks av stavningskontrollen. Critique upptäcker också 85 stilistiska problem. En viktig skillnad mot de grammatiska felen är att det inte finns några givna ersättningsförslag till stilproblemen. Critique särskiljer därför grammatik- och stilfel i presentationen till användaren. Ett annat väldokumenterat program för språkgranskning är CORRie (Vosse, 1994). Vosses omfattande beskrivning är intressant dels för att programmet skall hitta språkfel i ett annat språk än engelska, nämligen holländska, och dels för att Vosse gör en övergripande klassificering av feltyper. I holländskan förekommer andra feltyper än i engelskan, varav en är särskrivna sammansättningar. Klassificering av feltyper är användbar för att se förhållandet mellan det grammatiska och det ogrammatiska. Klassificeringen bör också vara användbar då man vill jämföra språkgranskningsprogram för olika språk och värdera komplexiteten hos felen. Vosse gör följande klassificering av olika typer av fel: substitution: skribenten ersätter ord eller tecken med något som medför att ett fel uppstår, t.ex. stavfel som sjribent (skribent). deletion: skribenten glömmer ett ord eller en hel fras, t.ex. Tåget gått (Tåget har gått) insertion: skribenten sätter in ett tecken, ord eller en fras för mycket, t.ex. Tåget har har gått. Särskrivna sammansättningar som hus bil tillhör denna felkategori genom att skribenten har satt in ett mellanslag mellan hus och bil. transposition: skribenten byter plats på ord, t.ex. Tåget gått har. feature mismatch: skribenten väljer fel form av ett ord eller fras. Enligt Vosse kan feature mismatch ses som ett specialfall av substitution. Inkongruens i nominalfraser som t.ex. den lilla huset och inkongruens i predikativ t.ex. Mannen är glada tillhör denna felkategori. Vosse hävdar vidare att feature mismatch är den grupp som elegantast kan hanteras i den grammatikformalism som används i CORRie, kallad Augmented Context-Free Grammars (ACFG), genom någon form av s.k. relaxering som i Critique. Övriga feltyper (strukturella fel) kräver speciella felregler som kan implementeras direkt i ACFG. För att hantera multipla fel eller val mellan flera möjliga fel i samma ordsekvens kan felreglerna viktas. 18
27 Automatisk språkgranskning för svenska 2.4 Automatisk språkgranskning för svenska Under senare delen av 1990-talet har det bedrivits forskning och utveckling av grammatikkontroll för svenska av minst fyra grupper Språkgranskningprogrammet Granska utvecklas av en forskargrupp vid Nada, KTH (Domeij, Larsson & Knutsson, 1996; Domeij, Knutsson, Larsson, Severinsson Eklundh & Rex, 1998; Carlberger, Domeij, Kann & Knutsson, 2000). Granska presenteras mer utförligt i avsnitt Det finska språkteknologiföretaget Lingsoft släppte hösten 1998 den kommersiella grammatikkontrollen Grammatifix (Arppe, 2000; Birn, 2000). 3. Institutionen för lingvistik vid Uppsala Universitet utvecklar i samarbete med danska och norska grupper, inom ett EU-projekt, språkgranskningsprogrammet Scarrie (Sågvall-Hein, 1998). 4. Institutionen för lingvistik vid Göteborgs universitet utvecklar metoder för att med hjälp av positiva grammatikregler, det vill säga utan specifika felregler (negativa grammatikregler), detektera olika typer av grammatiska fel i svenskan (Andersson et al, 1999). Det är intressant att var och en presenterat delvis en egen metod för att komma åt felen. Gemensamt för systemen är någon form av lokal analys, men den görs på olika sätt. Grammatifix är en kommersiell produkt, medan Scarrie och Granska är forskningsprototyper. En jämförelse mellan systemen blir därför inte rättvis, men i stort hittar de tre olika programmen ungefär samma feltyper (se Arppe, 2000, för en jämförelse mellan system). Det stora undantaget är särskrivna sammansättningar, där Granska verkar eftersöka flest varianter av feltypen. Feltypen behandlas i någon mån av Scarrie, men inte alls av Grammatifix. Grammatifix och Granska ger också ersättningsförslag där så är möjligt, vilket inte Scarrie gör. Att göra en omfattande studie och jämföra täckning och precision är ett stort och komplicerat företag, som hittills inte utförts av någon grupp, åtminstone inte i publicerad form. Grammatifix använder sig av morfologiskt taggad text från den morfologiska analysatorn SWETWOL (Karlsson, 1992), som i de allra flesta fall är entydiggjord (disambiguerad) med regler skrivna i Constraint Grammar. Disambigueringen utgår från Lingsofts svenska version av Constraint Grammar (SWECG, Birn 1998), men är något modifierad för att hantera ogrammatiska indata (Birn, 2000). Språkgranskningen i Grammatifix bygger på felspecifika regler skrivna i Constraint Grammar (CG). Det vill säga varje regel söker efter en viss feltyp. CG är framförallt ett system för taggning och disambiguering av text i olika nivåer, 8 Arppe ger en historisk tillbakablick i Arppe (2000). 19
28 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning men i Grammatifix används formalismen för att detektera grammatiska fel, vilket i sig är intressant. Man använder helt enkelt CG för att tagga upp de konstruktioner som enligt en uppsättning regler bör vara fel. Varje regel i sig avgör med kontextuella villkor om en sekvens av ord verkar vara grammatiskt fel. En jämförelse mellan två regler i Grammatifix och Granska görs i kapitel 3. Scarrie eller ScarCheck 9 som språkgranskningsmotorn i den svenska versionen egentligen heter (Sågvall-Hein, 1998), är det system för svenska som mest påminner om Critique och Corrie genom att bygga på en parser för fullständig analys, Uppsala Chart Parser (UCP) (Sågvall-Hein, 1981). En av finesserna med chart-parsing är att även delanalyser är möjliga i systemet, även om inte hela satsen kan analyseras. I Scarrie används dels s.k. relaxering, kraven i de grammatiska reglerna lättas upp för att identifiera fel, och dels specifika felregler som appliceras på den information som kommer ut från UCP. De flesta meningar som analyseras av UCP får endast ett antal delanalyser som inte byggs ihop till ett fullt syntaxträd. ScarCheck bygger därmed på s.k. partiell parsning. Men satser som Det bli förmodligen det slutgiltiga siffrorna täcks fullt ut av grammatiken i ScarCheck. En forskargrupp vid institutionen för lingvistik vid Göteborgs universitet har arbetat med något annorlunda metoder (Andersson et al, 1999). Metoden bygger på Karttunens algoritm (Kartunnen et al, 1996) som upptäcker felaktiga datum utan att explicit beskriva hur ett felaktigt datum ser ut. Denna metod har Andersson et al (1999) överfört till grammatikgranskning och lyckas till viss del upptäcka inkongruens i nominalfrasen. Den stora fördelen med metoden är att lingvisten aldrig behöver skriva specifika felregler utan kan skriva vanliga grammatikregler som anger hur t.ex. en enkel nominalfras ser ut. Genom en subtraktionsmekanism mellan regler med olika krav på grammatisk korrekthet kan inkongruens i nominalfraser upptäckas. Denna typ av regler kan implementeras i Granska genom det samarbetsprojekt som Nada och forskargruppen vid Göteborgs Universitet deltog i; detta har dock inte genomförts i någon större skala (se vidare i kapitel 3). 2.5 Granskas angreppssätt Om PEG (se avsnitt 2.1) inriktar sig på att analysera såväl grammatiska som ogrammatiska satser, så inriktar sig Granska på en del av de satser som verkar innehålla ogrammatiska sekvenser av ord. På detta sätt blir Granska inte ett generellt system för språklig analys, men när det kommer till den specifika tillämpningen, automatisk språkgranskning, kan Granska nå goda resultat. 9 Den svenska version av Scarrie använder en egenutvecklad grammatikkontroll som bygger på Uppsala Chart Parser (Sågvall-Hein, 1981). Svenska Scarrie skiljer sig därmed från de danska och norska versionerna som bygger på CORRie (Vosse, 1994). 20
29 Granskas angreppssätt Vosse rekommenderar att man är försiktig med en fullständig analys av satser och meningar (Vosse, 1994) eftersom det är en svår och tung process, och endast när det behövs skall den användas. I Granska används en partiell parsning med s.k. hjälpregler när feltypen kräver en mer omfattande analys. På detta sätt behöver inte en fullständig grammatik implementeras och därmed undviks många av de problem som följer med en mer fullständig analys av meningen, det vill säga många flertydigheter som är mycket svåra att lösa upp (se t.ex. Voutilainen, 1994). Granska undersöker endast de meningar som verkar vara fel och i dessa görs en mer omfattande analys av meningen, med t.ex. identifikation av nominalfraser, prepositionsfraser och satsgränser, se vidare Delar av den presentation av Granska som följer är hämtad från artikeln Granska an efficient hybrid system for Swedish grammar checking skriven tillsammans med Rickard Domeij, Johan Carlberger och Viggo Kann (2000) Feltyper som detekteras av Granska Denna avhandling är koncentrerad på tre feltyper: särskrivna sammansättningar, inkongruens i nominalfrasen och inkongruens i predikativ, men regler för andra feltyper har också implementerats. Detta har dock inte utförts med samma noggrannhet som de tre feltyper som avhandlingen behandlar, utan mer med syftet att visa att även andra typer av fel kan implementeras i Granska med gott resultat. Granska har funnits i flera olika versioner och har sitt ursprung i Plita (Domeij, 1994). I tidigare versioner av Granska (Domeij et al, 1998) fanns de flesta reglerna från Plita med; dessa regler sökte främst efter ortografiska fel, t.ex. dubbla mellanslag och efter stilistiska problem t.ex. medans. Nuvarande version har koncentrerats på mer grammatiska fel som presenteras kortfattat nedan. 21
30 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning Feltyp Felaktiga sammansättningar, enligt Svenska skrivregler (1991). Särskrivna sammansättningar Kontamination, sammanblandning av uttryck Felaktig preposition, signalerar för fel i fasta uttryck enligt Svensk handordbok (1966). Objektsform efter preposition Inkongruens i nominalfraser Inkongruens i predikativ Böjningsfel vid främmande ord Tautologi Böjningsfel i verbfras Ordföljdsfel Exempel undertiden Han orkade inte flytta sten bumlingarna. tillhör en av (ska vara är en av eller bara tillhör) med utgångspunkt från (bör vara med utgångspunkt i) Han skickade en rad vänliga brev till de. Han såg de gröna villor. Äktenskapet är baserad på kärlek mellan man och kvinna Han köpte ett data. orsaken till anledningen Vi kommer spela en låt av Ebba Grön Han sa att han sparkade inte bollen Tabell 2.1. Ett urval av de feltyper som Granska kan detektera, diagnostisera och korrigera Översikt över Granskasystemet Granska är ett hybridsystem som använder ytgrammatiska regler för att kontrollera svensk grammatik. Systemet kombinerar probabilistiska och regelbaserade metoder för att uppnå hög effektivitet och robusthet. Detta är en nödvändig förutsättning för en grammatikkontroll som ska fungera i realtid i direkt interaktion med användaren (se t.ex. Kukich, 1992). Med hjälp av särskilda granskningsregler kan ett antal grammatiska fel i svensk text detekteras och förses med korrektionsförslag. Hur granskningen är uppbyggd i moduler visas i figur 2.2. Först görs en igenkänning av alla textens ord i tokeniseraren. I nästa steg tilldelas orden information om ordklasser och morfologiska särdrag med hjälp av en s.k. taggare som slår upp ord i lexikon och på statistisk grund räknar ut vilken av flera möjliga ordklasstilldelningar ett ord får i sin kontext. Den taggade texten skickas sedan vidare till regelmatcharen som genomsöker texten och matchar den mot de förväntade grammatiska avvikelser som definierats i granskningsreglerna. 22
31 Granskas angreppssätt Granskningsreglerna genererar också felbeskrivningar och rättningsförslag som slutligen presenteras för användaren i ett grafiskt gränssnitt. Systemet innehåller även en rättstavningsmodul, kallad Stava, som kan hantera svenska sammansättningar (Kann et al, 1999) och som används i granskningsreglerna för att kontrollera felaktiga särskrivningar. Text Tokeniserare Lexikon Taggare Granskningsregler Regelmatchare Gränssnitt Figur 2.2. Granskasystemets uppbyggnad Grundläggande analys morfologisk analys och statistisk disambiguering Granska använder en gömd markovmodell (Carlberger & Kann, 1999) för att göra en grundläggande språklig analys och taggning av texten. Varje ord tilldelas en tagg som beskriver ordets ordklass och morfologiska särdrag. Taggningen görs på basis av ett lexikon på ordformer som är konstruerat utifrån en handtaggad korpus på en miljon ord (SUC Stockholm Umeå Corpus, Ejerhed et al, 1992) och kompletterat med ord från SAOL (Svenska akademiens ordlista, 1986). Markovmodellen bygger på statistik om ords och taggars förekomster i kontexten från texterna i SUC. På så sätt kan den välja den mest sannolika taggen för varje ord i texten som finns i lexikon. Okända ord taggas med hjälp av probabilistisk ordslutsanalys. All denna grundläggande analys görs av ett program som i fortsättningen kallas Granskas taggare. Trots att Voutilainen och Samuelsson (Samuelsson & Voutilainen, 1997) har hävdat att regelbaserad taggdisambiguering är bättre än statistisk, åtminstone för engelska, finns det ännu så länge inte några bevis för att detta gäller även för svensk text med ogrammatiska inslag. Frågan om vilka metod som är bäst är fortfarande öppen, men Birn (2000) hävdar att disambiguering är nödvändigt för att uppnå hög precision vid detektion av grammatiska fel. I en mindre utvärdering (Carlberger & Kann, 1999) med löpord från SUC, fann vi att dåvarande version av Granska (Domeij, et al, 1998) genererade 94 falska alarm med 23
32 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning morfosyntaktiskt flertydig indata, men endast 8 falska alarm med Granskas taggare som förprocess. I en annan mindre utvärdering utförd av (Knutsson, 1996) med en uppsättning språkgranskningsregler för inkongruens i nominalfrasen, jämfördes den flertydiga analysen från SWETWOL med den entydiga från en svensk version av den statistiska taggaren XPOST (Cutting et al, 1992). Det framkom att precisionen ökade avsevärt med entydiggjord indata från en uppsättning studentuppsatser. Å andra sidan påverkas disambigueringen av de grammatiska felen; en gemensam konsekvens för regelbaserad och statistisk disambiguering är att det uppstår disambigueringsfel, t.ex. att en determinerare tolkas som ett pronomen, som det i Jag såg det mannen redan igår. Jämför med den korrekta satsen Jag såg det mannen talade om redan igår. Metoderna skiljer sig genom att den regelbaserade disambigueringen (åtminstone Constraint Grammar) lämnar tvetydighet kvar om ordsekvensens flertydighet inte kan lösas upp av reglerna. Den statistiska taggningen (åtminstone Granskas taggare) försöker alltid att lösa flertydigheter och endast en morfosyntaktisk analys av ordet ges. Vilken metod som egentligen är bäst är ännu så länge inte klart, och här återstår många forskningsfrågor. Den grundläggande analysen är mycket viktig för ett gott slutresultat eftersom efterföljande regler bygger på resultatet från dessa Regler och regelspråk Granska har särskilda granskningsregler som genomsöker resultatet från den morfosyntaktiska taggningen på jakt efter grammatiska felaktigheter. Eftersom markovmodellen även taggar morfosyntaktiskt avvikande ord med endast en tagg behöver i normalfallet ingen ytterligare disambiguering göras i granskningsreglerna för att detektera t.ex. ett kongruensfel som en hus. Dessa granskningsregler kommer att beskrivas i detalj för respektive feltyp och dessutom i kapitlet Granskas regelspråk som beskriver den syntax som reglerna implementeras i. I Granskas regelspråk kan s.k. hjälpregler som utför delanalyser av meningen konstrueras. Med hjälpreglerna närmar sig analysen en frasstrukturgrammatik. Poängen med hjälpreglerna är att det går att göra en ytsyntaktisk frasanalys lokalt, utan att systemet behöver analysera de delar av satsen som inte är relevanta för lokaliseringen av den aktuella feltypen. Därmed bevaras systemets höga effektivitet samtidigt som den språkliga analysen får det djup som behövs i det enskilda fallet. För att undvika falska alarm finns det en grupp regler som plockar bort de konstruktioner som sannolikt skulle matchas av granskningsreglerna. Dessa regler kallas accepterande regler och har visat sig vara ett effektivt vapen mot falska alarm. Fördelar är främst att kritiska korrekta konstruktioner inte behöver granskas med granskningsreglerna, samt att granskningsreglerna i sig blir renare och inte 24
33 Granskas angreppssätt fulla av undantag. Nackdelen är att en granskningsregel inte ensamt anger hur ett fel realiseras. Figur 2.3 visar hur de olika reglerna samverkar för att hitta så många fel som möjligt, utan att generera falska alarm. Morfologiskt disambiguerad text Accepterande regler 1. Fångar upp korrekta konstruktioner och konstruktioner som måste undantas för att falska alarm ska undvikas. 2. Om ingen accepterande regel matchas skickas meningen vidare till granskningsreglerna Hjälpregler Anropas vid behov, och gör en lokal frastrukturanalys Inget alarm, programmet hoppar till nästa ordsekvens i texten. Granskningsregler Söker efter fel i texten 1. Vid feldetektion markeras felet i texten, kommentarer och ersättningsförslag presenteras för användaren. 2. Om ingen regel matchar, lämnas meningen orörd. Figur 2.3. Figuren visar hur accepterande regler, hjälpregler och granskningsregler samverkar för att hitta fel och undvika falska alarm Accepterande regler Accepterande regler hanterar många undantag som hade behövt implementeras i varje enskild felregel. Konstruktioner som hanteras med accepterande regler är t.ex. en massa arbetare, där massa arbetare skulle kunna vara en tänkbar 25
34 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning särskriven sammansättning av massaarbetare (en arbetare som arbetar med pappersmassa). De accepterande reglerna medför att granskningsreglerna inte kan läsas och förstås utan att man först betraktar de regler som accepterar konstruktioner. Detta angreppssätt bör löna sig genom att man får en beskrivning av det som är korrekt och först när det till exempel inte finns några korrekta nominalfraser kvar i texten appliceras felreglerna. Det är också ett sätt att förenkla för regelskrivaren som först kan koncentrera sig på korrekta konstruktioner och därefter skriva regler för konstruktioner som ofta betraktas som fel. Uppdelningen mellan accepterande regler och felregler blir emellertid inte riktigt så precis i verkligheten, vilket de regelexempel som senare presenteras kommer att visa. Antalet matchningar som måste göras minskas också radikalt. Den enda nackdelen är att en felregel inte ensam anger hur ett fel realiseras, utan kombinationen felregel och accepterande regel måste hanteras. Flera exempel på hur accepterande regler konstrueras ges i efterföljande kapitel Hjälpregler Tanken med hjälpregler är att analysera tillräckligt mycket av meningarna för att kunna applicera felreglerna på ett mer precist sätt. Uppbyggnaden av den samling hjälpregler som nu finns och som kommer att presenteras i den följande texten har vuxit fram i takt med att felreglerna har blivit mer avancerade och att det är onödigt att försöka uttrycka den språkliga variationen i varje enskild felregel. Ett kontextvillkor för en nominalfrasregel och för en särskrivningsregel kan vara de samma. Hjälpreglerna är ett sätt att återanvända lingvistisk kunskap i systemet. Man kan också se hjälpreglerna som en sorts förprocess för felreglerna; denna förprocess initieras dock endast om någon felregel appliceras på en mening i texten. Hjälpreglerna ligger alltså inte som en bakomliggande process, utan de används endast när felreglerna appliceras. Samtidigt som hjälpreglerna förbättrar den grundläggande lingvistiska analysen, inför de nya flertydigheter med flera olika analyser av en ordsekvens, t.ex. om den man i meningen den man såg igår ser man inte idag, skall betraktas som en (den man) nominalfras eller som två nominalfraser (den och man) Detektion av nominalfraser En viktig drivkraft för hjälpreglernas utveckling är en önskan om ökad täckning och förbättrad precision för felreglerna. Utvecklingen av felreglerna för framför allt inkongruens i predikativ och de accepterande reglerna har drivit fram en kraftig utveckling av framförallt regler för nominalfrasigenkänning. Att detektera inkongruensfel i predikativ kräver i ganska många fall att nästan hela meningen analyseras, eller åtminstone satsen; det kan handla om en ordsekvens på mer än tio ord, t.ex. Problemet med den kommunala fördelningen från inkomstskatter för säsongsanställda är svår att lösa inom befintligt skattesystem, där Problemet och svår är inkongruenta. Nominalfrasen Problemet med den kommunala fördelningen 26
35 Granskas angreppssätt från inkomstskatter för säsongsanställda måste identifieras för att inkongruensen i predikativ skall upptäckas. Hjälpreglerna är skrivna på ett ganska grovt sätt; en tanke är de skall klara felaktiga konstruktioner, eftersom det är möjligt att sådana finns i kontexten till andra fel. Det är t.ex. ganska vanligt hos andraspråksinlärare, se t.ex. (Öhrman, 2000) och även hos språkbrukare med sverigesvenska som modersmål att t.ex. ett särskrivningsfel förekommer i kontexten av ett predikativfel. Reglernas grovhet var också tänkt att användas inom området språklig redigering 10 (se t.ex. Severinson Eklundh, 1991; Dijkstra & Huls 1992), där den lingvistiska analysen måste kunna hantera fraser och satser som är under revidering, och därmed i många fall innehåller fel. Det är framförallt nominalfrasreglerna som är skrivna avsiktligt grova och detta drar ner precisionen för varje enskild nominalfrasregel, men kan öka såväl täckning som precision för felreglerna; felreglerna berörs genom grovheten inte på samma sätt av felaktigheter i satsen som om felregeln utgick från att övriga konstituenter var korrekta. Ett sätt att höja precisionen för varje nominalfrasregel vore att de ingående konstituenterna skall kongruera. Hittills har kongruens inte använts i hjälpreglerna och en orsak har redan nämnts; den andra är att den svenska nominalfrasen innehåller en rad undantag där korrekta fraser innehåller lokal inkongruens t.ex. ett överklassens attribut, där ett inte kongruerar med överklassen, dock med attribut som det i själva verket syftar på. För att kunna avgöra att denna konstruktion får innehålla lokal inkongruens, måste programmet kunna avgöra att det rör sig om en komplex nominalfras. Konstruktioner som ett överklassens attribut hanteras dock av accepterande regler och ett framtida mål bör vara att bygga ihop accepterande regler, hjälpregler och granskningsregler för att få fram en bättre grundläggande analys. För att ge en överblick över de nominalfraser (NP) som identifieras med hjälpregler och kan anropas av de accepterande reglerna och granskningsreglerna presenterar jag ett urval av dessa i tre tabeller nedan. Hjälpreglerna kan också användas av andra hjälpregler. 10 Språklig redigering handlar inte om att korrigera språkliga fel i texten, utan att hjälpa användaren att redigera texten utifrån språkliga grunder, t.ex. att byta tempus på verb eller bestämdhet på nominalfraser, antingen lokalt eller globalt i texten. 27
36 Kapitel 2. Utgångspunkter och angreppssätt för automatisk språkgranskning Klassificering Minimal NP med artikel, adjektiv och substantiv Minimal NP med possessiv Exempel en liten bil min lilla båt Minimal NP med egennamn Wayne Gretzky Minimal NP med pronomen Han NP utan substantiv eller egennamn Tabell 2.2. Enkla nominalfraser Klassificering NP med måttsapposition NP med NP-apposition NP med konjunktion Tabell 2.3. Sammansatta nominalfraser Klassificering NP med relativ bisats som efterställt attribut NP med prepositionsfras som efterställt attribut unga som bor på landet De gröna kämpar för att ta många platser i parlamentet Exempel en massa hus, en grupp studenter min vän generalen, Staden Kalmar små och stora båtar Exempel Den lagstiftning som nu införs. Den avhandling vilken Jonsson försvarade mannen med hatten Tabell 2.4. Nominalfraser med efterställda attribut En preliminär uppsättning av dessa hjälpregler (dock ej hjälpregler med efterställda attribut) utvärderades av Johansson (2000). Johansson utförde en relativ liten utvärdering, men fann att såväl precision och täckning hamnade ungefär på 80 %. Det finns även hjälpregler för andra frastyper som har utvecklats för att alla typer av regler ska förenklas och förbättras. En särskild uppsättning hjälpregler har skapats för identifiering av satsgränser i meningar. Satsgränsreglerna bygger på Ejerheds satsigenkänningsalgoritm (Ejerhed, 1999). Satsgränsreglerna är i nuläget implementerade som vanliga hjälpregler, men man bör överväga om inte dessa bör implementeras som en förprocess, eftersom nästan alla granskningsregler kan bli bättre genom att endast appliceras på satser. En mängd falska alarm har på detta sätt eliminerats. 28
37 Ett generellt regelspråk 3. Granskas regelspråk Ett viktigt övergripande mål inom Granska-projektet var att skapa ett system där vi hade full kontroll över samtliga moduler. Vi önskade oss full kontroll för experiment och utveckling av idéer från tokenisering, taggning, regelspråk, regelmatchning till olika typer av användargränssnitt. Det var därför naturligt att utveckla ett eget regelspråk för våra syften. Detta kapitel kommer att behandla detta regelspråk som är en central del i Granska. Den följande beskrivningen riktar sig främst till den som avser att skriva regler eller är intresserad av hur regelspråket fungerar vilket är viktigt för den fortsatta läsningen av avhandlingen. För en kort beskrivning av regelspråkets implementation se Carlberger, Domeij, Kann & Knutsson (2000). I Appendix B presenteras en BNF-definition av regelspråket, skriven av Viggo Kann, för att definitivt undanröja alla eventuella oklarheter i detta kapitel. Utvecklingen av regelspråket har utförts i nära samarbete med dess implementatörer Viggo Kann och Johan Carlberger. Den flexibla och robusta implementationen av regelspråket har möjliggjort en ständig och friktionsfri utveckling, där nya idéer snabbt, enkelt och konsekvent, utan återvändsgränder, har införts i regelspråket och regelmatcharen. 3.1 Ett generellt regelspråk Ett av huvudsyftena med det nya regelspråket är att det kan användas till olika lingvistiska operationer: Grammatikkontroll. Det finns tydliga och generella sätt att ange vad som skall detekteras och markeras och hur det skall korrigeras. Identifiering av fraser och satsgränser. Det är möjligt att detektera språkliga fraser, t.ex. nominalfraser (NP). Det går också att söka efter dessa för att förbättra detektionen av andra språkliga konstruktioner. En regel som detekterar ett språkligt mönster kan återanvändas av andra regler. Lingvistisk sökning och redigering. Det går att utföra sökningar efter lingvistiska enheter, samt utföra redigering av dessa t.ex. förändra tempus hos verb eller att flytta konstituenter inom en mening. Förbättrad taggning. Granskas taggare väljer i vissa fall fel tolkning av ett ord. Dessa fel kan identifieras med regler som kan ange en ny taggning av det detekterade området, samt be om en ny taggning av hela meningen som tar hänsyn till den angivna taggen. 29
38 Kapitel 3. Granskas regelspråk Förbättrad och utökad funktionalitet I texten nedan följer en genomgång av målsättningarna med regelspråket, längre ned i texten förklaras hur de skall förverkligas. Ett viktigt delmål är att reglerna skall få en tydlig notation och ökad uttryckskraft. Inspiration till reglernas notation har hämtats från objektorienterade programmeringsspråk som C++ och Java. Den lingvistiska beskrivningens utformning har främst påverkats av Constraint Grammar (Karlsson, 1995b) och olika typer av Finite State Parsing (se t.ex. Karttunen et al, 1996), se avsnitt och för jämförelser av regelsyntax. Även den möjlighet till lingvistisk abstraktion som finns inom frasstrukturgrammatik och särdragsbaserad grammatik har bidragit till utvecklingen av regelspråket, se framförallt avsnittet om Hjälpregler. Granskas regelspråk utvecklades med följande målsättningar: Det ska vara möjligt att konstruera granskningsregler som med god täckning och hög precision hittar de feltyper som eftersträvas. Regelkonstruktören styr den information som skall presenteras för användaren, till exempel markering av felen i texten, ersättningsförslag och kommentarer och förklaringar till det signalerade felet. Reglerna skrivs i en objektorienterad notation med attribut och värden för att förenkla generaliseringar och öka läsbarheten. En regel kan utnyttja språklig information från tecken- och tokennivå till enklare frasstruktur. En god beskrivning av en konstruktion skall återvändas i andra regler. Regelspråket skall enkelt kunna utvidgas till andra tillämpningar än redan nämnda. Regelkonstruktören skall inte belastas med krav på effektiva regler, utan detta skall lösas av det program som tolkar reglerna. Bra detektion och diagnos uppnås genom: statistisk kvantifiering (se 3.2.2). jämförelser av särdragens värden (se 3.3.5) sekvensvariabler (se ) villkorliga hopp, för att åstadkomma regelprioritet (se ), och accepterande regler (se 3.5.4). detektion av lingvistiska enheter med hjälpregler, t.ex. nominalfraser (se 3.5.1). 30
39 Operatorer, kvantifikatorer och konstanter i regelspråket detektion och korrektion av felaktig taggning (se 3.5.3) Bra korrektion skall uppnås genom att: det som är fel skall markeras med teckenprecision i texten (se och 3.4.8) genererade ersättningsförslag skall sättas in i texten (se 3.4.9) Definitioner och förklaringar Token En enhet som har ett språkligt innehåll, vanligtvis är ett token ett ord, t.ex. bilen, men även ett datum som den 26 juli Vad som är ett token bestäms av Granskas tokeniserare. Element Ett samlingsnamn för enskilda tecken, teckensekvenser och token, det vill säga något som går att matcha i indata. Regelmatcharen Regelmatcharen är det program som tolkar regelspråket och ser till att reglerna appliceras och tillämpas En regel består av ett vänsterled och ett högerled En regel består av ett vänster- och högerled. I vänsterledet skall det anges vad som skall matchas i indata. I högerledet anges vad som skall göras med det matchade i vänsterledet. För att det skall fungera väl är det viktigt att relationen mellan vänsterled och högerled är väl utarbetad. I beskrivningen av en regels uppbyggnad kommer vänsterledets beståndsdelar och funktionalitet att beskrivas i avsnitt 3.3. När detta är gjort kommer högerledet att beskrivas i avsnitt 3.4. I detta kapitel sätts också vänster- och högerled ihop för att bilda regler. I avsnitt 3.5 beskrivs andra typer av regler, framförallt hjälpregler som påminner om regler i en frasstrukturgrammatik. Först av allt måste dock de operatorer, kvantifikatorer och konstanter som finns i regelspråket beskrivas; detta sker i nästa avsnitt. 3.2 Operatorer, kvantifikatorer och konstanter i regelspråket Operatorer & logiskt och mellan villkor logiskt eller mellan villkor! logisk negation av villkor = lika med!= inte lika med < mindre än 31
40 Kapitel 3. Granskas regelspråk > större än <= mindre än eller lika med >= större än eller lika med + binärt plus - binärt och unärt minus. Används också i intervall mellan matchningsvariabler i högerledet. := tilldelningsoperator, kommatecken används för att avskilja matchningsvariabler ; semikolon innebär ett logiskt eller mellan regler ~ tilde innebär subtraktion mellan två regler enligt mängdteorin, tilde används också vid matchning av reguljära uttryck på ordnivå --> en konsekvenspil som skiljer vänsterled från högerled, vilket innebär att högerledet är en konsekvens av vänsterledets premisser { regelbörjan, en regel inleds alltid med { } regelslut, en regel avslutas alltid med } {{ inleder en regel med subtraktion }} avslutar en regel med subtraktion Operatorer i fallande ordning Operatorer binder olika hårt och nedan följer en uppräkning av hur hårt de binder i fallande ordning. +- ~ =,!=, <, >, >=, <=! & := Kvantifikatorer För att kunna hantera olika tolkningar av orden använder vi en statistisk kvantifierare som anger ett tröskelvärde för en viss given tolkning. P(Sannolikhet, Taggkombination) Statistisk kvantifierare som medför att en regel tillämpas endast om sannolikheten för att tolkningen Taggkombination, är lika med eller större än värdet för Sannolikhet. Sannolikheten anges som ett reellt tal X och det gäller att 0 <= X <= 1. A(Taggkombination) Allkvantifierare, ett förkortat skrivsätt för P(1, Taggkombination). 32
41 Notationen i vänsterledet E(Taggkombination) Existenskvantifierare, ett förkortat skrivsätt för (0.0001,Taggkombination) Konstanter Det behövs två booleska konstanter i regelspråket: true, false. Det behövs också numeriska konstanter, det vill säga alla heltal och reella tal. De reella talen skrivs med decimalpunkt, till exempel Notationen i vänsterledet En matchningsvariabel, t.ex. X, som anges i vänsterledet, beskriver det område som skall matchas i indata när matchningen sker mot ett token; matchning på teckennivå särbehandlas, se nedan Matchning av reguljära uttryck på teckennivå Regler där vänsterledet består av reguljära uttryck särbehandlas i regelspråket eftersom dessa matchar över token- och meningsnivå. I vänsterledet anges endast det reguljära uttryck som skall matcha indata. Högerledet kommer dock att se likadant ut för regler som endast innehåller reguljära uttryck på teckennivå. I vänsterledet skrivs det reguljära uttrycket inom "...": /"regexp"/ där regexp utgörs av ett reguljärt uttryck på teckennivå med samma notation som i programmet grep under Unix Markering och korrigering i det reguljära uttrycket För att markeringar och korrigeringar ska kunna göras i regler med reguljära uttryck måste det finnas sätt att uttrycka vad som skall markeras och vad som skall vara med i korrigeringen. Ett förslag är att använda den notation som finns i editeringsprogrammet sed. I sed finns det metatecken som anger vad som skall sparas i det reguljära uttrycket. Dessa är \( och \). För att ange vad som skall finnas med i den korrigerade strängen används referenserna \1 till \n. \1 refererar till den första parentesen som gjorts med \( och \) och så vidare. Exempel: I sed blir regeln för att ta bort dubbla mellanslag i filen dubbla.txt enligt följande: Indata: jag har en boll som är grön. Utdata: jag har en boll som är grön. sed 's/\([a-zåäö][a-zåäö]*\)[ ][ ]\([a-zåäö][a-zåäö]*\)/\1 \2/' dubbla.txt 33
42 Kapitel 3. Granskas regelspråk Eftersom reglerna i det nya regelspråket består av ett vänster- och högerled är det naturligt att metatecknen \( och \) anges i vänsterledet som matchar indata och \1 till \n anges i högerledet i fälten för att markera och korrigera, se avsnitten mark och corr. \1 till \n anges inom citattecken i mark- och corrfältet. I ett senare avsnitt visas också hur sed-uttrycket ovan kommer att formuleras i Granskas regelnotation. Där visas även hur det matchade området skall markeras i texten. Regler och regelmatchning med reguljära uttryck på teckennivå är under implementation (Baltatzis, forthcoming) Matchning på tokennivå Varje token som skall matchas beskrivs med en matchningsvariabel som innehåller olika attribut för att ange vad som skall matchas. Det matchade ses som ett objekt med attribut och metoder för manipulation. Attributen kombineras med logiska operatorer. Attributen består av två grupper textattribut och särdragsattribut; dessa presenteras nedan. Objektens textattribut: real_text Detta attribut innehåller objektets textsträng. För att matcha ett objekts textsträng används dels textsträngar och dels reguljära uttryck på teckennivå. Textsträngar och reguljära uttryck anges inom "...". För att matcha ord används real_text="ord" och för att matcha med reguljära uttryck används real_text ~ "regexp". text lemma token Detta attribut innehåller objektets lexikala textsträng, som skiljer sig mot real_text som innehåller den textsträng som finns i själva texten. Om textsträngen i texten är öl- och vinrättighter så är real_text= öl och vinrättigheter medan text= vinrättigheter. Attributet text används för att avgöra ordets morfosyntaktiska tolkning. Detta attribut innehåller objektets lemma, det vill säga ordets grundform. För matchning av detta attribut anges en textsträng. I vänsterledet skriver man lemma="lemma" för att matcha ordens lemma. Granskas tokeniserare klassificerar token med hjälp av reguljära uttryck. Denna klassificering är åtkomlig från reglerna med attributet token. Några exempel på tokenklassificeringar är t.ex. webbadresser som får värdet TOKEN_URL, enkla ord får värdet TOKEN_SIMPLE_WORD. Konstruktioner som öl- och vinrättigheter får värdet TOKEN_SPLIT_WORD. Objektens särdragsattribut: Följande särdragsattribut används i denna text (komplett lista över samtliga särdragsklasser och särdragsvärden finns i Appendix A). I regelspråket skiljer vi 34
43 Notationen i vänsterledet mellan särdragsklasser som utgör objektens attribut och särdragsvärden som utgör de värden som objektens attribut är satta till. Särdragsklasserna och särdragsvärdena som man vill använda i regelspråket definieras i en separat fil, för det är information som behövs redan vid taggningen. Särdragsklasser som används i detta kapitel: wordcl gender num spec vbf case style sed ordklass genus numerus species verbform kasus stil meningsavgränsare Särdragsvärden som används i detta kapitel: dt jj nn def utr vb pn vard pc foal datm ie determinerare (artikel) adjektiv nomen (substantiv) definit (bestämd) utrum verb pronomen vardagligt ord particip formella och ålderdomliga ord dataterm infinitivmärke Alla matchningsvariabler består av två fält oavsett om det finns några matchningsvillkor: variabelnamn(matchningsvillkor) En matchningsvariabel kan se ut enligt följande: X(attribut1=värde1 & attribut2=värde2 &... & attribut_n=värde_n) Exempel 1: En matchningsvariabel som matchar ett godtyckligt token i texten skrivs enligt: X() Exempel 2: En matchningsvariabel i vänsterledet som matchar ordet bilen kommer att se ut som nedan (med en viss redundans): X(text="bilen" & lemma="bil" & wordcl=nn & gender=utr & num=sin & spec=def & case=nom) 35
44 Kapitel 3. Granskas regelspråk Operatorer mellan matchningsvariabler och regler Matchningsvariabler kan kombineras för att bilda fraser och andra konstruktioner. Det skall också vara möjligt att kombinera regler för att konstruera mer generella regler. Det finns tre operatorer för detta ändamål. Dessa operatorer kan kombineras och ganska komplexa uttryck kan konstrueras. A, B Operatorn, skiljer matchningsvariabel A från matchningsvariabel B vilket innebär att A skall följas av B. B beskriver ett nytt ord som följer direkt efter A i indata. A och B måste gälla för att en regel skall tillämpas. A ; B Operatorn ; innebär ett logiskt eller mellan regler vilket innebär att regel A eller regel B måste gälla för att den sammansatta regeln skall tillämpas. Logiskt eller kan uttrycka mängdbegreppet A union B. A ~ B Operatorn ~ innebär subtraktion mellan två regler, vilket innebär att villkoren i regel A skall gälla medan villkoren i B inte skall gälla för att regeln skall matcha. Denna operator får endast användas i en speciell syntax, se avsnittet Union och subtraktion mellan regler (3.5.5). En sekvens av matchningsvariabler anges med avskiljaren, mellan matchningsvariablerna enligt nedan: X1(text="ordform" operator lem="lemma" operator matchningskrav), X2(text="ordform" operator lem="lemma" operator matchningskrav),..., Xn(text="ordform" operator lem="lemma" operator matchningskrav) Exempel på vad man kan uttrycka med dessa operatorer i samverkan finns i avsnittet Union och subtraktion mellan regler (3.5.5) Punktnotation Om varje matchningsvariabel ses som ett objekt med attribut och metoder skapas en regelnotation som är mycket tydlig och kraftfull. Varje objekt kommer att motsvara ett element i texten, det vanligaste fallet blir att ett objekt motsvarar ett ord i texten. Från objektorienterade programmeringsspråk hämtas punktnotationen för att komma åt objektets attribut och metoder. En viktig sak är att man kan få fram objektens värden var som helst inom regeln och inte bara i den lokala matchningsvariabeln utan i andra matchningsvariabler samt i högerledet. 36
45 Notationen i vänsterledet Ett sätt att undvika att man gör punktnotation på objekt som saknar ett attribut vore att man alltid måste matcha ordklassen först, men då förlorar man möjligheten att kunna söka direkt på morfosyntaktiska särdrag. Det enklaste är om man endast behöver ange det enskilda särdrag som man är ute efter. I regelspråket löser vi detta genom att låta objektet returnera värdet undef när ett attribut saknas. Det är enkelt att uttrycka att det måste finnas ett språkligt värde på attributet genom att skriva att särdraget skall vara skilt från undef: X.särdragsattribut!=undef Detta är praktiskt när man söker efter något som inte skall ha ett visst värde men som skall ha ett värde på det angivna attributet: X.särdragsattribut!=undef & X.särdragsattribut!=värde Exempel: Matcha alla ord som inte är i utrum (utr) men som har ett nominalt innehåll. X(gender!=undef & gender!=utr) matchar: huset, litet, det, ett matchar inte: till, bilen, går, spelar Att jämföra värden på särdrag För att man skall kunna jämföra värden på särdrag krävs det att den lexikala informationen ordnas upp och värden sätts till attribut. Det måste finnas en lexikonpost för varje token. Underspecificerade taggar måste kunna matcha specificerade när det är möjligt, t.ex. utr/neu skall matcha både utr och neu. För att kunna jämföra två eller flera matchningsvariabler behöver vi olika särdragsattribut f1, f2,..., fn som sätts till värden F1, F2,..., Fn. Uppordning av den lexikala informationen sker enligt följande: text=ord & lemma=lemma & f1=f1 & f2=f2 &...& fn=fn Exempel: Ordet bilen får följande utseende: (text= bilen & lemma= bil & wordcl=nn & gender=utr & num=sin & spec=def & case=nom) Med punktnotation på de olika objekten jämförs värdena. Det är inte nödvändigt att göra punktnotation på det objekt man befinner sig i, det vill säga om vi gör en jämförelse i objektet X så gäller att särdrag=x.särdrag & särdrag=särdrag Vid jämförelser får endast kända variablers särdragsattribut jämföras. Det är inte tillåtet att göra punktnotation på variabler som inte är introducerade, det vill säga 37
46 Kapitel 3. Granskas regelspråk endast bakåtreferens är tillåten. Jämförelse av särdragsattribut i olika matchningsvariabler måste ske enligt: X1(särdragsattribut_1=värde), X2(särdragsattribut_1=X1.särdragsattribut_1),..., Xn-1(särdagsattribut_1), Xn(särdragsattribut_1=Xn-1.särdragsattribut_1) Namngivning och kategorisering av regler En regel måste kunna referera till andra regler; därför behöver vi kunna namnge regler. Regelmatcharen måste också kunna hålla reda på vilken regelkategori som en regel tillhör så att användaren kan plocka bort och lägga till regelkategorier efter sina önskemål. Vi anger regelnamn och regelkategori enligt följande notation. Man inleder deklarationen med det reserverade namnet category följt av den regelkategori man vill skapa. Fälten info och link måste också anges, info innehåller en kommentar som kan vara generell för en hel regelkategori, link innehåller en hyperlänk till en text med utförligare information. Fälten info och link beskrivs utförligare i 3.4 (Notationen i högerledet). category regelkategori { info( kategorikontroll ) link( hyperlänk länktext ) } En regel namnges med ett regelnamn följt följt av regelkategorin, enligt: regelnamn@regelkategori { X() Vänsterledets syntax Vänsterledet måste bestå av följande element för att tillhöra regelspråket. regelnamn@regelkategori regelkategori krävs utom i s.k. hjälpregler { regelbörjan X_0(), matchningsvariabeln X_0. Om det kommer fler matchningsvariabler efter X_0 följs X_0 av avskiljaren,, X_n() ev. ytterligare matchningsvariabel. --> pilen avskiljer vänsterledet från högerledet 38
47 Notationen i vänsterledet Exempel 1: Exemplet visar hur detektion av kongruenta nominalfraser går till. De tre matchningsvariablerna X1, X2 och X3 måste ha samma värde i respektive särdrag för att matchning skall ske. I det här fallet måste de olika särdragsattributen ha följande värden: gender=utr, num=sin och spec=ind. Regeln kommer dessutom att matcha fraser som det stora huset eller de snälla pojkarna, det vill säga alla korrekta nominalfraser som består av en artikel följt av ett adjektiv följt av ett substantiv. Felaktiga fraser som en litet bil, det stort huset och den snälla pojkarna kommer däremot inte att matchas. ex1@kong { X1(wordcl=dt), X2(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec), X3(wordcl=nn & gender=x2.gender & num=x2.num & spec=x2.spec) --> Exempel 2: Exemplet visar ett vänsterled för detektion av den inkongruenta nominalfrasen en litet bil. Notera att vänsterledet dessutom kommer att detektera nominalfraser som ett liten hus. ex2@kong { X1(wordcl=dt), X2(wordcl=jj & num=x1.num & spec=x1.spec ), X3(wordcl=nn & gender!=x2.gender & gender=x1.gender & num=x2.num & spec=x2.spec) --> Andra tolkningar än den taggaren har gett Det kan vara intressant att veta om ett token har ytterligare tolkningar än den som taggaren gett, t.ex. vid omtaggning av en mening. Informationen om ett tokens olika tolkningar finns i objektets lexikala information, som nås genom attributet lex. För att undersöka vilka tolkningar som existerar använder man tre kvantifikatorer med följande notation: Existenskvantifikatorn Allkvantifikatorn Statistisk kvantifierare E(lex.särdrag=värde) A(lex.särdrag=värde) P(sannolikhet, lex.särdrag=värde) E, A och P är reserverade ord i regelspråket och får inte användas som namn på matchningsvariabler. 39
48 Kapitel 3. Granskas regelspråk Exempel 1: Vi vill ange som krav att det måste finnas en adjektivtolkning förutom den substantivtolkning som taggaren gett för att en matchning skall ske. Regeln matchar svenska men inte bilen { X1(wordcl=nn & E(lex.wordcl=jj)) --> Exempel 2: Vi vill ange som krav att det endast får finnas substantivtolkningar förutom den substantivtolkning som taggaren gett för att en matchning skall ske. Regeln matchar: bilen men inte svenska. { X1(wordcl=nn & A(lex.wordcl=nn)) --> Exempel 3: Vi vill ange som krav att det måste finnas en tolkning som determinerare med lexikal sannolikhet som är lika med 0.6 förutom den pronomentolkning som taggaren gett för att en matchning skall ske. Regeln matchar den men inte det. { X1(wordcl=pn & P(0.6, lex.wordcl=dt)) --> Stiltaggar En del ord i lexikon är uppmärkta med stiltaggar för att olika regler skall kunna detektera dessa som stilistiska avviklelser. Stiltaggarna hos orden nås också genom attributet lex. Exempel: Indata: Jag såg dej på stan igår. Ordet dej matchas. ex1@stil { X(lex.style=vard) --> Definition av konstanter Det är möjligt att definiera konstanter i regelspråket; detta måste göras överst i regelsamlingen. Vi använder tilldelningsoperatorn för att tilldela dem värden. Man inleder deklarationen med det reserverade ordet const och avslutar deklarationen med ; const konstantnamn:=värde; 40
49 Notationen i vänsterledet Exempel 1: Vi vill ha en konstant för kommentaren för dubbelt supinum. const supkom:= Dubbelt supinum. Undvik s.k. dubbelt supinum, t.ex. >>kunnat gjort>>. Skriv istället >>kunnat göra>> som är grammatiskt korrekt. Myndigheternas skrivregler ; Sekvensvariabler En sekvensvariabel innebär att samma krav för matchning gäller över flera token. Genom att sätta en räknare efter matchningsvariabeln så anger man att denna variabel är en sekvensvariabel som sträcker sig över noll eller flera token. Kraven på denna variabel anges på samma sätt som för en vanlig matchningsvariabel. Det går endast att använda sekvensvariabler för matchning mot token. Samtliga möjliga matchningar utförs av regelmatcharen. Flera användare 11 av regelspråket efterlyser en operator för en styrning av denna matchning, till exempel till längsta möjliga matchning eller kortast möjliga matchning. Detta skulle öka kontrollen vid användningen av sekvensvariabler och ge mer överblickbara regler. Regelspråket bör i framtiden innehålla kvantifierare för att styra hur lång matchning som skall utföras. Operator (räknare) Beskrivning av antal token som Operator med matchningsvariabel matchas * noll eller flera X(matchningskrav)*? noll eller ett X(matchningskrav)? + ett eller flera X(matchningskrav)+ n noll eller maximalt n (heltal) Tabell 3.1. Fyra olika räknare för sekvensvariabler. X(matchningskrav)n Exempel 1: Detta vänsterled visar hur en regel matchar olika varianter av en enkel nominalfras med optionellt adjektiv. Några fraser som regeln täcker in är en bil, en liten bil, en stor röd bil. ex1@kong { X1(wordcl=dt), X2(wordcl=jj)*, X3(wordcl=nn) --> % determinerare % noll eller flera adjektiv % substantiv 11 Jag är tacksam för förslaget från Martin Hassel, doktorand på Nada, KTH; om att föra in kvantifierare för längsta möjliga matchning och kortast möjliga matchning. 41
50 Kapitel 3. Granskas regelspråk Att komma åt ett speciellt token i en sekvensvariabel För att komma åt ett speciellt token i en sekvensvariabel eller hjälpregel används en vektornotation X[nth token]. Vilket token i ordningen man är ute efter anges med en variabel i, det blir: X[i]. Det första elementet i vektorn är X[0]. Exempel på hur denna notation används, presenteras när högerledet är specificerat. Samma notation gäller för att komma åt ett speciellt token i en hjälpregel (se avsnittet Hjälpregler) Att kunna ange meningsbörjan och meningsslut Vi vill kunna skriva regler som tar hänsyn till meningsbörjan och meningsslut. Det blir enklast om vi har en tagg för meningsbörjan/meningsslut, sen, som kan matchas av reglerna. Exempel: Med information om meningsbörjan och meningsslut kan vi skriva regler som matchar en mening som precis består av en sats, varken mer eller mindre. Indata: Jag såg den lilla hunden. ex1@topk { X1(sed=sen), X2(wordcl=pn), X3(wordcl=vb), X4(wordcl=dt), X5(wordcl=jj), X6(wordcl=nn), X7(), X8(sed=sen) --> % meningsbörjan % Jag % såg % den % lilla % hunden % behövs för att ange skiljetecknets plats % meningsslut 3.4 Notationen i högerledet I högerledet behövs det möjligheter att utföra konsekvenser av matchningen. Högerledet består av olika fält; i dessa fält anges vad man vill göra med de matchningsvariabler som finns i vänsterledet. Alla fält utom action är optionella i högerledets syntax. Följande fält anger vad som skall utföras: action corr I detta fält anges vilken typ av regel det är, det vill säga om det är en granskningsregel, sök- eller redigeringsregel, omtaggningsregel, accepterande regel eller hjälpregel. Se vidare i avsnittet action. Här anges de matchningsvariabler som skall förändras. Se vidare i avsnittet corr. 42
51 Notationen i högerledet info I detta fält skall den kommentar som skall presenteras vid utförd granskning anges. Se vidare i avsnittet info. jump mark I detta fält anropas procedurer för hoppsatser som innebär att regelmatcharen skall fortsätta från ett specifikt avsnitt i regelsamlingen eller i indata. Se vidare i avsnittet jump. Detta fält fylls i med det som skall markeras i texten för just denna matchning. Se vidare i avsnittet mark. link detect accept I detta fält anges en länk till ett dokument som beskriver feltypen ytterligare. Se vidare i avsnittet link. I detta fält anges meningar som skall detekteras av reglerna. Detta är användbart för att kontrollera om en regel fortfarande matchar det avsedda trots ändringar i regelkoden. I detta fält anges meningar som inte skall detekteras av den regel som den anges i. Detta är användbart för att upptäcka om ändringar i regeln orsakar nya falska alarm Högerledets syntax Högerledet, som börjar efter avskiljaren -->, måste innehålla följande element för att godkännas i regelspråket: --> avskiljaren mellan vänster- och högerledet action() action anger vilken regeltypen är, övriga fält är optionella. } regelslut Metoder för att manipulera objekten i högerledet no_of_tokens no_of_tokens är en metod som räknar antalet token i en sekvensvariabel eller hjälpregel. Metoden returnerar ett heltal mellan 0 och n. substr (X, Y) substr är en metod som returnerar delsträngar. Delsträngen anges med en startteckenposition (X) och en längd (Y) i strängen. En sträng i regelspråket börjar i position 0. 43
52 Kapitel 3. Granskas regelspråk length form(l) join(y) insert(x) delete replace(x) donothing length returnerar längden i antal tecken för objektets textsträng. Metoden form tar en lista med lemma- och särdragsattribut satta till värden som det genererade ordet skall ha. Man behöver endast ange de särdrag som skall sättas om. Det genererade ordet returneras. Om listan är: lemma:= bil, wordcl:=nn, gender:=utr, num:=sin, spec:=def, case:=nom så returneras ordet bilen. Ursprungsformen tas bort automatiskt. Metoden join tar text som argument enligt: X.join(Y.real_text) och sätter ihop X och Y:s textsträngar (X följt av Y) till en textsträng som returneras. Ursprungsträngarna tas bort automatiskt. Metoden insert tar text, X.text, och sätter in det före det angivna objektet, enligt Y.insert(X.text). X sätts in före Y. Metoden delete tar bort det angivna objektet. Metoden replace tar text, X.text, som argument och ersätter det angivna objektet med X.text. Metoden donothing gör ingenting med det angivna objektet, vilket är användbart i olika villkorsuttryck Funktioner i regelspråket spell_ok(str, token) spell_corr(str) smart_concat (X, Y) toupper (str) Funktionen tar en sträng (ett ord) som första argument och returnerar true om ordet är rättstavat och false om ordet är felstavat. Det andra argumentet är token, vilket ger stavningskontrollen information om vilken typ av token som skall stavningskontrolleras. Funktionen tar en sträng (ett felstavat ord) som argument och returnerar ett ersättningsförslag. Om det saknas ersättningsförslag returneras tomma strängen. Funktionen sätter ihop två strängar och ser samtidigt till att korrigera för fler än två likadana konsonanter i rad. Funktionen tar en sträng som argument och returnerar alla bokstäver i strängen som versaler. 44
53 Notationen i högerledet tolower (str) italics (w) Funktionen tar en sträng som argument och returnerar alla bokstäver i strängen som gemener. Funktionen italics returnerar ordet kursiverat. bold (w) Funktionen bold returnerar ordet i fet stil If then else För att kunna undersöka objekten ytterligare i högerledet vill man kunna skriva ifthen-else-uttryck. If-then-else skrivs enligt nedan: if expression then expression else expression end Ett typfel tillåts i högerledet För att underlätta regelskrivandet kommer vi att tillåta ett typfel, det skall räcka att endast ange matchningsvariabeln i fälten. Egentligen skall den textsträng som objektet innehåller anges med punktnotation. Det korrekta vore att skriva X.text, men vi förenklar, eftersom objekten alltid innehåller text, till att endast ange namnet på objektet för att få fram texten i högerledet: X. Observera att detta gäller endast på den yttersta nivån. Som parametrar till metoder och funktioner måste textattributet anges som brukligt är, det vill säga X.text Regeltypen anges i action Vi vill använda regelspråket till att lösa flera olika uppgifter och vi delar därför in reglerna i olika regeltyper. I fältet action skall man ange vilken regeltyp det är. Följande typer finns: scrutinizing tagging searching editing help Granskningsregler för stavnings- och grammatikkontroll. Regler för att göra om taggningen av en mening. I detta fält kan man sätta värden på attribut som skall gälla vid omtaggningen. Se vidare i avsnittet Samarbete mellan taggaren och reglerna. Regler för att söka efter lingvistiska enheter. Regler för att förändra, flytta eller ta bort lingvistiska enheter. Hjälpregler som kan anropas av andra regler för att förbättra träffsäkerheten hos dessa. I detta fält sätts hela hjälpregelns attribut. Notationen blir: action(help, särdragsattribut_1 :=värde_1 & särdragsattribut :=värde_2 &... & särdragsattribut_n :=värde_n). Se vidare i avsnittet Hjälpregler. 45
54 Kapitel 3. Granskas regelspråk accepting Regler som används för att godkänna en struktur och som sedan gör ett hopp förbi ett antal felregler Reglernas syntax En viktig skillnad mot Granskas tidigare regelspråk (Domeij et al, 1998) är att i detta nya regelspråk så finns det en tydlig relation mellan vänster- och högerled. Variablerna i vänster- och högerledet refererar till samma objekt. En regel som detekterar fraser med avvikande substantiv eller determinerare, till exempel ett bilen eller den lilla huset, kan formuleras enligt följande: exregel@kongruens % regelnamn och regelkategori { % regelbörjan X(wordcl=dt), % en determinerare Y(wordcl=jj)*, % noll eller flera adjektiv Z(wordcl=nn & gender!=x.gender) % ett substantiv --> mark(x Y Z) % ord som skall markeras corr(x.form(gender:=z.gender)) % determineraren ändras med genusvärdet från substantivet.ord som skall ändras anges. jump(kongruens_slut) % hopp till lägen eller förbi token info( Kongruensfel ) % kommentarer till användaren link( Mer om ) % länk till mer information detect( Jag ser ett bilen ) % Regeln skall detektera denna konstruktion accept( Jag ser en bil ) % Regel skall släppa förbi denna konstruktion action(scrutinizing) % regeltypen är scrutinizing (granskning) } % regelslut Markering av orden anges i mark Detta fält är till för att kunna markera ord eller tecken som är fel i den matchade sekvensen. Vi vill kunna göra flera saker i detta fält: a) Markera alla element som har matchats i regeln inget mark-fält anges i regeln. b) Markera ett eller flera ord de matchningsvariabler som skall markeras anges. c) Markera endast en del av ett token, metoden för detta är substr, se ovan. 46
55 Notationen i högerledet d) Markera en delsträng av det reguljära uttryck som matchats. Det görs genom att man anger vilken del av det reguljära uttrycket som skall markeras med hjälp av parenteser i det matchande uttrycket i vänsterledet. Dessa kan man sedan referera till i högerledet genom att de numreras från vänster till höger. Detta är under implementering (Baltatzis, forthcoming) Ersättningsförslag i corr Om man vill ändra något i det som har matchats i vänsterledet så anges det här genom att matchningsvariabeln anges med metoderna form, delete, replace, insert eller join. Endast de matchningsvariabler som skall ändras behöver anges. I reglerna kan det se ut enligt följande: intro@corr{ X1(matchningskrav), X2(matchningskrav),..., Xn(matchningskrav) --> mark() corr(x1.delete() X2.replace(X1.text) Xn.insert(X2.text) action() } Olika sätt att förändra texten Det finns flera olika sätt att förändra det som har matchats i texten. Det som matchas i vänsterledet kan förändras genom att man: a) tar bort matchningsvariabeln i högerledet, det vill säga X Y Z --> X Z b) byter plats på variablerna i högerledet, det vill säga X Y Z --> X Z Y c) sätter in textsträngar, det vill säga X Y Z --> X Y "ny sträng" Z d) sätter in ersättningsförslag, det vill säga X Y Z --> X "ersättningsförslag" Z Exempel 1: En regel för att förändra något som matchat och endast det som är fel markeras. Exemplet visar hur felet dubbla mellanslag detekteras och korrigeras. Indata: Jag har vunnit på tipset. Utdata 1 (felet markeras): Jag har vunnit på tipset. Utdata 2 (felet åtgärdas): Jag har vunnit på tipset. 47
56 Kapitel 3. Granskas regelspråk { ("\([a-zåäöa-zåäö]\)\([ ][ ]\)\([a-zåäöa-zåäö]\)"/ --> mark( \2 ) corr( \1 \3 ) action(scrutinizing) } Exempel 2: Regeln skall ta bort element. Exemplet visar hur två och i rad tas bort: Indata: Jag kan inte spela och och det kan inte hon heller. Utdata 1 (felet markeras): Jag kan inte spela och och det kan inte hon heller. Utdata 2 (felet åtgärdas): Jag kan inte spela och det kan inte hon heller. ex2@ordregler { X1(), X2(text=X1.text) --> mark(x1 X2) corr(x1.delete()) action(scrutinizing) } Exempel 3: Ett exempel som visar hur två token sätts ihop till ett. Indata: Skolan har köpt ett cykel ställ. Utdata 1 (mark): Skolan har köpt ett cykel ställ. Utdata 2 (corr): Skolan har köpt ett cykelställ. ex3@saer { X1(wordcl=dt), X2(wordcl=nn & gender!=x1.gender), X3(wordcl=nn & gender=x1.gender) --> mark(x2 X3) corr(x2.join(x3.real_text)) action(scrutinizing) } 48
57 Notationen i högerledet Exempel 4: En regel som detekterar ett kongruensfel och tar fram ett ersättningsförslag som sätts in i texten. Indata: Vi bor i den stora huset. Utdata 1 (mark): Vi bor i den stora huset. Utdata 2 (corr): Vi bor i det stora huset. ex4@kong { X1(wordcl=dt), X2(wordcl=jj), X3(wordcl=nn & gender!=x1.gender & gender=x2.gender & num=x2.num & spec=x2.spec) --> mark(x1 X2 X3) corr(x1.form(gender:=x3.gender)) action(scrutinizing) } Alternativa ersättningsförslag Ibland vill man kunna ange flera olika ersättningsförslag i en regel. Det går därför att ge flera alternativa corr-fält i högerledet. Exempel: Ofta är det svårt att avgöra om det är artikeln eller substantivet som skall ersättas vid en feldetektion. Följande regel ger två olika förslag när artikeln och substantivet inte stämmer överens vad det gäller numerus. Indata: Jag såg en män som gick mot rött. Utdata från det första corr-fältet: Jag såg några män som gick mot rött. Utdata från det andra corr-fältet: Jag såg en man som gick mot rött. altcorr@kong { X(wordcl=dt), Y(wordcl=nn & num!=x.num) --> corr(x.form(num:=y.num)) corr(y.form(num:=x.num)) action(scrutinizing) } % byter ut artikeln % byter ut substantivet 49
58 Kapitel 3. Granskas regelspråk Regelprioritet och villkorliga hopp i jump Med jump-satser kan vi gruppera regler och ordna dem inbördes. Reglerna exekveras i den ordning som de står i regelsamlingen och med jump-satser kan vi styra vilka regler som skall exekveras. Det går också att hoppa över regler som beskriver en mindre trolig tolkning av en språklig konstruktion. Med villkorliga hopp kan vi använda oss av så kallade accepterande regler som anger en sekvens som är helt korrekt och därför inte behöver undersökas mer (se Accepterande regler). Alla hopp måste ske framåt i regelsamlingen för att undvika oändliga loopar. Allt detta är möjligt i regelspråket med hjälp av jump-satserna jump, samt möjligheten att kunna sätta lägen (labels) i regelsamlingen, detta görs enligt: läge: Vänsterledet utgör det villkor som skall uppfyllas för att hopp skall ske till en regel, till regelsamlingens slut eller till ett token i indata. Det går att hoppa förbi alla regler till slutet av regelsamlingen till det fördefinerade läget endlabel eller till ett egendefinerat läge. I båda fallen anges jump med ett argument, enligt: jump(läge) Det finns också ett fördefinierat läge som heter beginlabel som betecknar regelsamlingens början Exempel på användning av jump Exempel 1: Regelprioritet, när en regel är viktigare än en annan. Regelmatcharen tillämpar regeln för felaktig särskrivning, hoppar förbi alla inkongruensregler och fortsätter att exekvera regler. Indata: Skolan har köpt ett cykel ställ Utdata: Skolan har köpt ett cykelställ. ex1@jump { X1(wordcl=dt), X2(wordcl=nn & gender!=x1.gender), X3(wordcl=nn & gender=x1.gender) --> mark(x2 X3) corr(x2.join(x3.real_text)) jump(inkongruens_slut) action(scrutinizing) }... 50
59 Notationen i högerledet Kongruensregler... inkongruens_slut:... andra regler Att kunna hoppa förbi token i indata Om man har en regel som matchat en följd av token är det ofta användbart att kunna hoppa förbi dessa vid nästa regelapplicering. För att kunna ange till vilket läge och hur många token fram i indata vi vill hoppa, använder vi jump med två argument jump(läge, antal_token). Argumentet läge anger läget i regelsamlingen och antal_token anger hur många token vi vill hoppa förbi i indata. Det går alltså att hoppa framåt i regelsamlingen samtidigt som regelmatcharen hoppar förbi token i indata, hur många token anges i jumps andra argument enligt nedan. Det första tokenet i matchningssekvensen har dock position 0, vilket medför: jump(endlabel) <==> jump(endlabel, 0) och det blir därför nödvändigt att dra bort ett token för att hamna rätt i indata: jump(läge, antal_token - 1) Exempel 1: Indata: Vi har en ny bil som heter Volvo. Utdata: "en ny bil" matchas och nästa regel appliceras på "som heter Volvo". Nästa regel som skall appliceras finns efter läget inkongruens_slut. ex1@jump { X0(wordcl=dt), X1(wordcl=jj), X2(wordcl=nn) --> jump(inkongruens_slut, 2) action(accepting) } Exempel 2: Med hjälp av metoden no_of_tokens kan vi skriva regler som kan hoppa över ett flexibelt antal token. ex2@jump { X0(wordcl=dt), X1(wordcl=jj)*, X2(wordcl=nn) 51
60 Kapitel 3. Granskas regelspråk --> jump(endlabel, 1 + X1.no_of_tokens()) action(accepting) } Kommentarer till användaren i info En ytterligare förändring från tidigare versioner av Granskas regelspråk är att vi vill kunna ange kommentarer till användaren direkt i reglerna. Kommentaren som skall presenteras för användaren utgör också en utmärkt kommentar till själva regeln. Notationen är: info( kommentar ) Generering av kommentarer Man vill kunna generera olika kommentarer till de regler som är generella genom att sätta in olika ersättningsförslag i kommentarerna. Kommentaren byggs upp av strängar och matchningsvariabler som tillsammans bildar kommentartexten. Exempel 1: Utdata (i dialogruta): Stela och ålderdomliga ord. Ordet x är ålderdomligt, byt ut det mot y. Svarta listan, ex1@kom { VL() --> info( Stela och ålderdomliga ord. Ordet X.text är ålderdomligt byt ut det mot Y.text. Källa: Svarta listan, 1988 ) action(scrutinizing)} Det finns också ett behov att få fram ordunika kommentarer till exempel för datatermer. Metoden get_comment som hämtar kommentarer kopplade till ord, kan användas för detta; den är dock inte implementerad Källhänvisningar till användaren i link Mer omfattande kommentarer eller hänvisningar till böcker i hypertext, till exempel Svenska skrivregler (1991), sker med hyperlänkar i fältet link, enligt link( hyperlänk hyperlänksnamn ) Exempel: Programmet visar en länk till den aktuella skrivregeln. ex1@link { VL() --> link( /granska/skrivregler/regel_120.html Skrivregel 120 ) action(scrutinizing) } 52
61 Olika typer av regler 3.5 Olika typer av regler I fältet action som beskrivits ovan skall man ange vilken typ av regel som skall appliceras. Nedan följer en genomgång av några av de regeltyper som finns förutom de granskningsregler som vi är vana vid. Ett avsnitt kommer också att visa hur regler skrivna i Finite State Grammar (Karttunen et al, 1996) och Constraint Grammar (Karlsson et al, 1995) kan implementeras i Granskas regelspråk. Sist beskrivs också något om hur reglerna skall exekveras Hjälpregler Med hjälpregler menas regler som endast är till för att öka den generella lingvistiska analysen. En hjälpregel hjälper en annan regel med analysen, det kan till exempel vara en granskningsregel eller en annan hjälpregel. Hjälpreglerna anger en sekvens av token i indata och kan ses som kontextfria regler på formen A --> B C(A skrivs om till B och C) oavsett hur kontexten ser ut till vänster och höger om B och C. Det finns dock en möjlighet att ange en intern kontextkänslighet i reglerna genom A --> B C(krav=B.krav) det vill säga A skrivs om till B och C; om C har samma värde i krav som B har. Det finns dock fall då denna uttryckskraft inte är tillräcklig för regelkonstruktören och därför finns det begränsade kontextkänsliga regler, dessa presenteras i avsnitt En bra överblick med definitioner av kontextfri- och kontextkänslig grammatik finns t.ex. i Jurafsky & Martin (2000). Exempel: Vi vill skriva en hjälpregel på formen NP --> dt nn, vi anger också att kongruens måste råda mellan determineraren (dt) och substantivet (nn). Regeln matchar till exempel en bil, den bilen, några bilar, ett hus, det huset. Regeln matchar dock inte inkongruenta fraser som en hus, ett huset eller några bil. NP@ { X(wordcl=dt), Y(wordcl=nn & gender=x.gender & num=x.num & spec=x.spec) --> action(help) } Det är i många fall praktiskt att kunna ange attribut och värden för en hel matchad sekvens (ofta fras). Vilka gemensamma attribut denna sekvens skall ha sätts i fältet action i högerledet, t.ex. om en nominalfras skall ha särdraget species och om detta i sin tur skall ha värdet bestämd form eller obestämd form. De attribut som kan användas är de som definieras för taggningen. Detta är en liten svaghet då det 53
62 Kapitel 3. Granskas regelspråk ofta uppstår ett behov av att kunna ange lokala attribut i hjälpreglerna. Möjligheten att kunna ange lokala attribut bör beaktas vid en utvidgning av regelspråket; främst för att förenkla för regelkonstruktören. Hjälpreglerna kan anges i andra regler. Det är dock inte tillåtet att använda operatorerna + och * tillsammans med en hjälpregel när de anges i andra regler,? går däremot bra. En hjälpregel skall kunna hanteras som ett objekt i övriga regler, det vill säga de metoder och funktioner som finns för objekten fungerar även för hjälpreglerna. För att namnge regler efter regelnamnet, regelkategori är dock inte nödvändigt för hjälpregler. hjälpregel@ { X1(),..., Xn() --> action(help) } När en hjälpregel anges i en annan regel anges den inom en parentes, enligt: ex@help { (hjälpregel)(), X(), Y() --> För att ytterligare öka möjligheterna att använda hjälpregler går det att ge dessa ett lokalt namn inom en regel enligt: (Hjälpregel/Lokalt_namn)() Med denna lokala namngivning kan man använda flera hjälpregler med samma namn men med olika innehåll i en regel. Hjälpregeln matchar till exempel kongruenta nominalfraser, vilket innebär att till exempel X skulle kunna matcha den lilla hunden och Z skulle kunna matcha det stora huset i regeln nedan: exlokal@help { (hjälpregel/x)(), Y(), (hjälpregel/z)(z.attribut!=x.attribut) --> För att ange ett speciellt token i en hjälpregel gör man på samma sätt som i sekvensvariablerna och använder en vektornotation, hjälpregel[n]. Först dock ett exempel på hur man gör i sekvensvariabler. 54
63 Olika typer av regler Exempel 1: Vi vill komma åt ett specifikt element i en sekvensvariabel: Indata: Jag har sålt den lilla röda stugan i skogen Utdata: Jag har sålt den röda stugan i skogen ex1@help { X1(wordcl=jj)+ --> mark(all) corr(if X1.no_of_tokens=2 then X1[1] else end) action(editing) } Exempel 2: Vi vill komma åt ett specifikt element i en hjälpregel som anropas i en sökregel: Indata: Jag har sålt den röda stugan i skogen. Utdata: Jag har sålt stugan i skogen. ex2@help { (NP)() --> mark(all) corr(if NP.no_of_tokens=3 then NP[2] else end) action(searching) } Exempel 3: Exemplet visar en regel som söker efter prepositionsfraser. Indata: Vi har köpt bensin till vår vita bil. Utdata: Vi har köpt bensin till vår vita bil. Vi använder hjälpregeln som beskriver en nominalfras. I åtgärdsfältet sätter vi värden för hela nominalfrasen. NP@ { X1(wordcl=ps), X2(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec), X3(wordcl=nn & gender=x2.gender & num=x2.num) --> action(help, gender:=x1.gender, num:=x1.num, spec:=x1.spec) } Sökregeln blir: ex3@help { X1(wordcl=pp), % prepositionen 55
64 Kapitel 3. Granskas regelspråk (NP)() --> mark(x1 NP) action(searching) } % nominalfrasen Exempel 4: Nominalfraser som samordnas med konjunktion skall vanligen vara symmetriska. Vi skriver en regel som letar upp nominalfraser som inte är symmetriska. Indata: Sportaffären säljer dyra drag och billigt spö. Utdata 1 (orden markeras): Sportaffären säljer dyra drag och billigt spö. Utdata 2 (efter korrektion): Sportaffären säljer dyra drag och billiga spön. Först en hjälpregel: NP@ { X(wordcl=jj), Y(wordcl=nn & gender=x.gender num=x.num & spec=x.spec) --> action(help, gender:=y.gender, num:=y.num, spec:=x.spec) } Granskningsregeln blir: ex4@help { (NP/X)(), Y(wordcl=kn), (NP/Z)(num!=X.num spec!=x.spec) --> mark(x Y Z) corr(z[0].form(gender:=x.gender, num:=x.num, spec:=x.spec) Z[1].form(gender:=X.gender, num:=x.num, spec=x.spec)) action(scrutinizing) } Optionella hjälpregler Optionella hjälpregler är mycket användbart om man vill skriva generella regler. Det handlar ofta om fraser som ibland finns med en i sekvens men inte alltid, som till exempel adjektiven i en nominalfras (se exempel nedan). En optionell hjälpregel anges med?, enligt: (Hjälpregel)()? Exempel: Vi vill skriva en granskningsregel som detekterar fraser där artikeln och substantivet är inkongruenta. Vi vill också att det skall kunna förekomma adjektiv 56
65 Olika typer av regler mellan artikeln och substantivet. Vi skall detektera fraser med adjektiv och fraser utan adjektiv. Om fraserna innehåller adjektiv skall dessa kongruera med substantivet. Detektion av kongruensfel med adjektiv: Indata : Jag såg en litet hus i skogen. Utdata: Jag såg ett litet hus i skogen. Detektion av kongruensfel utan adjektiv: Indata : Jag såg en hus i skogen. Utdata: Jag såg ett hus i skogen. Först anger vi hur hjälpregeln för adjektivfrasen skall se ut. Adjektivfrasen skall innehålla ett eller flera kongruenta adjektiv: JJ@ { X(wordcl=jj), Y(wordcl=jj & (gender=x.gender & num=x.num & spec=x.spec))*, --> action(help, gender:=x.gender, num:=x.num, spec:=x.spec) } Därefter skriver vi granskningsregeln: kong22@inkongruens { X(wordcl=dt), (JJ/Y)()?, Z(wordcl=nn & (gender!=x.gender num!=x.num spec!=x.spec) & (Y.no_of_tokens=0 (gender=y.gender & num=y.num & spec=y.spec)) --> mark(all) corr(x.form(gender:=z.gender, num:=z.num, spec:=z.spec) Y Z) action(scrutinizing) } Kontextkänsliga hjälpregler Många hjälpregler bör kunna skrivas som kontextfria regler, men i vissa fall är det opraktiskt att hela det matchade området från en hjälpregel konkateneras med det matchade området från en annan regel. Man vill ofta tjuvkika på kontexten utan att den tas med i själva matchningen. En stor fördel är att kontexten därmed kan användas i matchningen av en annan regel, vilket är mycket användbart. 57
66 Kapitel 3. Granskas regelspråk Kontextkänsliga regler kan också användas på Constraint Grammar-liknande sätt för att skapa nya lingvistiska kategorier på ord eller flera ord (mer om detta i slutet av detta avsnitt). Det finns möjligheter att skriva begränsade kontextkänsliga hjälpregler i regelspråket. Den begränsning som finns är att vänsterkontexten måste vara bestämd i antalet ord. Anledningen är att Granskas matchningsalgoritm är optimerad för statisk vänsterkontext om sekvensvariabler vore tillåtna i vänsterkontexten skulle matchningen ta betydligt längre tid. Vänsterkontexten anges mellan regelbörjan { och det reserverade ordet ENDLEFTCONTEXT. Det som skall vara synligt för de andra reglerna anges mellan ENDLEFTCONTEXT och det reserverade ordet BEGINRIGHTCONTEXT, detta kan vi kalla regelkropp. Regelkroppen kan bestå av en eller flera matchningsvariabler. Högerkontexten anges mellan BEGINRIGHTCONTEXT och avskiljningspilen -->. Om vi har en klassisk kontextkänslig regel som: A --> B /LC _ RC, så blir den översatt till regelspråket: A@ { vänsterkontext, ENDLEFTCONTEXT, B(), % A, regelhuvud % LC % B, regelkropp BEGINRIGHTCONTEXT, högerkontext % RC --> action(help) } Exempel: I svenskan finns det adjektiv som används som självständiga nominalfraser med såväl framförställda som efterställda attribut. En vanlig adjektivform bland dessa är den som slutar på -a, till exempel unga och gröna. Följande förenklade regel skiljer ut dessa från de adjektiv som ingår i nominalfraser med substantiv som huvudord. 58
67 Olika typer av regler { X(wordcl!=dt & wordcl!=ps), % vänsterkontexten får inte % innehålla determinerare % eller possessiv ENDLEFTCONTEXT, Y(wordcl=jj & substr(length-1, 1) = "a"), % regelkroppen utgörs av ett % adjektiv som slutar på -a BEGINRIGHTCONTEXT, Z(wordcl!=jj & wordcl!=nn & wordcl!=kn) % högerkontexten får inte % innehålla adjektiv, % substantiv % eller en konjunktion. --> action(help) } Kontextkänsliga hjälpregler är ett kraftfullt sätt att avgöra t.ex. en eller flera ords konstituenttillhörighet eller grammatiska funktion. Angreppssättet påminner mycket om det i Constraint Grammar. I Constraint Grammar finns det dock färre begränsningar av hur vänsterkontexten får anges, olika typer av räknare är till exempel tillåtna. Å andra sidan är regelkroppen (domain) i Constraint Grammar begränsad till ett ord, medan den i Granskas regelspråk kan bestå av ett eller flera ord. Med kontextkänsliga regler kan den lingvistiska analysen i Granska förbättras och förfinas. Regler för satsgränsidentifikation har redan implementerats. Syntaktiska funktioner som subjekt och objekt bör också implementeras med kontextkänsliga regler för en generellare och högre beskrivning. Ord eller sekvenser av ord kan få nya syntaktiska taggar (det vill säga namnet på kontextkänsliga hjälpregler) som t.ex. subjekt eller objekt. Den enkelhet som finns i Constraint Grammar med regler som i stort sett är oberoende av andra regler och där flertydighet successivt kan elimineras saknas i Granskas regelspråk. I regelspråket måste en stegvis flertydighetseliminering utföras av antingen mer komplexa regler som tar hänsyn till fler fall eller av regler som känner varandra och som kopplas ihop. Detta område är ganska outforskat i regelspråket och kräver en realistisk tillämpning för att mer generella uttalanden skall kunna göras. 59
68 Kapitel 3. Granskas regelspråk Samarbete mellan taggaren och reglerna Vi har upptäckt att den probabilistiska taggaren taggar fel enligt återkommande mönster. Dessa mönster vill vi fånga upp och tagga om. Vi kan göra det enligt följande: 1. En regel detekterar en sekvens som vi vet att taggaren ofta taggar fel. 2. Vi vill kunna ange att det skall finnas andra tolkningar än den taggaren har kommit fram till för att regeln skall tillämpas. 3. Vi väljer en tolkning som vi vet är mer riktig och vi anger den och den skall gälla vid omtaggningen. 4. Meningen taggas om. 5. Ny regelexekvering. Vi uppnår det genom: 1. Vi matchar den taggning som vi vet är fel i vänsterledet. 2. Vi undersöker det felaktigt taggade objektet ytterligare genom att ange att den förhoppningsvis korrekta tolkningen skall existera i strukturen lex. 3. Genom att ange i fältet action att regeln är en taggningsregel så kan vi sätta värden på det feltaggade objektets attribut, för att kunna utgå ifrån denna vid nästa taggning. Med notationen X.särdragsklass:=särdragsvärde sätts den tagg som skall gälla vid omtaggningen. 4. Vi väljer tagging i fältet action i regeln, så tolkas det som att meningen skall taggas om. 5. När taggningen är färdig appliceras de resterande reglerna på den omtaggade meningen och resten av texten. Vi vill också kunna förändra en mening genom att ta bort, lägga till eller byta plats på ord för att sedan tagga om den förändrade meningen. Den förändrade delen av meningen anges i fältet corr och meningen taggas om utifrån denna förändring. Notationen för fältet action vid taggning blir: action(tagging, särdrag_1:=värde_1,, särdrag_n:=värde_n) Exempel 1: Felaktig taggning av artikeln i en nominalfras. Indata: Taggaren har taggat den i den lilla pojken som pronomen. Utdata: Taggaren taggar den i den lilla pojken som determinerare. 60
69 Olika typer av regler { X1(wordcl=pn & E(lex.wordcl=dt)), X2(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec), X3(wordcl=nn & gender=x2.gender & num=x2.num & spec=x2.spec ) --> action(tagging, X1.wordcl:=dt) } Exempel 2: Särskrivningen skrivs ihop och vi vill tagga om meningen. Indata: Skolan har köpt ett cykel ställ Utdata: Taggaren taggar meningen Skolan har köpt ett cykelställ. ex2@tagg { X1(wordcl=dt), X2(wordcl=nn & gender!=x1.gender), X3(wordcl=nn & gender=x1.gender) --> corr(x2.join(x3.real_text)) action(tagging) } Accepterande regler Accepterande regler är ofta användbara för att acceptera ord och fraser som är korrekta och inte behöver granskas med olika felregler. Exempel: En korrekt nominalfras undviker regelapplicering med regler för inkongruenta nominalfraser. Indata: Jag bor i det lilla huset. Utdata: Jag bor i det lilla huset. % Oförändrat ex1@acc { X1(wordcl=dt), X2(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec), X3(wordcl=nn & gender=x2.gender & num=x2.num & spec=x2.spec) --> corr(all) jump(inkongruens_slut) action(accepting) 61
70 Kapitel 3. Granskas regelspråk }... inkongruensregler... inkongruens_slut:... andra regler Union och subtraktion mellan regler Vi vill uttrycka union och subtraktion för att kunna implementera generella och kraftfulla regler i regelspråket. Inspiration till dessa två operatorer har hämtats genom det samarbete som Granska-projektet hade med Institutionen för lingvistik vid Göteborgs Universitet 12. Union kan vi uttrycka med ; och för subtraktion mellan två regler använder vi tilde ~. A och B är regler. Subtraktion, A-B <==> A ~ B vilket betyder: om uttrycket skall bli sant gäller det att det som detekteras av regel A inte skall detekteras av regel B. Union, A B <==> A ; B vilket betyder att elementen måste detekteras av regel A eller regel B för att uttrycket skall bli sant. Subtraktion mellan regler utgör ett specialfall och detta måste anges, vi gör det genom att omge reglerna med dubbla klammerparenteser enligt: {{Regel_1 ~ Regel_2 --> kommentar}} Högerledet består endast av ett kommentarfält och det område som matchas markeras automatiskt med rött. Exempel: Följande exempel är hämtat från Cooper & Sofkova (1998). Regelformalismen är Xerox Finite State Transducer-formalism (Karttunen et al, 1996), vilken i stort är en formalism för reguljära uttryck och omskrivningsregler. Exemplet visar hur avvikelser i species kan detekteras med enbart positiva regler, det vill säga regler som anger korrekta fragment i språket. Regler kan upptäcka fel som en lilla bil och ett litet huset. % Den grova regeln (Broad grammar) define NP [dt jj* nn] % De finare reglerna (Narrow grammar) define NPDef[dt_def jj_def* nn_def] 12 Det projekt för automatisk språkgranskning som bedrevs vid Institutionen för lingvistik vid Göteborgs Universitet ( finns beskrivet i kapitel 2 i denna avhandling. 62
71 Olika typer av regler define NPIndef[dt_ind jj_ind* nn_ind] % Granskningsregeln, frasen (språket) skall finnas i NP men inte i NPDef eller NPIndef NP-[NPDef NPIndef] I Granska löser vi det genom att först skriva två hjälpregler och sedan skriva själva granskningsregeln: % Hjälpregel 1: NP@ { X1(wordcl=dt), X2(wordcl=jj)*, X3(wordcl=nn) --> action(help) } % Hjälpregel 2: NPunion@ { X1(wordcl=dt & spec=def), X2(wordcl=jj & spec=def)*, X3(wordcl=nn & spec=def) --> action(help) ; X1(wordcl=dt & spec=ind), X2(wordcl=jj & spec=ind)*, X3(wordcl=nn & spec=ind) --> action(help) } % Granskningsregeln: {{(NP)() ~ (NPunion)() --> info( kommentar )}} Rekursiva hjälpregler En effektiv beskrivning och implementation av svenska nominalfraser kräver rekursion. I regelspråket är alla rekursiva regler tillåtna, förutom vänsterrekursiva regler (d.v.s. regler där det rekursiva anropet ligger längst till vänster). Följande minigrammatik visar hur rekursiva hjälpregler kan skrivas. Grammatiken består av reglerna NP, NPmin, NPmPP och PP som beskrivs nedan. Grammatiken matchar till exempel följande satser: mannen, mannen på taket, mannen på taket i det gula huset, mannen på taket i det gula huset vid ån. 63
72 Kapitel 3. Granskas regelspråk En nominalfras kan bestå av en minimal nominalfras (NPmin) eller en nominalfras med en eller flera prepositionsfraser som attribut (NPmPP). { % NP --> NPmin NPmPP (NPmin)() --> action(help); % stoppvillkor för PP (NPmPP)() --> action(help) } Den minimala nominalfrasen NPmin detekterar t.ex. bilen, en bil, en liten bil, min lilla gröna bil. NPmin@ { % NP --> (DT PS) (JJ) NN X(wordcl=dt wordcl=ps)?, % optionell determinerare eller possessiv Y(wordcl=jj)*, % noll eller flera adjektiv Z(wordcl=nn) % ett substantiv --> action(help) } En nominalfras med en eller flera prepostionsfraser som efterställda attribut kan anges med följande regel. I denna regel sker ett rekursivt anrop; PP anropar NP som kan bestå av NPmPP. NPmPP@ { % NP --> NPmin PP (NPmin)(), % det går inte att anropa NP här, då hade regeln blivit vänsterrekursiv eftersom NP --> NPmPP. (PP)() % en eller flera prepositionsfraser --> action(help)} Prepositionsfrasen kan bestå av en eller flera prepositionsfraser, eftersom NP kan bestå av en prepositionsfras. Här sker ett rekursivt anrop; PP anropar NP som kan bestå av NPmPP som anropar PP. PP@ { % PP --> pp NP X(wordcl=pp), % en preposition (NP/Y)() % en nominalfras som kan innehålla en eller flera PP --> action(help)} Två regler i Constraint Grammar och i regelspråket En jämförelse med regler skrivna i Constraint Grammar (CG) är intressant främst av tre anledningar. För det första har inspiration till regelspråket hämtats från CG och för det andra är CG långt mer känt som formalism och det kan därför vara intressant att visa hur CG-regler ser ut i Granskas regelspråk. Dessutom finns det en grammatikkontroll skriven i CG för svenska (Birn, 2000). De följande reglerna 64
73 Olika typer av regler är hämtade ur Birn (2000) och visar först förenklat hur inkongruens i nominalfrasen detekteras, t.ex. ett villa. ( <ett> =s!@err) ; Utläses: För ordformen Ett/ett välj (=s!) feltaggen ; (@ERR), (1C N-UTR)) ; om nästa ord till höger är ett entydigt substantiv ; i utrum (1C N-UTR) Regeln får följande utseende i Granskas regelspråk: cg1@kong { X(text= ett ), Y(A(lex.wordcl=nn & lex.gender=utr)) --> corr(x.form(gender:=utr)) action(scrutinizing) } % ( <ett> =s!@err) % (1C N-UTR)) En regel för att hitta bestämdhetsfel som Pelles gula bilen ser ut enligt följande i CG: (@w=s!(@err) (0 N-DEF) ; Substantiv i bestämd form skall taggas som fel, (-2 GEN) ; om det andra ordet till vänster om substantivet står i genitiv, (-1 A-DEF)) ; och om det första ordet till vänster om substantivet är ett adjektiv i bestämd form I Granskas regelspråk kan regeln konstrueras enligt följande: cg2@kong { X(case=gen), Y(wordcl=jj & spec=def) Z(wordcl=nn & spec=def) --> corr(z.form(spec:=ind)) action(scrutinizing) } % (-2 GEN) % (-1 A-DEF)) % (0 N-DEF) 65
74 Kapitel 3. Granskas regelspråk En stor skillnad mellan reglerna är att högerledet i CG-reglerna är i stort begränsat till om taggar skall väljas eller förkastas, medan man i Granskas regelspråk kan ange vilka ord som skall ersättas, vilket har att göra med att CG inte främst är en formalism för automatisk språkgranskning. Detta visar dock styrkan i CGformalismen; den kan användas för andra ändamål än den designades för. Å andra sidan kan man se grammatikkontroll som ett disambigueringsproblem (vilket CG är designat för). Det gäller att välja mellan en tolkning som är rätt eller fel. 3.6 Hjälp för regelkonstruktören Att kunna skriva kommentarer, spåra exekveringen av reglerna samt få hjälp med syntax- och semantikkontroll är sådant som underlättar arbetet för regelkonstruktören Kommentarer i reglerna Kommentarer inleds med (* och avslutas med *) som i Pascal. En kommentar som gäller endast en rad inleds med %. Exempel: Kommentarer till en accepterande regel. (* * regel 51 * Accepterande regel som undviker att korrekta * nominalfraser tolkas som felaktiga *) ex@kom { X1(wordcl=dt), % Artikeln X2(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec), X3(wordcl=nn & gender=x2.gender & num=x2.num & spec=x2.spec) --> (* Frasen markeras inte, exekveringen fortsätter efter inkongruensreglerna *) } jump(inkongruens_slut) action(accepting) Syntax- och semantikkontroll Regelmatcharen gör en fullständig syntaxkontroll av regelfilen och talar för varje fel om vilken rad i regelkoden som är fel och vilken typ av fel det är. Regelmatcharen har olika typer för regler, element, lägen, särdragsklasser, 66
75 Hjälp för regelkonstruktören särdragsvärden, texter, heltal, flyttal och booleska värden. Typkonflikter ger felmeddelanden. Särdrag i olika särdragsklasser kan inte jämföras med varandra. Regelmatcharen kontrollerar också fälten detect och accept i reglerna för att förhoppningsvis upptäcka om regelkonstruktören har gjort några fel som inte beror på syntaxfel. Detta är ett stöd för att upptäcka att angivna exempelmeningar i detect och accept fortfarande detekteras respektive godkänns trots förändringar i regelkoden. I detect kan man ange en felaktig mening med t.ex. en särskrivning som Vi har grupp arbete just nu och i accept kan man ange en korrekt mening som Vi har en grupp studenter på besök. Om regelkonstruktören har förändrat en regel så att dessa inte detekteras respektive godkänns upptäcker regelmatcharen det och ett felmeddelande presenteras för regelkonstruktören. 67
76 Kapitel 3. Granskas regelspråk 68
77 Hjälp för regelkonstruktören 4. Detektion av särskrivna sammansättningar Hela den kommande genomgången är till för att ge läsaren en överblick över svenska sammansättningar eller snarare möjliga särskrivna sammansättningar, samt att ge en överblick över de typer av särskrivningar som Granska kan detektera. Den fortsatta texten har också som mål att försöka förklara varför vissa fel detekteras och andra inte, och slutligen varför falska alarm är mycket svåra att undvika vid vissa språkliga konstruktioner. I svenskan sker sammansättningar i huvudsak inom fyra ordklasser; sammansatta substantiv som utgör den största gruppen, adjektiv, verb och slutligen, med ganska få fall, adverb. En felaktig särskrivning av en sammansättning består vanligen av att ordet har delats upp i två eller fler delar förled och efterled. Efterledet bestämmer det sammansatta ordets ordklass och förledet består vanligen av någon av de redan nämnda ordklasserna. En inledande och nödvändig fråga som bör besvaras för varje grammatisk feltyp är: varför skall denna feltyp detekteras och på vilka grunder görs detta? När det gäller särskrivna sammansättningar finns det flera olika tänkbara svar. Särskrivningen kan innebära en betydelseförändring t.ex. så betyder en mans röst något annat än en mansröst. Särskrivningen borde också kunna innebära att satsmelodin förändras. Från teknisk synvinkel innebär särskrivningen också att den lexikala analysen försvåras och därmed att igenkänningen av nominalfraser ytterligare kompliceras. Detektionen av felaktiga särskrivningar bygger ofta på sannolikheter, det vill säga att det är sannolikare att en viss ordkombination är fel än att den faktiskt är rätt. Detta kan ju anses gälla för de flesta grammatikfelen, men för särskrivningar blir det särskilt uppenbart. Det är t.ex. sannolikare att massa bedömare skall vara två ord snarare än ett ord i konstruktionen Det har utvärderats av en massa bedömare från Finland. Det finns dock en möjlighet att massa bedömare skall skrivas ihop till ett ord om betydelsen är en person som bedömer massa (pappersmassa), som t.ex. i meningen Pappersmassan har utvärderats av en massabedömare från Finland. I den andra delen av detta kapitel kommer jag att beskriva hur vi i Granska försöker hantera dessa variationer med olika medel. Trots att sannolikheter spelar stor roll, inte minst på grund av den statistiska analysen som ligger i botten kan man göra en del teoretiska förutsägelser genom att undersöka hur svenska sammansättningar är uppbyggda. Den första delen av detta kapitel behandlar dessa teoretiska grunder och deras kopplingar till de granskningsregler som försöker detektera särskrivna sammansättningar. 69
78 Kapitel 4. Detektion av särskrivna sammansättningar 4.1 Särskrivna sammansättningars uppbyggnad Denna genomgång av svenska särskrivningar syftar inte till att vara fullständig utan skall ses som en teoretisk bakgrund för hur granskningsreglerna för särskrivna sammansättningar är uppbyggda. De aspekter av särskrivningar som beskrivs är starkt kopplade till den automatiska detektionen och de falska alarm som uppstår. Jag har utgått från Svensk Ordbildningslära (Thorell, 1981) och Svenska Akademiens grammatik (Teleman, Hellberg & Andersson, 1999) för att bygga upp en teoretisk grund för granskningsreglerna. Det jag främst vill visa i detta kapitel är vilka typer av konstruktioner som reglerna bör klara och varför detektionen ibland misslyckas, och inte minst varför en del falska alarm är svåra att undgå om någorlunda täckning skall bibehållas. I kapitlet visas också hur man delvis kan förutsäga vilka regler som kommer att ha hög precision och god täckning och vilka konstruktioner som kommer att vara mycket svåra att detektera överhuvudtaget och dessutom kommer att ge många falska alarm. Förutsägelserna görs med utgångspunkt från hur olika särskrivningar är uppbyggda, de detektionstekniker som vi har tillgång till, och i mångt och mycket den information som Granska har om ordet i den givna kontexten. En teoretisk grund för reglerna är av yttersta vikt då grammatikfel är mycket svåra att förutsäga. Att basera regler enbart på empirisk grund är vanskligt så länge tillgången av felkorpusar är klart begränsad. Olika fel dyker upp i olika kontexter; ett fel som inte är troligt för modersmålsskribenter är kanske ganska vanligt hos någon med svenska som andraspråk. Det är givetvis svårt att förutsäga hur särskrivningar kommer att realiseras i verklig text men genom att utgå från hur svenska sammansättningar är uppbyggda och därefter plocka isär dem kan vi få en ganska god bild av hur ord kan särskrivas. Utgångspunkten är att orden särskrivs till att bestå av flera led istället för ett sammansatt och att särskrivningen görs vid fogen av leden. Ordet delas upp i minst två delar där det första ordet i särskrivningen består av förledet och det andra ordet utgörs av efterledet. I framställningen nedan utgår jag från att särskrivningar behåller sin grammatiska form, det vill säga den ordklass de hade i det sammansatta ordet. Det är dock fullt möjligt att särskrivningen medför att orden byter ordklass, t.ex. hylla i särskrivningen bok hylla skiftar från substantiv till verb. Trots att orden är särskrivna och skulle kunna ses som självständiga ord kommer begreppen förled och efterled att fortsätta användas för att förenkla beskrivningen och länken till det sammansatta ordet Särskrivna substantiv I särskrivna substantiv består efterledet av ett substantiv medan förledet kan bestå av bland annat ett substantiv, ett adjektiv eller ett verb. Förledet kan också bestå av 70
79 Särskrivna sammansättningars uppbyggnad en ordgrupp, t.ex. rödakors som i särskrivningen rödakors ambulans. Förleden pronomen, räkneord, adverb och partikel finns inte med i genomgången på grund av arbetets begränsning, men dessa förekommer ju i svenskan. Adverb som förled i en särskrivning borde kunna vara ganska vanliga t.ex. hemma kväll, ute grill och borta plan. Denna grupp skulle vara intressant att arbeta vidare med och det behövs då information om vilka adverb som är rums- och tidsadverb. Det saknas i Granskas lexikon, så därför finns inte heller denna typ av särskrivning med i avhandlingen. Ordgrupper som förled i sammansatta substantiv finns inte heller med annat än som vanliga substantivförled, och dessa specialbehandlas inte. Det finns också förled som består av sammansättningar. Dessa kan tyvärr inte heller specialbehandlas eftersom någon egentlig sammansättningsanalys inte finns implementerad. I avsnitten nedan kommer jag att beskriva hur några teoretiskt möjliga särskrivningar kan se ut. En genomgång av olika sammansättningstyper för substantiv enligt Thorell görs nedan i tabell 4.1. Dessa sammansättningstyper behöver inte motsvaras av verkliga särskrivningar, men de utgör en bra utgångspunkt för att beskriva särskrivna sammansättningar. Exemplen presenteras med möjliga särskrivningar. Särskrivna avledningar måste betraktas som mycket ovanliga och är inte med i exemplen nedan. (Dock skulle man kunna tänka sig särskrivningar av prefixavledda substantiv som t.ex. pseudo vetenskap eller ärke ängel.) 71
80 Kapitel 4. Detektion av särskrivna sammansättningar Uppbyggnad i förled (FL) och efterled (EL) Korrekt sammansättning enkelt FL + enkelt EL: badhus bad hus enkelt FL + sammansatt EL guldarmband Särskriven sammansättning enkelt FL + avlett EL luftledning luft ledning sammansatt FL + enkelt EL sammansatt FL + sammansatt EL sammansatt FL + avlett EL avlett FL + sammansatt EL småhuskö postgiroinbetalningskort råvaruproduktion 1. guld armband 2.guld arm band 1. småhus kö 2. små hus kö 1. postgiro inbetalningskort 2. postgiro inbetalnings kort 3. post giro inbetalningskort 4. post giro inbetalnings kort 1. råvaru produktion 2. rå varuproduktion 3. rå varu produktion regeringstalesman 1. regerings talesman 2. regerings tales man avlett FL + avlett EL befrielserörelse befrielse rörelse Tabell 4.1. Sammansättningars uppbyggnad och exempel på korrekta respektive särskrivna sammansättningar Substantiv som förled Substantivet som förled kan vara: a) enkelt: hus försäljning b) avlett: skrivnings sal c) sammansatt (självständigt ord) : stenhus känsla d) sammansatt (endast sammansatt i sammansättning): löpandeband principen Följande varianter är dock korrekta enligt SAG: sol och vår-historia, solochvårhistoria, sol-och-vår-historia Genomgående är förledet i singular och oböjt; det finns dock undantag som öron sus och ögon fröjd där förledet står i plural. 72
81 Särskrivna sammansättningars uppbyggnad Förledets fogeform Utgångspunkt för regelkonstruktionen är att förleden är skrivna med korrekt fogeform, det vill säga särskrivningen består verkligen av ett förled 13 och ett efterled. Om vi inte skulle förutsätta detta skulle detektionen bli mycket svårare, jämför t.ex. en särskrivning med bibehållet förled lyck önskning och en där förledet måste göras om för att ingå i en sammansättning lycka önskning. Särskrivningarna man fall, mans röst och manna minne visar på två grupper av sammansättningar: stamkomposita med förled i grundform singular och kasuskomposita med förled i genitiv singular och genitiv plural. De stamkomposita är enligt Thorell (1981) den äldsta gruppen medan de kasuskomposita har uppstått ur ordgrupper och bildat sammansättningar. Detta blir ett problem när man skall analysera särskrivningar, jämför en mans röst (en röst från en man vilken som helst), och en mans röst (särskrivningen med betydelsen att man på rösten kan bestämma den talades kön). Särskrivningen är till ytan identisk med en korrekt konstruktion, i detta fall dessutom med en annan betydelse, vilket tydligt talar för att särskrivningar är viktiga att detektera. För nutida språkkänsla är det dock enligt Thorell (1981) andra faktorer som styr fogeformen, nämligen: böjningstyp, avledningssuffix, förledets längd, ljudförhållanden, tydlighetskrav, stilnivå och dialektalt inflytande. Två viktiga saker för den fortsatta diskussionen är om fogeformen: kan tolkas som ett ord i genitiv och att särskrivningen därmed sammanblandas med obestämda substantiv i genitiv enligt exemplet en mans röst ovan. medför att det särskrivna förledet inte kan anses som ett självständigt ord och därmed skulle upptäckas som ett stavfel av ett rättstavningsprogram Adjektiv som förled Adjektiv som förled fogas vanligen som oförändrad stam till efterleden, t.ex. snabb köp och kall vädret. Undantag utgör adjektiv på suffixen -ell och -är som får suffixvarianterna -al respektive -ar, t.ex. kriminell och kriminal roman och elementär och elementar partikel. Adjektivet kan också vara böjt i bestämd form: stora syster, lille bror och rike man. En del vanliga adjektiv kan stå i komparativ eller superlativ t.ex. mer kostnad och bäst säljare. Den stora utmaningen med adjektiv som förled är att adjektivet som förled ofta kan tolkas som ett adjektivled i en nominalfras, jämför t.ex. en tom flaska (vilken som helst) och en tomflaska (en speciell typ av flaska?). I vissa fall uppstår det 13 Jag väljer att använda neutrumformen av förled och efterled eftersom SAG gör det. Utrumformen är dock vanlig i språkvetenskaplig litteratur. Det språkgranskningprogram som signalerar att ett efterled är ett kongruensfel gör sig därmed skyldig till ett falskt alarm. 73
82 Kapitel 4. Detektion av särskrivna sammansättningar inkongruens som ett snabb tåg; detta kan man ta fasta på, det svåra blir att urskilja särskrivningen från kongruensfelet Verb som förled Verb som förled består ofta av verbstammen eventuellt minus trycksvagt -a t.ex. köp kort, rid hus, gå gata, lock pris. Bortfall av -a medför att förledet i särskrivningen ofta byter ordklass, locka som verb blir lock som substantiv i lock rop. Detta innebär att det i vissa fall är svårt att tolka särskrivningen som verb + substantiv, tolkningen blir istället substantiv + substantiv. Detta bör dock inte spela något större roll för användaren som eventuellt får ta del av analysen, dock inte i så finkorninga termer. Om bortfallet medför att verbet kan tolkas som ett verb i imperativ bör det dock vara möjligt att detektera Egennamn i genitiv som förled Särskrivna egennamn finns för att de sammanfaller med en annan feltyp nämligen egennamn i genitiv + nominalfras i bestämd form, t.ex. Strindbergs romanen och Klarabergs gatan. Klarabergs gatan verkar mer trolig som särskrivning än Strindbergs romanen, det verkar dock svårt att särskilja särskrivningar genom att säga att dessa skall ha ett efterled av typen gatan, vägen eller torget. Det dyker ständigt upp nya tänkbara särskrivningar som t.ex. Strindbergs rummet och Vasalopps spåret. Två olika diagnoser till denna typ av fel kommer att presenteras för användaren. Inte ens om det hade varit möjligt att avgöra hur många nominalfraser det får finnas i satsen, hade vi kunnat separera de båda feltyperna. Såväl Strindbergs rum och Strindbergsrummet utgör endast en NP vardera och vi har däremed ingen användning av valensinformation i dessa fall Särskrivna adjektiv Förledet i ett särskrivet adjektiv kan bestå av ett substantiv, egennamn, adjektiv eller verb. Vissa pronomen, adverb och prepositioner kan också utgöra förled. Reglerna för förledens fogeformer är i stort sett desamma som för substantiv. I avhandlingen behandlas dock endast förled bestående av substantiv, adjektiv och verb Substantiv som förled Substantivens fogeform följer i stort sett samma former som vid sammansatta substantiv: ving snabb, ask grå, syre fattig, arbetar vänlig, öron bedövande, grundform: eld fast, vatten tät s-form: sannings kär, kvalitets medveten, mils lång (måttbestämning) 74
83 Särskrivna sammansättningars uppbyggnad sammansatt förled har s-form: framstegs vänlig, rovfågels lik a-form: barna from, ängla lik e-form: skatte fri, fröjde full. Återigen är det svårt att särskilja s-form från genitiv -s. De särskrivningar som delvis detekteras är de där förledet utgörs av ett substantiv i singular obestämd form nominativ. Särskrivningar med fogeformer som inte kan stå som självständiga ord, t.ex. ving snabb kommer att detekteras med hjälp av Stava Adjektiv som förled Adjektiv står i regel i grundform när de utgör förled t.ex. halv blind, ny född eller ensam stående. Det finns också adjektiv som slutar på -t, jämför hög kultiverad och högt kultiverad då efterledet består av en particip. Om vi börjar med adjektiv i grundform som förled är dessa särskrivningar mycket svåra att upptäcka genom att förledet ofta ser ut som ett framförställt attribut till ett annat adjektiv i obestämd form singular, t.ex. en mörk blå kostym eller en tvär brant backe. Om efterledet i särskrivningen står i bestämd form eller plural uppstår kongruensfel som den mörk blåa kostymen och den tvär branta backen. Den rimligaste felanalysen blir kanske också kongruensfel även om särskrivningsfel i vissa fall bör finnas med i mängden av felanalyser. Detta får ju ytterst konsekvenser för diagnosen och korrektionsförslaget som skall presenteras för användaren. Om vi betraktar det andra fallet med ett förled med suffixet -t är det svårt att särskilja detta förled från ett adverb som bestämmer ett adjektiv, t.ex. högt flygande planer eller högt meriterad forskare. Kopulativa sammansättningar av adjektiv verkar mycket svåra att detektera: Extra svåra fall som blågul blomma och en blå gul blomma är omöjliga, medan svåra fall som ett våtstarkt papper och ett våt starkt papper snarare kommer att upptäckas som kongruensfel och få förslaget ett vått starkt papper Verb som förled Oftast består förledet av verbstammen med bortfall av trycksvagt -a. Exempel på särskrivningar med verb som förled är skriv kunnig och skjut glad. Det finns undantag där förledet uppvisar e-form, t.ex. skåde lysten och smäde lysten. Om stammen vid särskrivning kan tolkas som ett substantiv så är det troligt att den gör det, t.ex. prat glad. Detta medför att den finkorniga diagnosen av särskrivningen kan vara aningen felaktig om man ser till den ursprungliga/egentliga sammansättningen; det bör dock inte besvära användaren. 75
84 Kapitel 4. Detektion av särskrivna sammansättningar 4.2 Regler för detektion av särskrivna sammansättningar Detta avsnitt inleds med en översikt över vilken språklig information som reglerna kan tillämpa. Därefter följer ett urval av de regler som har konstruerats för detektion av särskrivningar Vilken språklig information har reglerna tillgång till? Tokeniserarens information Tokeniseraren kategoriserar olika token som t.ex. räkneord, ordningstal, interpunktions-tecken, speciella tecken, förkortningar och ord. Reglerna för att detektera särskrivningar matchar endast mot ord och på så sätt undviks många onödiga matchningar som till exempel m i Jag fick en m slang av honom som tolkas som en förkortning och därmed inte utgör något lämpligt förled Taggarens information Taggaren förser reglerna med information om ordens ordklass och en mängd morfologiska särdrag (se Appendix 1). Taggaren har dessutom kompletterats med särskilda taggar t.ex. för datum (dat, t.ex. veckans dagar), år med taggen yea och om ordet kan utgöra en mängdapposition (set, t.ex. grupp, mängd m.fl.). Dessa tre taggar befanns vara nödvändiga för att bli av med många besvärande falska alarm. Även taggarna för meningsbörjan och meningsslut är viktiga för reglerna. Trots att vi har arbetat med att bygga ut lexikonet, saknas det fortfarande mycket information som behövs för att kunna skriva riktigt bra regler; främst handlar det om verbens konstruktionsscheman, som gör det svårt att avgöra hur många NPn som är möjliga i satsen. Taggaren har den mycket svåra uppgiften att förse orden i särskrivningen med en entydig taggning. Särskrivningen förändrar meningen mer än vad t.ex. ett kongruensfel gör, genom att meningen får ett extra ord som skall analyseras. Hur skall egentligen felen taggas? I denna avhandling tränger vi inte djupare in i denna fråga, som givetvis är väldigt viktig. Istället får regelkonstruktören utgå ifrån den taggning som särskrivningen får och anpassa reglerna efter detta. I stort betyder det att regelkonstruktören får utgå ifrån att taggaren taggar särskrivna konstruktioner på ett förutsägbart sätt. Exempel på taggningsproblem: Taggningen blir inte det förväntade: Vi<pn.utr.plu.def.sub> har<vb.prs.akt.aux> köpt<vb.sup.akt> en<dt.utr.sin.ind> bok<nn.utr.sin.ind.nom> hylla<vb.inf.akt> på<pp> IKEA<pm.nom> sa<vb.prt.akt> Per<pm.nom>.<mad> Taggningen blir det förväntade, det vill säga bok och hylla taggas som substantiv i obestämd form: 76
85 Regler för detektion av särskrivna sammansättningar Vi<pn.utr.plu.def.sub> har<vb.prs.akt.aux> köpt<vb.sup.akt> en<dt.utr.sin.ind> bok<nn.utr.sin.ind.nom> hylla<nn.utr.sin.ind.nom> sa<vb.prt.akt> Per<pm.nom>.<mad> Om särskrivningen står i pluralis går det också bra (hyllor har endast en tolkning) : Vi<pn.utr.plu.def.sub> har<vb.prs.akt.aux> köpt<vb.sup.akt> två<rg.nom> bok<nn.utr.sin.ind.nom> hyllor<nn.utr.plu.ind.nom> på<pp> IKEA<pm.nom> sa<vb.prt.akt> Per<pm.nom>.<mad> Om man testar några olika konstruktioner med bok hylla ser man att det går bra om hylla omedelbart följs av ett verb. Kombinationen verb i infinitiv följt av ett finit verb bör vara ovanlig. När man analyserar de särskrivningar som slipper igenom reglerna finner man att det i vissa fall går att komma åt konstruktionen ändå. Trots en oförutsägbar taggning uppstår mönster som regelkonstruktören kan ta fasta på och anpassa reglerna efter. Man skulle kunna matcha reglerna direkt mot ordformen för att komma runt problem med taggning av inkongruens, i exemplet nedan mot ordet mitt. Jag<pn.utr.sin.def.sub> tog<vb.prt.akt> mitt<ab> jakt<nn.utr.sin.ind.nom> gevär<nn.neu.sin.ind.nom> på<pp> ryggen<nn.utr.sin.def.nom> Granskas taggare tilldelar alltid orden i texten en entydig tolkning. Okända ord analyseras, flertydiga ord entydiggörs och även stavfel får en morfosyntaktisk tolkning. Taggaren klarar t.ex. det felstavade ordet tykcer som taggas som ett verb i presens i aktiv form. Hur skulle det ha blivit om man låtit programmet rätta stavfel automatiskt före taggning? Om vi till exempel låter Stava kontrollera texten före taggning, hur skulle resultat då bli? Stava detekterar tykcer som felstavat, och om man väljer det första rättningsalternativet får man tycker, vilket är korrekt. Detta skulle säkerligen förbättra taggningen i en del fall. Ett annat ord skulle kanske ha gett ett sämre förslag som istället skulle ha förvanskat texten. Tyvärr har inte projektet räckt till för att utreda denna fråga och i vilket skede stavningskontrollen bör sättas in i den språkliga analysen lämnas härmed därhän i denna avhandling. Huruvida det är bra eller dåligt att taggaren entydiggör och analyserar alla ord är svårt att säga. Det skulle dock vara mycket intressant att jämföra med hur t.ex. en regelbaserad taggare skulle klara särskrivningar. Utan tillgång till en regelbaserad taggare är det dock svårt att sia om hur resultatet skulle ha blivit med en taggare som lämnar vissa flertydigheter olösta, som t.ex. SWECG (Birn, 1998). Det behövs förmodligen speciella disambigueringsregler för särskrivningar om man nu är intresserad av dessa. Särskrivningarna bör påverka satsanalysen mer än t.ex. kongruensfel, där felet finns inom ordet, när det gäller särskrivningar förändras hela frasens eller satsens struktur. 77
86 Kapitel 4. Detektion av särskrivna sammansättningar Stava Stava används dels för att avgöra om ett ord verkar vara ett förled med osjälvständig fogeform och dels för att kontrollera om den särskrivna konstruktionen blir rättstavad vid sammansättning. Med Stavas hjälp lyckas granskningsreglerna hitta en del särskrivningar och framförallt lyckas vi få bort en hel del falska alarm. Genom att Stava används för att kontrollera sammansättningen av särskrivningar måste leden i särskrivningarna vara rättstavade. Reglerna kommer att detektera särskrivningar där alla ord är rättstavde, t.ex. Vi hade problem med ett löst avgas system. Om ett ord i särskrivningen är felstavat kommer särskrivningen inte att upptäckas. Ett exempel är: Vi hade problem med ett löst avggas system. Däremot skulle följande felstavade särskrivning detekteras i Vi hade problem med ett löst avgass system. Detta fungerar eftersom det finns en funktion som heter smart_concat (se kapitel 3) som vid sammansättning plockar bort ett tecken om det bildas tre likadana tecken i rad vid sammansättningen. Denna funktion bör kunna byggas ut och förbättras. Inom Granska-projektet har vi tyvärr inte fått tillgång till SAOL 12, utan Stava bygger på SAOL 11 (Svenska Akademien, 1986). För särskrivningarnas del innebär det att förled som består av ord som är accepterade i SAOL 12 men inte i SAOL 11 inte kan godkännas som förled. Granska kan därför inte upptäcka särskrivningar som t.ex. wok panna. När Granska får tillgång till SAOL 12 kommer reglerna därför att kunna detektera fler särskrivningar. Egennamn är alltid ett problem för en stavningskontroll, vilket visar sig i särskrivningar som Sälka toppen och Nenninge viken, där förleden inte godkänns av stavningskontrollen. För att kunna uppnå en någorlunda täckning anropas inte Stava av de regler som försöker detektera sammansättningar med egennamn som förled. En annan intressant fråga är om det skulle löna sig att hantera lexikaliserade sammansättningar som t.ex. polishus och hundkoppel med speciella regler. Sannolikheten för att särskrivningar som polis hus och hund koppel verkligen är särskrivningar borde vara högre än för t.ex. särskrivningar som t.ex. webbserver programmering och datorlingvist utbildningen. Om det nu är så skulle man kunna utnyttja detta i speciella regler med förhoppningsvis god täckning och hög precision. Tyvärr har det inte varit möjligt att undersöka detta närmare inom ramen för avhandlingsarbetet Regler för särskrivningar Detta avsnitt kommer endast att utgå ifrån den information om orden som har beskrivits i avsnittet ovan och inte utifrån de morfologiska kriterier som finns för att orden skall kunna sättas samman, till exempel om substantivet i förledet slutar på lång vokal eller kort vokal, eller om det finns ett giltigt bindesuffix t.ex. -s. Om vi hade haft denna information explicit i datorläsbar form borde vi ha kunnat 78
87 Regler för detektion av särskrivna sammansättningar skriva exaktare regler. Detta skulle ha varit ett omfattande arbete (utan given utgång) som man kanske inte ens vill blanda ihop med regler som rör sig på en mer syntaktisk nivå. En separat modul som utför denna analys vore att föredra och informationen borde sedan göras åtkomlig från reglerna. Delvis utgör Stava en lösning på detta problem vilket har utnyttjats i nästan samtliga regler Särskrivna sammansättningar som eftersöks Regler för särskrivna sammansättningar försöker att detektera en rad olika fel, men det är inte säkert att de lyckas, av tidigare beskrivna anledningar. Tabellen nedan ger en översikt över de särskrivningar som ägnats mest möda och för vilka Granska kommer att ha störst täckning och bäst precision. 79
88 Kapitel 4. Detektion av särskrivna sammansättningar Klassificering egennamn i genitiv + substantiv i bestämd form substantiv i genitiv + substantiv i bestämd form substantiv i obestämd form + substantiv i bestämd form substantiv i obestämd form + substantiv i obestämd form substantiv i obestämd form & genitiv + substantiv i obestämd form substantiv + adjetiv/particip egennamn/akronym i nominativ + substativ Särskriven sammansättning Klövbergs grottan storstads smeten sten bumlingarna fotogen kök hängglidnings klubb maskin oberoende City terminalen Ersättningsförslag Klövbergsgrottan storstadsmeten stenbumlingarna fotogenkök hängglidningsklubb maskinoberoende Cityterminalen adjektiv + substantiv snabb maten snabbmaten osjälvständigt förled + innehållsord innehållsord + osjälvständigt efterled äppel juice evig heten äppeljuice evigheten Tabell 4.2. En översikt över särskrivna sammansättningar som detekteras av Granska Hur många nominalfraser finns det i satsen? Kanske är det så att kärnproblemet för detektionen av såväl särskrivningar som för inkongruenta nominalfraser är problemet med hur många nominalfraser det får finnas i satsen för att den skall anses vara syntaktisk korrekt. För att kunna lösa detta problem måste vi första känna till satsgränserna i meningen; detta problem har studerats av t.ex. Ejerhed (1999), identifikationen av satsgränser är också ett viktigt steg i Constraint grammar-parsning (Karlsson et al, 1995). Om satsgränserna har bestämts kan vi med större säkerhet avgöra hur många nominalfraser det får finnas i satsen. Men det kräver att vi känner till verbfrasens 80
89 Regler för detektion av särskrivna sammansättningar konstruktionsschema och något lexikon med sådan information har vi i nuläget inte tillgång till. När det gäller att avgöra frasgränser försvårar särskrivningarna denna process genom att den enkla nominalfrasen delas upp i två delar; t.ex. ett gammalt hundkex i satsen Jag åt upp ett gammalt hund kex delas upp i /ett gammalt hund/np /kex/np. I detta exempel uppstår inkongruens mellan leden ett gammalt och substantivet hund, vilket gör att vi kan sluta oss till att det är en särskrivning. Det finns dessutom en möjlighet att utesluta att NPn kan bestå av två NP om vi känner satsgränserna och har konstruktionsschemat för verbet i satsen. Verbet åt tar normalt inte två objekt ett gammalt hund och kex. Är det så att reglerna för särskrivningar som baseras på inkongruens har bäst precision av särskrivningsreglerna? Ja, åtminstone ur ett teoretiskt perspektiv talar mycket för det, så länge som taggaren lyckas tagga konstruktionen som inkongruent har vi en del evidens för särskrivning. Hur reglerna som utnyttjar inkongruens är konstruerade beskrivs i senare avsnitt, hur tillförlitliga de är beskrivs i utvärderingskapitlet. Det finns många fall där uppdelningen inte medför inkongruens; dessa fall blir därmed svårare att detektera med hjälp av de lokala syntaktiska reglerna. Några fall är t.ex. en rygg säck och ett bagage rum. Substantiven förekommer ju också som ensamt led i nominalfrasen och då finns det inga ledtrådar om förlorad kongruens, t.ex. rygg säckarna i satsen Vi tog rygg säckarna på ryggen och gick vidare. Vad finns det egentligen för information i denna sats som säger att den är felaktig, som gör att vi upplever en särskrivning? Jo, nakna substantiv förekommer bara i vissa konstruktioner och det är via dessa konstruktioner vi troligen måste gå för att svara på frågan. I meningen Regeringen gav polis och militär befogenheter som inte var av denna världen har vi ett möjligt naket substantiv, militär, som visar att detektionen av nominalfrasernas frasgränser är central för detektionen av särskrivningar. Om vi har en bra och tillförlitlig NPigenkännare skulle vi kunna undvika att applicera särskrivningsregler som sträcker sig över frasgränserna. I exemplet ovan kan vi utnyttja symmetrin kring en konjunktion och upptäcka en frasgräns efter militär och därmed skulle militär inte kunna utgöra ett förled till befogenheter. Men om militär faktiskt är ett förled som t.ex. i följande fall: militär förband i meningen Regeringen gav polis och militär förband befogenheter som inte var av denna världen måste vi komma åt särskrivningen genom verbets konstruktionsschema eller med kunskap om hur nakna substantiv i obestämd form singularis får stå i satsen Accepterande regler De accepterande reglerna för särskrivna sammansättningar är inte så många men har stor effekt. De bör dock blir fler ju mer omfattande elimineringen av de falska alarmen är. Några få regler försöker hantera en del idiomatiska uttryck som till exempel. Idiomatiska utryck är viktiga att detektera då dessa genererar många falska alarm för såväl särskrivningar som för kongruensfel. Detektionen av idiomatiska uttryck förbättrar dessutom den grundläggande analysen, 81
90 Kapitel 4. Detektion av särskrivna sammansättningar idiommatchningen är t.ex. ett viktigt steg i Constraint Grammar-parsning (Birn, 1998). Därför hanteras nu matchningen av idiom direkt av taggaren. Accepterande regler är ett tydligt sätt att skilja ut en del konstruktioner som skulle kunna tolkas som särskrivningar av granskningsreglerna. Den accepterande regeln anger en konstruktion som i de flesta fall bör tolkas som korrekt; vi slipper ange en massa undantag direkt i granskningsreglerna. Vi får en tydlig distinktion mellan det som verkar vara fel och det som ofta är rätt. De viktigaste accepterande reglerna är de som plockar bort indefinita NP som fungerar som framförställda attribut till andra nominalfraser t.ex. en grupp studenter, ett antal glada barn, den grupp studenter som m.fl. Ett exempel på en sådan accepterande regel visas nedan. Matchningsvariabler i regeln anger de ingående delarna av en korrekt konstruktion, speciellt viktig är Y som anger att ordet efter determineraren eller adjektivet skall vara ett substantiv i obestämd form och som kan fungera som ett måttssubstantiv. I regelns högerled finns det en jump-sats som anger att inga fler särskrivningsregler skall appliceras på det matchade accepterande området. särok6@sär { X(text="1" text="en" text="ett" text="det" text="den"), % en X2(text="hel" wordcl=jj wordcl=pc)*, % stor Y(wordcl=nn & nntype=set), % grupp Y2(wordcl=jj wordcl=pc)*, % gröna Z(wordcl=nn & spec=ind) % studenter --> jump(sär_slut, 3+Y2.no_of_tokens) action(accepting) } Tyvärr finns det inte tillräckligt med lexikal information för att kunna skilja ut substantiven i plural som det egentligen handlar om från substantiv i singular. Det finns två hinder för att den accepterande regeln skall fungera optimalt; i regeln ovan rensar den bort för mycket. Det första hindret är att många substantiv i neutrum och även en del i utrum har samma ordform i singular som i plural t.ex. hus, barn och läkare. Taggaren har i vissa fall svårt att välja rätt tagg på dessa då de förekommer i en felaktig konstruktion som är svår att tagga (felaktiga konstruktioner är alltid svåra att tagga). Detta problem hanteras dock tillräckligt bra i systemet, t.ex. genom lexikonuppslagning av alternativa tolkningar. Det andra mer svåråtgärdade hindret är s.k. dividuativa substantiv som t.ex. guld och zink och ord som kan dividualiseras t.ex. älg och sten i konstruktioner som Vi sköt en massa älg. 14 Information om orden är dividuativa eller om de kan dividualiseras 14 Huruvida konstruktionen en massa älg kan anses vara god svenska lämnas därhän. 82
91 Regler för detektion av särskrivna sammansättningar finns inte i Granskas lexikon. Konstruktioner som en massa guld och en del älg går det därmed inte att få med som accepterande konstruktioner utan att också ta med andra substantiv i singular som t.ex. en grupp psykolog. Detta medför att särskrivningen På ungdomsvårdhemmet arbetade en grupp psykolog inte detekteras; däremot detekteras särskrivningen i konstruktionen: Hon arbetade som grupp psykolog på ett ungdomsvårdhem. Ordet grupp ingår i den senare konstruktionen inte i en möjlig indefinit nominalfras annat än som en sammansättning Regler för särskrivna substantiv Den enklaste detektionen av särskrivna substantiv görs helt enkelt genom kontroll om ett ord är felstavat. Är ordet felstavat sätts det ihop med antingen föregående ord eller efterföljande ord och därefter kontrolleras orden mot Stava. Bildas det ett korrekt ord är det ganska sannolikt att regeln har detekterat en särskriven sammansättning. Regler som utnyttjar stavfel Följande regel detekterar stavfel som kan utgöra förled t.ex. foge i särskrivningen foge morfem. I regeln nedan matchas felstavade ord i X och i Y sätts orden ihop för att stavningskontrolleras. sär_stava1@sär { X(!spellOK & wordcl!=pm & cht=undef &!spell_ok(real_text, token)), Y(spell_OK(smart_concat(X.real_text, real_text), X.token) & wordcl!=kn & wordcl!=hp & wordcl!=sn & cht=undef) --> corr(x.join(y.real_text)) action(scrutinizing) jump(sär_slut, 1) } Regler som utnyttjar inkongruens Den särskrivna sammansättningen medför i vissa fall att inkongruens i nominalfrasen uppstår. Inkongruensen kan utnyttjas av regler för att detektera särskrivningar. Det går också att utnyttja inkongruensen för accepterande regler. När det gäller särskrivningar uppstår inkongruensen mellan framförställda attribut som t.ex. determineraren och förledet i sammansättningen i konstruktionen en hus bil. Ytterligare evidens för att det verkligen är en särskrivning (det skulle kunna vara ett vanligt kongruensfel också) ges genom att determineraren en kongruerar med efterledet bil. I regelexemplet nedan detekteras nominalfraser med framförställda attribut och där det första substantivet (X3, förledet) är inkongruent i 83
92 Kapitel 4. Detektion av särskrivna sammansättningar genus eller numerus med determineraren (X1); däremot måste det andra substantivet (X4) kongruera med determineraren. I X4 stavningskontrolleras den troliga sammansättningen. I högerledet finns det en jump-sats som säger att inga fler särskrivningsregler skall appliceras. Granska nöjer sig helt enkelt med en särskrivningsanalys av felet; andra tänkbara matchningar negligeras för att inte förvilla användaren, eftersom ersättningsförslaget ofta blir identiskt. Det finns ingen prioritetsordning implementerad mellan särskrivningsreglerna. Att en särskrivningsregel tillämpas sätter dock inte stopp för applicering av andra typer av granskningsregler, t.ex. kongruensregler. Inkongruens och särskrivning sammanfaller ofta och det är svårt att säga vilken tolkning och rättning av felet som stämmer bäst överens med det skribenten avsett. På grund av detta presenteras tills vidare flera olika diagnoser och ersättningsförslag för användaren. sär2nn_nn@sär { X0(lemma!= ge ),% fler bitransitiva verb finnas med X1(wordcl=dt), X10(wordcl=ab)*, X2(wordcl=jj wordcl=pc)*, X3(wordcl=nn & spec=ind & (gender!=x1.gender num!=x1.num) & text!="slags" & text!="sorts"), X4(wordcl=nn & gender=x1.gender & num=x1.num & spec=x1.spec & spell_ok(smart_concat(x3.real_text, real_text), X3.token)) --> corr(x0 X1 X10 X2 smart_concat(x3.real_text, X4.real_text)) action(scrutinizing) jump(sär_slut, 3) } Regler som utnyttjar att det är ovanligt med två obestämda nomen i nominativ i följd Det är ovanligt med två nomen i obestämd form i nominativ i följd som saknar tydlig relation med varandra. Två exempel på hur denna särskrivningskonstruktion ser ut skulle vara Många tycker att språk granskning är jobbigt och Hon tycker att fot boll är kul. Konstruktionen som uppstår saknar dock den typ av indikatorer på att något är fel som reglerna som baseras på stavfel och kongruensfel har. Det uppstår istället många fall som stämmer överens med korrekta konstruktioner. Ett sådant fall är framförställda attribut i form av indefinita NPn av typen determinerare + nomen. Dessa förekommer relativt frekvent i svenskan, åtminstone så ofta att de utgör en stor källa till falska alarm, dessa determinerar huvudordet i nominalfrasen, en grupp bedömare. (En grupp anger att bedömare står i plural.) Hur dessa hanteras har beskrivits i avsnittet om accepterande regler ovan. Direkt i regeln hanteras andra undantag som t.ex. att konstruktionen nomen 84
93 Regler för detektion av särskrivna sammansättningar + nomen inte får föregås av det bitransitiva verbet ge, visserligen är de bitransitiva verben många fler men i väntan på ett utbyggt lexikon eliminerade enbart några olika former av verbet ge många falska alarm. I stort består regeln av två variabler som matchar två obestämda nomen i rad, X1 och X2. Vänsterkontexten anger att verbet ge 15 inte får förekomma före det troliga felet. Egentligen borde detta villkor sträcka sig endast till satsgränsen, men nu sträcker sig vänsterkontexten ända till meningsbörjan. Tyvärr är satsgränsproblemet för svårt för att lösa i en regel, så tills vidare används meningsgräns. sär3ann_nn@sär { V(sed=sen), X0(lemma!="ge")*, X01(!(wordcl=dt & spec=def)), X1(wordcl=nn & spec=ind & case=nom & nntype!=dat &!(text="hand" & X0.wordcl=ro)), X2(wordcl=nn & spec=ind &!is_cap & spell_ok(smart_concat(x1.real_text, real_text), X1.token)), X3(!((X2.text="år" X2.text="åren") & rgt=yea)) --> corr(x1.join(x1.real_text, X2.real_text)) X3) jump(sär_slut, 3) action(scrutinizing) } Egennamn som förled Särskrivningar med egennamn är förhållandevis frekventa och verkar dessutom möjliga att detektera. Regeln nedan är mycket enkel; det första ordet som skall matchas är ett egennamn i genitiv och det efterföljande substantivet står i bestämd form singularis. Om konstruktionen föregås av ett annat egennamn verkar särskrivningen mindre sannolik, vilket avspeglas i V. särpmgen_nn@sär { V(wordcl!=pm), X(wordcl=pm & case=gen), Y(wordcl=nn & num=sin & spec=def) --> corr(smart_concat(smart_concat(toupper(x.substr(0,1)),x.substr(1,x.len gth)), Y.real_text)) action(scrutinizing) jump(sär_slut, 1) 15 Även andra bitransitiva verb finns med i den senaste versionen av regeln. 85
94 Kapitel 4. Detektion av särskrivna sammansättningar } Det är betydligt svårare att detektera särskrivningar med egennamn i nominativ som förled, t.ex. Hon kände sig trött på Sahlin affären och tog en Toblerone och Jag har varit nöjd med Trapper kanoten i flera dagar. Dessa konstruktioner påminner mycket mer om korrekta konstruktioner som t.ex. Ser Sahlin affären som säljer Toblerone? Även för dessa regler gäller det att om förledet föregås av en determinerare eller possessivattribut kan man utnyttja kongruens. Ett exempel på det skulle vara En Zorn tavla har blivit stulen, där en och tavla kongruerar. Imperativ som förled Denna regel kan ses som något av en motsägelse. Uppgiften är att detektera förled som har taggats som imperativ följt av ett substantiv; förledet bör dock inte fungera som ett verb i imperativ i satsen. Regeln försöker utesluta de fall där förledet verkligen fungerar som imperativ och istället detektera de konstruktioner där imperativtolkningen endast baseras på morfologiska grunder. Att undgå imperativens verkliga syntaktiska funktion i satsen innebär att satsen inte får inledas med en imperativ (sed=sen) och inte avslutas med ett utropstecken, det är grundvillkoren för regeln nedan. Det gäller att skilja ut särskrivningen rid huset från den korrekta satsen konstruktionen i Riv huset sa mannen och gick därifrån. Regeln kräver att särskrivningen föregås av åtminstone ett ord; detta innebär att om satsen inleds med en särskrivning kommer den inte att kunna detekteras. Satsen Rid huset blev en dyr historia för klubben passerar obemärkt förbi medan reglerna detekterar För klubben blev rid huset en dyr historia. Man skulle kunna räkna antalet finita verb i satsen; men det kan ändå vara svårt att sluta sig till att det felet beror på en särskrivning. särimp_nn@sär { V(sed!=sen & text!=":"), X(wordcl=vb & vbf=imp &!E(lex.vbf=inf)), Y(wordcl=nn & spell_ok(smart_concat(x.real_text, real_text), X.token)), Y2()+, Z2(sed=sen & extra!=exc) --> corr(smart_concat(x.text, Y.text) Y2 Z2) info("felaktig särskrivning")% "Regel under konstruktion") action(scrutinizing) jump(sär_slut, 2) 86
95 Regler för detektion av särskrivna sammansättningar } Regler för särskrivna adjektiv Följande regel utnyttjar nominalfrasens struktur, det vill säga att det är relativt ovanligt med ett obestämt substantiv i nominativ mellan ett adjektiv och ett substantiv. Dessutom illustrerar regeln hur information från tokeniseraren (token) och ändelsematchning (substr) används för att eliminera falska alarm. sär6nn_jj@sär { X1(wordcl=dt), X2(wordcl=ab)?, X3(wordcl=jj wordcl=pc)*, X4(wordcl=nn & (num=sin (gender=neu & num=plu & E(lex.num=sin))) & spec=ind & case=nom & nntype!=dat & (token=token_word token=token_simple_word)), X5((wordcl=jj wordcl=pc) & (endok X4.text="jätte") &!is_cap & (token=token_word token=token_simple_word token=token_split_word) & substr(length-4, 4)!="ande" & substr(length-2, 2)!="ad" & substr(length-2, 2)!="at" & substr(length-3, 3)!="ade" & substr(length-3,3)!="ende"), X6(wordcl=nn & spell_ok(smart_concat(x4.real_text, X5.real_text), X4.token)) --> mark(all) corr(x4.join(x5.real_text)) action(scrutinizing) jump(sär_slut, 3) } 87
96 Kapitel 4. Detektion av särskrivna sammansättningar 88
97 Regler för detektion av särskrivna sammansättningar 5. Inkongruens i nominalfraser Inkongruens i nominalfrasen tillhör den internationella feltypen Agreement errors, och det finns begränsade motsvarigheter i engelskan (se t.ex. Critique, Jensen et al, 1993), medan mer överensstämmande feltypsmönster finns i t.ex. tyska och holländska (Vosse, 1994). Det finns flera anledningar till att angripa inkongruens i svenska nominalfraser; den första kan faktiskt vara att flera andra system försöker komma åt feltypen med olika medel utan att lyckas fullt ut. En andra anledning är att feltypen är ganska frekvent och finns rapporterad i undersökningen Gymnasistsvenska (Hultman & Westman, 1977). En tredje anledning som också avspeglas av antalet system som försöker sig på feltypen är att den är möjlig att detektera utan att systemet behöver analysera hela meningen, vilket t.ex. Knutsson (1996) visade. Ytterligare en anledning till att flera system ger sig på kongruensfel kan vara att svenskans kongruenssystem är väl undersökt, kanske mest omfattande av Källström (1993). Svenska Akademiens grammatik, SAG (Teleman et al, 1999) ägnar cirka 200 sidor åt den svenska nominalfrasen och kongruens är en central mekanism inom den svenska nominalfrasen. Framförallt SAG belyser många undantag som är viktiga för undvikande av falska alarm. Jag har främst använt mig av Källström (op. cit) och SAG för faktainsamlingen till detta kapitel. Initialt användes också Thorells Svensk grammatik (Thorell, 1977), men den blev delvis överflödig när SAG kom. När det gäller inkongruens finns det mindre läsning att tillgå; i SAG finns det små glimtar om hur språkvårdarna ställer sig till kniviga fall, t.ex. valet mellan grammatisk och semantisk kongruens. 16 Dessa har givetvis varit mycket värdefulla; inte minst har de varit nyttiga i själva arbetet med reglerna. Det är viktigt att kunna förklara för användarna hur språkvårdarna ställer sig till en tvivelaktig konstruktion. Tyvärr saknas det någon omfattande beskrivning av olika feltyper i nusvenskan, istället får man delvis förlita sig på SAG, Hultmans och Westmans Gymnasistsvenska och Wellanders Riktig svenska (Wellander, 1973). Wellander (op. cit) uppmärksammar kongruensproblematiken i ett avsnitt, fast inte riktigt samma feltyper som är relevanta idag. Inom ramen för forskningen kring språkgranskningsprogram för svenska uppmärksammar Domeij (1994) att antalet kongruensfel ökar i svenskan. Domeij (op. cit) föreslår att denna feltyp skall detekteras med frasstrukturella metoder. En begränsad implementation görs av Knutsson (1996); denna bygger på regler i Prolog och morfologiskt taggad text från Swetwol (Karlsson, 1992) och morfologiskt disambiguerad text från en svensk version av XPOST (Cutting et al, 1992). Knutsson (op. cit) rapporterar lovande resultat och föreslår bl.a. att texterna bör entydiggöras på en morfosyntaktisk nivå, för att minska antalet falska alarm. 16 Inkongruens i predikativ verkar dock ha varit ett hetare ämne inom språkforskningen, se vidare i kapitel 6. 89
98 Kapitel 5. Inkongruens i nominalfraser Inkongruens som feltyp fanns som en följd av detta arbete med i en tidig version av Granska (Domeij et al, 1998), dock utan någon metod för att entydiggöra orden, vilket medförde många falska alarm. Inkongruens i nominalfrasen verkar vara den mest populära feltypen bland grammatikkontroller för svenska. Grammatifix (Birn, 2000) hanterar flera olika typer av inkongruenser; Scarrie (Sågvall-Hein, 1998) detekterar också inkongruens. Forskargruppen vid Institutionen för lingvistik vid Göteborgs Universitet (Andersson et al 1999) har också koncentrerat sig på kongruensfel inom nominalfrasen, då detta är en feltyp som lämpar sig för deras metod. Kongruens är också intressant för program som stödjer andraspråkinlärning. Kongruens är svårinlärt enligt Källström (op. cit) vilket medför att feltypen är viktig även i detta sammanhang. Detta stämmer bra med en undersökning av andraspåksinlärarnas språkliga fel (Öhrman, 2000). Inkongruens i nominalfrasen är en stor felkategori hos dessa. Detta kapitel handlar om inkongruens i nominalfraser, men först är det befogat att ge en överblick över den prototypiska kongruensen i enkla svenska nominalfraser, vilket görs i tabell
99 Regler för detektion av särskrivna sammansättningar Artikel/possessiv Adjektiv Substantiv Särdragsvärden En röd villa genus=utrum, numerus=singularis, species=indefinit Någon röd villa genus=utrum, numerus=singularis, species=indefinit Den röda villa (som ligger vid sjön) genus=utrum, numerus=singularis, species=definit Min röda villa genus=utrum, numerus=singularis, species=definit Den röda villan genus=utrum, numerus=singularis, species=definit Några röda villor genus=utrum, numerus=pluralis, species=indefinit Mina röda villor genus=utrum, numerus=pluralis, species=indefinit De röda villorna genus=utrum, numerus=pluralis, species=definit Tabell 5.1. Prototypisk kongruens i nominalfrasen. Särdragsvärden anges för hela nominalfrasen, enskilda konstituenter kan ha avvikande särdragsvärden, se vidare avsnitt Inkongruens i nominalfraser är ett svårare problem att lösa för en grammatikkontroll än det kan tyckas vara vid en första anblick. Det är enkelt att inse att en liten bil är en korrekt nominalfras medan ett liten bil är en felaktig nominalfras. Dessa två enkla exempel åskådliggör feltypen på ett bra sätt, men är missvisande vad det gäller problematiken kring feltypen. Det finns flera faktorer som bidrar till detta. För det första råder inte enbart grammatisk kongruens i nominalfrasen utan också i vissa fall semantisk 17, och dessa två står i vissa fall emot varandra. Här finns det 17 Källström (1993) anser det vara rimligt att tala om semantisk kongruens, kongruens är dock en grammatisk företeelse, eftersom det handlar om böjning. 91
100 Kapitel 5. Inkongruens i nominalfraser en svår gräns för ett språkgranskningsprogram: vad skall signaleras som ett fel och vilka konstruktioner skall passera? Det är rimligt att ett språkgranskningsprogram i dessa fall försöker följa de riktlinjer som har dragits upp av en majoritet av språkvårdare. Om valet mellan grammatisk och semantisk kongruens är alltför otydligt bör inte granskningsprogrammet reagera alls. Nominalfraser som är uppbyggda med predikativa attribut är ett exempel på konstruktioner med olika regler för grammatisk och semantisk kongruens i numerus och genus. Det är till exempel ofta inte helt klart om det heter Vi lämnade statsrådet ensamt eller Vi lämnade statsrådet ensam. Skriver man statsrådet ensamt följer man grammatisk kongruens, eftersom ensamt böjs efter statsrådets grammatiska genus som är neutrum. Skriver man statsrådet ensam följer man semantisk kongruens eftersom man då ser statsrådet som en person med genus i utrum. För det andra finns det många undantag då kongruens inte behöver råda för att konstruktionen skall anses korrekt, t.ex. Jag kan utan den största ansträngning åstadkomma många falska alarm, där den är en determinerare i bestämd form och ansträngning är ett substantiv i obestämd form, således skulle denna konstruktion kunna tolkas som inkongruens mellan determinerare och substantiv. Det finns många andra konstruktioner där reglerna för kongruens delvis är satta ur spel, några av dessa fall presenteras i den följande texten. En tredje grupp är den där inkongruensen inte kan lösas på strikt lokal nivå utan flera nominalfraser på en gång måste analyseras, det gäller t.ex. olika framförställda nominalfraser som ingår i en större nominalfras. Ett exempel på en sådan är Statsministern samtalade ofta med ett gatans parlament för att hitta lösningar, där ett och gatans på en lokal nivå inte är kongruenta i genus och species. Det är istället ett och parlament som skall kongruera i denna konstruktion. Det kan verka tveksamt att denna typ av konstruktion överhuvudtaget skulle kunna betraktas som felaktig, men granskningsreglerna i Granska är mycket generella och relativt få till antalet, vilket innebär att specialkonstruktioner i första hand hanteras med accepterande regler och inte direkt i felreglerna. Programmet skall släppa igenom konstruktioner som den ovan men upptäcka fel av typen ett mannens bil. Reglerna måste därför bindas ihop till ett finmaskigt nät som kan skilja ut de felaktiga konstruktionerna ur den stora mängden av korrekta konstruktioner. Den övergripande strategin vid regelkonstruktionen har varit att fånga upp de konstruktioner som åtminstone lokalt skulle kunna anses vara felaktiga men med lite större kontext är korrekta med accepterande regler. Själva felreglerna kan därmed hållas relativt generella och blir inte oläsliga med alla specialfall och undantag som förekommer i svenska språket. 92
101 Felaktiga nominalfrasers uppbyggnad 5.1 Felaktiga nominalfrasers uppbyggnad Inkongruens i svenska nominalfraser I den följande presentationen kommer inkongruensen att presenteras i tre olika delar, ett avsnitt för varje särdragsklass, det vill säga genus, numerus och species. Det finns ytterligare en kongruenskategori, nämligen sexus som främst är manifesterad av maskulina former hos adjektiv och några determinerare. Kategorin med maskulinum är klart begränsad. De tre kongruenskategorierna som presenteras mer utförligt följer SAG:s presentation av kongruens. Ur ett användarperspektiv är det dock inte lämpligt att dela upp analysen i tre delar. Detta beror framförallt på att ersättningsförslagen är mycket viktiga för användarna. Om ett fel i användarens ögon detekteras och presenteras som tre fel (ett fel för varje särdragsklass, i det här fallet kongruenskategori), kan det bli svårt för användaren att ta till sig diagnosen och ersättningsförslaget. Att ett fel kan detekteras som flera fel beror på att inkongruensen i vissa fall består av fel i flera olika särdrag (genus, numerus, species och ev. sexus). Ta till exempel frasen det lilla villor, där det och villa är inkongruenta i såväl genus, numerus som species. Dels är det förvirrande för användaren att få ett ersättningsförslag som i vissa fall endast korrigerar en tredjedel av felet (t.ex. förslaget den lilla villor), vilket innebär att ersättningsförslaget kan vara direkt felaktigt, och dels är det kanske än mer frustrerande att ersättningsförslaget kommer att ge ytterligare alarm och ersättningsförslag. Jag vill därför hävda att inkongruens inte kan delas upp i olika delar ur ett användarperspektiv. Detta medför att fel med avvikelser i flera särdrag skall presenteras som ett fel med en diagnos och med ersättningsförslag som tar hänsyn till samtliga särdrag. En regel som klarar detta måste därför skrivas generellare och med ett mer omfattande och komplicerat maskineri för genereringen av ersättningsförslag. Granskas regelspråk är objektorienterat och detta medför att det är relativt enkelt och tydligt att hantera multipla fel. Det generellare anslaget medför dock större risker för falska alarm eftersom en generell regel ökar sannolikheten för att också undantag fångas in. Ett tydligt exempel är vad som är rätt eller fel i species, jämför Jag såg den lilla man igår och Jag såg den lilla man som försvann igår. Den första meningen innehåller ett fel i species medan den andra meningen med samma fraskonstruktion är korrekt. Misstänkta fel i species kräver i större utsträckning att kontexten kring felområdet också måste analyseras. Detta gör att beskrivningen av speciesfel blir mindre generell, men kan likväl inte separeras från fel i genus och numerus om vi påminner oss hur felet det lilla villor skall korrigeras. Ett av syftena med det här avsnittet är att ge en beskrivning av de nominalfraser som innehåller kongruens och därmed möjligheter till inkongruens. Ett annat syfte är att visa hur konstruktioner som bryter mot gällande regler för kongruens ser ut 93
102 Kapitel 5. Inkongruens i nominalfraser och därmed utgör potentiella kandidater till såväl falska alarm som missade fel. Inkongruens inom frasen berör följande typer av nominalfraser: kärnnominalfraser (minimala) med substantiv eller egennamn som huvudord, samt med framförställda attribut, till exempel de nya cykeln. nominalfraser utan substantiv eller egennamn som huvudord, till exempel inga andra sakkunnig. substantiv med predikativt attribut, till exempel två säckar fylld med äpplen. nominalfras med partitivt attribut, till exempel en av de främsta länderna. nominalfraser med genitivattribut, till exempel mannens gul cykel Numerusinkongruens Numerusinkongruens innebär att attribut, främst determinerare och adjektiv, är inkongruenta vad gäller numerus i nominalfrasen (se tabell 5.2). Men även räkneord kan vara inkongruenta med övriga konstituenter i nominalfrasen, till exempel tre små gris. Det finns också möjligheter till inkongruens med efterställda attribut, främst i predikativa attribut, till exempel en säck fyllda med äpplen, där säck och fyllda är inkongruenta. Det är möjligt att konstruera en mängd olika felvarianter endast med ett felaktigt numerusvärde, och om dessutom olika kombinationer av särdragsfel kan samverka så finns det en stor mängd felrealiseringar. I tabell 5.2 nedan presenteras först SAG:s exempel på numeruskongruenta nominalfraser och därefter följer exempel på hur motsvarande feltyp kan se ut. 94
103 Felaktiga nominalfrasers uppbyggnad Klassificering Korrekt konstruktion Felaktig konstruktion Enkla nominalfraser med substantiv som huvudord Nominalfras utan substantiv och egennamn Nominalfraser med egennamn Predikativt attribut Partitivt attribut, existerar numeruskongruens? ingen annan sådan inbunden bok den boken dessa cyklar den nya cykeln min egen bok ingen annan sakkunnig den ljuva Lena pojken ensam jag ensam en säck fylld med äpplen en av cyklarna Tabell 5.2. Numerusinkongruens i svenska nominalfraser ingen andra sådana inbundna böcker de boken dessa cykel de nya cykeln mina egen böcker inga andra sakkunnig de ljuva Lena pojkarna ensam vi ensam två säckar fylld med äpplen en av cykeln Genusinkongruens Genusinkongruens i nominalfrasen uppstår när ett eller flera ord inte stämmer överens när det gäller genus (se tabell 5.3). Det går inte att böja substantiven efter genus i svenskan och det är därför rimligt att anta att substantivet inte är fel i en genusinkongruent nominalfras. 95
104 Kapitel 5. Inkongruens i nominalfraser Klassificering Korrekt konstruktion Felaktig konstruktion Enkla nominalfraser med substantiv som huvudord ingen annan sådan fin bok det häftet min egen bok ett annat nytt lok detta lok den nya boken inget annan sådan fin bok den häftet mitt egen bok en annat nytt lok detta loket det nya boken Nominalfras utan substantiv och egennamn ingen annan skattepliktig inget annan skattepliktig Nominalfraser med egennamn Predikativt attribut den vackra Elbe kassören ensam ett häfte fullt av bilder det vackra Elbe kassören ensamt ett häfte full av bilder Partitivt attribut en av världens brantaste backar Tabell 5.3. Genusinkongruens i svenska nominalfraser ett av världens brantaste backar Speciesinkongruens I SAG verkar man något tveksam till att kalla samspelet i nominalfrasen när det gäller species för kongruens, Källström verkar dock mer säker på detta. SAGs tvekan kan förstås när man t.ex. betraktar de korrekta konstruktionerna den lilla flickan och den lilla flicka som. I det första fallet stämmer särdragsvärdena överens mellan huvudordet flickan och attributen den lilla. I det andra fallet stämmer inte särdragsvärden överens när det gäller species; om attributen är i bestämd form måste huvudordet vara i obestämd form för att konstruktionen skall vara korrekt. Några undantag är t.ex. den helige ande och den heliga skrift, där substantivet skall vara i obestämd form utan att frasen följs av en relativ bisats. I tabell 5.4 presenteras några olika fall av speciesinkongruens. 96
105 Felaktiga nominalfrasers uppbyggnad Klassificering Korrekt konstruktion Felaktig konstruktion Enkla nominalfraser med substantiv som huvudord lilla flickan den lilla flickan den lilla flicka som den där lilla flickan denna lilla flicka hans lilla flicka liten flickan den liten flickan den lilla flicka. den där liten flickan denna lilla flickan hans lilla flickan Nominalfras utan substantiv och egennamn den gröna en gröna Nominalfraser med egennamn Nominalfras med en nominalfras i genitiv som framförställt attribut den ljuva Lena mannens gula cykel tre veckors underbar semester den ljuv Lena mannens gul cykel tre veckors underbara semester Partitivt attribut, existerar specieskongruens? många av cyklarna Tabell 5.4. Speciesinkongruens i svenska nominalfraser många av cyklar? Enkla nominalfraser med substantiv som huvudord Det är svårt att lägga fram några statistiska belägg för frekvensen hos olika feltyper, men inkongruens i nominalfraser med ett eller flera framförställda attribut, framförallt determinerare och adjektiv, verkar vara en vanlig feltyp. En undersökning av hur denna feltyp realiseras och vilka särdrag som avviker, har genomförts av (Domeij, 1998). Domeij (op. cit) finner att det i de flesta fall endast är ett särdrag som avviker i denna feltyp. Enkla nominalfraser bjuder på en hel del intressanta undantag som måste hanteras för att inte alltför många falska alarm skall uppstå. Undantagen och undvikandet av falska alarm är den ena sidan av myntet, medan den andra sidan av myntet är att undantagen medför att det blir svårare att upptäcka sådant som är fel. De två meningarna Den lilla flicka som står där borta och Boken tillhörde den lilla flicka illustrerar konflikten. Ett språkgranskningsprogram måste godkänna den lilla flicka om den följs av t.ex. som eller en nominalfras, samtidigt som programmet skall hitta fel av typen den lilla flicka i en annan kontext. Dessa konstruktioner hanteras av en uppsättning accepterande regler som har vuxit fram under arbetets gång. 97
106 Kapitel 5. Inkongruens i nominalfraser Det finns också andra konstruktioner där särskild hänsyn måste tas, det gäller t.ex. attribut i maskulinum som kräver att också övriga adjektivattribut står i maskulinum, till exempel Jag såg den siste danska polisen igår. Ett attribut i maskulinum kräver också att substantivet är av maskulint kön. Någon sådan information finns dock inte i Granskas lexikon, så för att kunna godkänna den glade pojken måste också den glade flickan godkännas. Däremot upptäcker Granska det glade fruntimret eftersom maskulina ord inte kongruerar med ord i neutrum. Informationen i Granskas lexikon är begränsad och detta medför att reglerna är chanslösa vid vissa typer av fel, och då måste en rad fel godkännas. Ett problem som redan har nämnts är när en nominalfras i genitiv fungerar som framförställt attribut till ett substantiv och där determineraren inte bestämmer det första substantivet utan det andra. Två bra exempel på detta är Vi har kommit till ett småföretagens skatteparadis och Jag var ute på ett tre dagars officiellt besök sa han. Det finns såväl semantiska som grammatiska krav på konstruktioner av denna typ, men det är endast kravet på grammatisk kongruens som kan utnyttjas av de accepterande reglerna; det går inte att säga ett småföretagens skattedröm och inte heller ett småföretagens skattelättnad, då ett inte kongruerar med vare sig skattedröm eller skattelättnad. Adjektiv i komparativ och i superlativ medför också att vissa konstruktioner måste undantas från granskningsreglerna Nominalfras med en nominalfras i genitiv som framförställt attribut En nominalfras med en nominalfras i genitiv som framförställt attribut fungerar i vissa fall som konstruktioner med possessivt attribut. Jag väljer därför att beskriva dessa konstruktioner som bryter mot regeln att huvudordet skall stå i obestämd form inom ramen för inkongruens. Några korrekta konstruktioner är t.ex. den gamla damens käpp och mannens röda halsduk. De felaktiga motsvarigheterna är den gamla damens käppen och mannens röda halsduken. Adjektivet som föregår huvudordet skall i dessa konstruktioner stå i bestämd form. Nominalfrasen i genitiv kan också fungera som ett deskriptivt genitivattribut och då skall huvudordet också stå i obestämd form, men till skillnad från när nominalfrasen i genitiv fungerade som ett possessivattribut skall adjektivet stå i obestämd form. Två exempel på detta är en två veckors intensiv fjällvandring och på tre meters långt avstånd. De felaktiga motsvarigheterna blir en två veckors intensiva fjällvandring och på tre meters långa avstånd. Deskriptiva genitivattribut förekommer i tre typer av nominalfraser, enligt SAG: 1. Det deskriptiva genitivattributet har som huvudord sort, slag, klass eller rang. De två senare endast i bestämd form. Ett exempel för varje ord är en sorts murmeldjur, något slags förtäring, en första klassens passning, en första rangens pist. 98
107 Felaktiga nominalfrasers uppbyggnad 2. Den överordnade nominalfrasens huvudord betecknar en skala och genitivfrasen anger ett värde på skalan. Två exempel är de som följer: Båten ligger på 2 meters djup och Den fungerar inte i 40 graders tropisk hetta. 3. Den överordnade nominalfrasens huvudord anger ett tillstånd eller en process; genitivfrasen anger utsträckning i tid. Två exempel är ett tre timmars långt utförsåk och en tre veckors Sarekvandring. Genitivfrasen kan också ange mätvärden: en tre månaders vital baby och ett tusen meters högt berg. Skillnaden ur ett ordböjningsperspektiv mellan genitivfrasen som fungerar som possessivattribut och genitivfrasen som fungerar som ett deskriptivt attribut var att adjektivet skulle stå i bestämd form respektive obestämd form. För att komma åt felaktiga adjektiv måste det finnas regler som separerar genitivfrasens två funktioner. De deskriptiva genitivattributen verkar möjliga att identifiera med regler utifrån de tre krav som SAG slår fast enligt ovan. När det gäller deskriptiva attribut i bestämd form låter många språkbrukare, enligt SAG, det efterföljande adjektivet stå i bestämd form och därför bör kanske dessa konstruktioner helt undantas från granskning Nominalfras utan substantiv eller egennamn Nominalfraser utan substantiv eller egennamn där adjektivet utgör huvudordet i frasen kan också innehålla inkongruens. En del adjektiv har använts så många gånger som substantiv att de har blivit lexikaliserade med tolkningen substantiv i lexikon. Men det finns många adjektiv kvar som måste hanteras med speciella regler. Några exempel på denna feltyp är Vi har inga andra sakkunnig att tillgå och Han längtade efter någon nytt att ta tag i Nominalfraser med egennamn Egennamn är svåra att kategorisera när det gäller inkongruens. Numerusmarkör för egennamn finns, -s, men den är svår att särskilja från genitivmarkören. I exemplet Svenssons katt vet man inte om Svenssons är singular eller plural. Man kanske kan tro att det är enklare att bestämma egennamnens genus, men så är det inte: personnamn kan ofta anses vara i utrum den ljuva Lena, ortsnamn i neutrum det vackra Stockholm. Men många geografiska egennamn personifieras och byter då till utrum alternativt maskulinum, till exempel den väldige Elbe. Egennamnens genus följer fler semantiska mönster än substantiven (Källström, 1993). Det är möjligt att detektera fel i species om kontextuell information finns, t.ex. det vackert Stockholm, där det avslöjar att adjektivet bör ha bestämd form. För detektion av inkongruens i övriga särdragsklasser krävs det dock mer omfattande lexikal information än Granska har tillgång till. 99
108 Kapitel 5. Inkongruens i nominalfraser Predikativt attribut Predikativt attribut kallas adjektiv- eller participfraser som är efterställda attribut till en nominalfras, till exempel Mannen såg en kista full med guld, där full är det predikativa attributet som kongruerar med nominalfrasens huvudord kista i genus och numerus. Eftersom det inte finns någon specieskongruens bör reglerna hanterar fel där skribenten har utgått ifrån att specieskongruensen faktiskt existerar. I meningen Kvinnan såg kistan fulla med guld, uppstår en felaktig markering av kongruens som bör detekteras av granskningsreglerna. Predikativa attribut är svåra för en grammatikkontroll eftersom det inte är helt uppenbart vad som anses rätt eller fel. För predikativa attribut gäller i vissa fall semantisk kongruens, i vissa fall grammatisk kongruens; enligt SAG rekommenderar språkvårdare grammatisk kongruens istället för semantisk kongruens vid numeruskongruens. Det bör heta Regeringen själv ville inte ta beslutet och inte Regeringen själva ville inte ta beslutet. Vid genuskongruens verkar det mer oklart om det är semantisk eller grammatisk kongruens som är språkriktigast. Enligt SAG kan man säga såväl statsrådet själv som statsrådet självt. På grund av dessa oklarheter finns endast inkongruens i numerus implementerad i reglerna för predikativt attribut. Det behövs mer lexikal information för att lösa upp den semantiska kongruensen. Programmet måste kunna avgöra om substantivet är en animat, vilket medför att adjektivet skall vara i utrum som ensam i Jag lämnade pojken ensam och om substantivet är dividuativt skall adjektivet vara i neutrum som ensamt i Guld ensamt räcker inte som betalning. 18 Enligt SAG (sid 88, band 3) är det vanligt att predikativt attribut följs av efterställda bestämningar eller ingår i samordningar. Detta kan utnyttjas i reglerna för en säker identifikation av predikativa attribut Partitiva attribut Prepositionsattributet av bildar tillsammans med ett kvantitetsattribut eller ett annat framförställt attribut och en underordnad nominalfras en konstruktion där kongruens råder mellan den överordnade nominalfrasen (det framförställda attributet) och den underordnade nominalfrasen. Ett exempel på konstruktionen är den andra cykeln av cyklarna är min. Den underordnade NP:n utgörs av cyklarna och den överordnade utgörs av den andra cykeln. Huvudordet i den överordnade utelämnas ofta och hela frasen kan skrivas den andra av cyklarna är min. Denna konstruktion bör kunna medföra fall av inkongruens då distansen mellan 18 Det skulle vara intressant att detektera de konstruktioner som blir felaktiga om skribenten undviker predikativt attribut, t.ex. SAGs två exempel * en att umgås med folk van akademiker och * en van akademiker att umgås med folk och istället föreslå en akademiker van att umgås med folk. Detta är dock ett svårare problem än att detektera kongruens. 100
109 Felaktiga nominalfrasers uppbyggnad determineraren den i den överordnade nominalfrasen och den underordnade nominalfrasen cyklarna är förhållandevis lång, vilket bör kunna ställa till det för skribenten. Partitiva attribut är inte förskonade från avvikelser från det generella kongruensmönstret och återigen är det semantisk kongruens som försvårar regelskrivandet. Semantisk kongruens kan tillämpas vid personbeteckningar, till exempel en av statsråden och Paul Weller är en av undantagen. Språkvårdare (enligt SAG) rekommenderar dock grammatisk kongruens. Vid dividuativ gäller dock endast semantisk kongruens, till exempel något av grädden och Prodigy har något av punkens spretiga stil. I Granskas lexikon saknas information om huruvida substantiven är dividuativa eller inte, vilket medför att endast ett fåtal av de möjliga pronomen som kan tänkas ingå i en nominalfras matchas av granskningsreglerna Några intressanta specialfall Det finns många undantag som bryter mot kongruensreglerna för nominalfrasen och det intressanta med dessa är inte enbart att de orsakar falska alarm utan att avvikelser från undantagen kräver specialregler. Det behövs med andra ord regler som hittar fel i användningen av undantagen. Det kan tyckas underligt att lägga ner mycket kraft på några få undantag, men det finns åtminstone två bra skäl till att göra det. Det första skälet är att undantagen ofta är svåra för skribenten att hålla reda på. Ett språkgranskningsprogram som hanterar undantagen på ett tillförlitligt sätt bör bli uppskattat av användarna. Det andra skälet är att om undantagen är frekventa skapar de många irriterande falska alarm. Substantiven slags och sorts bjuder till exempel på en rad intressanta tolkningar. Orden slags och sorts kan fungera som ett slags oböjliga adjektiv och det föregående kvantitativa pronomenet kongruensböjs efter hela nominalfrasens huvudord (i singularis), en slags filt, ett slags täcke, en sorts filt, ett sorts täcke. Några former har lexikaliserats som t.ex. en slags och någon slags och förekommer också vid substantiv i neutrum i singularis och vid plurala substantiv. Enligt SAG rekommenderar språkvårdare att det kvantitativa pronomenet kongruensböjs efter genus hos slag och sort. Som substantiv: ett slags slutlig upplevelse och någon sorts allvarlig sinnessjukdom Som oböjligt adjektiv: en slags ost eller ett slags ost Orden egen och enda utgör två andra intressanta exempel på avvikelser från böjningsmönstret. Ordet egen avviker genom att stå i obestämd form efter possessivattribut, jämför min egen dator med min gamla dator; detta medför att min egna dator skall detekteras som ett fel. Ordet enda används i både indefinit och definit fras, det heter en enda macka och den enda mackan. Orden samma och nästa visar på ytterligare avvikelser och används endast i definita nominalfraser 101
110 Kapitel 5. Inkongruens i nominalfraser och avvikelser från detta hanteras av specialregler för enkelhets skull. Några exempel på fel med nästa och samma är samma svenska cykeln och nästa sjuk person Frasens särdragsvärden och val av ersättningsförslag Den konstituent som bestämmer frasens kongruerande särdragsvärden brukar kallas för frasens kongruenskontrollör. Vilken konstituent som är kongruenskontrollören är en fråga som flera forskare har ägnat sig åt. Källström (1993) menar att det är hela nominalfrasen som är nominalfrasens kongruenskontrollör och inte enbart substantivet. Källströms (op. cit) teori passar väl in ett språkgranskningssammanhang. För ett granskningsprogram blir kongruenskontrollören viktig när en diagnos och ett ersättningsförslag skall presenteras för användaren. Om kongruenskontrollören är känd, kan programmet utgå ifrån denna konstituent när en diagnos ställs eller när ett förslag presenteras. Om vi utgår ifrån att substantivet är nominalfrasens kongruenskontrollör för genus, eftersom substantiven är oböjliga i genus, blir diagnosen att övriga konstituenter avviker i genus och dessa bör skrivas så att de följer substantivets genus. När det gäller species måste hela frasens morfosyntaktiska species betraktas för att programmet skall ge ett bra ersättningsförslag. I frasen den gamle mannen, överensstämmer substantivets species med frasens species som är definit, men i frasen min lilla katt är substantivet i indefinit form medan hela frasen är definit. Vid species uppstår två huvudfall: det första fallet består av framförställda attribut av typen possessiv, artiklar som denna och genitivattribut som mannens. Det andra fallet består av determinerare som en och den. I det första fallet kan inte attributet bytas ut utan att lemmat ändras, vilket medför att substantivet måste ändras. Ett ersättningsförslag till den felaktiga frasen min lilla bilen blir min lilla bil eller möjligen det aningen långsökta förslaget mina små bilar, några andra förslag är inte möjliga utan att byta possessivet mot ett ord från en annan ordklass. Att föreslå ett alternativt ord till possessivet går inte utan att veta vad skribenten egentligen avsett. I det andra fallet finns det två olika förslag, antingen byts substantivet ut eller så byts attributen ut. Om den felaktiga frasen är den lilla bil, bör kanske det första förslaget vara den lilla bilen och det andra förslaget vara en liten bil. Editeringsavståndet är mindre till den lilla bilen, men det är fullt möjligt att skribenten har ändrat endast substantivet och glömt att ändra de övriga attributen och därmed är en liten bil ett bra förslag. Om avvikelsen berör numerus bör ändringar av såväl substantiv som attribut föreslås som förslag. Om den felaktiga frasen är min gamla bilar, bör förslagen bli mina gamla bilar och min gamla bil. Båda förslagen är egentligen lika troliga. 102
111 Regler för detektion av inkongruenta nominalfraser 5.2 Regler för detektion av inkongruenta nominalfraser I föregående avsnitt presenterades ett antal exempel på svårigheterna med att upptäcka inkongruens inom nominalfrasen. Det föregående avsnittet innehöll många exempel på avvikelser, undantag och allmänna svårigheter. Detta avsnitt syftar till att presentera dels hur de flesta normala fall av inkongruens detekteras, diagnostiseras och korrigeras och dels hur undantag och avvikelser hanteras i granskningsreglerna. Granskningsreglerna skall inte enbart hantera problem givna av språkets natur utan även hantera Granskas lexikala tillkortakommanden och taggdisambigueringens svårigheter. Innan vi ger oss i kast med granskningreglerna som skall upptäcka fel visar vi hur de accepterande reglerna hanterar såväl språkliga avvikelser som svårigheter i taggningen Accepterande regler Regelsamlingen innehåller en uppsättning accepterande regler för i stort sett varje feltyp. Dessa är av olika art: en del täcker något enskilt falskt alarm, medan andra täcker långa konstruktioner, ibland upp till hela satser. Accepterande regler är ett effektivt och elegant sätt att eliminera falska alarm En accepterande regel som hanterar specialfall En nominalfras i genitiv som framförställt attribut, kan vid en mycket lokal analys ge upphov till falska alarm. Granskningsreglerna är mycket generellt skrivna och skiljer till exempel inte mellan olika determinerare som ett och det. Vissa fall är dock denna skillnad viktig och nedan visas hur en accepterande regel hanterar konstruktioner med determinerarna ett och en. I meningen Statsministern hade gjort ett tre dagars officiellt besök i Finland, verkar det inte rimligt att ett determinerar substantivet besök, men i en annan konstruktion till exempel det senaste tre dagarnas officiella besök var mycket givande är det rimligt att det bestämmer dagarnas. Regeln utnyttjar att determineraren (X1) inte kongruerar med det första substantivet (X3), men att det kongruerar med det andra substantivet i konstruktionen (X6). Regeln utnyttjar också att genitivfrasen anger ett värde på en skala eller en utsträckning i tid, detta görs med X2 som matchar ett räkneord (wordcl=rg). kongaccgenattr@kong { X1(wordcl=dt & (text="ett" text="en")), X2(wordcl=rg), X3(wordcl=nn & case=gen & (gender!=x1.gender num!=x1.num)), X4(wordcl=ab)?, X5(wordcl=jj)*, X6(wordcl=nn & gender=x1.gender & num=x1.num & spec=x1.spec) --> 103
112 Kapitel 5. Inkongruens i nominalfraser } jump(slut_kong_extra, 3 + X4.no_of_tokens + X5.no_of_tokens) action(accepting) En regel som korrigerar felaktig taggning och eliminerar falska alarm I vissa fall tilldelas orden en icke-förväntad taggning av taggaren. Ett svårt problem för taggaren är att välja rätt mellan självständigt pronomen som ensamt utgör en nominalfras och en determinerare som inleder en nominalfras. Det är sedan tidigare känt att detta problem för svensk taggning uppstår (Knutsson, 1996; Källgren 1996). Den accepterande regeln nedan fångar upp konstruktioner från satsgränsen som kan inledas med ett adverbial och därefter följas av ett finit verb, t.ex. I morse utlöste den nya hot mot lokalbefolkningen. Utan den accepterande regeln uppstår falska alarm som signalerar att den inte kongruerar med hot. Efter det finita verbet kommer den icke-förväntade taggningen determinerare (dt) istället för pronomen (pn), än så länge gäller det endast för den, det och alla. En mängd körningar mot en testkorpus visar att det är dessa pronomen som oftast taggas fel och är en källa till falska alarm. Regeln bygger på antagandet att om det inte finns ett subjekt/objekt i fundamentet så är det troligt att subjektet finns i direkt anslutning till det finita verbet. Genom att använda hjälpregeln Clause_del för att detektera satsgränsen blir regeln ganska finkänslig, och de fall där taggaren verkligen har gjort rätt slängs visserligen bort men de bör inte vara alltför frekventa. Granska kommer att missa konstruktioner med intranstiva verb: I morse sov det gamla mannen längre än han hade tänkt sig. Regeln som har konstruerats är ganska snäv och utgår ifrån att taggaren oftast i dessa fall inte väljer en determinerartolkning när särdragsavståndet är större än ett; en del fel hittas inte som en konsekvens av detta. Följande fyra meningar i tabell 5.5 illustrerar de problem som uppstår kring valet av tagg för den och det. 104
113 Regler för detektion av inkongruenta nominalfraser Exempelmening I går utlöste den nya hot. Den utlöste den nya hoten. Den utlöste den nya hot. Den utlöste den nya hotet. Språkligt rätt eller fel? Granskas reaktion Rätt Fel Fel Fel Utan regeln nedan så detekteras den nya hot som ett kongruensfel, eftersom den tolkas som en determinerare. Granska ger inget alarm eftersom taggaren taggar hoten som singularis, utrum, bestämd form. Granska detekterar felet och föreslår ett nytt hot. Granska detekterar felet och föreslår det nya hotet. Tabell 5.5. Granskas reaktion på en korrekt mening och tre felaktiga meningar. kongacctaggprob2@a { (Clause_del)(), X1(wordcl=ab wordcl=rg)*, X2(wordcl=vb & (vbf=prs vbf=prt)), X3(wordcl=dt & (text="det" text="den" text= alla )), X4(wordcl=jj & spec=def)*, X5(wordcl=nn & ((X4.no_of_tokens=0 & spec=ind) (gender=x4.gender & num=x4.num & spec=ind))) --> jump(slut_kong, Clause_del.no_of_tokens+2+X1.no_of_tokens) action(accepting) } En regel som tar bort två specialfall De accepterande reglerna är av olika omfattning. Den följande regeln är ganska enkel men tar hand om irriterande falska alarm som samma gamla backe och nästa stora uppgift. Orden samma och nästa (X) står i obestämd form men kräver att nästföljande adjektiv (Y) skrivs i bestämd form (spec=def) samt att det efterföljande substantivet (Z) står i obestämd form (spec=ind). kongsammaacc@kong { X(text="samma" text="nästa"), Y(wordcl=jj & gender=x.gender & num=x.num & spec=def)*, Z(wordcl=nn & spec=ind) 105
114 Kapitel 5. Inkongruens i nominalfraser --> jump(slut_kong, 1+Y.no_of_tokens) action(accepting) } Regler för inkongruenta nominalfraser Detta avsnitt visar och förklarar ett urval av de regler som ingår i Granska. Reglerna har valts ut för att täcka de exempel på tänkbara fel som gavs i kapitlets inledande avsnitt Felaktiga determinerare Den regel som försöker detektera och ge ersättningsförslag till felaktiga determinerare är ganska rakt på sak i vänsterledet. Några exempel på avvikande determinerare i nominalfrasen är det i Jag bor i det lilla villan och en i Nej, jag bor i en litet hus. Kraven på att nominalfrasen innehåller inkongruens finns i X3. Det är också viktigt att kravet på att ett särdrag verkligen är definierat (X.särdrag!=undef) är med för att en lyckad matchning skall ske. Detta behövs, eftersom en del ord i lexikonet saknar värden i en eller flera särdragsklasser. Om frasen innehåller ett ordningstal (X22) måste särskilda kontroller ske vid genereringen av ersättningsförslagen. Regeln innehåller också två corr-fält för att kunna ge ett förslag där substantivet styr att en ny determinerare skall genereras och ett annat förslag som föreslår att determineraren är korrekt och att det istället är adjektivet och substantivet som skall skrivas om. kong22e@kong { X1((wordcl=dt wordcl=hd)), X10((wordcl=ab & text!="inte") (wordcl=rg & num!=sin))?, X22(wordcl=ro)*, X2(wordcl=jj)*, X3(wordcl=nn & (X2.no_of_tokens = 0 (gender=x2.gender & num=x2.num & spec=x2.spec)) & ((gender!=undef & X1.gender!=undef & gender!=x1.gender) (num!=undef & X1.num!=undef & num!=x1.num) (spec!=undef & X1.spec!=undef & spec!=x1.spec))) --> corr( if (X22.wordcl=ro) then X1.donothing() else X1.form(gender:=X3.gender, num:=x3.num, spec:=x3.spec) end X2.form(num:=X3.num) if (X22.wordcl=ro) then X3.form(spec:=ind) else X1.replace(X1.real_text) end) corr(if (X10.wordcl=rg) then X1.donothing() else X1.form(gender:=X3.gender) end X2.form(num:=X3.num, spec:=x3.spec) X3.form(num:=X1.num, 106
115 Regler för detektion av inkongruenta nominalfraser spec:=x1.spec)) info("om" italics(x1.real_text) "syftar på" italics(x3.real_text) "är det kongruensfel") action(scrutinizing) jump(slut_kong,2+x10.no_of_tokens+x22.no_of_tokens+x2.no_of_tokens) } En regel som hanterar förutsägbara taggningsfel För att komma åt vissa fel måste man gå emot det val som taggaren gjort och istället lita till reglerna. Pronomentolkning istället för determinerartolkning har tidigare nämnts som ett exempel på där taggaren i vissa kritiska fall inte väljer det förväntade. I konstruktioner som Det man spelar fiol i forsen och I den sjöar finns det mycket fisk kan den och det tolkas som ett pronomen istället för determinerare. Den regel som presenteras i detta avsnitt försöker plocka upp de fall där det verkar troligt att taggaren har valt fel tagg. För att inte generera alltför många falska alarm måste felområdet föregås av en satsgräns (Clause_del) och eventuellt en preposition (X0). Clause_del är en hjälpregel som matchar satsgränser, vilket gör regeln mer känslig. I X1 matchas pronomen som har en determinerartolkning i lexikonet. X2 matchar ett substantiv som inte stämmer överens med pronomenet i genus, numerus eller species. Substantivet måste följas av ett finit verb (X3) för att regeln skall tillämpas. I ett tidigare avsnitt presenterades en accepterande regel som gjorde det motsatta fast med omvänd ordföljd den regeln omtolkade en determinerare till pronomen eftersom det saknades ett subjekt i fundamentet. pnistdte@kong { (Clause_del)(), X0(wordcl=pp)?, X1((wordcl=pn & E(lex.wordcl=dt)) (wordcl=hp & E(lex.wordcl=hd))), X2(wordcl=nn & ((gender!=undef & X1.gender!=undef & gender!=x1.gender) (num!=undef & X1.num!=undef & num!=x1.num) (spec!=undef & X1.spec!=undef & spec!=x1.spec))), X3(wordcl=vb & (vbf=prs vbf=prt vbf=imp)) --> mark(x1 X2) corr(x1.form(wordcl:=dt, gender:=x2.gender, num:=x2.num, spec:=x2.spec, pnf:=undef)) corr(x2.form(num:=x1.num, spec:=x1.spec)) info("om" italics(x1.real_text) "syftar på" italics(x3.real_text) "är det kongruensfel") action(scrutinizing) } 107
116 Kapitel 5. Inkongruens i nominalfraser Ett felaktigt adjektiv efter ett possessivt attribut Adjektiv efter possessivattribut och även efter pronomen som denna, detta och dessa skall stå i bestämd form. Konstruktioner med adjektiv i obestämd form som min gammal mamma eller denna gammalt villa är felaktiga. Den följande regeln detekterar och korrigerar inte enbart adjektiv i obestämd form utan även andra former som avviker från possessivattributet eller determineraren. I X1 sker matchning av possessiv och determinerarna denna, detta och detta. X10 matchar ett eventuellt adverb som inte får vara ett satsadverbial; ordet inte bör kompletteras med flera satsadverbial. Att hänsyn måste tas till satsadverbial beror på att taggaren ibland väljer determinerare istället för pronomen i vissa konstruktioner och då tillhör inte adverbet nominalfrasen. I X2 anges det att adjektivet avviker från X1. I X3 och X4 anges att efterföljande adjektiv och substantiv kongruerar med X1. Detta görs för att kunna fastställa att det är X2 som är det felaktiga ordet i frasen och inte efterföljande adjektiv och substantiv. kong14e@kong { X1(wordcl=ps (wordcl=dt & (text="denna" text="detta" text="dessa"))), X10(wordcl=ab & text!="inte")?, X2(wordcl=jj & ((gender!=undef & X1.gender!=undef & gender!=x1.gender) (num!=undef & X1.num!=undef & num!=x1.num) (spec!=undef & X1.spec!=undef & spec!= X1.spec))), X3(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec)*, X4(wordcl=nn & gender=x1.gender & num=x1.num & spec=ind) --> corr(x2.form(gender:=x1.gender, num:=x1.num, spec:=x1.spec)) jump(slut_kong, X3.no_of_tokens + 2) info("om" italics(x2.real_text) "syftar på" italics(x4.real_text) "är det kongruensfel") action(scrutinizing) detect("jag har mina egen böcker.") } Fel possessiv eller felaktigt böjt substantiv I många fall är det endast användaren som kan avgöra vad det felaktiga i texten skall bytas ut mot. Regeln nedan hanterar två fall: om possessivattributet (X1) skiljer sig i genus från substantivet (X3) t.ex. min arbete, görs en kontroll av genusinkongruens i corr-fältet, och det är rimligt att föreslå att possessivet skall byta form till mitt. Om X1 och X3 har samma genus, t.ex. min bilar eller min bilen, blir förslaget att substantivet skall byta form antingen i numerus (min bil) eller i 108
117 Regler för detektion av inkongruenta nominalfraser species (min bil). Det är också önskvärt att regeln föreslår mina bilar i det första fallet, detta görs i det andra corr-fältet. kong13e@kong { X1(wordcl=ps (wordcl=dt & (text="denna" text="detta" text="dessa"))), X10((wordcl=ab & text!="inte") (wordcl=rg & num!=sin))?, X22(wordcl=ro)*, X2(wordcl=jj & ((gender!=undef & X1.gender!=undef & gender=x1.gender) & (num!=undef & X1.num!=undef & num=x1.num) & (spec!=undef & X1.spec!=undef & spec=x1.spec)))*, X3(wordcl=nn &!is_cap & ((gender!=undef & X1.gender!=undef & gender!= X1.gender) (num!=undef & X1.num!=undef & num!=x1.num) (spec!=undef & X1.spec!=undef & spec=x1.spec))) --> corr(if X1.gender!=X3.gender then X1.form(gender:=X3.gender, num:=x3.num) else X3.form(num:=X1.num, spec:=ind) end) corr(if (X1.num!=X3.num & X1.gender=X3.gender) then X1.form(num:=X3.num) else X3.form(spec:=ind) end) info("om" italics(x1.real_text) "syftar på" italics(x3.real_text) "är det kongruensfel") action(scrutinizing) jump(slut_kong, 1+X10.no_of_tokens+X22.no_of_tokens+X2.no_of_tokens) } Regler för inkongruens i predikativa attribut Inkongruens mellan det predikativa attributet och huvudordet är säkerligen inte en särskilt frekvent feltyp, men för att få en så pass heltäckande kontroll som möjligt över inkongruens inom nominalfrasen bör denna ändå vara med i ett grammatikgranskningsprogram. Regeln skall upptäcka fel som i Han kom med en säck fyllda med äpplen och i det fallet föreslå en säck fylld med äpplen. X matchar substantiv i obestämd form (spec=ind) och Y matchar adjektiv (det predikativa attributet) som inte stämmer överens med substantivet i genus (gender!=x.gender) eller numerus (num!= X.num). predattribut_nn_jj_ppe@kong { X(wordcl=nn & spec=ind), Y(wordcl=jj & (gender!=x.gender num!=x.num)), Z(wordcl=pp text="som"), Z2(wordcl=nn) 109
118 Kapitel 5. Inkongruens i nominalfraser --> corr(y.form(gender:=x.gender, num:=x.num)) info("om" italics(y.real_text) "syftar på" italics(x.real_text) "är det kongruensfel") action(scrutinizing) } Felaktiga substantiv Substantiven i svenskan är oböjliga i genus och om ett substantiv skall anses fel, måste felet ligga inom särdragsklasserna numerus och species. De fall där attributen inbördes stämmer överens i genus men inte med substantivets genus hanteras av andra regler (t.ex. kong16 nedan). Den följande regeln skall dock hitta fel som en bilen och det arbete. I regeln nedan ges två förslag på hur felet kan korrigeras. Det första förslaget är att substantivet (X4) skall bytas ut mot ett substantiv med en böjning som följer determineraren (X1). Det andra förslaget är att determinerare och adjektiv böjs efter substantivet. kong8e@kong { X1(wordcl=dt wordcl=hd), X2((wordcl=ab & text!="inte") (wordcl=rg & num!=sin))?, X3(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec)*, X4(wordcl=nn & gender=x1.gender & ((num!=undef & X1.num!=undef & num!=x1.num) (spec!=undef & X1.spec!=undef & spec!=x1.spec))) --> corr(x4.form(num:=x1.num, spec:=x1.spec)) corr(x1.form(gender:=x4.gender, num:=x4.num, spec:=x4.spec) X3.form(gender:=X4.gender, num:=x4.num, spec:=x4.spec)) jump(slut_kong, X3.no_of_tokens + 2) info("om" italics(x1.real_text) italics(x2.real_text) italics(x3.real_text) "syftar på" italics(x4.real_text) "är det kongruensfel") action(scrutinizing) } Nominalfras utan inledande determinerare En nominalfras som inleds med en determinerare är mycket enklare att identifiera än en NP med endast adjektiv som framförställt attribut. Determineraren är ofta en mycket säker markör för en frasgräns. Regel kong10 nedan hittar fel som i Han skriver bara med små bokstav och När måste det till fullständig parsningen för att felen skall hittas? 110
119 Regler för detektion av inkongruenta nominalfraser Regeln undviker att detektera korrekta meningar som Han skriver bara med små bokstäver. I X0 anges att frasen inte får ingå i någon annan nominalfras; detta är ett mycket viktigt krav och bör kanske göras mer omfattande för att undvika falska alarm. X1 matchar adjektiv i positiv form eftersom särskilda regler gäller för komparativ och superlativ. I X3 anges substantivet och att detta inte skall kongruera med adjektivet eller adjektiven för att detektion skall ske. Det finns två ersättningsförslag: det ena förslaget är att substantivet skall bytas ut och det andra förslaget är att adjektivet skall böjas efter substantivet. kong10@kong { X0(wordcl!=dt & wordcl!=kn & wordcl!=ps & wordcl!=rg & wordcl!=jj & wordcl!=ro & case!=gen), X01(wordcl!=dt & wordcl!=kn & wordcl!=ps & wordcl!=rg & wordcl!=jj & wordcl!=ro & case!=gen &!(text="'" & (X0.wordcl=pm & X0.substr(length-1, 1)!="s"))), X1(wordcl=jj & deg=pos), X2(wordcl=jj)*, X3(wordcl=nn & ((gender!=undef & X1.gender!=undef & gender!=x1.gender) (num!=undef & X1.num!=undef & num!=x1.num) (spec!=undef & X1.spec!=undef & spec!=x1.spec)) &!is_cap & (X2.no_of_tokens = 0 (gender=x2.gender & num=x2.num & spec=x2.spec))) --> mark(x1 X2 X3) corr(x1.form(gender:=x3.gender, num:=x3.num, spec:=x3.spec)) corr(x3.form(num:=x1.num, spec:=x1.spec)) jump(slut_kong, X2.no_of_tokens + 2) info("om" italics(x1.real_text) "syftar på" italics(x3.real_text) "är det kongruensfel") action(scrutinizing) } Fel i det (n+1):a adjektivet Regel kong6 illustrerar främst hur generella Granskas regler är och hur kraftfullt regelspråket är. Regeln innehåller flera olika optionella element och täcker därför upp en mängd olika fall. De optionella elementen består av adjektiv som föregår eller efterföljer det felaktiga adjektivet. En del fall är dock inte så troliga, men bör ändå kunna hanteras av ett språkgranskningsprogram, till exempel att det är fel i det fjärde adjektivet efter determineraren. Denna konstruktion är fullt möjlig i svenskan, men bör vara ovanlig. Exempel på fel som regeln täcker är t.ex. den trevliga social sammankomsten och det stora gröna vacker huset. 111
120 Kapitel 5. Inkongruens i nominalfraser kong6@kong { X1(wordcl=dt wordcl=hd), X11((wordcl=ab & text!="inte") (wordcl=rg & num!=sin))*, X22(wordcl=ro)*, X2(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec), X3(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec)*, X4(wordcl=jj), % felet X5(wordcl=jj & gender=x1.gender & num=x1.num & spec=x1.spec)*, X6(wordcl=nn & gender = X1.gender & num=x1.num & spec=x1.spec & ((gender!=undef & X4.gender!=undef & gender!=x4.gender) (num!=undef & X4.num!=undef & num!=x4.num) (spec!=undef & X4.spec!=undef & spec!=x4.spec))) --> corr(x4.form(gender:=x6.gender, num:=x6.num, spec:=x6.spec)) info("om" italics(x4.real_text) "syftar på" italics(x6.real_text) "är det kongruensfel") action(scrutinizing) jump(slut_kong, 2 + X11.no_of_tokens + X22.no_of_tokens + X3.no_of_tokens + X5.no_of_tokens) } En regel för fel i flera olika konstituenter De regler som har presenterats i föregående avsnitt har i stort varit inriktade på fel i en konstituent, men det finns nominalfraser där flera konstituenter avviker. Ett exempel på en sådan fras finns i meningen Det är en typ som syns ute på det svensk konsthallarna. I denna konstruktion är både determineraren det och adjektivet svensk fel. Reglerna för fel i flera konstituenter behövs också för att hantera de taggdisambigueringsproblem som uppstår vid kongruensfel. En del feltyper taggas som om flera konstituenter vore felaktiga; regel kong16 tar hand om en del av dessa fall. Exempel på problematisk taggning: Det <dt.neu.sin.def> svarta <jj.pos.utr/neu.sin.def.nom> kattorna <nn.utr.plu.def.nom> Taggningen är mycket svår, skall taggaren utgå ifrån det eller kattorna. Effekten blir att två konstituenter verkar vara fel, åtminstone om man utgår ifrån att substantivet är korrekt, vilket det bör vara eftersom det skiljer sig åt i genus 112
121 Regler för detektion av inkongruenta nominalfraser gentemot determinaren. 19 I regeln nedan kongruerar X3 och X4, medan X1 och X2 kan avvika från dessa i genus, numerus och species. kong16@kong { X1(wordcl=dt wordcl=hd), % fel? X10(wordcl=ab & text!="inte")?, X2(wordcl=jj), % fel? X3(wordcl=jj)*, X4(wordcl=nn & gender=x3.gender & num=x3.num & spec=x3.spec & ((gender!=undef & X2.gender!=undef & gender!= X2.gender) (num!=undef & X2.num!=undef & num!= X2.num) (spec!=undef & X2.spec!=undef & spec!= X2.spec)) & ((gender!=undef & gender!= X1.gender) (num!=undef & num!= X1.num) (spec!=undef & spec!= X1.spec))) --> corr(x1.form(gender:=x4.gender, num:=x4.num, spec:=x4.spec) X2.form(gender:=X4.gender, num:=x4.num, spec:=x4.spec)) jump(slut_kong, X3.no_of_tokens + 2) info("om" italics(x1.real_text) italics(x10.real_text) italics(x2.real_text) "syftar på" italics(x4.real_text) " är det kongruensfel") detect( Det är en typ som syns ute på det svensk konsthallarna ) action(scrutinizing) } 19 Man kan argumentera för att adjektiv i bestämd form singular inte skall kontrolleras för kongruens mot substantiv i plural, men det är också en avvägning mot hur pass generella reglerna skall vara. 113
122 Kapitel 5. Inkongruens i nominalfraser 114
123 Bakgrund 6. Inkongruens i predikativ Predikativ känner de flesta igen från skolgrammatiken som predikatsfyllnad, till exempel grön i Bilen är grön. Den grammatiska terminologin är i ständig utveckling allt eftersom språkvetenskapliga framsteg görs, och skolgrammatikens predikatsfyllnad motsvaras i modern grammatisk terminologi av termen bundet predikativ. Fritt predikativ som t.ex. (som) gammal i Som gammal skrev han ett par fantastiska verk, kallas traditionellt i skolgrammatiken, enligt SAG, för predikativt attribut. Termen predikativt attribut används i SAG och i denna avhandling endast för predikativ som fungerar som efterställda attribut till nominalfraser. Därför presenteras inte predikativa attribut i detta avsnitt utan i kapitlet Inkongruens i nominalfraser. I den fortsatta texten kommer termen predikativ att användas för det som tidigare har kallats predikatsfyllnad. Den fortsatta beskrivningen kommer också att begränsas till bundet predikativ. 20 Kapitlet inleds med en beskrivning och en avgränsning av den predikativa konstruktionen, med fokus på inkongruens. Därefter följer en diskussion om varför predikativ kräver en omfattande analys av satsen. Slutligen presenteras ett representativt urval av de granskningsregler som har konstruerats för att detektera feltypen. 6.1 Bakgrund Inkongruens i predikativ skiljer sig i många stycken från de feltyper som tidigare har presenterats. Särskrivna sammansättningar och inkongruens i nominalfrasen är mer koncentrerade till frasen som grammatisk konstruktion, givetvis med en del undantag som har belysts i tidigare avsnitt. Inkongruens i predikativ spänner över ett bredare fält; från den så kallade predikationsbasen, det vill säga subjektet eller objektet i satsen, till predikativet som utgör ett led i verbfrasen. Predikativet består i typfallet av en adjektiv-, particip- eller nominalfras. Ett exempel på kongruens mellan subjektet och predikativet är satsen Mannen är lycklig, där Mannen utgör predikationsbasen och adjektivfrasen lycklig utgör predikativet. Predikationsbasen kan som det har nämnts tidigare bestå av objektet som i Pelle gjorde flickan ledsen, där objektet flickan kongruerar med predikativet ledsen. Den prototypiska kongruensen mellan predikationsbasen (nominalfrasen) och predikativet (adjektivfrasen) beskrivs i tabell 6.1 nedan. I tabellen visas endast fall med 20 För en noggrann beskrivning av bundna predikativ och fria predikativ hänvisas till kapitel 18 i SAG. Någon skarp gräns mellan bundet och fritt predikativ finns inte enligt SAG. I SAG försöker man också belysa skillnader mellan predikativ och predikativt attribut. I SAG anger man att en viktig skillnad finns i huruvida predikationsbasen är indefinit eller definit. Predikativa attribut förekommer oftast i indefinita nominalfraser, medan predikativ förekommer i definita. Dahl (1982) hävdar att en viktig skillnad mellan predikativ och predikativt attribut är att det predikativa attributet kan tas bort utan att satsen blir ofullständig. Detta verkar vara en enkel tumregel som fungerar i de flesta fall. Det går att säga Vi lämnade statsrådet (ensamt), men inte Statsrådet är (ensamt). Den första satsen innehåller därmed ett predikativt attribut medan den andra satsen kräver ett adjektiv eftersom det är ett bundet predikativ. 115
124 Kapitel 6. Inkongruens i predikativ subjektspredikativ. Kongruens i predikativ gäller endast genus och numerus om predikativet består av en adjektiv- eller participfras, medan species hos predikativet skall vara i indefinit form. Det heter den stora villan är röd, men inte den stora villan är röda. Om predikativet består av en nominalfras, som t.ex. i Han är dalmas och De är dalmasar, är endast kongruens i numerus möjlig, eftersom substantiven är oböjliga i genus. Kongruens i predikativ skiljer sig i dessa avseenden mot kongruens i nominalfraser, som har kongruens i genus, numerus och species; eventuellt bör denna skillnad uppmärksammas av ett granskningsprogram, åtminstone i ett inlärarsammanhang, se vidare i avsnitt Feldiagnoser och ersättningsförslag. Nominalfras (subjektet) Kopulaverb Adjektiv- eller participfras en stor villa är röd den stora villan är röd några stora villor är röda de stora villorna är röda ett stort hus är rött det stort huset är rött några stora hus är röda de stora husen är röda Tabell 6.1. Prototypisk kongruens i predikativ I engelskan saknas kongruens i predikativ, det heter He is nice och They are nice, vilket kan jämföras med svenska motsvarigheterna Han är trevlig och De är trevliga, där adjektivet tar olika form beroende på subjektets numerus. Predikativ är, liksom särskrivningar av förklarliga skäl, en feltyp som inte är omskriven i engelsk litteratur. Grammatifix verkar klara åtminstone följande konstruktioner: Den nya apparaturen är inte praktiska att använda och Då hade läget i byn redan blivit outhärdlig för gruppen. Dessa exempel motsvarar följande mönster: np +kop +adj och np + pp + kop + adj (Arppe et al, 1998). Feltypen verkar inte vara väl beskriven inom ramen för grammatikkontroll. Men inom svensk språkvård och allmän språkvetenskap har många forskare ägnat sig åt inkongruens i predikativ. Men för att kunna diskutera detta måste jag göra en noggrannare presentation och avgränsning av feltypen. En diskussion om predikativinkongruens inom svensk språkvetenskap (främst Källström) förs i avsnittet Inkongruens kan vara det språkligt riktiga. 116
125 Avgränsningar i detektionen av feltypen 6.2 Avgränsningar i detektionen av feltypen Inkongruens i predikativ skiljer sig, som tidigare nämnts, mot de två andra feltyperna i denna avhandling. Konstruktionerna är svårare att beskriva formellt och kräver en mer omfattande analys av satsen. Mekanismerna för kongruens är i vissa fall också semantiskt baserade, vilket ytterligare försvårar en implementation. Jag har därför sett mig tvungen att utgå från följande begränsningar 21 : Endast kongruens med bundet subjektspredikativ kommer att detekteras. Endast konstruktioner där verbfrasen innehåller ett kopulaverb kommer att detekteras. Kopulaverben är vara, bli och förbli. Detektionen av predikationsbasen har begränsats till de nominalfrastyper som har beskrivits i kapitel 2. Predikativdelen av konstruktionerna är begränsad till enkla adjektiv- och participfraser, det vill säga främst till typen ett adjektiv eventuellt med ett adverb som bestämning, t.ex. gula eller mycket gula. Mer komplexa adjektivfraser hanteras inte på grund av arbetets begränsning. Tyvärr medför detta att felmarkeringarna kan bli missvisande, eftersom hela adjektivfrasen inte markeras eller korrigeras. Endast det första adjektivet markeras och korrigeras i konstruktioner som Husen är röd och ganska slitet. 22 Ordföljden är begränsad till satser där subjektet kommer före det finita verbet som Han var beslutsam den här gången. Men inte Den här gången var han beslutsam. Dessa avgränsningar lämnar många intressanta konstruktioner utanför Granskas upptäckt. De uppradade punkterna visar hur fragmentarisk granskningen av denna feltyp är av olika skäl. Att granskningen är så pass fragmentarisk måste på något sätt nå fram till användarna. Hur detta skall göras är svårt att säga, men avgränsningarna och ofullständigheten hos ett språkgranskningsverktyg måste synliggöras i användargränssnittet för att användarna inte skall känna sig lurade när vissa fel upptäcks medan andra inte gör det. 21 Avgränsningarna är också en konsekvens av projektets relativt korta löptid. Feltypen kräver mycket grundläggande lingvistisk analys som behöver utvecklas mer för att bli fullt tillfredställande. Felreglerna för inkongruens i predikativ kräver också mycket experimenterande och omfattande körningar mot stora mängder text. Ytterligare begränsningar framkommer i beskrivningen av reglerna. 22 Dessa konstruktioner verkar ganska sällsynta i det material jag arbetat med, men ett språkgranskningsprogram måste dock kunna hantera dessa. Jag tror att hjälpregler som analyserar självständiga adjektivfraser med kontextkänsliga villkor vore den bästa lösningen. För att korrigera dessa adjektivfraser behövs det en funktion som kan förändra numerus eller genus hos hela fraser. En sådan funktion är i nuläget inte implementerad. 117
126 Kapitel 6. Inkongruens i predikativ 6.3 Inkongruenta konstruktioner i predikativ Det föregående avsnittet beskrev ett antal begränsningar för detektionen av feltypen. Utifrån dessa begränsningar framkommer ett antal konstruktioner som skall hanteras av Granska. Tabellen nedan visar några enkla konstruktioner med inkongruens i predikativ. Med dessa som utgångspunkt kan vi gå vidare till mer komplexa konstruktioner och förstå nödvändigheten av en bra igenkänning av nominalfraser med tillhörande attribut. Dessa nominalfraser har tidigare presenterats i kapitel 2. I tabellen presenteras de olika leden i satsen som berör inkongruens i predikativ. I den fjärde kolumnen presenteras en tänkbar diagnos av felet. Nominalfras Kopulaverb Adjektiv- eller participfras Diagnos en stor villa är rött fel genus en stor villa är röda fel numerus den stora villan är röda fel numerus, ev. med ett påpekande om att det i predikativ inte finns någon specieskongruens den stora villan är rött genusfel några stora villor är röd numerusfel några stora villor är rött genusfel och numerusfel de stora villorna är röd numerusfel de stora villorna är rött genusfel och numerusfel Tabell 6.2. Några olika varianter av inkongruens i predikativ Predikativ kräver nominalfrasanalys I tabellen ovan visas enkla nominalfraser, men inkongruens i predikativ kräver, om inte täckningen och även precisionen skall bli låg, att mer omfattande nominalfraser kan hanteras. Om programmet endast klarar de enkla nominalfraserna kommer programmet att endast upptäcka, för feltypen, enkla fel, i en väldefinierade position i satsen. Det svåra är att identifiera huvudet i den nominalfras (subjektet) som är inkongruent med predikativet. Detta kan till exempel innebära att predikationsbasen måste finnas i meningens början av försiktighetsskäl, eftersom risken då minskar att granskningsregeln detekterar en 118
127 Inkongruenta konstruktioner i predikativ inkongruens mellan ett av nominalfrasens attribut och predikativet. För att råda bot på detta har regler konstruerats för analys av mer komplexa nominalfraser. Detta är ett svårt arbete, men jag har under arbetets gång konstaterat att grammatikkontrollen blir bättre med en mer komplex nominalfrasigenkänning, även om nominalfrasigenkänningen inte är helt perfekt. Tabell 6.3 visar skillnaderna mellan en enkel nominalfrasigenkänning och en mer omfattande nominalfrasigenkänning och vilka konsekvenser detta får för grammatikgranskning. 119
128 Kapitel 6. Inkongruens i predikativ Sats Språkligt rätt eller fel Handskarna är snygg Inkongruens, handskarna är inte kongruent med snygg. Handskarna av stål är snygga Handskarna av stål är snygg Mannen som gillar fisk är mycket fiskeintresserade. Jag tror inte att metodiken och resultaten från Haas studier är särskilt tillämpbar på dagens skrivande. När den personen sedan börjar arbeta och anmäler det till försäkringskassan upphör bostadsbidraget om inkomsten är tillräckligt hög. Kongruens Inkongruens, handskarna är inte kongruent med snygg. Inkongruens, mannen är inte kongruent med fiskeintresserade. Inkongruens, metodiken och resultaten är inte kongruent med tillämpbar. Granskning med en begränsad NPigenkänning Felet detekteras Falskt alarm signaleras. Konstruktionen stål är snygga anses vara ett kongruensfel Ingen detektion sker Felet detekteras, men programmet syftar på fel ord, nämligen fisk. Korrekt detektion och ersättningsförslag men diagnosen blir fel: Om tillämpbar syftar på studier är det kongruensfel Granskning med en mer omfattande NP-igenkänning Felet detekteras Ingen detektion sker, en accepterande regel tar hand om den korrekta satsen, se vidare avsnitt Felet detekteras Felet detekteras. Korrekt detektion och ersättningsförslag men diagnosen blir fel: Om tillämpbar syftar på studier är det kongruensfel. Kongruens Inget alarm Falskt alarm. Om hög syftar på bostadsbidraget om inkomsten är det kongruensfel. Ordet om tolkas felaktigt som en preposition, istället för en subjunktion. Tabell 6.3. Skillnaderna mellan att använda en enkel NP-igenkänning och en mer omfattande NP-igenkänning vid detektion, diagnos och korrektion av inkongruens i predikativ. Trots att en mer omfattande nominalfrasigenkänning verkar ge ett bättre resultat finns det en risk för allvarliga falska alarm. Två felkällor är t.ex. felaktig taggning 120
129 Inkongruenta konstruktioner i predikativ som gör att reglerna matchar fel konstruktioner, samt att reglerna baseras på förenklade antaganden som blundar för klassiska problem som t.ex. koordinering och PP-attachment-ambiguiteten. Det sista exemplet i tabellen ovan visar hur felaktig taggning gör att en felaktig identifiering av subjektet i satsen görs, vilket medför ett falskt alarm. För att subjektet skall identifieras i satsen behövs det således en omfattande analys av nominalfraserna. Nominalfrasens värden och huvudord måste bestämmas i reglerna. Nominalfrasens huvudord kontrollerar kongruensen, följande exempel visar vilka konsekvenserna blir för kongruensen i predikativ (SAG 3 71). Staden Kiruna är stor. Kiruna är stort. I den första satsen är Staden huvud i nominalfrasen och hela nominalfrasens värde bestäms av denna konstituent, vilket medför att genus för frasen blir utrum. I den andra nominalfrasen är Kiruna huvudord och frasen får i genus värdet neutrum. Denna frastyp detekteras, delvis på grund av detta, inte av Granskas regler Inkongruens kan vara det språkligt riktiga Inkongruens i predikativ har varit föremål för en omfattande språkvetenskaplig diskussion under åtminstone den senare halvan av 1900-talet. Det som främst har fångat forskarnas intresse är att inkongruens i predikativ i vissa fall måste betecknas som det språkligt riktiga, se t.ex. Wellander (1973) och Källström (1993). Det gäller inkongruens med neutrumpredikativ som t.ex. Gröt är gott och Snöklädda fjäll är vackert. Även om dessa konstruktioner kanske inte är så frekventa i svenskan, är det rimligt att ett språkgranskningsprogram för svenska kan hantera dessa till någon grad. Inkongruens i neutrumpredikativ är också intressant genom att språkgranskningsforskningen här på nära håll möter den klassiska språkvetenskapen. Att inkongruens i neutrumpredikativ är det språkligt riktiga verkar ha ett semantiskt ursprung. Det mesta tyder också på att det inom de semantiska särdragen finns en lösning på problemet. Källström presenterar en för språkgranskning sannolikt framtida gångbar teori 23, som i grova drag bygger på de semantiska särdragen avgränsad och oavgränsad, och på adjektivets lexikala semantik. En av huvudpunkterna i Källströms teori är att par med samma särdragsvärden ger en språkligt godkänd konstruktion. Med utgångspunkt i de predikativa konstruktionerna Gröt är gott och Gröten är god kan de semantiska särdragen och adjektivets lexikala semantik kortfattat förklaras. Nominalfrasen gröten har det semantiska särdraget avgränsad eftersom frasen pekar ut en bestämd gröt. Nominalfrasen gröt är oavgränsad eftersom inte någon speciella instans av 23 Källström gör en mycket omfattande presentation av sin teori (sid ), och jag kan endast återge den i begränsade ordalag, vilket medför en lägre detaljnivå och grova förenklingar. 121
130 Kapitel 6. Inkongruens i predikativ gröt utpekas. Adjektiv i utrum, t.ex. god, har värdet avgränsad genom att stärka subjektets avgränsade värde, medan neutrumformen har värdet oavgränsad och tillför ytterligare information om subjektets oavgränsade värde. I Gröt är gott har vi paret oavgränsad-oavgränsad och i Gröten är god har vi paret avgränsadavgränsad. Dessa skulle enligt Källströms teori vara korrekta konstruktioner i svenskan, medan Gröt är god och Gröten är gott bildar par med olika särdragsvärden. Detta verkar rimligt, men det svåra är att bestämma om orden är avgränsade eller oavgränsade. Adjektiven tillhör gruppen av värdeadjektiv som t.ex. god eller äcklig. Vissa av dessa adjektiv blir, enligt Källström, först värdeadjektiv i konstruktioner med predikativ, vilket försvårar att särskilja dem på lexikala grunder. Källström ger följande två meningar som visar att det krävs en mycket omfattande semantisk analys för att signalera fel i denna typ av konstruktioner. En ny utrikesminister vore inte så dum. En ny utrikesminister vore inte så dumt. Metoden blir här att godkänna denna typ av konstruktioner, eftersom risken för falska alarm är överhängande utan semantisk information. Det vore dock önskvärt att i framtiden upptäcka fel som Fisk är gul och samtidigt godkänna Fisk är gott. Jag tror att Källströms teori vore tillämpbar, trots de problem som finns. Genom att välja ut frekventa värderande adjektiv och godkänna konstruktioner med dessa, borde ett gott resultat uppnås genom att applicera granskningsreglerna på övriga. Att ge sig på att välja ut vilka substantiv som skall undantas från granskning verkar vara ett svårare företag. På grund av arbetets begränsning i tiden har inte detta prövats, utan istället används en grov accepterande regel som plockar bort tänkbara fall med ett naket substantiv i utrum och ett inkongruent adjektiv i neutrum, se vidare i avsnittet Accepterande regler. 6.4 Regler för inkongruens i predikativ I detta avsnitt presenteras först en översikt av de feltyper som reglerna försöker hantera med varierande framgång. Därefter följer en beskrivning av hur taggningen och hjälpreglerna fungerar i inkongruens i predikativ. Slutligen presenteras ett urval av de regler som hanterar de feltyper som har presenterats i översikten Översikt över feltyper som hanteras av reglerna Trots att det är svårt att ge en fullständig bild av vilka inkongruenta konstruktioner som faktiskt kommer att detekteras med Granska är det på sin plats med en överblick över de feltyper som under förutsägbara förhållanden kan detekteras. Denna överblick måste läsas med de begränsningar och undantag som har presenterats i tidigare avsnitt i minnet. De regelexempel som senare kommer att 122
131 Regler för inkongruens i predikativ presenteras syftar till att visa hur delar av de feltyper som presenteras nedan kan detekteras. Klassificering Exempel Diagnos Ersättningsförslag Nominalfraser utan efterställda attribut Nominalfraser med prepositionsfraser som efterställda attribut Nominalfraser med relativsatser som efterställda attribut Infinitivfraser a) Den gamle mannen är olyckliga. b) Det är olycklig. Men inte NP med egennamn: Kiruna är stor till ytan. 24 Den gamle mannen på ålderdomshemmet är olyckliga. Den gamle mannen som bor på ålderdomshemmet är olyckligt. Att hoppa bock är rolig tycker den gamle mannen på ålderdomshemmet. Men inte nominala bisatser: Om han kommer är inte viktig. a) Om olyckliga syftar på Den gamle mannen är det kongruensfel b) Om olycklig syftar på det är det kongruensfel Om olyckliga syftar på Den gamle mannen är det kongruensfel Om olyckligt syftar på gamle är det kongruensfel Om rolig syftar på att hoppa bock är det kongruensfel a) Den gamle mannen är olycklig. b) Det är olyckligt. Den gamle mannen på ålderdomshemmet är olycklig. Den gamle mannen som bor på ålderdomshemmet är olycklig. Att hoppa bock är roligt Tabell 6.4. En översikt över de feltyper i predikativ som reglerna kan hantera Taggningen av inkongruens i predikativ För att göra en bra grammatisk kontroll av predikativ måste ett granskningsprogram analysera stora delar av satsen, i vissa fall hela. Granskas regler blir därmed mer beroende av hur pass bra taggaren fungerar på hela satser än mindre delar av satser, som fallet ofta är med särskrivna sammansättningar och inkongruenta nominalfraser. Eftersom taggaren som mest analyserar tre ord i taget, 24 Egennamn detekteras inte eftersom lexikal information om egennamnens genus och numerus saknas i Granskas lexikon. 123
132 Kapitel 6. Inkongruens i predikativ är taggaren sämre på längre beroenden och detta får såväl positiva som negativa konsekvenser: Inkongruensen påverkar inte taggningen, eftersom avståndet mellan orden som är inkongruenta ofta är längre än tre ord. En större del av satsen måste analyseras och ju längre textfragment som taggas desto större risk för feltaggningar. Regelkonstruktionen försvåras eftersom det är svårt att förutsäga taggningsfel på satsnivå (svårare än frasnivå) Accepterande regler Inkongruens i predikativ är mer än de andra feltyper som presenterats ansatta av falska alarm, eller, åtminstone enligt mitt tycke, mer svårartade falska alarm. Att utveckla ett omfattande fångstnät för dessa är viktigt. Falska alarm leder fram till nya accepterande regler, hjälpregler och granskningsregler. I det här fallet är det fraser som kräver neutrumböjning i predikativ som genererar falska alarm. Den första regeln är grov och fångar upp alltför många fall. Regeln accepterar Rosor är vackert, vilket är bra, medan den fångar in felaktiga konstruktioner som * Rosor är grönt. Regeln är enkelt uppbyggd, med en matchning av ett substantiv i utrum och indefinit form i X1 och kopulakonstruktionen X11 och X2. Slutligen matchas adjektivet i neutrum, singularis, indefinit form i X3. predsem@pred { X0(wordcl!=ps & case!=gen), X1(wordcl=nn & gender=utr & spec=ind), X11(wordcl=vb & (vbt=mod vbt=aux))?, X2(wordcl=vb & vbt=kop), X22(wordcl=ab)?, X3(wordcl=jj & gender=neu & gender!=utr & spec=ind) --> jump(pred_slut, 2+X11.no_of_tokens+X22.no_of_tokens) action(accepting) } Den andra accepterande regeln nedan fångar upp infinitivfraser som kongruerar med predikativet i neutrum, t.ex. Att hoppa bock är roligt. Denna regel är nödvändig för att motverka att falska alarm uppstår som signalerar att substantivet i infinitivfrasen är inkongruent med adjektivet, t.ex. att bock är inkongruent med rolig i Att hoppa bock är rolig. Den accepterande regeln använder hjälpregeln INFP som matchar infinitivfraser, därefter matchas kopulaverbet Y och det 124
133 Regler för inkongruens i predikativ kongruenta predikativet Z2. Orden få och många i Z2 har en taggning som gör att de inte fångas upp av de generella villkoren. predinfacc@pred { (INFP/X)(), Y(wordcl=vb & vbt=kop), Z(wordcl=ab)*, Z2(wordcl=jj & ((gender=x.gender & num=x.num) (text="få" text="många"))) --> jump(pred_slut, X.no_of_tokens) action(accepting) } Feldiagnoser och ersättningsförslag Felen i predikativ kommer först och främst att få diagnoser som genusfel eller numerusfel. Men eftersom specieskongruens inte skall råda i predikativ bör man överväga om inte programmet skall påpeka detta problem också, åtminstone i en inlärarkontext. Om en skribent skriver den stora villan är röda, kanske denna utgår ifrån att kongruens i predikativ följer samma system som kongruens i nominalfraser. Med andra ord, skribenten menar att adjektivet står i bestämd form singularis och inte pluralis. Ett granskningsprogram kan egentligen inte veta vad skribenten avsett, eftersom adjektiv i bestämd form singular ser likadana ut som adjektiv i pluralis. Det är möjligt att en modersmålsskribent skulle bli förvirrad över ett påpekande från programmet, eftersom skillnaden är omarkerad i svenskan. Detta är ett bra exempel på att språkgranskningsprogram bör anpassas för olika användargrupper, eftersom den språkliga kunskapen och syftet med att använda ett språkgranskningsprogram kan variera kraftigt mellan de olika användargrupperna. Jag har hittills genomgående utgått ifrån att det är i adjektivfrasen som felet ligger, men det är tänkbart att felet kan ligga i nominalfrasen, åtminstone i numerus. Om vi betraktar den inkongruenta konstruktionen Mannen är glada, så är det väl inte helt otänkbart att skribenten kan ha avsett att skriva Männen är glada. Därför bör ett språkgranskningsprogram också föreslå ett förändrat substantiv i numerus. För att kunna göra detta krävs det i vissa fall att en hel nominalfras kan byta numerus; det räcker inte enbart med substantivet. Om frasen innehåller kongruerande attribut, måste även dessa i det nya förslaget kongruera med substantivet. Denna funktionalitet är ännu så länge inte implementerad i Granska. Denna funktionalitet skulle även vara mycket användbar vid exempelvis lingvistisk redigering, om användaren till exempel vill byta numerus på ett substantiv, vore det kanske önskvärt om också kongruerande attribut gjorde det automatiskt. 125
134 Kapitel 6. Inkongruens i predikativ Granskningsregler Huvudproblemet för inkongruens i predikativ är att korrekt detektera och identifiera subjektet i satsen. Detta görs med ett ganska omfattande regelsystem av hjälpregler som identifierar nominalfraser med efterställda attribut som prepositionsfraser eller relativsatser. Det andra problemet är att korrekt detektera predikativet (adjektiv- eller participfrasen); detta verkar delvis enklare än att få fram rätt ord som subjekt Nominalfras som predikationsbas Typexemplet för inkongruens i predikativ borde vara en enkel nominalfras som t.ex. mannen eller den lilla mannen följt av ett kopulaverb som är eller blir och ett adjektiv som glada eller ledsna. Vi får då satser som Mannen är glada och Den lilla mannen är ledsna, med ett kort avstånd mellan subjektet och predikativet. Dessa fel borde också vara ganska enkla för en skribent att upptäcka. Den följande regeln försöker upptäcka denna typ av fel, men också eventuellt mer svårupptäckta fel med längre avstånd mellan subjekt och predikativ. I vissa fall lyckas inte regeln fullt ut, men i vissa fall hittas felet och ersättningsförslaget blir korrekt, diagnosen blir däremot fel. Följande exempel visar hur det kan se ut. Jag tror inte att metodiken och resultaten från Haas studier är särskilt tillämpbar på dagens skrivande. Regeln signalerar att studier inte är kongruent med tillämpbar. Problemet beror på att Haas tolkas som ett egennamn i nominativ av taggaren vilket gör att Haas studier inte kan tolkas som en nominalfras och därmed inte heller som ett efterställt attribut till nominalfrasen metodiken och resultaten som är den egentliga predikationsbasen. I regeln nedan används variablen S som en platsmarkör, vars möjliga innehåll kontrolleras från T. T:s främsta uppgift är att se till att den efterföljande nominalfrasen verkligen är fullständig och inte är en del av en nominalfras, som delvis täcks av S och T. Hjälpregeln Np matchar subjektet i satsen, X matchar kopulaverbet. X2 matchar predikativet som inte är kongruent med subjektet (Np). Z, slutligen, säkerställer att adjektivet (Y) verkligen är en självständig adjektivfras och inte en del av en nominalfras. pred1@pred { S(), T(wordcl!=pp & wordcl!=dt & wordcl!=ps & wordcl!=rg & wordcl!=jj & wordcl!=ab & wordcl!=nn & spec!=def &! (S.wordcl=nn & wordcl=kn & (gender!=s.gender num!=s.num))), (NP/Np)(), V(wordcl=ab wordcl=hp)*, X(wordcl=vb & vbt=kop), 126
135 Regler för inkongruens i predikativ X2(wordcl=ab)*, Y(wordcl=jj & A(lex.gender=gender) & ((gender!=undef & Np.gender!=undef & gender!=np.gender) (num!=undef & Np.num!=undef & num!=np.num)) & text!="få"), Z(wordcl!= nn & wordcl!=jj & wordcl!=pc) --> mark(np X Y) corr(if Np.spec=def then Y.form(gender:=Np.gender, num:=np.num, spec:=ind) else Y.form(gender:=Np.gender, num:=np.num, spec:=ind) end) info("om" italics(y.real_text) "syftar på" italics(np.real_text) "är det kongruensfel") action(scrutinizing) } Nominalfraser med efterställda prepositionsfraser som predikationsbas Regeln i föregående avsnitt klarar också konstruktioner med prepositionsfraser som efterställda attribut till nominalfrasen. Detta är möjligt genom att nominalfrasen (NP) kan ta prepositionsfraser som efterställda attribut, i princip hur många som helst 25. Följande meningar utgör exempel på hur regeln håller ordning på vilket ord som är subjekt trots att fler och fler attribut stoppas in mellan subjektet och predikativet. Blommorna är dammig. Blommorna på böckerna är dammig. Blommorna på böckerna i bokhyllan är dammig. Blommorna på böckerna i hyllan i sovrummet är dammig. Regler som försöker hantera prepositionsfraser som efterställda attribut medför givetvis risker för falska alarm. Det är svårt att avgöra om prepositionsfrasen syftar på nominalfrasen eller verbet. Om prepositionsfrasen syftar på verbet kan det uppstå ett falskt alarm. Ett klassiskt exempel är de två tolkningarna av meningen Jag såg mannen med ett teleskop. Den första tolkningen är att subjektet (jag) ser mannen med hjälp av ett teleskop, vilket innebär att prepositionen med syftar på verbet såg. Den andra tolkningen är att subjektet ser en man som har ett teleskop. Ett annat klassiskt exempel är Han äter pizza med gaffel och Han äter pizza med ansjovis. Utan semantisk information är det mycket svårt för ett datorprogram att se skillnaderna mellan de två konstruktionerna och deras radikalt olika betydelser. 25 Se avsnittet om hjälpregler i kapitel 2 för en översikt om hur nominalfrasigenkänningen går till. 127
136 Kapitel 6. Inkongruens i predikativ Detta är ett svårt problem och brukar kallas för PP-attachment-ambiguteten. Kokkinakis (1999c) ger sig på problemet för skriven svensk text. Kokkinakis använder omfattande lexikala data (GLDB, Gothenburg Lexical Database), en betydelseidentfierare (Kokkinakis & Johansson-Kokkinakis, 1999b) och en partiell parser (Kokkinakis & Johansson-Kokkinakis, 1999a). Kokkinakis uppnår förvånansvärt bra resultat, men säger också att det t.o.m. för mänskliga annoterare kan vara svårt att vara överens om huruvida prepositionsfrasen syftar på nominalfrasen eller verbet. Följande meningar kan orsaka problem för ett språkgranskningsprogram: Han ser mannen med teleskopet som är nytt. Han ser mannen med teleskopet som är ny i grannskapet. I Granskas regler lämnas PP-attachment-ambiguteten olöst, och en del falska alarm kan därmed uppstå beroende av detta. I meningarna ovan signaleras den första meningen som ett kongruensfel, eftersom reglerna gör den förenklade tolkningen att prepositionsfrasen med teleskopet hänger på mannen som är i utrum, medan nytt är i neutrum. Den andra meningen släpps igenom utan alarm, eftersom mannen med teleskopet verkligen är en enhet i detta fall. Om man skriver om den sista meningen till: Han ser mannen med hatten som är ny i grannskapet så blir det enklare att se att prepositionsfrasen hänger på substantivet och inte verbet. Men man bör betänka hur vanliga dessa komplicerade språkliga konstruktioner är och hur stor sannolikheten är att de sammanfaller med subjektspredikativ med kopulaverb. Endast omfattande tester mot stora korpusar kan ge svar på detta. Jag har upptäckt är att problemet återfinns i krånglig myndighetstext. I vanlig nyhetstext är problemet mindre frekvent, eftersom kravet på textens lättläslighet är större, vilket medför att skribenter undviker dessa konstruktioner för att undvika att texten missförstås. Vi ställs här återigen inför frågan om granskningsreglerna skall konstrueras för alla tänkbara textgenrer eller om kärnan i regelsamlingen skall vara inriktad på något som kan kallas normalprosa Nominalfras med relativsats som predikationsbas För att kunna upptäcka fel som Mannen som gillar fisk är mycket fiskeintresserade och Den grop vilken Jonsson försvarade blev snart strategiska måste reglerna känna igen nominalfraser med relativsatser som efterställda attribut. Utvecklingen av dessa regler uppstod som en direkt konsekvens av falska alarm. Med en begränsad nominalfrasigenkänning uppstår flera falska alarm, där reglerna signalerade inkongruens mellan nominalfrasen i den relativa bisatsen och det efterföljande predikativet. Fem olika typer av relativa bisatser finns implementerade som hjälpregler. Det verkar som om denna konstruktion är relativt fast och inte bjuder på omfattande ambiguiteter; de förekommer dock i begränsad 128
137 Regler för inkongruens i predikativ omfattning, t.ex. om satsen innehåller två relativsatser som i exemplet nedan från en riksdagstext: Ett förhållande som starkt försvårar personvalet till riksdagen för kandidater som är bosatta inom en valkrets är när partier, utöver en lista som upptar deras namn, går fram med ytterligare en lista med samma namn i samtliga valkretsar i riket. Granskningsregeln påpekar här en inkongruens mellan Ett förhållande och bosatta, när det i själva verket är kandidater som kongruerar med bosatta. Denna konstruktion är osedvanligt svår, då meningen innehåller två relativsatser och multipla prepositionsfraser, varav hjälpreglerna hanterar den första prepositionsfrasen korrekt men inte den andra. Hjälpregeln binp är central i regeln. Denna hjälpregel detekterar fem olika typer av relativsatser med inkluderade nominalfraser (beskrivna i hjälpregelsavsnittet). Det är också viktigt att ange att relativbisatsen inte är en del av en prepositionsfras; det är då sannolikt att subjektet finns längre till vänster i meningen. Relativsatsen får däremot följas av en prepositionsfras. Därefter följer, liksom i de andra reglerna, kopulaverbet (X) och det inkongruenta adjektivet (Y). Regeln blir inte så omfattande i omfång trots allt, eftersom den viktigaste analysen görs i hjälpreglerna. pred1bisats@pred { T0(wordcl!=pp), T(wordcl!=pp), (binp)(), (PP/T3)()?, V(wordcl=ab wordcl=hp)*, X(wordcl=vb & vbt=kop), X2(wordcl=ab)*, Y(wordcl=jj & A(lex.gender=gender) & ((gender!=undef & binp.gender!=undef & gender!=binp.gender) (num!=undef & binp.num!=undef & num!=binp.num)) & text!="få"), Z(wordcl!= nn & wordcl!=jj & wordcl!=pc) --> mark(binp X Y) corr(y.form(gender:=binp.gender, num:=binp.num, spec:=ind)) info("om" italics(y.real_text) "syftar på" italics(binp[0].real_text) "är det kongruensfel") jump(pred_slut, binp.no_of_tokens+1+t3.no_of_tokens) action(scrutinizing) } 129
138 Kapitel 6. Inkongruens i predikativ Infinitivfras som predikationsfras Infinitivfraser med predikativ kräver neutrumformen av adjektivet. Om reglerna inte skulle detektera predikativinkongruens med infinitivfraser skulle det uppstå falska alarm, genom att nominalfrasen i infinitivfrasen i vissa fall skulle bli inkongruent med adjektivet. Granskningen är även för denna regel fragmentarisk vilket följande satser visar: Exempel Detektion, diagnos och korrektion Att hoppa bock är rolig. Detekteras och får ett korrekt förslag. Hoppa bock är rolig. Hoppa är rolig. Detekteras och får ett korrekt förslag. Detekteras inte på grund av att hoppa kan tolkas som ett substantiv i utrum med betydelsen slarvig flicka. Satsen kan ändå tyckas vara ogrammatisk, men det är alltför riskabelt att anmärka på nakna substantiv, jämför t.ex. mat är gott. Om något kongruerar som i fallet med Hoppa är rolig måste det finnas starka semantiska evidens som talar för en semantisk inkongruens. Detta är ett mycket svårt område, som denna avhandling inte kan täcka in. Tabell 6.5. Tabellen visar den fragmentariska granskningen av inifinitivfraser Regeln spänner sig fast i meningens början med T(sed=sen), därefter följer inifinitivfrasen INFP och kopulaverbet (Z) och det inkongruenta adjektivet (Z2). Genom sin fasta position i satsen har regeln god precision, men sämre täckning. En mer liberal regel fångar upp infinitivfraser var helst de står i meningen. En möjlig förbättring av dessa regler vore att införa satsgränsigenkänning i regeln. Reglerna slås då ihop till en regel; detta har dock inte prövats. 130
139 Regler för inkongruens i predikativ predinfb@pred { T(sed=sen), (INFP/X)(), Y(wordcl=vb & vbt=kop), Z(wordcl=ab)*, Z2(wordcl=jj & A(lex.gender=gender) & ((gender!=undef & X.gender!=undef & gender!=x.gender) (num!=undef & X.num!=undef & num!=x.num))), Z3(wordcl!=nn & wordcl!=jj) --> mark(x Y Z2) corr(z2.form(gender:=neu, num:=sin)) jump(pred_slut, X.no_of_tokens) action(scrutinizing) } 131
140 Kapitel 6. Inkongruens i predikativ 132
141 Detektion, diagnos och ersättningsförslag 7. Utvärdering av Granska på olika texttyper Granska är en experimentell miljö, med många möjligheter till experiment med olika regler, regelvarianter och effekter på olika testfall och texter. Ett mål med systemet var att skapa full tillgång och kontroll över de olika modulerna i systemet för att genomföra realistiska användarstudier. I detta kapitel presenteras en utvärdering som kan ge svar på en del språktekniska frågor. Många andra viktiga frågor för automatisk språkgranskning måste söka svaren i användarstudier. Jag har genomfört en utvärdering av Granska på olika texter från olika genrer innehållandes totalt ord (cirka 400 A4-sidor med text). Undersökningen bör ses i ljuset av en utvecklingsprocess, där ett antal upprepade undersökningar med fokus på olika faktorer ingår. Det resultat som presenteras i detta kapitel är inte slutgiltigt. Angreppssättet genom utvecklingsprocessen har varit att försöka detektera så många fel som möjligt inom de eftersökta feltyperna och genom olika förbättringar skärpa upp träffsäkerheten successivt, en metod som har likheter med andra projekt (Birn, 2000; Bredenkamp et al, 2000). Det handlar om att lära känna de falska alarmen och hur de skall reduceras. Vilka falska alarm som kommer att uppstå är mycket svårt att förutse, och endast upprepade körningar mot stora mängder text kan ge några mönster över de falska alarmen. Först när mönstren är kända är det lönt att ta ställning till om det går att eliminera vissa grupper av falska alarm utan att antalet goda alarm minskar radikalt. En omfattande oberoende utvärdering hade varit önskvärd, men resurserna har inte räckt till. Istället har jag själv samlat in texter och gjort en mängd subjektiva bedömningar av vad som är rätt eller fel. Hur detta har gått till och vad som mäts i utvärderingen, vilka definitioner som är viktiga och vilka faktorer som påverkar utvärderingsresultatet beskrivs i de inledande avsnitten. Man bör ha i åtanke att undersökningen inte är en utvärdering av det arbete som presenteras i denna avhandling, vilket klart kommer att framgå av den fortsatta texten. Granskasystemet studeras i sin helhet och någon bedömning av varje moduls kapacitet har inte gjorts (se vidare Intern och extern utvärdering). 7.1 Detektion, diagnos och ersättningsförslag Språkgranskningsprogram har i stort tre uppgifter: att detektera fel, att ställa en feldiagnos och att ge ersättningsförslag. För skribenten är detektionen, det vill säga att felet markeras i texten, den kanske viktigaste information som ett språkgranskningssystem kan ge. Med andra ord, lokaliseringen av felet i texten bör vara viktigt för alla användare av ett system, oavsett användarens kunskapsnivå. Om det räcker att markera den mening som felet finns i, eller om exakt de tecken och ord som felet finns i skall markeras, är en öppen fråga. I den undersökning som presenteras här, definieras en korrekt detektion som: de ord (token) som felet 133
142 Kapitel 7. Utvärdering av Granska på olika texttyper finns i skall markeras som fel och inga andra. Om felet markeras delvis korrekt anses det inte som en korrekt detektion, eftersom den detektionen kan vilseleda användaren av systemet, genom att såväl diagnos och ersättningsförslag kan missuppfattas. Om inte denna strikta definition görs blir det svårt att dra gränsen för vad som är en korrekt detektion. Enligt Krenn och Samuelsson (1996) finns det utvärderingar där partiellt korrekta detektioner ges en halv poäng. Det hade varit möjligt i denna undersökning också, men jag ansåg att det fanns för många oklarheter kring detta. Ett exempel är när inkongruens sammanfaller med särskrivna sammansättningar, t.ex. ett cykel ställ, där ett och cykel är inkongruenta i genus. Om ett cykel markeras som fel i texten, kan den anmärkning vara till gagn för en skribent som själv kan diagnosticera felet och upptäcker den särskrivna sammansättningen. Men för den osäkra skribenten kan systemets detektion, diagnos och ersättningsförslag ge upphov till ett nytt fel, nämligen en cykel ställ, som i sin tur blir svårare för systemet att upptäcka. Detta på grund av att den viktiga kongruensen mellan determineraren och det andra substantivet nu är borta. Richardson och Braden-Harder (1993) använder termen användbar (useful) för de träffar som systemet ger som inte är helt korrekt, men som ändå hjälper användaren att förbättra texten. Detta kräver dock att användarna uttalar sig om varje enskilt fall. Exempel: Korrekt detektion: Jag har köpt en Transporter turbo diesel. Felaktig detektion: Jag har köpt en Transporter turbo diesel. Diagnosen består av den kommentar som systemet ger till det markerade området eller meningen, viktig information för en del användare, mindre viktig för andra (ref, se användarstudie). Diagnos definieras i denna undersökning som: felet skall kategoriseras inom rätt feltyp, t.ex. inkongruens i nominalfrasen. Det är inte nödvändigt att systemet ger en mer detaljerad diagnos som innehåller mer specifik språklig information, t.ex. vilka särdrag som är fel. Ersättningsförslagens korrekthet är svårare att mäta, eftersom dessa ofta kräver en djupare förståelse av texten. För att vara riktigt säker på att ersättningsförslag är bra krävs det att den skribent som skrivit felet uttalar sig om varje förslag från systemet. Ett alternativ är att en modell för hur ersättningsförslagen skall bedömas i olika situationer byggs upp. Med en modell kan vi till exempel få fram att det är substantivet husen som skall bytas ut mot huset i det lilla husen, eftersom determineraren det och lilla kongruerar i numerus. Egentligen kan vi inte vara säkra på detta, det är fullt möjligt att substantivet är korrekt och det är det lilla som skall bytas ut mot de små. Med en modell uppstår också andra frågor om utvärderingens giltighet, eftersom modellen blir en källa till felbedömningar. En modell för ersättningsförslag passar nog bäst som en utgångspunkt för utvecklingen av själva språkgranskningsprogrammet, för att säkerställa en konsekvens i de ersättningsförslag som ges. 134
143 Täckning och precision I denna undersökning har inte ersättningsförslagen bedömts eftersom att en modell saknas. Det är dessutom svårt att värdera de korrekta detektioner där ersättningsförslag inte ges överhuvudtaget av systemet. 7.2 Täckning och precision Täckning och precision är centrala mätmetoder som ger en uppskattning av hur många fel som hittas (täckning) och hur många korrekta och falska alarm som ges (precision). Något som brukar kallas f-värde (f-measure) brukar användas inom informationssökning för att kunna vikta resultatet beroende på om det är precision eller täckning som är det viktiga. Jag använder endast täckning och precision i den fortsatta framställningen. Täckning och precision definieras enligt: a = antal korrekt detekterade fel = antal korrekta alarm b = falska alarm c = missade alarm täckning = a/a+c precision = a/a+b De fall där division med 0 förekommer anses som odefinierade. Täckning är odefinierat om a+c=0. Precision är odefinierat om a+b=0. Täckning och precision ger en ganska stel uppskattning av hur bra eller dåligt ett språkgranskningsprogram fungerar. Enligt Karlgren (2000) är täckning och precision främst bra vid utvärdering och jämförelse av algoritmer, medan det är mer oklart vad begreppen egentligen säger i verkliga system med användare. Med dagens språkteknik för svenska är det i stort sett omöjligt att få såväl hög täckning som precision, åtminstone för feltyper som inkongruens och särskrivningar. Utvecklarna av ett språkgranskningsprogram måste därför söka efter en bra balans mellan de båda, eller ännu hellre låta användaren välja vad som skall prioriteras. Det kan finnas många olika skäl till att en skribent vill ha hög täckning. Ett skäl kan vara att skribenten verkligen vill att programmet skall detektera så många fel som möjligt, och då accepterar användaren falska alarm. God precision kan vara viktigt för osäkra användare som har svårt att ta ställning till de alarm som kommer från systemet. Andra användare besväras av många falska alarm, just för att de är många och stör redigeringsarbetet. 7.3 Faktorer som påverkar resultatet Det krävs stora resurser för att genomföra en utvärdering som kan anses ha någon form av vetenskaplig giltighet. Det första problemet är vilka texter som skall användas i en utvärdering; det finns flera svåra frågor enbart vid insamlingen av en 135
144 Kapitel 7. Utvärdering av Granska på olika texttyper utvärderingskorpus. Skall det vara texter skrivna i ett skede av revidering under skrivprocessen eller skall programmet testas på mer färdiga texter? Hur utjämnas de stora individuella skillnader som finns mellan skribenter inom samma textgenre? Hur många ord skall programmet plöja igenom för att t.ex. alla regler i programmet skall tillämpas, behövs det ord eller 1 miljon ord eller rent av 10 miljoner ord? När börjar vi se stabila mönster i våra testkörningar? Det behövs mycket text, det står klart, en miljon ord är för lite för att ens få statistiskt goda data över tre-ordssekvenser för morfologisk information (taggtrigram) från SUC (Carlberger och Kann, 1999). Det behövs mer text, men olika mycket text för olika språkliga problem. Många syntaktiska konstruktioner kommer att finnas med i text på 1 miljon ord medan andra inte kommer att göra det (Källgren, 1992). En nominalfras som består av en determinerare, ett adjektiv och ett substantiv är frekvent och en regel som försöker detektera fel i en sådan kan bli tillräckligt testad redan vid en miljon ord medan inkongruens i predikativ säkerligen kräver fler ord på grund av att konstruktionen är mindre frekvent. Hur frekvent en konstruktion är, har en avgörande betydelse för vilka resultat vi får. Om alla regler testas på samma text kommer således en del regler testas hårdare än andra. Vi får ett orättvist resultat. Å andra sidan är det viktigare för ett program att hantera frekventa språkliga konstruktioner korrekt än mindre frekventa. Detta kan anses vara ett rent utvecklarperspektiv och en utvärdering där konstruktioners frekvens är viktiga är något helt annat än en utvärdering som görs med användaren av programmet i centrum. Det är därför viktigt att skilja mellan den interna utvärderingen och den externa utvärdering, något som också poängteras av Wojcik et al (1993). Utvärderingsmetoder för informationssökningssystem verkar vara under stadig utveckling, medan motsvarande metoder inom grammatikkontroll, verkar ha stagnerat. Det är ofta svårt att direkt överföra de framsteg som görs inom utvärderingen av informationssökning till automatisk språkgranskning. Men ett gott råd kommer från Hull (1996) som menar att många forskare slänger bort mycket utvärderingsarbete genom att enbart presentera en sammansatt siffra för täckning och precision. En utvärdering ger ofta många olika resultat, som ofta är viktigare än vilken procentsats systemet hamnade på vad det gäller täckning och precision. Detta gäller i allra högsta grad utvärderingar av program för språkgranskning. Det behövs text från många olika skribenter inom flera olika textgenrer. Här är SUC (Ejerhed et al, 1992) en förebild med en god balans av olika texttyper. Det urval av genrer som finns i SUC är också gott, men ter sig problematsikt i ett språkgranskningssammanhang där den språkliga stilen inom en genre i många fall anger vad som är rätt eller fel. Hur skall ett språkgranskningsprogram klara denna mängd av genrer? En genre som light reading passar utmärkt som testtext om man vill nå god värden vad det gäller precision; meningarna är förhållandevis 136
145 Andra utvärderingar av språkgranskningsprogram korta och fraserna relativt enkla till sin natur; och dessutom finns många ord med i ett standardlexikon. Jag tänker inte gå djupare in på vad en genre är eller hur ett val av genrer för en utvärderingskorpus skulle gå till, utan jag nöjer mig med att konstatera att representation av genre har stor betydelse för det slutliga utvärderingsresultatet. Det slutgiltiga resultatet bör inte presenteras i en klump utan genre för genre, eftersom skillnaderna är stora och bör inte utjämnas genom en sammanslagning. Det bästa vore också om texterna som används i en utvärdering befann sig under redigering, eftersom ett granskningsprogram bör testas i den situation det är konstruerat för. 7.4 Andra utvärderingar av språkgranskningsprogram Det finns många utvärderingar av språkgranskningsprogram med varierande kvalitet. Jag väljer att presentera två som jag finner viktiga och intressanta. Birn (2000) presenterar en omfattande och imponerade utvärdering av den svenska grammatikkontrollen Grammatifix (Arppe et al, 1998). I denna utvärdering uppskattades precisionen till 70 % (376 korrekta alarm och 160 falska alarm) på ord från Göteborgs-Posten. Täckningen uppskattades till 35 % på ord från Göteborgs-Posten. Huruvida utvärderingstexterna är delvis överlappande framgår inte av artikeln. Om resultatet speglar såväl detektion, diagnos som ersättningsförslag framgår inte heller. Däremot är texterna helt nya för systemet. Att det endast uppstår 160 falska alarm på över en miljon ord framstår som ett mycket gott resultat. Det utfördes också en intern utvärdering med viktiga resultat. Den interna utvärderingen visar att 29 % av de falska alarmen uppstod på grund av lexikala brister, medan endast 11 % uppstod på grund av disambigueringsfel. Den största källan till falska alarm var granskningsreglerna som stod för 60 % av felen. De enklaste felkällorna att täppa till är lexikala brister, medan en del falska alarm orsakade av granskningsreglerna inte ens verkar vettiga att åtgärda eftersom det falska alarmet är så speciellt. En annan utvärdering är den av grammatikkontrollen Critique, den engelska versionen utförd av Richardson och Braden-Harder (1993). Denna utvärdering är omfattande och mer användarnära. Utvärdering gjordes på skribenter från fyra olika användargrupper: Freshman Composition, innebär studenter som lär sig att skriva. Business writing, innebär skrivande i arbetslivet. ESL, innebär skribenter som lär sig engelska som andra språk. Professional writing, innebär yrkesverksamma skribenter. Med användbara alarm, i tabellen nedan, menas alarm som inte är helt korrekta, men som ändå hjälper användaren att förbättra texten. 137
146 Kapitel 7. Utvärdering av Granska på olika texttyper Användargrupp Korrekta alarm Korrekta alarm + användbara alarm Freshman composition 72 % 86 % Business writing 73 % 82 % ESL 54 % 87 % Professional writing 39 % 41 % Tabell 7.1. Critiques resultat i fyra olika användargrupper för icke-triviala fel. Jensen et al gör ingen uppskattning av täckning, vilket gör det svårt att värdera resultatet. Men det är intressant att se skillnaderna mellan de olika grupperna. Anmärkningsvärt är att skribenter med engelska som andra språk (ESL) finner många av alarmen användbara trots att de inte är helt korrekta. 7.5 Intern och extern utvärdering Wojcik, Harrison och Bremer (1993) har utvecklat en metodik för att utvärdera språkgranskningprogram. Först genomförs en intern utvärdering, där de olika delarna i systemet utvärderas. Därefter följer en extern utvärdering där språkgranskningsprogrammet ses som en svart låda och endast dess effekt på olika texter uppskattas. För Granskas del skulle det innebära en separat utvärdering av tokeniseren, taggaren, Stava, hjälpreglerna, granskningsreglerna och modulen som genererar ersättningsförslag på texter med fel i. Hög korrekthet på felfria texter innebär inte automatiskt ett bra resultat på texter med fel i. Generella lingvistiska verktyg utvärderas ofta på texter med få fel i. Den utvärdering som det här kapitlet behandlar kan ses om en kombination av intern och extern utvärdering, med tonvikten på extern utvärdering, eftersom resultatet till största delen presenteras sammansatt. Ett antal viktiga interna utvärderingar har utförts inom projektets ram, men under arbetets gång, och inte i samband med den externa utvärderingen. Två mindre utvärderingar gjordes av taggaren i ett tidigt skede av projektet (april 1998). Den första utvärderingen visade att taggaren taggade 72 % av 200 autentiska kongruensfel korrekt. De vanligaste feltaggningarna var felgissningar av okända ord och att taggaren valde pronomen istället för determinerare. 26. Den andra interna utvärderingen gick ut på att taggaren tillsammans med en uppsättning regler (från Granska anno 1997) skulle granska ord från SUC. Det uppstod endast 8 falska alarm, vilket är ett mycket gott resultat, men taggaren hade tränats på texter från SUC och de regler som användes sökte endast efter ett fåtal feltyper. Två kongruensfel detekterades också helt korrekt. 26 Med feltaggning menas att ordet har taggats på oförutsägbart sett, så att taggningen gör det svårt att lokalisera ett fel med regler. 138
147 Intern och extern utvärdering Granskas utveckling är också intressant då tester utfördes på två olika felsamlingar vid två olika tidpunkter. En felsamling innehållandes 200 autentiska kongruensfel insamlade av Domeij (1998) och en felsamling med 390 särskrivna sammansättningar insamlade av Öhrman (1998), granskades av Granska vid två olika tidpunkter. Hösten 1999 var täckningen 60 % på båda felsamlingarna, medan täckningen ett år senare var nere på cirka 50 % för kongruensfelen och endast cirka 45 % på felsamlingen med särskrivningarna. Precisionen var vid båda tillfällen mycket hög, mellan %. Den höga precisionen beror på att felsamlingarna innehåller uteslutande meningar med fel i. Dessa tester var också inriktade på täckning. Vad har egentligen hänt med täckningen? Minskningen i täckning beror helt enkelt att på att precisionen har förbättrats, en mängd falska alarm har eliminerats. Detta sker delvis på bekostnad av försämrad täckning eftersom systemets lingvistiska grundförutsättningar inte radikalt har förändrats. Hjälpreglerna har spelat en större och större roll ju längre arbete har fortskridit. Mer avancerade hjälpregler har gett möjligheter till en mer omfattande feldetektion. Det är framförallt de hjälpregler som identifierar nominalfraser som har utvecklats mest. Dessa regler utvärderades under hösten 1999 (Johansson, 2000) på 2824 ord från nyhetstexter och populärvetenskapliga texter. Dessa texter innehöll totalt 1077 nominalfraser, inga noteringar om huruvida texterna innehöll språkliga fel finns. De nominalfraser som utvärderades innehöll inga efterställda attribut. Hjälpreglerna uppnådde en täckning på 80 % och en precision på 80 %. Utvärderingsuppgiften var dock svårare och annorlunda mot hur hjälpreglerna används i Granska; hjälpreglerna skulle välja ut den korrekta nominalfrastolkningen bland en mängd möjliga. Johansson kom med en rad förslag på förbättringar varav några finns med i den version av Granska som användes i den utvärdering som beskrivs i detta kapitel. En extern utvärdering har också genomförts inom ramen för en magisteruppsats (Öhrman, 2000). Denna utvärdering ger en uppskattning över Granskas kapacitet på texter skrivna av inlärare av svenska som andraspråk. Totalt innehöll dessa texter över ord och hela 1109 språkfel (inklusive stavfel). Granska detekterar 32 % (353 fel) av felen med korrekt diagnos medan ytterligare 3 % av felen detekteras men med fel diagnos. Granska ger endast 61 falska alarm, vilket ger en precision på hela 85 %. De vanligaste felen är stavfel (26,1 % av alla fel), kongruensfel (14,1 %), fel tempus (6,4 %), felaktig ordföljd (6,9 %), semantiska fel (6,2 %), lexikonfel (8,3 %) och fel preposition (9,0 %). Granska upptäcker 66 % av stavfelen, 56 % av kongruensfelen, 5 % av ordföljdsfelen. Fel tempus, semantiska fel, lexikonfel och fel preposition upptäcks inte alls, dessa eftersöks heller inte. En mer omfattande intern utvärdering av en och samma balanserade korpus hade kanske gett en bättre bild av vilka moduler i Granska som bidrar med felaktiga 139
148 Kapitel 7. Utvärdering av Granska på olika texttyper analyser som påverkar helheten. Att kunna isolera felkällorna på ett systematiskt sätt hade varit mycket värdefullt för den framtida utvecklingen av Granska och även som ett generellt resultat: vilka spridningseffekter får t.ex. lexikala brister, fel i taggdisambigueringen och i hjälpreglerna? En sådan omfattande intern utvärdering har dock inte varit möjlig. Nu har istället andra aspekter av språkgranskningen undersökts, vilket kanske i det stora hela ger ett större bidrag till forskningen om språkgranskning, än vad en omfattande intern utvärdering hade gjort. I ett senare avsnitt kommer dock några olika exempel på hur brister i de olika modulerna i Granska kan ge upphov till såväl falska alarm, missade fel och felaktiga ersättningsförslag att presenteras. 7.6 Centrala frågor i undersökningen Målet med undersökningen vara att undersöka några olika frågor som kan ge vägledning för den fortsatta utvecklingen av Granska eller något annat språkgranskningsprogram. Följande frågor var centrala i undersökningen: Hur påverkar brister i lexikon, taggdisambiguering, hjälpregler och granskningsregler Granskas täckning och precision? Vilka feltyper detekteras med hög eller låg täckning och precision? Hur påverkas granskningsresultatet av vilka texttyper som granskas? Vilka skillnader finns mellan de olika texttyperna vad det gäller felrealisationer och alarm från Granska? 7.7 Testkörningen och valet av texter Språkgranskningsprogram är primärt utvecklade för granskning av skriven text. Emellertid, många skrivna texter innehåller en återgivning av någon form av dialog. Det är inte tal, men inte skriftspråk heller. Det är oundvikligt att få med denna typ av text när en textmassa sätts samman. Jag tycker det är extra viktigt att använda texterna som de är, utan redigering. En skribent kan helt och hållet följa den skriftspråkliga normen, men samtidigt presentera en återgivning av en dialog, som bryter såväl stilistiskt som grammatiskt mot skriftspråket. Alla texter är helt okända för systemet och den utvärderingskorpus som satts samman är sant oppurtinistisk (man tager vad kan få tag på). Det finns således ingen balans mellan olika texttyper, vilket hade varit önskvärt; detta kräver som sagt mycket arbete. Själva testkörningen genomfördes i ett svep. Granska markerade fel i texten. Jag granskade och bedömde dessa markeringar. Jag läste och språkgranskade dessutom all övrig text, för att identifiera de fel som Granska missade. 140
149 Resultat från utvärderingen Bedömning av alarmens relevans Det finns många fall där det är svårt att säga om ett alarm är relevant eller inte för användaren. Det är dock enklare att uttala sig om relevans än om vad som är rätt eller fel, eftersom det är svårt att veta vad skribenten egentligen avsett att skriva. Således är en träff korrekt när alarmet kan anses vara relevant för skribenten. Genom att tala om relevant snarare än korrekt slipper man avgöra om skribenten själv tycker att alarmet är fullständigt korrekt. Ett område i texten kan innehålla flera alarm samtidigt och det är då möjligt med flera alarm inom samma område. När jag har räknat har jag använt följande princip för såväl falska alarm som för korrekta alarm: Två falska alarm på samma ställe i texten räknas som två falska alarm, i analogi med att om en särskrivning upptäcks av både en kongruensregel och en särskrivningsregel så är båda relevanta, om det inte helt går att utesluta den ena diagnosen. I ganska många fall handlar det om subjektiva bedömningar: dels kan feltypen i sig vara svårbedömd, och dels kan själv texten vara svårtolkad, t.ex. Farligt godstransporter bör inte köra rakt igenom stadskärnan. Genom att läsa hela texten förstår man att det inte rör sig om ett kongruensfel utan att det handlar om transporter av Farligt gods. Detta har bedömts som ett falskt alarm; dock kan man eventuellt invända mot hur skribenten markerar sammansättningen i texten. Man bör också vara medveten om att den mänskliga granskningen inte är perfekt, utan att fel och missar smyger sig in även här. Programmet jämförs inte mot något som är absolut rätt. En resursstark ideal utvärdering bör helst bestå av minst tre mänskliga granskare för att minska antalet missar och möjliggöra majoritetsbeslut. Bredenkamp et al (1999) rapporterar om två mänskliga granskare som uppnådde en täckning på 71 % respektive 81 % för syntaktiska fel i samma text. Ortografiska fel verkade enklare att detektera och båda granskarna hittade 87 % av dessa fel. 7.8 Resultat från utvärderingen Presentationen av resultat från utvärderingen sker med resultat för varje texttyp. Resultatet har delats in i ganska grova feltyper, enligt den presentation som gjordes i kapitel 2, och har kompletterats enligt tabell 7.2. En del feltyper utmärker sig inom de grova feltyperna ofta med ett resultat som inte gäller för hela den grova feltypen. Samtliga fel som upptäcktes av mig är medräknade. Det innebär att en stor mängd grammatiska fel som inte eftersöks av granskningsreglerna finns med. Detta gäller också inom de eftersökta feltyperna. Ingen regelkategori eftersöker samtliga feltyper. Granskningen är fragmentarisk och kommer att så förbli länge än. De texttyper som undersöktes var: Sportnyheter, ord 141
150 Kapitel 7. Utvärdering av Granska på olika texttyper Utrikesnyheter, ord Myndighetstexter, ord Populärvetenskapliga artiklar, ord Uppsatser från gymnasium och högskola, ord. Alla texttyper är med undantag av uppsatserna publicerade och därför förmodligen korrekturlästa av både författaren och någon annan; kanske till och med granskade med något språkgranskningsprogram. Bättre hade det förstås varit om texterna varit icke-korrekturlästa. Totalt språkgranskades ord såväl manuellt och automatiskt. Sportnyheter och utrikesnyheter är hämtade från en nyhetskorpus, KTH News Corpus, främst insamlad för informationssökning, informationsextrahering och textsammanfattning (Carlberger, Dalianis, Hassel & Knutsson, 2001). Övriga texter har hämtats från Internet eller från respektive författare. Att klassificera felen i texterna är ett svårt arbete. Jag har klassificerat grova feltyper, för att minska arbetsbördan. Det är omöjligt att inte råka ut för en överlappning mellan feltyperna. Ett exempel är en sats som Vi kommer spela en låt av Sonic Youth där felet kan tolkas som Ord saknas men också som kommer kräver att om det följas av ett verb i infinitiv. Den senare tolkningen är mer precis och är den som räknas i utvärderingen. Endast om det inte går att välja en som är bättre än en annan räknas respektive feltyp med i utvärderingen. I tabellen nedan presenteras de feltyper som förekommer i utvärderingen. Frekvensen för varje feltyp i utvärderingstexterna presenteras och också huruvida feltypen eftersöks av Granska. Ett ja i tabellen betyder inte att samtliga felvarianter av feltypen eftersöks, utan att felet eftersöks på ett generellt sätt. Totalt upptäcktes 418 fel i utvärderingstexterna. 142
151 Resultat från utvärderingen Feltyp Exempel Antal fel Andel av alla fel 27 Eftersöks av Granska Inkongruens i Det här är en falska sats % Ja nominalfraser Särskrivna Kokt kyckling lever % Ja sammansättningar Inkongruens i Denna sats är falska % Ja predikativ Böjningsfel i Hon har spelar fotboll % Ja verbfras Felaktig Han gav boken till de % Ja, begränsat pronomenform Ord saknas Han kör grön bil % Ja, begränsat Överflödigt ord Han kör kör en grön bil. 4 1 % Nej Bestämdhetsfel Här kommer taxibil. 4 1 % Nej Versalfel meningen slut. den 11 3 % Nej Kommateringsfel Han gillar bilar prylar och mat. 2 0,5 % Nej Syftningsfel Bilen körde på vägen, det körde 1 0,25 % Nej sen av. Felaktig preposition Han sökte svar med 11 3 % Ja, begränsat utgångspunkt från (bör vara utgångspunkt i) Stavfel med gramsem Lisa gillar Pelle, hon vill träffa % Nej konsekvens 28 hon nu. Ordföljdsfel Han sa att han sparkade inte 8 2 % Ja, begränsat Kontamination, sammanblandning av uttryck bollen. Thurston Moore tillhör en av samtiden största. (ska vara är en av eller bara tillhör) Totalt % Ja, begränsat Tabell 7.2. En överblick över de grova feltyper som fanns med i utvärderingstexterna Sportnyheter ord från olika sportnyheter samlades in från Dagens Nyheter. Den främsta anledningen till den relativt stora mängden sportnyheter, var ett antagande om att sportnyheter innehåller relativt många felaktigheter. Det finns mycket riktigt en del fel i sporttexter, framförallt kongruensfel och fel i verbkedjan. 88 % av kongruensfelen detekteras och diagnostiseras korrekt, dessvärre med en låg träffsäkerhet på 38 %. Verbkonstruktionsfelen upptäcks i samtliga fall, med en precision av 91 %. En regel som ger många goda alarm är "kommer utan att" med en precision och täckning på 94 %. Det är inte enbart precisionen och täckningen 27 Avrundande värden 28 Huruvida dessa fel är stavfel eller rena kunskapsfel har jag inte tagit ställning till. 143
152 Kapitel 7. Utvärdering av Granska på olika texttyper som är anmärkningsvärd utan framförallt att felet verkar så vanligt. Konstruktioner med kommer utan att, börjar bli så vanligt, att den snart kanske kan anses korrekt. Inom sportjournalistiken verkar detta redan ha skett, i ingen av de andra textgenrerna förekommer feltypen så ofta. Det finns t.ex. ingen instans av feltypen i gymnasie- och högskoletexter. Granska ger flest falska alarm med feltyperna ordföljdsfel och särskrivna sammansättningar. Sportnyheter innehåller påfallande många okända ord, namn på platser, idrottskvinnor- och män, fotbollslag osv. Detta försvårar analysen. Dessutom är det vanligt med korta intervjuer i sportnyheter, vilket gör att konstruktioner i talspråket måste behandlas, i vissa fall med dåligt resultat. Det förekommer endast två särskrivna sammansättningar i textsamlingen, och dessa detekteras korrekt. Detektionen av inkongruens i nominalfraser lider av samma svårigheter som ovan, men det finns betydligt fler kongruensfel, vilket får upp värdena för precision till 38 %. Feltyper Inkongruens i nominalfraser Särskrivna sammansättningar Alarm Beräkningar Korrekta Falska Missade Täckning Precision % 38 % % 11 % Inkongruens i predikativ % 0 % Böjningsfel i verbfras % 91 % Objektsform efter preposition % 20 % Ord saknas % - Överflödigt ord % - Felaktig preposition % 100 % Stavfel med gram-sem konsekvens % - Ordföljdsfel % Kontamination Sammanblandning av uttryck % 100 % Totalt % 52 % Tabell 7.3. Korrekt detektion och korrekt diagnos av samtliga feltyper i ord sportnyheter. 144
153 Resultat från utvärderingen Ytterligare 4 fel detekteras men med fel diagnos Utrikesnyheter ord från olika utrikesnyheter samlades in från Aftonbladet, dessa var klassificerade som världen av Aftonbladet. Granska detekterar nio fel av 15 möjliga fel, vilket ger en täckning på 60 % totalt. Precisionen är så låg som 25 %, och det är framförallt inom feltyperna kongruensfel och särskrivning som de flesta falska alarmen uppstår. Utrikesnyheter innehåller många okända ord och även en del dialogavsnitt som bryter mot den annars ganska strikta stilen. Inte ett enda särskrivningsfel hittas ens vid den manuella granskningen, vilket gör uppgiften för särskrivningsreglerna mycket svår. Det är som att leta efter en nål i en höstack där någon nål inte finns. Feltyp Inkongruens i nominalfraser Särskrivna sammansättningar Alarm Beräkningar Korrekta Falska Missade Täckning Precision % 11 % % Inkongruens i predikativ % 40 % Böjningsfel i verbfras % 71 % Objektsform efter preposition % 0 % Ord saknas % - Överflödigt ord % - Felaktig preposition % 100 % Stavfel med gram-sem konsekvens % - Ordföljdsfel % Sammanblandning av uttryck % Totalt % 25 % Tabell 7.4. Korrekt detektion och korrekt diagnos på ord från en samling utrikesnyheter. Ytterligare 2 fel detekteras men med fel diagnos. 145
154 Kapitel 7. Utvärdering av Granska på olika texttyper Myndighetstexter Texter med ord skrivna av olika myndigheter samlades in. Dessa texter innehåller olika typer av fel. Mest påfallande är att ordföljdsfel, kongruensfel och särskrivningsfel förekommer i så pass stor omfattning. Feltypen felaktig pronomenform är den enskilt största felkällan av dem som upptäcks av systemet. Feltypen Ord saknas är lika vanlig, men upptäcks inte av Granska. Såväl täckning som precision är bättre än för kategorin Utrikesnyheter, men något sämre än för genren Sportnyheter. Feltyp Inkongruens i nominalfraser Särskrivna sammansättningar Alarm Beräkningar Korrekta Falska Missade Täckning Precision % 25 % % 42 % Inkongruens i predikativ % 36 % Böjningsfel i verbfras % 86 % Objektsform efter preposition % 88 % Ord saknas % 0 % Överflödigt ord Bestämdhetsfel % - Versalfel % - Felaktig preposition % 75 % Stavfel med gram-sem konsekvens % - Ordföljdsfel % 100 % Kontamination, sammanblandning av uttryck Totalt % 47 % Tabell 7.5. Korrekt detektion och korrekt diagnos på ord myndighetstext. Ytterligare fem korrekta detektioner gjordes men med felaktig diagnos Populärvetenskapliga artiklar Materialet i denna del har hämtats från tre artilkar ur en bok Svenskan och ITsamhället (Josefsson, 1997) och från en populärvetenskaplig tidskrift, totalt
155 Resultat från utvärderingen 386 ord. Granska detekterar samtliga fall av inkongruens i nominalfraser med en precision på 37 %. Feltypen böjningsfel i verbfras fungerar även på denna texttyp mycket bra; täckningen är 100 % och precisionen är 78 %. Feltyp Inkongruens i nominalfraser Särskrivna sammansättningar Alarm Beräkningar Korrekta Falska Missade Täckning Precision % 37 % % 27 % Inkongruens i predikativ % Böjningsfel i verbfras % 78 % Felaktig pronomenform % 50 % Ord saknas % 0 % Överflödigt ord Bestämdhetsfel Versalfel Felaktig preposition % 100 % Stavfel med gram-sem konsekvens Ordföljdsfel % 0 % Kontamination, sammanblandning av uttryck Totalt % 46 % Tabell 7.6. Korrekt detektion och korrekt diagnos på ord från populärvetenskapliga artiklar. Ytterligare 3 detektioner görs med felaktig diagnos. 147
156 Kapitel 7. Utvärdering av Granska på olika texttyper Uppsatser från gymnasium och högskola ord samlades in från uppsatser skrivna av gymnasieelever och högskolestudenter, med en ganska jämn fördelning i antal ord mellan de två grupperna. Dessa texter innehåller många fel, vilket ger ett resultat med ett omvänt förhållande mellan täckning och precision jämfört med de andra textgenrerna. Täckningen blev endast 37 %, medan precisionen blev ganska god på 66 %. Särskrivna sammansättningar är den största feltypen med 60 felinstanser. De individuella skillnaderna mellan skribenterna verkar vara störst inom denna genre. Vissa skribenter åstadkommer många fel, medan andra texter är nästan felfria. Feltyp Inkongruens i nominalfraser Särskrivna sammansättningar Alarm Beräkningar Korrekta Falska Missade Täckning Precision % 72 % % 67 % Inkongruens i predikativ % 44 % Böjningsfel i verbfras % 76 % Felaktig pronomenform % 100 % Ord saknas % 16 % Överflödigt ord % - Bestämdhetsfel % - Versalfel % - Kommateringsfel % - Syftningsfel % - Fel preposition Felaktigt prepositionsbruk % 100 % Stavfel med gram-sem konsekvens % 0 % Ordföljdsfel % 0 % Sammanblandning av uttryck % 100 % Totalt % 66 % Tabell 8.7. Korrekt detektion och korrekt diagnos på ord från gymnasie- och högskoleuppsatser. Ytterligare 10 korrekta detektioner gjordes men med fel diagnos. 148
157 Resultat från utvärderingen Resultatet sammanslaget för samtliga texttyper Jag har argumenterat emot en presentation av utvärderingen där resultatet från samtliga texter sätts samman. Det finns ändå skäl att göra detta, dels för att illustrera hur ett svagt resultat på en texttyp kan döljas av ett bra på en annan och dels för att det kan trots allt vara intressant att se hur resultatet ser ut på samtliga texter. Feltyp Inkongruens i nominalfraser Särskrivna sammansättningar Inkongruens i predikativ Böjningsfel i verbfras Felaktig pronomenform Alarm Beräkningar Korrekta Falska Missade Täckning Precision Antal fel Andel av alla fel % 44 % % % 39 % % % 32 % 16 4 % % 83 % % % 56 % 14 3 % Ord saknas % 8 % % Överflödigt ord % % Bestämdhetsfel % % Versalfel % % Kommateringsfel % - 2 0,5 % Syftningsfel % - 1 0,25 % Felaktig preposition Stavfel med gramsem konsekvens % 89 % 11 3 % % % Ordföljdsfel % 38 % 8 2 % Kontamination, sammanblandning av uttryck % 75 % 4 1 % Totalt % 53 % 418 Tabell 7.8. Korrekt detektion och korrekt diagnos på samtliga texter i undersökningen, totalt ord. 149
158 Kapitel 7. Utvärdering av Granska på olika texttyper 7.9 Diskussion Genom att undersöka Granskas förmåga på flera olika texttyper är resultatet mer svårtolkat men också mer intressant. Om det jämförs med Critiques verkar det stämma ganska bra; hög korrekthet på studenttexter och sämst resultat på texter skrivna av yrkesverksamma skribenter. Vid en jämförelse med utvärderingen av Grammatifix verkar Granska upptäcka fler fel men samtidigt ge ifrån sig fler falska alarm. En rättvis jämförelse kräver dock att samma texter används vid en utvärdering och att ungefär motsvarande feltyper eftersöks. De olika modulernas påverkan på granskningsresulatet varierar, eftersom någon intern utvärdering inte utförts så kan endast tendenser presenteras. Men det verkar ovanligt att tokeniseringfel genererar några falska alarm. Det finns lexikala brister som försvårar taggningen. Taggaren lider delvis av lexikala brister men också av vad jag uppfattar som bristande statistik. Hjälpreglerna påverkar kanske främst regler för inkongruens i predikativ och en del falska alarm uppstår på grund av alltför begränsads analys av t.ex. prepositionsfraser, koordinering och relativa bisatser. Granskningsreglerna orsakar dels en del falska alarm som bör kunna rättas till men också en del falska alarm som inte kan undvikas om man vill hitta fel. Hur balansen mellan täckning och precision skall vara är fortfarande en öppen fråga. Men det verkar mindre bra att bygga in ett sådant beslut i systemet, utan valet bör överlämnas till användaren. Användarna har olika behov och de måste kunna påverka och ställa in nivån på täckningen och precisionen efter sitt eget tycke och sin språkliga kapacitet Exempel från Granskas moduler som ger upphov till falska alarm Täckningen visar sig vara relativt god i Granska så de fortsatta ansträngningarna bör läggas på att eliminera falska alarm. Ett viktigt steg i denna process är att göra en omfattande intern utvärdering. En intern utvärdering är ett omfattande arbete som kräver mycket spårningsarbete. Den följande texten bjuder på några glimtar ur detta arbete som dock endast är i sin linda. tokeniseraren: Tokenisering är ofta ett svårare problem än man först kan tro (se t.ex. Grefenstette & Tapilainen, 1994). Granskas tokeniserare är förhållandevis avancerad, men det finns alltid en risk att svåra konstruktioner får en felaktig tokenisering. De finns regler i tokeniseraren som sätter ihop konstruktioner av typen snö- och solresor till ett token, där de morfologiska särdragen hämtas från det sista substantivet. Detta fungerar för det mesta men det uppstår dock en del fall som till exempel farligt gods- och säkerhetsfrågor, där farligt gods snarare skall ses som en enhet i stället för gods- och säkerhetsfrågor. När denna kosntruktion når granskningsreglerna 150
159 Diskussion fångas inkongruensen mellan farligt och säkerhetsfrågor upp och ett falskt alarm uppstår. taggaren: Granskas taggare har ett begränsat synfält och längre beroende mellan orden kan inte hanteras. Vanliga fel är att pronomen får en determinerartolkning och tvärtom och att substantiv med samma ordform i t.ex. genus eller numerus tolkas fel. Ett exempel på detta är satsen straffen som Frankrike fick var felaktig, där straffen tolkas som plural. Ett falskt alarm uppstår eftersom adjektivet felaktig står i singular. Speciellt knepigt blir det för såväl reglerna som taggaren om inte båda formerna finns i lexikonet och taggaren måste gissa. Ur reglernas synvinkel framstår då orden som entydiga eftersom inga fler tolkningar finns i lexikon. Detta verkar speciellt vanligt för sammansättningar där nybildningen av ord i svenskan är som vanligast. När en gissning sker bör samtliga möjliga tolkningar av ett ord läggas till åtminstone ett temporärt lexikon. Detta innebär att reglerna kan komma åt att det finns t.ex. en utrum-singular-tolkning och en neutrum-plural-tolkning av ord som t.ex. disciplinstraffen. En fördel och även en nackdel med taggarens algoritm är att det alltid erhålls en entydig tolkning. Det är bra för att det gör det möjligt att upptäcka fler fel; okända ord får ofta en korrekt tolkning. Men i vissa kniviga fall där inga starka statistiska belägg för en viss tolkning finns borde taggaren signalera detta till reglerna som då kan ställning till om en detektion skall ske med mer kontextuell information. Stava: Att ha hantera nyskapande sammansättningar är en av de större utmaningarna vid konstruktionen av en stavningskontroll för svenska. Stava hantera många nya sammansättningar, men misslyckas ibland, vilket ger effekter för detektionen av särskrivna sammansättningar. Den förunderliga sammansättningen Insatsstyrkaklar godkänns av Stava (och Word 2000) medan riskkriminalensunderrättelsetjänst godkänns enbart av Stava. Det finns också andra fall där flertydigheter som inte kan hanteras av en stavningskontroll måste hanteras; sammansättningen är godkänd men inte relevant i den givna kontexten, det gäller t.ex. rangersmed (en smed som arbetar på rangerbangård?). Detta är ett bra exempel på hur moduler ofta inte kan användas rakt av i ett nytt sammanhang, utan man måste noggrant analysera modulens avsedda funktionalitet och jämföra den med vad som är önskvärt i den aktuella tillämpningen. hjälpreglerna: Nominalfraser som består av ensamma adjektiv är svåra, eftersom det kan vara svårt att avgöra om frasen är en adjektivfras eller en nominalfras. Följande exempel illustrerar problematiken: Påståendet att fjordlaxen skulle vara onyttig och hälsofarlig är bara dumt och felaktigt. 151
160 Kapitel 7. Utvärdering av Granska på olika texttyper Granska anmärker här på att hälsofarlig inte är kongruent med dumt. Den enkla missen är att inte kontrollera att adjektivet slutar på a, vilket enkelt kan åtgärdas. Däremot är frågan om ett adjektiv tillhör en adjektivfras eller nominalfras svårare, vilket framförallt styrs av hur konjunktionen skall tolkas. Meningen är dessutom svår eftersom den innehåller två predikativ. Problemet kan också ses i ljuset av en mer generell beskrivning som ger oförutsedda effekter. Med mer specifika regler skulle detta alarm förmodligen ha undvikits. Konjunktionen och är flertydig och den viktiga frågan är om den binder ihop fraser eller satser. Den naturliga tolkningen är att den binder ihop onyttig och hälsofarlig till en adjektivfras. Det skulle vara bra om den flertydighet som finns i konjunktionen redan var eliminerad när hjälpregeln för ensamma adjektiv tillämpas. Om man skall komma vidare med granskningsreglerna bör ett system av hjälpregler konstrueras som tar bort syntaktiska ambiguiteter som inte Granskas taggare rår på. språkgranskningreglerna: Det finns många fall där språkgranskningsreglerna chansar lite väl mycket. Det gäller kanske framförallt särskrivna sammansättningar och inkongruens i predikativ. Ett bra exempel är neutrumpredikativ som är svårt eftersom kongruensen ofta är semantisk. Konstruktioner som samverkan och samarbete är nödvändigt markeras som fel av Granska. Även om konstruktionen samverkan och samarbete kan ses som en nominalfras i plural beskriver den ett sakförhållande tillsammans med adjektivet, och då skall adjektivet vara i neutrum. Genom mer lexikala resurser och förbättrad lingvistisk analys med hjälpregler bör granskningsreglerna bli bättre och ge färre falska alarm. En noggrann analys av vilka felkonstruktioner som kan detekteras med generella regler och vilka som kräver specialregler bör också leda till ett bättre resultat Slutsatser De största feltyperna i undersökningen är inkongruens i nominalfraser med 17 %, särskrivna sammansättningar med 18 %, böjningsfel i verbfras med 21 %, ord saknas med 13 % och stavfel med grammatisk och semantisk konsekvens med 13 % av felen. Granska angriper tre av dessa, vilket visar att feltypsurvalet i Granska är på rätt väg. De två återstående grupperna bör generellt vara mycket svåra, men det bör vara möjligt att komma åt en del av dessa med regler som inriktar sig på specifika fenomen och konstruktioner. Något som är förvånande är att ordföljdsfel inte förekommer oftare, men det kan naturligtvis bero på att ord trots allt inte är så mycket. Granska fungerar överlägset bäst på böjningsfel i verbfraser. Såväl täckningen på 97 % och precisionen på 83 % är mycket tillfredställande. Detta visar att jag prioriterade rätt genom att inte ägna alltför mycket arbete åt denna feltyp. De ganska enkla reglerna för t.ex. verbkedjefel visar sig fungera mycket bra. Däremot 152
161 Slutsatser är det svårare att värdera inkongruens och särskrivningar. Dessa kräver att det finns ganska många fel i texten för en precision över 50 %. Detta är tydligt när Granska testas på gymnasieelev- och studentuppsatserna där precisionen ligger högt omkring 70 %, undantaget inkongruens i predikativ som har en lägre precision på 44 % på dessa texter. Den anmärkningsvärt höga täckningen för inkongruens i nominalfraser är intressant att spekulera om. Täckningen är högre än den första interna utvärderingen där 72 % av de felaktiga nominalfraserna taggades korrekt. Den första enkla åtgärd man skulle kunna göra är att skruva ner täckningen för att nå en högre precision. Det är dock intressantare att försöka bibehålla den höga täckningen och istället lägga till mer lexikala resurser, förfina granskningsreglerna, konstruera fler accepterande regler samt skapa fler och bättre hjälpregler. Vilken texttyp som granskas verkar ha avgörande betydelse för hur resultatet blir. Men att urskilja texttyper kan vara svårt och dessutom spelar individuella skribenters skrivförmåga stor roll. Det verkar dock riktigt att presentera utvärderingsresultat från olika texttyper för att man då i någon mån täcker i ett bredare spektrum av språkliga konstruktioner. Det är stora skillnader mellan texttyperna vad det gäller täckning/precision och vilka fel som detekteras och vilka som förekommer. Den kanske främsta slutsatsen är att det verkar mindre bra att konstruera ett granskningsverktyg som fungerar för så pass skilda texttyper, som t.ex. utrikesnyheter och studentuppsatser. Särskrivningar är ovanliga i t.ex. utrikesnyheter och man bör överväga om regler för detektion av dessa ens bör appliceras på satser i denna texttyp. En stor och viktig forskningsfråga är att identifiera och klassificera olika texttyper. När det väl är gjort kan olika regelsamlingar optimeras automatisk. En mer realistisk och framkomlig väg är att låta användarna själva göra denna klassificering. Med en uppsättning regelsamlingar för olika texttyper kan användaren byta och pröva sig fram till en lämplig regelsamling. 153
162 Kapitel 7. Utvärdering av Granska på olika texttyper 154
163 Granskningsprocessen och automatisk språkgranskning 8. Utvärdering med användare Detta kapitel beskriver en mindre användarstudie som utfördes tillsammans med Annika Hansén-Eriksson. I studien undersöktes fem användares interaktion med Granska och den svenska grammatikkontrollen (presenterad i kapitel 2) och stavningskontrollen i Microsoft Word 2000, i fortsättningen kallad WG. 29 Studien bestod av två delar; den ena delen undersökte användarnas interaktion och synpunkter på det grafiska gränssnittet vid automatisk språkgranskning och utfördes av Annika Hansén-Eriksson, den andra delen var koncentrerad på den språkliga interaktionen mellan användaren och ett språkgranskningsprogram och utfördes av mig. Den följande texten beskriver främst resultaten från den språkliga interaktionen mellan användarna och de två språkgranskningsverktygen. Den studie som beskrivs är begränsad men jag väljer ändå att presentera den eftersom den är den enda användarstudie som har gjorts med nya Granska. 8.1 Granskningsprocessen och automatisk språkgranskning Skrivprocessen har av Flower och Hayes (1981) delats in i tre kognitiva delprocesser; planering, textproduktion och granskning/revision. Den process som berörs i detta kapitel är granskning/revision. Granskning och revision brukar grovt delas in tre steg: Detektion, att upptäcka fel och problem i en text Diagnos, att kunna analysera och beskriva fel och problem i en text Revision, att kunna förändra texten utifrån detektion och diagnos Ett språkgranskningsprogram kan i princip ge stöd för var och en av dessa processer. Detektion motsvaras i ett språkgranskningsprogram av att orden som anses fel markeras i texten. Diagnosen motsvaras av att programmet ger en kommentar med en förklaring till det som har markerats av programmet. Revision innebär för ett språkgranskningsprogram att ett eller flera ersättningsförslag presenteras för användaren. Detektion är den del som Granska i de allra flesta fall bemästrar bäst, vilket visade sig i kapitel 7. Programmet kan lokalisera felet, och i de allra flesta fall komma med en diagnos. Däremot är det ofta svårare att ge ett ersättningsförslag, även om det görs i många fall. Det är också svårare att utvärdera ett ersättningsförslag i en 29 Jag väljer att kalla den svenska grammatikkontrollen i Word 2000 för WG eftersom det inte är möjligt att bortse från de effekter på granskningen som Word i sig har, t.ex. vad det gäller tokenisering som utförs av Word och inte av Lingsofts svenska grammatikkontroll (Arppe et al, 1998). 155
164 Kapitel 8. Utvärdering med användare utvärdering utan användare. I detta kapitel presenteras en undersökning av hur några användare ställer sig till olika granskningssteg utförda av Granska och WG. Hayes et al (1987) framhåller att människors förmåga att detektera ett fel/problem verkar vara skild från förmågan att åtgärda dessa problem. Problemen i texten upptäcks med diagnoser i ett kontinuum från kommentarer som det verkar vara något fel här till det här ordet är felstavat. Diagnosen är för skribenter som granskar sin egen text i många fall inte nödvändig, upptäcker man felet och kan åtgärda felet, så spelar diagnosen ingen roll. Om man däremot granskar någon annans text blir diagnosen viktigare för att förklara detektionen och förslagen till ändring. För ett språkgranskningsprogram är diagnosen viktig på samma sätt som för den som granskar någon annans text. Diagnosen blir dock ofta annorlunda. Diagnosen är oftast specifik som t.ex. det här verkar vara ett kongruensfel. I de allra flesta fall är därför diagnosen antingen rätt eller fel. Tidigare forskning har visat att när man skriver på dator tenderar man att arbeta mera lokalt i texten än när man skriver för hand. Severinson Eklundh (1992) konstaterar att ändringarna visserligen blir fler men att de tenderar att vara rättelser av små lokala fel snarare än bearbetning av strukturen hos texten. Det är rimligt att anta att skribenten inte lyckas upptäcka alla små lokala fel trots det lokala perspektivet. Verktyg för språkgranskning bör kunna upptäcka en del av de fel som skribenten missar. Däremot är det mindre säkert att programmet kan hjälpa skribenten att åtgärda felet. Språkgranskningprogrammens styrka ligger snarare i att de outtröttligt kan upptäcka de fel som täcks av deras regler Några tidigare studier av användning av språkgranskningsprogram Språkgranskning är idag kanske en av de mest använda tillämpningarna av språkteknologi. Trots att de flesta datoranvändare kommer i kontakt med dessa program finns det få studier som försöker analysera hur interaktionen mellan programmet och skribenten fungerar. Men det finns riktlinjer för hur denna typ av studier skall bedrivas. EU-projektet TEMAA (Maegaard et al, 1997) som låg inom samarbetsramen för det stora utvärderingsprojektet EAGLES (King et al, 1995) koncentrerade sig på utvärderingsmetoder för språkteknologiska tillämpningar, med fallstudier för stavningskontroll, grammatikkontroll och informationssökning. När det gäller utvärdering av användbarhet utgår Maegaard et al (op. cit.) från kunskap från MDI-området och försöker applicera denna på stavnings- och grammatikkontroll. För att utvärdera användbarheten hos en stavningskontroll (och grammatikkontroll) utgår Maegaard et al ifrån följande: 156
165 Granskningsprocessen och automatisk språkgranskning Hur enkelt kan man köra stavningskontrollen (inkrementellt, sekventiellt, batch eller i ett annat program) och hur enkelt är det köra stavningskontrollen i varje typ av körning? (Invocation of spelling checker) Kan man välja att kontrollera ett ord, en mening, ett stycke eller hela texten? (Selection of text for checking) Hur sker dialogen med användaren? Presenteras ersättningsförslagen i någon given ordning? Hur många operationer måste användaren utföra för att välja ett annat förslag än det högst rankade? Kan man lägga till egna ersättningsförslag? Kan man lägga till godkända ord till en stopplista? (Error dialogue) Möjlighet att förändra texten utifrån diagnos och ersättningsförslag. Åtgärdar programmet ändringen eller måste man själv editera texten? Detta är ju särskilt relevant om man har många regler som endast påpekar att något verkar fel i texten och inget ersättningsförslag ges. Under denna kategori räknar man också in möjligheter att spara olika textförändringar utförda av programmet eller av användarna (viktigt om det är en grupp som skriver). (Text alteration) För att utvärdera systemets enskilda delars användbarhet använder Maegaard (op.cit.) följande användbarhetsprinciper som till vissa delar finns djupare beskrivna i t.ex. Dix et al (1998): användbarhetspotential (experienced user performance), det vill säga hur användbart systemet är när användaren väl lärt sig det (man vill undvika novis/expert-problematiken med detta begrepp) gränssnittets förutsägbarhet (guessability), är det enkelt att lista ut hur man använder programmet? går det att lära sig systemet på ett enkelt och effektivt sätt? (learnability). En del av de punkter som Maegaard et al kommer med känns lite svåra att använda sig av när grafiska gränssnitt av den typ som finns i olika Office-paket är så pass etablerade för språkgranskning i en ordbehandlingsmiljö. Det är t.ex. för många användare självklart att stavning/grammatik finns i verktygsmenyn och i standardverktygslisten (invocation of application). Det är också ganska självklart att man kan granska ett ord, en mening eller hela texten. Men några av de andra punkterna gränsar till den undersökning som vi genomfört och då framförallt dialogen (error dialogue), hur man kör själva applikationen (invocation of spelling checker) och hur man kan förändra texten (text alteration). Vad det gäller begreppen experienced user performance, guessability och learnability, har vi inte haft möjlighet att undersöka dessa närmare. Man skulle kunna se automatisk språkgranskning som en dialog mellan datorn och användaren om vad som är språkligt rätt eller fel. Domeij (1998) iakttar bland 157
166 Kapitel 8. Utvärdering med användare annat hur användarnas granskningsstrategier påverkar hur de ställer sig till programmets instruktioner. Om användarens granskningsstrategi stämmer överens med programmets är användaren i högre grad benägen att följa programmets råd. Störst skillnader mellan olika användare uppstår när det handlar om stilistiska påpekanden från programmet. Granskningsstrategin borde ha ett mindre inflytande på grammatiska fel än på stilistiska, eftersom det finns fler åsikter kring stil än grammatik. I våra försök kommer felen mestadels att bestå av grammatikfel, men det finns också fel som tangerar det stilistiska och därmed borde försökspersonerna följa programmets råd i olika grad. En annan viktig fråga som Domeij m.fl. undersöker i sin studie från 1996 (Domeij, 1996) är feltypernas koppling till ett referensverk. Vill användarna veta om feltypen finns befäst i litteraturen? Domeijs studie visar att många användare tycker att det är bra med ett referensverk on-line integrerat med granskningsprogrammet. Referensverkens relevans för grammatikfel har dock inte studerats inom det arbete som presenteras här. Språkets flertydighet och felens oförutsägbarhet tillsammans med den möjlighet till analys som dagens granskningsprogram har tillgång till medför att dialogen mellan användaren och programmet inte kan förutsägas utan måste studeras på ett realistiskt sätt. Ordbildningen i svenskan är till exempel tillräckligt komplex för att utgöra en faktor som inte går att automatiskt hantera fullt ut, med andra ord ett ersättningsförslag till ett i mångas ögon enkelt stavfel kan ibland inte regelmässigt konstrueras utan programmet får göra en kvalificerad gissning (eller inget förslag alls). Hur dessa gissningar tas emot av användarna är värt att studera. Än mer intressant blir det ju mer språkligt komplext det detekterade felet är. Om ett ersättningsförslag saknas, medför det att användaren inte åtgärdar felet överhuvudtaget? Om ersättningsförslaget är felaktigt, kan användaren själv avgöra det? Språkliga frågeställningar Det finns en rad språkliga frågor som söker svar när det gäller språkgranskningsprogram, såväl språkteknologiska som användarrelaterade. I våra försök har vi koncentrerat oss på de språkliga aspekter som direkt berör användaren. Gränssnittsutformningen och den språkliga analysen i den här typen av program hänger ju starkt samman och de olika delarna är beroende av varandra. Om programmet saknar innehåll så hjälper det inte hur väl gränssnittet är utformat, programmet blir ändå oanvändbart för användaren och det omvända gäller också: om den språkliga analysen är fantastisk men om det saknas ett gränssnitt som kan presentera den språkliga informationen på ett vettigt sätt så blir programmet också oanvändbart för användarna. Vi har varit tvungna att koncentrera oss på några få språkliga frågeställningar för att begränsa försöken. Vi ville försöka få svar på följande frågor: 158
167 Försökets utförande Ersättningsförslag: Om programmet presenterar flera olika ersättningsförslag kan då användarna avgöra vilket/vilka som är rätt? Eller väljer de det översta förslaget i förslagslistan? Felaktig diagnos: Om det detekterade felet får flera olika diagnoser, kan användaren avgöra vilken diagnos som är den rätta? Kan en felaktig diagnos få användaren att antingen utföra en ändring eller att avstå? Falska alarm: Hur kommer försökspersonerna att reagera på falska alarm? Finns det någon skillnad mellan olika falska alarm, t.ex. ett som påpekar ett stavfel och ett som påvisar inkongruens i predikativ? Kommer några användare att ändra texten utifrån ett falskt alarm? Lång mening: Skulle en regel som enbart räknar orden i meningen och säger att meningen är ganska lång få användarna att ändra i texten? Diagnosen Lång mening saknar språkligt innehåll och saknar evidens för att något problem finns i meningen. Vi ville testa hur en detektion och diagnos från programmet utan egentligt språkligt innehåll skulle bedömas av användarna och i vilken grad de lät sig styras av programmet genom att ändra i texten. Denna fråga undersöks endast med WG. 8.2 Försökets utförande Försöket var explorativt och utformades som ett tänka-högt-försök. Vår metod baserar sig på den metod som Flower och Hayes (1980) använde för att studera skrivprocessen och på en artikel av Monk m.fl. (1993) som beskriver en metod för att studera programs användbarhet under utvecklingen av nya program. Båda bygger på att man låter försökspersonen utföra en uppgift samtidigt som försökspersonen tänker högt under försöket. Skillnaden är att i Monks metod tillåts försökspersonen att ställa frågor till försöksledaren för att t.ex. ta reda på vad som händer om man gör på ett visst sätt. Försöket ska dokumenteras med bandningar av det som sägs och gärna också videofilmning. Vi ansåg att videofilmning av våra försök skulle kunnat ha en störande inverkan på försöket. Vårt försök dokumenterades i stället genom att försökspersonens kommentarer bandades. Samtidigt förde vi två olika typer av protokoll: ett som omfattade hur varje försöksperson arbetade med programmet i stort och ett som omfattade vilka språkliga val som gjordes. Därutöver sparades användarnas ändringar i texten där så var möjligt. Efter försöket gjordes en intervju med försökspersonerna med mestadels frågor rörande gränssnittet. Försöksuppgiften bestod av att språkgranska en några sidor lång svensk text med dels den svenska grammatikkontrollen i Word, och dels med en prototyp av Granska. Den text som försökspersonerna skulle granska med hjälp av programmen var en filosofisk text. Texten innehöll många facktermer och var därför ganska svår att granska; detta för att inte göra språkgranskningen alltför 159
168 Kapitel 8. Utvärdering med användare enkel och ytlig. Försökstexten preparerades med ytterligare fel, främst för att få fler grammatiska fel. Samma text granskades med båda programmen i en följd. Detta är en brist i försöksupplägget eftersom det är tänkbart att användarnas granskningsbeslut bestäms redan under försöket med WG och bibehålls under försöken med Granska. Anledningen till att vi ändå valde detta upplägg var att vi i mindre skala ville jämföra vilka skillnader som fanns mellan programmen under försöken Försöken med WG Eftersom det finns olika sätt att granska en text med WG i två olika grafiska gränssnitt, så delades texten i tre delar, i tre olika filer. Detta gjordes för att studera hur de olika gränssnitten användes; detta bör inte ha påverkat den språkliga delen nämnvärt. Alla försökspersonerna fick granska de två första delarna av texten på samma sätt. Den tredje delen fick granskas på valfritt sätt. I den första delen uppmanades försökspersonerna att starta granskningen antingen från menyn Verktyg eller genom att trycka på granskningsknappen i verktygsfältet, se bild
169 Försökets utförande Bild 8.1. WG:s gränssnitt när den startas genom verktygsmenyn eller verktygslisten. När försökspersonerna skulle granska den andra delen av texten aktiverades den kontinuerliga granskningen. Vi instruerade försökspersonerna att endast använda markeringarna och popupmenyn (se bild 8.2). Med kontinuerlig granskning menas den granskning som programmet utför så fort något har ändrats i texten. Stavfel markeras då med röda understrykningar i texten och grammatiska/stilistiska fel markeras med gröna. För att få fram diagnos och ersättningsförslag sätts muspekaren på understrykningen och därefter används höger musknapp för att få fram en popupmeny som visar diagnos och ersättningsförslag. 161
170 Kapitel 8. Utvärdering med användare Bild 8.2. Den kontinuerliga granskningen med WG. Diagnos och ersättningsförslag visas i en popup-meny Försöken med Granska Under försöket fungerade Granska så att granskningen startades från ett alternativ i menyn (se bild 8.3). Alla fel som upptäcktes med Granska markerades genom att texten i felområdet blev röd. De förslag Granska genererade för varje fel visades i en listbox (en meny i ett fönster) ovanför textfönstret. Varje förslag motsvarades också av en förklaring till felet. Förklaringarna presenterades i en annan listbox. Eftersom förslaget beror av hur Granska tolkar felet så kan förklaringen vara olika för förslagen. De två listboxarna var därför kopplade så att om man valde ett förslagsalternativ genom att klicka i den ena listboxen så markerades motsvarande rad även i listboxen för förklaringar. 162
2. Utgångspunkter och angreppssätt för automatisk språkgranskning
Översikt och läsanvisning 2. Utgångspunkter och angreppssätt för automatisk språkgranskning Detta kapitel beskriver utgångspunkter och angreppssätt för automatisk språkgranskning för svenska. I kapitlet
Datorn har utvecklats till vårt viktigaste. Datorn som språkgranskare SPRÅKTEKNOLOGI OLA KNUTSSON
SPRÅKTEKNOLOGI Datorn som språkgranskare OLA KNUTSSON Datorerna kan inte bara rätta stavfel utan också särskrivningar, böjningsfel, syftningsfel och grammatiska fel. Men fortfarande förslår språkgranskningsprogrammen
Innehåll. Grammatikkontroll i Granska. Problemställning. Datorstöd för skrivande. Vilka metoder finns? Granskas uppbyggnad
Grammatikkontroll i Granska Ola Knutsson knutsson@csc.kth.se Innehåll Datorstöd för skrivande Olika metoder och system för grammatikgranskning Granska Granskas regelspråk Att skriva regler i Granska Kort
Introduktion till språkteknologi. Datorstöd för språkgranskning
Introduktion till språkteknologi OH-serie 2: Datorstöd för språkgranskning oktober 2008 Mats Dahllöf (efter Sofia Gustafson-Capková) Institutionen för lingvistik och filologi UPPSALA UNIVERSITET Huvudpunkter
Innehåll. Definition av språkgranskningsverktyg. Datorn som skrivverktyg. Ola Knutsson KTH CSC, SPRÅKGRANSKNINGSVERKTYG
Innehåll SPRÅKGRANSKNINGSVERKTYG F1:INTRODUKTION Ola Knutsson KTH CSC, knutsson@csc.kth.se Språkgranskningsverktyg Språk vs. skrivet språk Språkriktighet och grammatikalitet, vad är en bra text? Felanalysens
Innehåll. Språkinlärning: mänsklig och datorstödd. Olika typer av program för datorstödd språkinlärning. Varför datorer i språkutbildning?
Språkinlärning: mänsklig och datorstödd Ola Knutsson knutsson@csc.kth.se Språkteknologikursen KTH Innehåll Några olika typer av system för datorstödd språkinlärning Vad handlar språkinlärning om? Språkteknologins
Inkongruens och särskrivna sammansättningar en beskrivning av två typer av fel och möjligheten att granska dem automatiskt
SveBe 24/05 Domeij et al 1 Inkongruens och särskrivna sammansättningar en beskrivning av två typer av fel och möjligheten att granska dem automatiskt Rickard Domeij, Ola Knutsson och Lena Öhrman Sammanfattning
Inkongruens och särskrivna sammansättningar
SveBe 24/05 Domeij et al 1 Inkongruens och särskrivna sammansättningar En beskrivning av två typer av fel och möjligheten att granska dem automatiskt Rickard Domeij, Ola Knutsson och Lena Öhrman Sammanfattning
Grim. Några förslag på hur du kan använda Grim. Version 0.8
Grim Några förslag på hur du kan använda Grim Ingrid Skeppstedt Nationellt centrum för sfi och svenska som andraspråk Lärarhögskolan Stockholm Ola Knutsson IPlab Skolan för datavetenskap och kommunikation,
Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg
Föreläsning 5: Modellering av frasstruktur 729G09 Språkvetenskaplig databehandling Lars Ahrenberg 2014-05-05 1 Översikt Introduktion generativ grammatik och annan syntaxforskning Att hitta mönster i satser
Svårigheter med kurslitteraturen
Svårigheter med kurslitteraturen Forskningsanknuten kurs Litteraturen är skriven i syfte att presentera forskningsresultat och ofta argumentera för vissa lösningar; undantag: uppfriskningslitteraturen
Innehåll GRAMMATIKKONTROLL I GRANSKA. Datorstöd för skrivande. Problemställning. Ola Knutsson
GRAMMATIKKONTROLL I GRANSKA Ola Knutsson knutsson@csc.kth.se Innehåll Datorstöd för skrivande Olika metoder för grammatikkontroll Granska Granskas regelspråk Att skriva regler i Granska Inför laborationen
Datorn som hjälp vid språkgranskningen
Department of Numerical Analysis and Computer Science TRITA-NA-P0302 IPLab-207 ISSN 0348-2952 Datorn som hjälp vid språkgranskningen En studie av hur kognitiva revisionsprocesser påverkas av datorstödd
Grundläggande textanalys, VT2013
Grundläggande textanalys, VT2013 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv13/gta/ (Tack till Sofia Gustafson-Capkovâ för material.) Idag - Stavningskontroll - Granska
Tekniker för storskalig parsning
Tekniker för storskalig parsning Introduktion Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning 1(18) Kursöversikt Kursnamn:
En arbetsdag på kontoret kan innehålla. Så klarar man språkkontrollen DATORER RICKARD DOMEIJ
DATORER Så klarar man språkkontrollen RICKARD DOMEIJ Är datorns språkkontroll skribentens bästa vän? Eller kommer den mest med löjliga förslag? I april gav Svenska språknämnden ut Datorn granskar språket,
Utveckling av ett grafiskt användargränssnitt
Datavetenskap Opponenter: Daniel Melani och Therese Axelsson Respondenter: Christoffer Karlsson och Jonas Östlund Utveckling av ett grafiskt användargränssnitt Oppositionsrapport, C-nivå 2010-06-08 1 Sammanfattat
Cristina Eriksson oktober 2001
Maskinöversättning Cristina Eriksson 660719-4005 d98-cer@nada.kth.se 15 oktober 2001 1 Sammanfattning Att låta en maskin översätta från ett språk till ett annat är ett forskningsområde som man lägger ner
Taggning av räkneord som årtal eller andra räkneord, Språkteknologi 2D1418, HT 01 Jonas Sjöbergh, , 15 oktober 2001
Taggning av räkneord som årtal eller andra räkneord, Språkteknologi 2D1418, HT 01 Jonas Sjöbergh, 761029-0178, jsh@nada.kth.se 15 oktober 2001 1 Bakgrund 1.1 Kort om taggning Taggning innebär att man ger
Om ämnet Engelska. Bakgrund och motiv
Om ämnet Engelska Bakgrund och motiv Ämnet engelska har gemensam uppbyggnad och struktur med ämnena moderna språk och svenskt teckenspråk för hörande. Dessa ämnen är strukturerade i ett system av språkfärdighetsnivåer,
Gränssnitt för FakeGranska. Lars Mattsson
Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken
Abstract. Pettersson, Karin, 2005: Kön och auktoritet i expertintervjuer. TeFa nr 43. Uppsala universitet. Uppsala.
Abstract Pettersson, Karin, 2005: Kön och auktoritet i expertintervjuer. TeFa nr 43. Uppsala universitet. Uppsala. Gender and authority in expert interviews. This study explores gender variation in radio
Språkteknologi och Open Source
Språkteknologi och Open Source Erik Edin F01 erikedin@kth.se 15 oktober 2004 1 1 Open Source Open Source är en rörelse som syftar till att skriva datorprogram som släpps fria utan kommersiella intressen.
Examensarbete i språkteknologi
Examensarbete i språkteknologi Beáta Bandmann Megyesi Institutionen för lingvistik och filologi Uppsala universitet Översikt Examensarbetets innehåll Regler och principer Lärare och handledare Lärandemål
Väl godkänt (VG) Godkänt (G) Icke Godkänt (IG) Betyg
Betygskriterier Examensuppsats 30 hp. Betygskriterier Tregradig betygsskala används med betygen icke godkänd (IG), godkänd (G) och väl godkänd (VG). VG - Lärandemål har uppfyllts i mycket hög utsträckning
språkgranskning, ht 2007
Maskinöversättning och språkgranskning, ht 2007 Föreläsning 3 Grammatikkontroll evapet@stp.lingfil.uu.se 1 Föreläsningsöversikt Allmänt om grammatikkontroll Allmänt om stilkontroll Språkgranskningssystem
729G09 Språkvetenskaplig databehandling
729G09 Språkvetenskaplig databehandling Modellering av frasstruktur Lars Ahrenberg 2015-05-04 Plan Formell grammatik språkets oändlighet regler Frasstrukturgrammatik Kontextfri grammatik 2 Generativ grammatik
Grammatifix Svensk grammatikkontroll i MS Word
2D1418, Språkteknologi Grammatifix Svensk grammatikkontroll i MS Word Innehållsförteckning Sida 1 Inledning 3 2 Grammatifix 3 2.1 Detektering av grammatiska fel i Grammatifix 4 2.1.1 Förbehandling 4 2.1.2
Obesvarade frågor från F4
Obesvarade frågor från F4 Antal ord i sista upplaga av SAOL 90 000 el 120 000? Varför har barnförbjuden tagits bort och barnförbjuda införts? Formellt singularis, reellt pluralis Mången fotbollsspelare
Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator
version 2014-09-10 Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas i signerad slutversion till examinator Studentens namn Handledares namn Examinerande
Grammatik för språkteknologer
Grammatik för språkteknologer Fraser http://stp.lingfil.uu.se/~matsd/uv/uv12/gfs/ Språkteknologiska grammatikkomponenter Tokenisering urskilja graford. Ordklasstaggning och annan taggning tilldela dem
Mälardalens högskola
Teknisk rapportskrivning - en kortfattad handledning (Version 1.2) Mälardalens högskola Institutionen för datateknik (IDt) Thomas Larsson 10 september 1998 Västerås Sammanfattning En mycket viktig del
Kursbeskrivning med litteraturlista HT-13
Kursbeskrivning med litteraturlista HT-13 Skriftlig språkfärdighet, 7,5 hp Delkurs inom Italienska I, 30 hp. Består av: I. Italiensk grammatik med inlämningsuppgifter, 6 hp, och II. Skriftlig produktion,
Språkgranskningsverktyg, vt 2009
, vt 2009 Föreläsning 8 Scania Checker evapet@stp.lingfil.uu.se 1 Föreläsningsöversikt Kontrollerat språk Scania-svenska Scania Checker Demo 2 Kontrollerat språk Delmängd av naturligt språk Restriktioner
Inlämningsuppgift: Pronomenidentifierare
1 (7) Inlämningsuppgift: Pronomenidentifierare 2D1418 Språkteknologi landes@bredband.net johnne@kth.se 1 2 (7) 1 Uppgiften... 3 2 Algoritmen i korthet... 3 3 Representation av data... 3 4 Indikatorer...
Titel Mall för Examensarbeten (Arial 28/30 point size, bold)
Titel Mall för Examensarbeten (Arial 28/30 point size, bold) SUBTITLE - Arial 16 / 19 pt FÖRFATTARE FÖRNAMN OCH EFTERNAMN - Arial 16 / 19 pt KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP
Lösningsförslag till tentamen i Språkteknologi 2D1418,
Lösningsförslag till tentamen i Språkteknologi 2D1418, 2004-10-18 1. Stavningskontroll utan ordlista (10 poäng) a) Med 29 bokstäver i alfabetet och en specialbokstav för ordbörjan/ordslut så finns det
Riktlinjer för bedömning av examensarbeten
Fastställda av Styrelsen för utbildning 2010-09-10 Dnr: 4603/10-300 Senast reviderade 2012-08-17 Riktlinjer för bedömning av Sedan 1 juli 2007 ska enligt högskoleförordningen samtliga yrkesutbildningar
Collaborative Product Development:
Collaborative Product Development: a Purchasing Strategy for Small Industrialized House-building Companies Opponent: Erik Sandberg, LiU Institutionen för ekonomisk och industriell utveckling Vad är egentligen
DATORSTÖDD SPRÅKGRANSKNING OCH
Institutionen för lingvistik Stockholms Universitet VT-2000 DATORSTÖDD SPRÅKGRANSKNING OCH ANDRASPRÅKSINLÄRARE Lena Öhrman I denna uppsats undersöks vilka fel några andraspråksinlärare gör när de lär sig
Kapitel 6. Att ge respons. Therése Granwald
Kapitel 6 Att ge respons Therése Granwald Inledning Detta kapitel handlar om vad respons är, hur den kan ges och hur lärare kan arbeta med respons på studenters texter. Det tar även upp hur lärare kan
Aristi Fernandes Examensarbete T6, Biomedicinska analytiker programmet
Kursens mål Efter avslutad kurs skall studenten kunna planera, genomföra, sammanställa och försvara ett eget projekt samt kunna granska och opponera på annan students projekt. Studenten ska även kunna
Frasstrukturgrammatik
729G09 Språkvetenskaplig databehandling (2016) Frasstrukturgrammatik Marco Kuhlmann Institutionen för datavetenskap Korpusdata 1 Folkpensionen folkpension NOUN 2 dobj 2 får få VERB 0 root 3 man man PRON
PROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Svenskans struktur, 7,5 hp Tentamensexempel 1
Svenskans struktur, 7,5 hp Tentamensexempel 1 På de följande sidorna återges ett exempel på en tentamen i Svenskans struktur. Tentan är uppdelad i tre delar. För att få godkänt på kursen måste man ha godkänt
Ordklasstaggning med funktionsordslexikon. Språklig ytanalys med regler. Jabberwocky (Källgren, 1992) Mer Jabberwocky (Lewis Carrol)
Språklig ytanalys med regler Några olika system för: Ordklasstaggning Dependensgrammatik Constraint Grammar presenteras i detalj Ordklasstaggning med funktionsordslexikon Gunnel Källgrens MorP parser Den
Grammatik för språkteknologer
Grammatik för språkteknologer Introduktion http://stp.lingfil.uu.se/~matsd/uv/uv11/gfst/ Mats Dahllöf Institutionen för lingvistik och filologi Oktober 2011 Lärandemål Efter avslutad kurs skall studenten
This is England. 1. Describe your first impression of Shaun! What kind of person is he? Why is he lonely and bullied?
This is England 1. Describe your first impression of Shaun! What kind of person is he? Why is he lonely and bullied? 2. Is Combo s speech credible, do you understand why Shaun wants to stay with Combo?
Maskinöversättning och språkgranskning. F6: Grammatikkontroll
Maskinöversättning och språkgranskning F6: Grammatikkontroll Grammatikkontroll av svenska För svenska finns huvudsakligen tre olika modeller Word Scarrie Granska Scarrie och Granska är forskningsprototyper.
FOR BETTER UNDERSTANDING. Kom igång med. WordFinder Snabbguide
FOR BETTER UNDERSTANDING Kom igång med WordFinder Snabbguide Installationsanvisning 1 Sätt i programskivan i datorn. Installationsprogrammet startar automatiskt. En gemensam startbild för WordFinder Professional,
Behov av språklig granskning. Granska och automatisk språkgranskning av svensk text. Datorn som språkgranskare
Granska och automatisk språkgranskning av svensk text Ola Knutsson knutsson@nada.kth.se Behov av språklig granskning Datorn är det viktigaste skrivverktyget Det är enkelt att producera text som ser bra
ENGA01: Engelska grundkurs, 30 högskolepoäng Studiebeskrivning
ENGA01: Engelska grundkurs, 30 högskolepoäng Studiebeskrivning Kursen består av följande delkurser vilka beskrivs nedan: Litteratur, 6 högskolepoäng Grammatik och översättning, 9 högskolepoäng Skriftlig
Statistisk grammatikgranskning
Statistisk grammatikgranskning Johnny Bigert johnny@nada.kth.se Traditionell grammatikgranskning Hitta stavningsfel och grammatiska fel: Regler Lexikon Traditionell grammatikgranskning Fördelar: Säkert
Varianter: 20 p. D-nivå (för magisterexamen) 10 p. C-nivå (för kandidatexamen) 10 p. C-nivå + 10 p. D-nivå (för magisterexamen) Delar:
Varianter: 20 p. D-nivå (för magisterexamen) 10 p. C-nivå (för kandidatexamen) 10 p. C-nivå + 10 p. D-nivå (för magisterexamen) 1 För uppsatskurserna i datorlingvistik gäller generellt att de består av
Maskinöversättning. F Anna Sågvall Hein
Maskinöversättning F1 2008 Anna Sågvall Hein Vad menas med maskinöversättning? Maskinöversättning handlar om att få datorer att översätta från ett språk till ett annat. Det finns många olika metoder och
ÖU2100, Översättarutbildning 1. Magisterutbildning, 60 högskolepoäng
Humanistiska fakultetsnämnden ÖU2100, Översättarutbildning 1 Magisterutbildning, 60 högskolepoäng Professional Translation 1, 60 higher education credits Avancerad nivå Second Cycle 1. Fastställande Kursplanen
PROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Hur fattar samhället beslut när forskarna är oeniga?
Hur fattar samhället beslut när forskarna är oeniga? Martin Peterson m.peterson@tue.nl www.martinpeterson.org Oenighet om vad? 1.Hårda vetenskapliga fakta? ( X observerades vid tid t ) 1.Den vetenskapliga
Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Kungliga Tekniska Högskolan 2006-03-26. Patrik Dallmann 821107-0274
Kungliga Tekniska Högskolan 2006-03-26 Patrik Dallmann 821107-0274 Patrik Dallmann dallmann@kth.se Inledning Syftet med detta arbete är att undersöka metoder för att upptäcka syftningsfel i vanlig text.
Unit course plan English class 8C
Hanna Rüngen Wallner Unit course plan English class 8C Spring term 2018-01-11 w.2-8 forgery safe robbery burglar crime scene Mål och syfte med arbetsområdet Utveckla sin förmåga att: - kommunicera i tal
Betygskriterier. NS2019, Svenska II, 30 hp. Förväntade studieresultat För godkänt resultat på delkursen ska studenten kunna visa:
Betygskriterier NS2019, Svenska II, 30 hp Fastställda av institutionsstyrelsen 2014-05-07. Gäller fr.o.m. ht 2014. Delkurs 1. Nordiska språk och svensk språkhistoria, 7,5 hp Förväntade studieresultat För
Vi speakar Svengelska
Vi speakar Svengelska Engelskans inflytande på inlärning av svenska/svenska som andraspråk i en engelskspråkig grundskola Anita Almgren Uppsats/Examensarbete: Magisteruppsats i pedagogik 15 hp Kurs: Nivå:
Unit testing methodology
Department of Computer Science Per Hurtig Stefan Lindberg & Fredrik Strandberg Unit testing methodology Opposition Report, C/D-level 2005:xx 1 Övergripande utvärdering Helhetsintrycket av uppsatsen är
Exempel på gymnasiearbete inom humanistiska programmet språk
Exempel på gymnasiearbete september 2012 Exempel på gymnasiearbete inom humanistiska programmet språk Ungdomsspråk i spanska bloggar Elevens idé Calle är genuint språkintresserad. Han har studerat spanska,
Session: Historieundervisning i högskolan
Session: Historieundervisning i högskolan Ansvarig: David Ludvigsson, Uppsala universitet Kommentator: Henrik Ågren, Högskolan i Gävle Övriga medverkande: Lena Berggren, Umeå universitet Peter Ericsson,
Kursinformation och schema för Lingvistik 6 hp 729G08
LINKÖPINGS UNIVERSITET Institutionen för kultur och kommunikation Kognitionsvetenskapliga programmet 2012-10-29 Kursinformation och schema för Lingvistik 6 hp 729G08 Ht 2012 Lärare: Mathias Broth (281851)
Studieplan för ämne på forskarnivå
Studieplan för ämne på forskarnivå Ämne Fastställd Diarienummer Ks-kod Matematik 2017-04-05 V-2017-0042 3.2.3 1 (1) Kommentar om förändringar Huvudsakliga förändringar i det nya förslaget till allmän studieplan
Vad är mönsterspråk?
Vad är mönsterspråk? Språk består av meningsbärande byggstenar på olika nivåer. Texter Meningar Ord Orden har vi en överenskommen betydelse för. Men den kan vara väldigt tvetydig och mångtydig. Orden är
Delkurs 1. Nordiska språk och svensk språkhistoria, 7,5 hp
Betygskriterier NS2031, Svenska II, 30 hp Fastställda av institutionsstyrelsen 2016-12-07. Gäller fr.o.m. vt 2017. Delkurs 1. Nordiska språk och svensk språkhistoria, 7,5 hp Förväntade studieresultat För
Magisterprogram i nationalekonomi med inriktning turism och evenemang 60 högskolepoäng
Sida 1(5) Utbildningsplan Magisterprogram i nationalekonomi med inriktning turism och evenemang 60 högskolepoäng Master Programme in Economics of Tourism and Events 60 Credits* 1. Programmets mål 1.1 Mål
kunna diskutera och samtala fritt om olika ämnen och med stort sammanhang
Mål Mål som eleverna skall ha uppnått efter avslutad kurs Eleven skall förstå och tillgodogöra sig innehåll i längre sammanhängande redogörelser i tal och skrift och av skiftande karaktär och av känt eller
Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas till examinator
version 2017-08-21 Bedömning av Examensarbete (30 hp) vid Logopedprogrammet Fylls i av examinerande lärare och lämnas till examinator Studentens namn Handledares namn Examinerande lärare Uppsatsens titel
Lektion 3. Anteckningar
Lektion 3 Anteckningar Fraser: Tid Klockan Uttal (pronunciation) Långa och korta ljud + melodi Grammatik: Word order + Basics of the clause elements Vi lär oss klockan! Halv Kvart i, kvart över Tjugo i,
För universitetsgemensamma regler för forskarutbildning se Regler för utbildning på forskarnivå vid Göteborgs universitet Doktorandreglerna.
HUMANISTISKA FAKULTETEN Dnr: U 2015/819 Allmän studieplan för licentiatexamen i romanska språk Studieplanen är fastställd av Humanistiska fakultetsstyrelsen vid Göteborgs universitet den 17 november 2016.
Grammatisk teori II Attributvärdesgrammatik
Grammatisk teori II Attributvärdesgrammatik 1. Lexikon and syntaktiska regler Inom lingvistisk teori delas den mentala representationen av språket upp i två centrala komponenter: lexikon och syntaktiska
Introducing Peer-based Intervention to improve learning in foreign language translation classes
FORSKNING OM UNDERVISNING I FRÄMMANDE SPRÅK, Workshop i Växjö 10-11/6, 2004 Introducing Peer-based Intervention to improve learning in foreign language translation classes Eva Lindgren & Anders Steinvall
Maskinöversättning möjligheter och gränser
Maskinöversättning möjligheter och gränser Anna Sågvall Hein 2015-02-17 Tisdagsföreläsning USU 2015-02-17 Anna Sågvall Hein Översikt Vad är maskinöversättning? Kort tillbakablick Varför är det så svårt?
Datainsamling Hur gör man, och varför?
Datainsamling Hur gör man, och varför? FSR: 2 Preece et al.: Interaction design, kapitel 7 Översikt Att kunna om datainsamlingsmetoder Observationstekniker Att förbereda Att genomföra Resultaten och vad
PROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Identifiering av ordvitsar med Granska
Identifiering av ordvitsar med Granska jonord@kth.se Inledning För att försöka identifiera ordvitsar med Granska användes ett litet urval av ordvitsar hämtade från olika ställen. Målet med identifiering
Utvärdering SFI, ht -13
Utvärdering SFI, ht -13 Biblioteksbesöken 3% Ej svarat 3% 26% 68% Jag hoppas att gå till biblioteket en gång två veckor I think its important to come to library but maybe not every week I like because
Migrering av applikationen AMM till molnet
Datavetenskap Opponenter: Erik Andersson och Marcus Larsson Respondenter: Anders Nguyen och Linus Svensson Migrering av applikationen AMM till molnet Oppositionsrapport, C-nivå 2010:06 1 Sammanfattat omdöme
Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg
Datavetenskap Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Oppositionsrapport, C-nivå 2006:12 1 Sammanfattat omdöme av examensarbetet Examensarbetet är intressant eftersom
Patientutbildning om diabetes En systematisk litteraturstudie
Institutionen Hälsa och samhälle Sjuksköterskeprogrammet 120 p Vårdvetenskap C 51-60 p Ht 2005 Patientutbildning om diabetes En systematisk litteraturstudie Författare: Jenny Berglund Laila Janérs Handledare:
Engelska (31-55 hp) Programkurs 25 hp English (31-55 cr) 92EN31 Gäller från: Fastställd av. Fastställandedatum. Revideringsdatum
DNR LIU 2012-00260 1(5) Engelska (31-55 hp) Programkurs 25 hp English (31-55 cr) 92EN31 Gäller från: Fastställd av Styrelsen för utbildningsvetenskap Fastställandedatum 2012-05-16 Revideringsdatum 2018-05-22
Delkurs 1 Teori, metod, etik, betygsskala U-VG För VG för delkursen krävs VG på minst 3 av 5 bedömningsområden.
Bedömningsområden och betygskriterier på ARKK04, kandidatkurs i arkeologi, fastställda 2016-06-07 Delkurs 1 Teori, metod, etik, betygsskala U-VG För VG för delkursen krävs VG på minst 3 av 5 bedömningsområden.
Morfologiska kriterier. Svenska adjektiv har två slags böjningar: kongruensböjning och komparationsböjning.
UPPSALA UNIVERSITET Inst. för lingvistik Niklas Edenmyr Grammatik, 5p. ADJEKTIV Semantiska kriterier. o betecknar egenskaper eller tillstånd hos saker, personer eller företeelser., t.ex. (en) röd näsa,
Social innovation - en potentiell möjliggörare
Social innovation - en potentiell möjliggörare En studie om Piteå kommuns sociala innovationsarbete Julia Zeidlitz Sociologi, kandidat 2018 Luleå tekniska universitet Institutionen för ekonomi, teknik
Grundläggande Textanalys VT Språkgranskning (2) Eva Pettersson
Grundläggande Textanalys VT 2014 Språkgranskning (2) Eva Pettersson eva.pettersson@lingfil.uu.se Översikt Förra gången Stavningskontroll Allmänt om stavningskontroll Feligenkänning Felkorrigering Samarbetsuppgift
MODERSMÅL. Ämnets syfte. Undervisningen i ämnet modersmål ska ge eleverna förutsättningar att utveckla följande: Kurser i ämnet
MODERSMÅL Goda kunskaper i modersmålet gagnar lärandet av svenska, andra språk och andra ämnen i och utanför skolan. Ett rikt och varierat modersmål är betydelsefullt för att reflektera över, förstå, värdera
FTEA12:2 Filosofisk metod. Att värdera argumentation I
FTEA12:2 Filosofisk metod Att värdera argumentation I Dagens upplägg 1. Några generella saker att tänka på vid utvärdering av argument. 2. Grundläggande språkfilosofi. 3. Specifika problem vid utvärdering:
Automatisk utvinning av felaktigt särskrivna sammansättningar
Automatisk utvinning av felaktigt särskrivna sammansättningar Sofia Hedén Institutionen för lingvistik och filologi Språkteknologiprogrammet Kandidatuppsats i språkteknologi, 15 hp 8 juni 2017 Handledare:
Litteraturstudie. Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund
Litteraturstudie Utarbetat av Johan Korhonen, Kajsa Lindström, Tanja Östman och Anna Widlund Vad är en litteraturstudie? Till skillnad från empiriska studier söker man i litteraturstudier svar på syftet
6 Svenska som andraspråk
6 Svenska som andraspråk Syftet med utbildningen i ämnet svenska som andraspråk är att eleverna skall uppnå en funktionell behärskning av det svenska språket som är i nivå med den som elever med svenska
Examensarbeten på dataingenjörsprogrammet
Examensarbeten på dataingenjörsprogrammet Den här texten riktar sig till studenter på Di-programmet. Syftet är att sammanfatta rutinerna för examensarbete vid institutionen för systemteknik. Inlämning
TDDD92 Artificiell intelligens -- projekt
jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Individuella uppgifter UPG2: Individuell skriftlig rapport 2 Vad? Läsa och förstå vetenskaplig litteratur Varför? Framtiden: Inte
SKOLFS. beslutade den XXX 2017.
1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning
Ökat personligt engagemang En studie om coachande förhållningssätt
Lärarutbildningen Fakulteten för lärande och samhälle Individ och samhälle Uppsats 7,5 högskolepoäng Ökat personligt engagemang En studie om coachande förhållningssätt Increased personal involvement A
För universitetsgemensamma regler för forskarutbildning se Regler för utbildning på forskarnivå vid Göteborgs universitet Doktorandreglerna.
HUMANISTISKA FAKULTETEN Dnr: U 2016/417 Allmän studieplan för licentiatexamen i Datalingvistik Studieplanen är fastställd av Humanistiska fakultetsstyrelsen vid Göteborgs universitet den 30 mars 2017.