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 ut, men problemen med formuleringar av innehållet kvarstår Det är enkelt att producera mycket text mer skrivande - mindre läsning och granskning Kraftfulla redigeringsmöjligheter ger upphov till att språkfel uppstår Datorn som språkgranskare Fördelar: outtröttlig tillgänglig snabb Men: fragmentarisk ger falska alarm Vad tillför forskning om automatisk språkgranskning? Kommersiella program långt ifrån kompletta eller perfekta Många problem fortfarande olösta Kunskap om verktygens användning och effekter på språk och skrivande Forskningsbakgrund Språkliga datorstöd för skrivande, Kerstin Severinson Eklundh (1992) Stavningskontroll med Stava, Kann & Hollman (1992) Plita (1994) Granska (1996) Granska + Stava = sant (1998) Språkgranskning och skrivprocessen Skrivprocessen enligt Flower & Hayes (1981) Planering Textproduktion Granskning/revision Skribenten rör sig mellan processerna ny textproduktion kräver ny granskning osv. 1
Revisionsprocessen Metoder för grammatikkontroll Detektion Diagnos Revision Felet markeras Felet förklaras Ersättningsförslag presenteras 1. Grammatisk analys av texten 2. Fenomenbaserad granskning 3. En kombination av 1 och 2 Granskas angreppssätt Specifika felregler Mer omfattande grammatisk analys endast när det behövs Statistisk analys i botten för hantering av oförutsägbara konstruktioner, t.ex. texter med många fel i. Granskas uppbyggnad Tokeniseraren Taggaren Lexikon (SUC & SAOL) Statistik (SUC) Regelmatcharen Regler (300 regler) Ordböjningsfunktion Grafiskt gränssnitt Interaktion med användaren Två olika användare av Granska Bild av Granska Skribenten en vuxen person med svenska som modersmål Regelkonstruktören/lingvisten den som konstruerar reglerna i Granska 2
Granskas mest eftersökta feltyper Inkongruens i nominalfraser: ett villa Särskrivna sammansättningar: en hus bil Inkongruens i predikativ: Mannen är glada Andra feltyper som Granska detekterar Felaktiga sammansättningar: undertiden Objektsform efter preposition: skicka brev till de Fel i verbfras: Vi kommer spela en låt Ordföljdsfel: De sjöng trots att han spelade inte låten längre. Granskas regelspråk Orden ses som objekt med attribut och värden, t.ex. ordklass, genus och numerus osv. Indata: Morfologiskt analyserad text Utdata: markeringar i texten, kommentar med diagnos av felet, ersättningsförslag som presenteras för användaren Regelexempel Hon har spela poker sen hon vann pengarna. vbform@vbregler { X(text="har" text="hade"), Y(vbf!=sup) mark(x Y) corr(y.form(vbf := sup)) action(scrutinizing)} Hon har spelat poker sen hon vann pengarna. Generering av ersättningsförslag Här ligger några trevligt restauranger. Problem: Om varje ord i lexikonet kopplas explicit till alla dess böjningsformer blir lexikonet väldigt stort. Lösning: Basformen trevlig slås upp i lexikonet. Varje basform i lexikonet har en böjningsregel. Med hjälp av böjningsregeln för trevlig hittas den rätta formen trevliga. Inkongruens i nominalfraser I Hon bor i det gröna villan. Språkgranskning är en av språkteknologins viktigaste tillämpningsområden Han hade fickorna fylld med guld. 3
Inkongruens i nominalfraser: problem Han var motståndare till ett gatans parlament i staden. I går utlöste den nya hot Semantisk kongruens: Statsrådet själv vs. Statsrådet självt Paul Weller är en av undantagen en litet bil ett liten hus kong1@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) action (scrutinizing) corr (X2.form(gender:=X3.gender)) } Särskrivna sammansättningar I En ljus hårig sjuk sköterska satt vid en bar disk. Mellan 12 och 16 kollar vi glykolhalt och spolar vatten och olja på din bil. Jag har köpt en ny rygg säck. Han dömdes för miss handel av hovrätten. Särskrivna sammansättningar II en mans röst vs. en mansröst Du kan få älgen som del betalning. delbetalning Men inte: Hon tog det som en del betalning. Vi jagade en del älg. Särskrivna sammansättningar: några lösningar Utnyttja kongruens/inkongruens: ett cykel ställ Stava: cykelställ är en godkänd sammansättning Satsgränsigenkänning (Ejerheds algoritm) Accepterande regler Taggning av felaktiga konstruktioner Här taggas hylla som nomen: Vi har köpt en bok hylla sa Per. Här taggas hylla som verb: Vi har köpt en bok hylla på IKEA sa Per. Anpassa sig till taggaren? Tillgång till fler tolkningar av ordet + lexikal sannolikhet 4
Hur man skriver regler för att hitta felaktiga särskrivningar I grova drag för t.ex. språk granskning eller signal detektionsteori: 1. Leta upp två substantiv i obestämd form som står i följd. Korrekta detektioner: I grova drag för t.ex. språk granskning eller signal detektionsteori Falska alarm: Jag kan tänka mig att en massa bedömare har gjort en rad studier i ämnet. 2. Ta bort så många falska alarm som möjligt. Ställ ytterligare krav på matchningen. Viktigaste kravet: det första substantivet får inte tillhöra gruppen substantiv som kan utgöra en måttapposition, t.ex. grupp, antal, rad, massa. 3. Använd Stava språk granskning språkgranskning Stava Felstavat! Rättstavat! Inget alarm Felet signaleras Särskrivningsregel saer3@särskrivning { X(wordcl=substantiv & spec=ind & case=nom & nntype!= set & nntype!=dat), Y(wordcl=substantiv & spec=ind & spell_ok(smart_concat(x.text, Y.text)) mark(x Y) corr(x.join(y.text)) info( Felaktig särskrivning ) } Inkongruens i predikativ I Mannen är glada Mannen är glad/männen är glada Problemet med den kommunala fördelningen från inkomstskatter för säsongsanställda är svår att lösa inom befintligt skattesystem. Inkongruens i predikativ: problem Längre beroenden som är svåra att analysera Strukturella flertydigheter Inkongruens kan vara det riktiga Gröt är gott Gröt är god En ny utrikesminister vore inte så dum En ny utrikesminister vore inte så dumt 5
Inkongruens i predikativ: några dellösningar Omfattande nominalfrasanalys Hittar fler fel, men ger också nya falska alarm Godkänna många konstruktioner: Gröt är gott gröt är bränt Många olösta problem Feltypen kräver i många fall semantisk analys Hjälpregler En liten by NPmin@ { X(wordcl=dt), Y(wordcl=jj)*, Z(wordcl=nn) action(help, gender:=z.gender, num:=z.num) } System av hjälpregler en liten by en liten by på landet NP@ { (NPmin)() action(help); (NPmPP) action(help) } Den gamle mannen är glada Den gamle mannen på bänken är glada predex@pred{ (NP)(), X(wordcl=vb & vbt=kop), Y(wordcl=jj & num!=np.num) corr(y.form(num:=np.num)) } Utvärdering av Granska på fem texttyper Problem med utvärderingar: Hur mycket text behövs? I vilket skick är texten? Mycket manuellt arbete Människor hittar inte alla fel och gör felbedömningar Ersättningsförslag svåra att bedöma utan användare Täckning och precision Täckning = antal korrekta alarm/alla fel 100 % täckning = 10 av 10 fel upptäcks Precision = antal korrekta alarm/alla alarm 100 % precision = 10 av 10 felrapporter är korrekta Dragkamp mellan täckning och precision Vad vill användaren ha? 6
Andra utvärderingar Critique (Jensen et al) 39-70 % korrekta alarm beroende på användarkategori Birns utvärdering av Grammatifix: Täckning 35 % och precision 70 % (nyhetstext). Bredenkamp et al utvärderade två mänskliga granskare: upptäcker 7 resp. 8 av 10 fel Fem texttyper Sportnyheter 63 568 ord Utrikesnyheter 20 881 ord Myndighetstexter 36 667 ord Populärvetenskap 32 386 ord Gymn.- och högskoleuppsatser 47 517 ord -------------------------------------------------------- 201 019 ord (400 A4) Felfrekvenser Fel i verbkedjan 21 % Särskrivna sammansättningar 18 % Inkongruens i nominalfraser 17 % Inkongruens i predikativ 4 % Stavfel med gram-sem konsekvens 13 % Jag har hjort läxan Ord saknas 13 % Han kör? grön bil Några resultat Begränsad undersökning I populärvetenskaplig text upptäcktes 9 av 10 fel, 5 av 10 felrapporter var korrekta Gymn.- och högskoletexter upptäcktes 4 av 10 fel, 7 av 10 felrapporter var korrekta Utvärdering med användare Försöksuppgift: Granska en preparerad text med Granska och Words GK Observationer: Ersättningsförslag Felaktig diagnos Falska alarm Flera olika diagnoser och ersättningsförslag diagnos ersättningsförslag ett cykel ställ särskrivning ett cykelställ ett cykel ställ kongruensfel en cykel ställ 7
Utvärdering med användare Falska alarm: Stavfel vållade inga problem (i denna undersökning) Mer komplicerade feltyper fick användarna att ändra i texten Språkligt skickliga skribenter nöjer sig med detektionen av felet, diagnos och ersättning utförs på egen hand. Utvärdering med användare Ersättningsförslagen är viktiga för att ställa rätt diagnos. Vid flera alternativ, valde användarna i nästan samtliga fall ett korrekt. Lärdomar: Svårt att följa användare som granskar med s.k. kontinuerlig granskning Intressantare om användarna får arbeta med sina egna texter Framtida arbete Olika fel har olika lång bearbetningstid för användaren, gäller även falska alarm. Ett falskt alarm från stavningskontrollen går snabbt att avfärda. Det finns många fel kvar att detektera! Stavfel med grammatisk/semantisk konsekvens och Ord saknas Granska en experimentell miljö En öppnare arkitektur för experiment med olika tokeniserare, lexikon, taggare, hjälpregelsamlingar osv. Mer grundläggande analys behövs, t.ex. algoritmer för igenkänning av syntaktiska funktioner Användaranpassning av Granska Andraspråksinlärare och användare med speciella behov Andra behov av språklig hjälp Om en mening innehåller många fel är den synnerligen svår att analysera Nya krav på gränssnitt och innehåll 8