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 för andra språk än svenska Språkgranskningssystem för svenska Sammanfattning 2
Vad förväntas av det ideala grammatikkontrollprogrammet? Känna igen och larma för alla grammatiska fel Känna igen och acceptera alla grammatiskt korrekta strukturer Ge ett korrekt rättningsförslag för alla ogrammatiska strukturer och kontextuellt felaktiga ordformer 3
Mer realistiska förväntningar Endast larma för riktiga grammatikfel, även om inte alla fel upptäcks Fokusera på typiska och/eller frekventa feltyper: Korpusundersökning Anpassning till olika typer av skribenter, t.ex. dyslektiker eller andraspråksinlärare 4
Problem inom grammatikkontroll Hur kan man känna igen så många fel som möjligt utan att få för många falska alarm? Långa och komplexa strukturer *De i paragraf 5 stadgade undantaget Undantag från normalfallet Strindbergs Röda Rummet 5
Fler problem inom grammatikkontroll I dagsläget begränsat till meningsnivå. Kan alltså inte hantera pronomenreferens o dyl. Jag träffade en flicka igår. Han var mycket söt. Hur sträng bör man vara? Jag insåg att det här går inte Hur göra med dialektala uttryck? Denna boken (skånska m.fl.) 6
Grammatikkontroll Vilka fel ska prioriteras? Vanligt vs ovanligt Lätt vs svårt Viktigt vs oviktigt (målgrupp) Två olika strategier Grammtikbaserad kontroll Fenomenbaserad kontroll 7
Grammatikbaserad grammatikkontroll Fullständig syntaktisk analys Relaxering Kan hantera strukturer där två av varandra beroende ord inte står intill varandra, t.ex. Problemet med den kommunala fördelningen från inkomstskatter för säsongsanställda är svår att lösa Svaga punkter: robusthet och effektivitet 8
Fenomenbaserad grammatikkontroll Begränsad analys Robust och effektivt Begränsat till grammatiska felaktigheter mellan ord som står nära varandra, t.ex. otillåtna ordklasskombinationer: kunnat kommit 9
Grammatikkontrollens delar Feldetektering (detection) Fel i nominalfrasen: *det tidiga 1800-talen Feligenkänning (recogntion) Numerusinkongruens: determinerare - huvudord Feldiagnos (diagnosis) 1) Substantivet står i plural istf singular 2) Determineraren står i singular istf plural Felkorrigering (correction) 1) det tidiga 1800-talet 2) de tidiga 1800-talen 10
Stilkontroll Genomsnittlig ord- och meningslängd Minusord Ålderdomliga vardagliga/talspråkliga byråkratiska Vissa syntaktiska konstruktioner passiv Konsekvenskontroll ska skall, mej - mig 11
Språkgranskningssystem: Critique Första praktiska grammatikbaserade språkkontrollsystemet (1980-talet) IBM Engelska och franska Föregångare till språkkontrollen i den engelska versionen av Microsoft Word 12
Språkgranskningssystem: Critique 25 grammatiska feltyper, fördelade på fem kategorier: Numerusinkongruens: many book, he go Fel pronomenform: Fel verbform: between you and I seems to been, had expect Skiljeteckenfel Sammanblandningar av ord: who s whose 85 stilistiska fel 13
Språkgranskningssystem: CORRie Utvecklat för holländska Fem generella feltyper Insättning: Borttagning: Substitution: Transposition: Feature mismatch: tåget har har gått, hus bil tåget redan gått the well performance jag tror att tåget går inte idag den lilla huset, männen är glad 14
Språkgranskningssystem för svenska Grammatifix, Lingsoft SCARRIE, Uppsala universitet Modifierad variant, ScaniaChecker, används på Scania Granska, Nada, KTH Skribent, Norstedts Ordbok 15
Grammatifix Stavfel hanteras separat (Orthografix) Parsning med SWECG (Swedish Constraint Grammar) i fem steg: Förbehandling Morfologisk analys Morfologisk disambiguering Morfosyntaktisk mappning Syntaktisk disambiguering 16
Grammatifix: Förbehandling Tokenisering Ca 150 fraser Ca 5 000 förkortningar *dessa entreprenöriella faktorer hade än_så_länge dämpat explosionen $. 17
Grammatifix: Morfologisk analys SWETWOL: ca 75 000 grundformer "<*dessa>" "denna" <**c> <DEM> <MD> DET UTR/NEU DEF PL NOM @DN "denna" <**c> <DEM> PRON UTR/NEU DEF PL NOM "<entreprenöriella>" "<faktorer>" "faktor" N UTR INDEF PL NOM "<hade>" "ha" <AUX> V ACT PAST "<än_så_länge>" "än_så_länge" <COLLOCATION> ADV "<dämpat>" "dämpa" V ACT SUPINE "dämpa" <PCP2> A NEU INDEF SG NOM "<explosionen>" "explosion" N UTR DEF SG NOM "<$.>" "$." CLB <PUNCT> 18
Grammatifix: Morfologisk analys av okända ord Morfologisk analys av ord som saknas i SWETWOL-lexikonet Ca 60 regler baserade på suffix Okända ord som inte matchas av någon regel antas vara substantiv "<entreprenöriella>" "entreprenöriella" <NON-SWETWOL> A UTR/NEU DEF SG NOM "entreprenöriella" <NON-SWETWOL> A UTR/NEU DEF/INDEF PL NOM 19
Grammatifix: Morfologisk disambiguering Ca 2 100 morfologiska disambigueringsregler "<*dessa>" "denna" <**c> <DEM> <MD> DET UTR/NEU DEF PL NOM @DN "<entreprenöriella>" "entreprenöriella" <NON-SWETWOL> A UTR/NEU DEF/INDEF PL NOM "<faktorer>" "faktor" N UTR INDEF PL NOM "<hade>" "ha" <AUX> V ACT PAST "<än_så_länge>" "än_så_länge" <COLLOCATION> ADV "<dämpat>" "dämpa" V ACT SUPINE "<explosionen>" "explosion" N UTR DEF SG NOM "<$.>" "$." CLB <PUNCT> 20
Grammatifix: Morfosyntaktisk mappning Normalt i SWECG_ syntaktiska funktionstaggar I Grammatifix: Alla ord tilldelas båda taggarna @OK och @ERR "<*dessa>" "denna" <**c> <DEM> <MD> DET UTR/NEU DEF PL NOM @DN @OK @ERR "<entreprenöriella>" "entreprenöriella" <NON-SWETWOL> A UTR/NEU DEF/INDEF PL NOM @OK @ERR "<faktorer>" "faktor" N UTR INDEF PL NOM @OK @ERR 21
Grammatifix: Syntaktisk disambiguering Feldetekteringsregler väljer om @OK-taggen eller @ERR-taggen ska gälla (@w =s! (@ERR) ; För ett ord (@w) välj (=s!) feltaggen (@ERR) (0 N-DEF) ; om ordet själv (0) är ett substantiv i bestämd form (N-DEF) och (-2 GEN) ; om andra ordet till vänster (-2) är en genitiv (GEN) och (-1 A-DEF)) ; om det första ordet till vänster är ett adjektiv i best.form (A-DEF). unionens snabba utvidgningen Kontrollera ordformen utvidgningen. Om ett substantiv styrs av en genitiv, t.ex. unionens, bör det stå i obstämd form 22
Grammatifix: Feltyper 43 feltyper fördelade på tre kategorier: Grammatiska fel (26) Främst verbkedjor och kongruens inom nominalfraser Stilbrott på ordnivå (3) Byråkratiska ord: hemställan, vederlag Talspråkliga ord: dej, redaktörn Ålderdomliga ord: särla, tillförne Brott mot skrivkonventioner (14) Parenteser, datumformatering, interpunktion m.m. 23
SCARRIE Scandinavian Proof-Reading Tools Svenska, norska och danska Korrekturläsningsverktyg för tidningsskribenter Stavnings- och grammatikkontroll Stor empirisk felundersökning: SCARRIE Error Corpora Database (ECD) Ca 9 000 autentiska fel från SvD och UNT Fel med korrigering utförd av korrekturläsare 24
MÖSG05: språkgranskning,
SCARRIE: ECD Hierarkisk feltypologi i fyra nivåer Ca 500 feltyper Fem feltyper på översta nivån: Stavfel (SE) 43% Interpunktionsfel (PU) 17% Stil, mening och referens (SP) 16% Grammatiska fel (GP) 15% Grafiska fel (GR) 9% 26
SCARRIE: Vanliga grammatiska feltyper Nominalfrasen 41% Numerusinkongruens framförställt attribut-huvud (GPNPAG01): en upptrappad psykologiska krigföring Verbvalens 17% Infinitivmärke saknas (GPVVIP01): Vi kommer också jobba med OS arenan Prepositionsfras 11% Fel preposition (GPPPPR04): prognoserna över arbetslöshetens utveckling 27
SCARRIE: Uppbyggnad Stavningskontroll baserad på CORRie: Lexikonuppslagning Sammansättningsregler Grammatikkontroll: Partiell parsning med Uppsala Chart Parser (UCP) Chart scanner: ReportChart Letar igenom analysen efter felsärdrag 28
SCARRIE: UCP Tre typer av regler Accepterande regler en hund NP Relaxerade regler ett hund NP med kongruensfel Lokala felregler för strukturella fel på sats- och meningsnivå 29
SCARRIE: ReportChart Söker igenom charten (analysen) på jakt efter fel Tre grundläggande principer: Simplicity Principle Sök endast efter fel på toppnivån i särdragsstrukturen Longest Span Principle Välj alltid den längsta analysen Right-Before-Wrong Principle Om det finns flera analyser av samma längd, så välj alltid en analys utan fel i framför en analys med fel i 30
SCARRIE: Grammatikkontroll Hanterar ca 30 feltyper i enlighet med feltypologin (utöver stavfel) Exempel på feltyper som hanteras: Fel i nominalfrasen: En eventuellt segerfest får vänta Pronomenkasus: Och ingen kan väl klandra de som deltog? Fel i verbkedjan: Om människor börja tro på förändring Ordföljdsfel: Jag undrar vad gör de små busungarna Särskrivna sammansättningar: Upplands kusten 31
ScaniaChecker Variant av SCARRIE som anpassats till att hantera Scanias kontrollerade språk Används av Scanias skribenter som skrivstöd Minusord används för att uppnå konsistens vid val av terminologi fotkontakt, golvkontakt, fotströmställare, fotomkopplare Ersätt med: golvströmställare 32
Granska Grundar sig på tidigare forskningsprojekt: Plita Stava Partiell parsning i kombination med hjälpregler Omfattande analys endast om meningen verkar vara felaktig 33
Granska Fokus på tre feltyper: Särskrivna sammansättningar Han orkade inte flytta sten bumlingarna Inkongruens i nominalfrasen ett villa Inkongruens i predikativ Äktenskapet är baserad på kärlek 34
Granska: Uppbyggnad Tokeniserare Taggare Lexikon: SUC, SAOL Statistik: SUC Regelmatchare Accepterande regler Hjälpregler Granskningsregler Grafiskt gränssnitt 35
Granska: Regeluppsättning Accepterande regler (positiva regler) Hanterar korrekta konstruktioner som måste undantas för att undvika falska alarm: en massa arbetare Granskningsregler (negativa regler) Detekterar och korrigerar grammatiska felaktigheter Hjälpregler Lokal frasstrukturanalys Anropas endast vid behov 36
Granska: Utvärdering Totalt 201 019 löpord Fem olika texttyper Sportnyheter (63 568 ord) Utrikesnyheter (20 881 ord) Myndighetstexter (36 667 ord) Populärvetenskapliga artiklar (32 386 ord) Uppsatser, gymnasium och högskola (47 517 ord) 37
Granska: Utvärdering Totalt 418 fel, fördelade på femton feltyper, varav Granska hanterar nio Vanligaste feltyperna Böjningsfel i verbfras 21% Särskrivna sammansättningar 18% Inkongruens i nominalfraser 17% Ord saknas 13% Stavfel med gram-sem konsekvens 13% Inkongruens i predikativ 4% 38
Granska: Utvärderingsresultat Täckning: 52% Precision: 53% Stor skillnad mellan olika texttyper Stor skillnad mellan olika feltyper Böjningsfel i verbfras fungerar bäst: Täckning: 97% Precision: 83% 39
Sammanfattning Språkgranskning: Stavningskontroll, grammatikkontroll, stilkontroll Två strategier: Grammatikbaserad kontroll Fenomenbaserad kontroll Språkgranskningssystem för svenska: Critique, CORRie Språkgranskningssystem för andra språk: Grammatifix, SCARRIE, Granska, Skribent 40
Nästa gång Chartparsning i allmänhet och UCP i synnerhet 41
Referenser Anna Sågvall Hein, 1998, A Chart-Based Framework for Grammar Checking Initial Studies: http://www.lingfil.uu.se/personal/anna/nodali.pdf Ola Knutsson, 2001, Automatisk språkgranskning av svensk text Antti Arppe, 1999, Developing a Grammar Checker for Swedish: http://www.ling.helsinki.fi/~aarppe/publications/nodalida-99.pdf Juhani Birn, 1999, Detecting grammar errors with Lingsoft s Swedish grammar checker Rickard Domeij, 2005, Datorn granskar språket (kapitel 6-7) 42
Mer referenser Theodorus Gregorius Vosse, 1994, The Word Connection: Grammar-based Spelling Error Correction in Dutch Anna Sågvall Hein, 1998, A grammar checking module for Swedish, i WP12* Olga Wedbjer Rambell et al, 1998, An Error Database of Swedish, i WP5* Olga Wedbjer Rambell, 1998, Error Typology for Automatic Proof-reading, i WP4* *Working Papers in Computational Linguistics & Language Engineering: http://www.lingfil.uu.se/ling/wp.html 43