Grundläggande Textanalys VT Språkgranskning (1) Eva Pettersson

Relevanta dokument
Grundläggande Textanalys VT Språkgranskning (1) Eva Pettersson

Grundläggande Textanalys VT Språkgranskning (1) Eva Pettersson

Språkgranskningsverktyg, vt 2009

Språkgranskningsverktyg, vt 2008

Maskinöversättning och språkgranskning, ht 2006

Grundläggande Textanalys VT Språkgranskning (1) Eva Pettersson

språkgranskning, ht 2007

Maskinöversättning och språkgranskning F5 Allmänt om språkgranskning + ordkontroll

Stavningskontroll. Metoder och tillämpningar inom språkteknologin. ht Allmänt om språkgranskning. Stavningskontroll.

A Prima Vista (eller enbart a vista), italienska, betyder vid första anblicken. Uttrycket används i musiksammanhang med betydelsen att utföra ett

KIT 104, Cognitive processes. Lecture 1: Vision , Thomas Porathe

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord

Uppsatsskrivning utvärdering av språkteknologiska applikationer

KIT 104, Kognitiva processer. Föreläsning 1: Synen , Thomas Porathe

Skrivstöd. Varför bry sig om stavning? Hur används stavningskontroll? Christian Hardmeier

Grundläggande textanalys, VT 2011 Stavnings- och grammatikkontroll i Microsoft Word. Eva Pettersson UU/Convertus

Grundläggande textanalys, VT2013

Grundläggande textanalys. Joakim Nivre

Innehåll. Grammatikkontroll i Granska. Problemställning. Datorstöd för skrivande. Vilka metoder finns? Granskas uppbyggnad

Målet är att ge maskiner förmågan att plocka ut information ur

En arbetsdag på kontoret kan innehålla. Så klarar man språkkontrollen DATORER RICKARD DOMEIJ

Missplel ett generellt verktyg för generering av stavfel

Lingvistik I Delmoment: Datorlingvistik

Innehåll. Definition av språkgranskningsverktyg. Datorn som skrivverktyg. Ola Knutsson KTH CSC, SPRÅKGRANSKNINGSVERKTYG

Introduktion till språkteknologi. Datorstöd för språkgranskning

Lingvistik I Delmoment: Datorlingvistik

Innehåll GRAMMATIKKONTROLL I GRANSKA. Datorstöd för skrivande. Problemställning. Ola Knutsson

Lingvistik I Delmoment: Datorlingvistik

Språkgranskningsverktyg, vt 2009

Språkpsykologi/psykolingvistik

Statistisk grammatikgranskning

Grundläggande Textanalys VT Språkgranskning (2) Eva Pettersson

Språkgranskningsverktyg. F1: Introduktion

Obesvarade frågor från F4

Lathund för SpellRight

Lathund för Stava Rex

Identifiering av ordvitsar med Granska

Grundläggande Textanalys VT Språkgranskning (2) Eva Pettersson

Stränglikhet Manchester United vs Manchester Utd. B A R A N S Ö L E N

Eva Ansell Ulrika Nilsson WORD 2008 MICROSOFT. för Mac

English. Things to remember

Kungliga Tekniska Högskolan Patrik Dallmann

Språkteknologi och Open Source

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Hjälper dig att kontrollera din text efter felstavningar och lättförväxlade ord. Manual

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?

To Lauren Beukes Tune: Top of the World Written by Marianna Leikomaa

ViTal. Talsyntes. Användarhandledning

Vad kan statistik avslöja om svenska sammansättningar?

TDDD02 Språkteknologi för informationssökning (2016) Ordpredicering. Marco Kuhlmann Institutionen för datavetenskap

Kom igång med SpellRight

Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

Språkteknologiska stöd. Förskolor. Stemming. Slå ihop till samma ord

FOR BETTER UNDERSTANDING. Kom igång med. WordFinder Snabbguide

Taggning av räkneord som årtal eller andra räkneord, Språkteknologi 2D1418, HT 01 Jonas Sjöbergh, , 15 oktober 2001

Lösningsförslag till tentamen i Språkteknologi 2D1418,

Datorlingvistik och språkteknologi

Välkommen till ClaroStava svenska mac med tal artnr 12312

Styrteknik: Binära tal, talsystem och koder D3:1

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Projektförslag. Datalingvistisk projektkurs VT mars 2007

Positiv psykologi och motivation: Att skapa en utvecklande inlärningsmiljö

Module 6: Integrals and applications

Kungl. Tekniska högskolan NADA Grundformer med Stava

Fortbildningsavdelningen för skolans internationalisering. Dossier 3. European Language Portfolio 16+ Europeisk språkportfolio 16+ English version

The Arctic boundary layer

Tekniker för storskalig parsning

Provlektion Just Stuff B Textbook Just Stuff B Workbook

DAB760: Språk och logik

Swell code book (error taxonomy + examples)

TDDD02 Språkteknologi för informationssökning / Ordpredicering. Marco Kuhlmann Institutionen för datavetenskap

Lektion 3. Anteckningar

Writing with context. Att skriva med sammanhang

MÅL ATT UPPNÅ (FRÅN SKOLVERKET)

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Consumer attitudes regarding durability and labelling

Quick Start Guide Snabbguide

WordRead Plus för Mac

ClaroDictionary med tal. ClaroDictionary utan tal

Skriftspråk i förändring möter förlegade skrivstöd

Wittgenstein for dummies Eller hur vi gör det obegripliga begripligt. Västerås 15 februari 2017

Service och bemötande. Torbjörn Johansson, GAF Pär Magnusson, Öjestrand GC

Vårdat, enkelt och begripligt!

Innehåll B-nivå B.1 Två olika konsonanter i rad; i slutet och i början av ord.

Uttalskorrigering med hjälp av Fonetisk text

Tentamen Marco Kuhlmann

Hur hanterar stavningskontrollerna. texter skrivna av skolbarn? en utvärdering av Stava Rex och Microsoft Word 2007.

Programmering. Den första datorn hette ENIAC.

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

(engelska)

Språksociologi Å ni ba : va fan dillar na om?

specialpedagogik/grundskola/122_inkludering_och_delaktighet_flersprakighet

Grammatik, det fixar väl datorn?

Grammatiska morfem kan också vara egna ord, som t ex: och på emellertid

Övning 5 - Tillämpad datalogi 2013

Kognitiv Psykologi HT11 Språk, föreläsning 1

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers Misi.se

Smygläs om kårstyrelsen!

Transkript:

Grundläggande Textanalys VT 2016 Språkgranskning (1) Eva Pettersson eva.pettersson@lingfil.uu.se

Översikt Denna gång Stavningskontroll Allmänt om stavningskontroll Feligenkänning Felkorrigering Samarbetsuppgift Nästa gång Grammatikkontroll Stilkontroll Kontrollerat språk Språkgranskningssystem, med fokus på MS Word och Granska

Typoglycemia Aoccdrnig to a rseearch taem at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer be in the rghit pclae. The rset can be a taotl mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Scuh a cdonition is arppoiatrely cllaed Typoglycemia. Amzanig huh? Yaeh and you awlyas thguoht slpeling was ipmorantt. According to a research team at Cambridge University, it doesn't matter in what order the letters in a word are, the only important thing is that the first and last letter be in the right place. The rest can be a total mess and you can still read it without a problem. This is because the human mind does not read every letter by itself, but the word as a whole. Such a condition is appropriately called Typoglycemia. Amazing, huh? Yeah and you always thought spelling was important.

Varför behövs stavningsstandard? Ofta kan vi förstå felstavade ord, dock: Olika uttal i olika dialekter Undvika onödiga tvetydigheter och missuppfattningar Lättare att söka i olika register, lexikon etc Dessutom underlättar det för maskinell analys av texten J

Historisk text utan stavningsnorm besväradhe sig befallningsmannen Haanss Sivardzson, öffuer Tegelzmora boerne, som hafva så inbärgat Crononess Höö på grufmåssen, att dett mästedeels ähr förskämbt, på huilken skadha han Ratione officij protesterade. Ther till bemälte allmoge svaradhe sig så hårtt vara förbudne, att ingen skulle vijka derifrå, vidh 40, förre ähn ängen bärgat blefve, och derfhöre den eene daghen slogz ängen, och den andre in emoth afton, hadhe the höett i Stack, som uthan tuifvelsmåål intet tårtt var: Blef för det såleedess interlocutorie affsagt, att Påvel Grufvefougdhe, huilkom bemälte Eng för hanss löön gifuess för 80 daler kopparmynthe skall bemälte höö emodth tagha, så myket han kan någorleedess komma till vägha uthan sin Märkelig skadha ahntagha, och Nembningeman skall veetha beskeedh på dem som det höett bärgadhe, huilket Påvell sig till betallning anammat. Finss sedhan någodt som så illa medhfharidt ähr att han ingalunda kan det vidhertagha, så vardher Rätten förklarandess sig på dem som skäligen bevijsass kunna höet genom försumelse, och vhanrycht och genom otidigt bärgandhe fördärfvat hafva, på huilka och Nembningeman i lijka måtto, beskeedh och underrättellse vetta skall;

Vad förväntas av det ideala stavningskontrollprogrammet? Känna igen och larma för alla felstavade ord (täckning) Känna igen och acceptera alla rättstavade ord (precision) Ge ett korrekt rättningsförslag för alla felstavade ord

Realistiska förväntningar på stavningskontrollprogrammet Känna igen och larma för alla de mest frekventa och/eller lättidentifierade felstavningarna Känna igen och acceptera alla rättstavade ord, som är tillräckligt frekventa i språket Ge ett korrekt sannolikt rättningsförslag för alla felstavade ord

Stavningskontrollens två delar 1. Feligenkänning (error detection) att hitta felen 2. Felkorrigering (error correction) att ge ersättningsförslag Inte alltid nödvändigt med ersättningsförslag. Ibland räcker det att skribenten görs uppmärksam på att det förekommer en felstavning över huvud taget.

Feligenkänning i Microsoft Word

Felkorrigering i Microsoft Word

FELIGENKÄNNING

Feligenkänning Isolerade ord Skrivfel som resulterar i icke-ord: och à coh Ord i kontext Stavfel som resulterar i riktiga ord (real word errors) jag er dålig på att stava språk teknologi är kul

Real Word Errors Lokala syntaktiska fel Stavfelet går att identifiera genom att titta på ett eller två ord före eller efter det felaktiga ordet * Det er svårt att stava Globala syntaktiska fel (long-distance) För att hitta stavfelet måste man göra en mer utförlig grammatisk analys av meningen * The team that hits the most runs get ice cream Semantiska fel Stavfelet ger upphov till ett befintligt ord som fungerar bra syntaktiskt, men där innebörden av meningen blir konstig * det är svart att stava

Feligenkänningsstrategier Trigram av tecken Larmar för ovanliga teckenkombinationer Används främst inom OCR Lexikon Ord som saknas i lexikonet larmas för som felstavningar Fullformslexikon eller stamlexikon

Svagheter med lexikonmetoden För stort lexikon ger låg täckning många fel missas (t.ex. verv, boke) För litet lexikon ger låg precision många falska alarm kan lura skribenten att till exempel särskriva jättetrött à jätte trött Omöjligt att lista alla ord i lexikonet språket är produktivt

Komplement till lexikonmetoden Morfologiska regler för avledningar svamp-ig be-bo vattn-a (jmf. svamp-ar) (jmf. bo-r) (jmf. vattn-et) Regler för att hantera sammansättningar Egennamnsigenkänning Domänspecifika lexikon Tillåta användaren att lägga till egna ord i lexikonet

Basstrategi: sammansättning = ord + ord Feligenkänning av sammansättningar dator + lingvistik = datorlingvistik Förfinad strategi: sammansättning = förled + ord flicka + klänning= flickklänning äpple + paj = äppelpaj kvinna + parti = kvinnoparti cigarr + rök = cigarrök

För- och nackdelar med sammansättningsanalys Minskar antalet falska alarm (bättre precision) Kan öka antalet missade fel (sämre täckning) Missade fel i Word97 (åtgärdat i senare versioner): kotakt kontakt ko-takt makelera makulera make-lera medalg medalj med-alg cykelsäll cykelställ cykel-säll särkskilt särskilt särk-skilt

Att fundera kring Hur göra med sällsynta/fackspråkliga ord? Kan ligga nära felskrivningar av frekventa ord verv/värv (verv = kraft, livfullhet, glöd enligt SAOL) boke/boken (boke = bokvirke) Dialektala ord? däven, tyket, hurven, tölig Slang? keff, gola, kurra, impa, guss, deppa, dagis Talspråk? Hur sträng bör man vara? mej, direktörn, idag

FELKORRIGERING

Felkorrigeringens två delar Ta fram ett antal korrigeringskandidater Rangordna korrigeringskandidaterna

Approacher till felkorrigering 1. Interaktiv stavningskontroll Fel detekteras och markeras medan man skriver Skribenten väljer själv om åtgärd behövs 2. Automatisk stavningskontroll Fel detekteras och korrigeras automatiskt, utan inblandning från skribenten

Felkorrigering i MS Word Interaktiv felkorrigering Rödmarkering under skrivandets gång, med ersättningsförslag om skribenten högerklickar på det felmarkerade ordet Automatisk felkorrigering Vissa vanliga säkra felskrivningar autokorrigeras, såsom: á la carte à à la carte abbonemang à abonnemang coh à och kasett à kassett affich à affisch dublett à dubblett

Felkorrigering Det finns många faktorer att ta hänsyn till om man vill ge användbara ersättningsförslag det är sårt att stava Word föreslår: särt sort surt svårt sårat mest sannolikt låg frekvens oväntad ordklass semantiskt osannolikt

Feltyper Kompetensfel (spelling confusion) Fonetiska fel: restaurang à resturang Homofonfel: gott à gått Performansfel (typographical errors/typos) Insättning språkteknologii Borttagning spåkteknologi Substitution språktelnologi Transposition spårkteknologi

Feltyper (forts) Kompetensfel eller performansfel? tunnt Spelar det någon roll? Oftast inte nödvändigt att veta om kompetensfel eller performansfel Kan ge bättre korrigeringsförslag om man tar hänsyn till feltyp hemta kompetensfel: hämta/hämtade performansfel: hemtam

Empiriskt grundade iakttagelser De flesta felstavningar är performansfel (insättning, borttagning, substitution, transposition) De flesta felstavningar påverkar inte ordets längd med mer än en bokstav Första bokstaven i ordet är sällan felaktig Tangenternas placering påverkar Bokstävernas frekvenser påverkar Grundat på korpusdata producerat av skribenter som skriver på sitt modersmål och som inte har särskilda skrivsvårigheter. Kan se annorlunda ut för exempelvis andraspråksinlärare och dyslektiker.

Korrigeringsstrategier Editeringsavstånd (Minimum Edit Distance/Levenshtein Distance) Likhetsnycklar N-gramsbaserade tekniker Regelbaserade tekniker Probabilistiska tekniker

Editeringsavstånd Stränglikhet Minsta antalet editeringsoperationer som behövs för att omvandla en sträng till en annan Editeringsoperationer: insättning borttagning substitution (alt. borttagning + insättning) transposition (alt. substitution + substitution)

Editeringsavstånd formel dist(0,0) = 0 dist(i,0) = i dist(0,j) = j dist(i,j) = min dist(i-1,j) + 1 dist(i,j-1) + 1 dist(i-j,j-1) + (borttagning) (insättning) 0 om i = j (likhet) 1 annars (substitution) där i är strängen s fram till i:te tecknet, och j är strängen t fram till j:te tecknet

Editeringsavstånd illustrerat r ä n g n a r e g n a r

Editeringsavstånd illustrerat r ä n g n a Editeringsavstånd: 0 r e g n a r

Editeringsavstånd illustrerat r ä n g n a Editeringsavstånd: 1 substitution r e g n a r

Editeringsavstånd illustrerat r ä n g n a r e g n a r Editeringsavstånd: 2 substitution + borttagning

Editeringsavstånd illustrerat r ä n g n a r e g n a r Editeringsavstånd: 2 substitution + borttagning

Editeringsavstånd illustrerat r ä n g n a r e g n a r Editeringsavstånd: 2 substitution + borttagning

Editeringsavstånd illustrerat r ä n g n a r e g n a r Editeringsavstånd: 2 substitution + borttagning

Editeringsavstånd illustrerat r ä n g n a r e g n a r Editeringsavstånd: 3 substitution + borttagning + insättning

Editeringsavstånd: dynamisk programmering r ä n g n a 0 r e g n a r

Editeringsavstånd: dynamisk programmering r ä n g n a r e g n a r 0 1 2 3 4 5 6

Editeringsavstånd: dynamisk programmering r e g n a r 0 1 2 3 4 5 6 r 1 ä 2 n 3 g 4 n 5 a 6

Editeringsavstånd: dynamisk programmering r e g n a r 0 1 2 3 4 5 6 r 1 0 ä 2 n 3 g 4 n 5 a 6 kostnaden för att komma hit från min övre vänstra grannesubstitution kostnaden för att komma hit från min vänstra granneborttagning kostnaden för att komma hit från min övre granne insättning minimum av de tre möjliga dragen, dvs detbilligaste sättet att komma hit

Editeringsavstånd: dynamisk programmering r e g n a r 0 1 2 3 4 5 6 r 1 0 1 2 3 4 5 ä 2 1 1 2 3 4 5 n 3 2 2 2 2 3 4 g 4 3 3 2 3 3 4 n 5 4 4 3 2 3 4 a 6 5 5 4 3 2 3 kostnaden för att komma hit från min övre vänstra grannesubstitution kostnaden för att komma hit från min vänstra granneborttagning kostnaden för att komma hit från min övre granne insättning minimum av de tre möjliga dragen, dvs detbilligaste sättet att komma hit

Likhetsnycklar Ord matchas mot nycklar istället för ord Ord som stavas på liknande sätt har likadana (eller nästan likadana nycklar)

Likhetsnycklar: Soundex SOUNDEX = Indexing on Sound Odell & Russel, 1918 (!) Fonetisk likhet vokaler ignoreras konsonanter grupperas tillsammans om de liknar varandra fonetiskt Användning: Flygbokningssystem (Davidson 1962)

Soundex algoritm 1. Behåll det första tecknet 2. Ersätt efterföljande tecken enligt nedan: a, e, i, o, u, y, h, w 0 b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 3. Ta bort alla nollor 4. Ta bort alla på varandra följande dubbletter 5. Spara de tre första siffrorna

Soundex exempel disapont à D215 disappoint à D215 1. Behåll det första tecknet 2. Ersätt efterföljande tecken enligt nedan: a, e, i, o, u, y, h, w 0 b, f, p, v 1 c, g, j, k, q, s, x, z 2 d, t 3 l 4 m, n 5 r 6 3. Ta bort alla nollor 4. Ta bort alla på varandra följande dubbletter 5. Spara de tre första siffrorna

Soundex exempel disapont à D215 disappoint à D215 Ersättningsförslag för disapont: disband, disbands, disbanded, disbanding, disbandment, disbandments, dispense, dispenses, dispensed, dispensing, dispenser, dispensers, dispensary, dispensaries, dispensable, dispensation, dispensations, deceiving, deceivingly, despondent, despondency, despondently, disobeying, disappoint, disappoints, disappointed, disappointing, disappointedly, disappointingly, disappointment, disappointments, disavowing

N-gramsbaserade tekniker Stränglikhet, dvs andelen gemensamma n-gram (vanligen trigram) likhet(i,j) = 2C/(n+n ) där n är antalet trigram i i och n är antalet trigram i j och C är antalet trigram gemensamma för i och j

N-gramsbaserade tekniker (forts) Hur lika är concider och consider? ##c #co con onc nci cid ide der er# r## ##c #co con ons nsi sid ide der er# r## concider consider C (antalet gemensamma trigram) = 7 n (antalet trigram i concider) = 10 n (antalet trigram i consider) = 10 likhet(concider,consider) = 2C/(n+n ) = 14/20 = 0,70

N-gramsbaserade tekniker (forts) Hur lika är concider och cider? ##c #co con onc nci cid ide der er# r## ##c #ci cid ide der er# r## concider cider C (antalet gemensamma trigram) = 6 n (antalet trigram i concider) = 10 n (antalet trigram i consider) = 7 likhet(concider,cider) = 2C/(n+n ) = 12/17 0,71 likhet(concider,consider) = 2C/(n+n ) = 14/20 = 0,70

N-gramsbaserade tekniker (forts) Modifierat likhetsmått: likhet(i,j) = 2C/(n+n ) à likhet(i,j) = C/max(n,n ) där n är antalet trigram i i och n är antalet trigram i j och C är antalet trigram gemensamma för i och j likhet(concider,consider) = 7/10 = 0,70 likhet(concider,cider) = 6/10 = 0,60

Referenser Markus Dickinson, Chris Brew & Detmar Meurers, 2013 (kapitel 2), Language and Computers Karen Kukich, 1992, Techniques for Automatically Correcting Words in Text Roger Mitton, 1996, Spellchecking by Computer Stina Nylander, 2000, Statistics and Phonotactical Rules in Finding OCR Errors