N-grambaserad språkbestämning

Storlek: px
Starta visningen från sidan:

Download "N-grambaserad språkbestämning"

Transkript

1 N-grambaserad språkbestämning Johanna Lambertz Examensarbete i datorlingvistik Språkteknologiprogrammet Uppsala universitet Institutionen för lingvistik och filologi 9 juni 2004 Handledare: Mats Dahllöf, Uppsala universitet Fredrik Larsson, Phoneticom AB

2 Sammanfattning Syftet med den här studien är att undersöka möjligheterna till automatisk språkbestämning och att finna en lämplig metod att implementera. Om resultatet av utvärderingssteget är tillräckligt stabilt kommer programmet att användas i ett text-till-tal-system hos Phoneticom AB i Uppsala, där denna studie utförts. I den här studien utvärderas en statistisk n-grammetod för automatisk språkidentifiering. Metoden fokuserar de kombinationer av tecken, sk. n-gram, som används i de olika språken. Som träningsdata används en samling av korpusar, för vilka det korrekta språket är känt. N- grammen, tillsammans med frekvenser, extraheras ur korpusarna och dessa språkmodeller används sedan för att uppskatta hur troligt det är att texten har producerats av de olika språken. Det språk som har genererat det högsta värdet på samband väljs. I studien jämförs resultatet av metoder som använder sig av unigram, bigram respektive trigram. Tre olika beräkningsmetoder; enkel poängräkning, beräkning av det Euklidiska avståndet och beräkning av Spearman s rangkorrelation, har implementerats för vardera n- gramslängd och sammanlagt ger detta nio olika varianter av språkidentifieringsprogram. Dessa program har utvärderats och resultaten visade sig vara mycket varierande. Vissa av programmen var mycket beroende av textens längd och andra hade svårigheter att språkbestämma de kortaste texterna (4-5 löpord) som användes i utvärderingssteget. Två av programvarianterna, poängräkningsprogrammet och programmet med beräkning av det Euklidiska avståndet, som båda var anpassade till trigram, uppnådde dock hög grad av korrekthet, även för korta texter. På de kortaste testfilerna (4-5 löpord) blev resultaten 88,9 respektive 91,1 procent, och vad gäller de längsta testfilerna ( löpord) var programmen i stort sett felfria. När det gäller de felaktiga språkval programmen gjorde visar utvärderingen att programmen förväxlar språk som är lika varandra, t.ex. norska och danska. Även spanska och katalanska var i vissa fall svåra att skilja åt. i

3 Innehållsförteckning Förord iv 1 Inledning Syfte Förutsättningar och krav Rapportens disposition Bakgrund Olika metoder för språkbestämning Ordbaserade metoder Teckenbaserade metoder Grammatiska metoder Korpusar Genomförande Val av metod Datainsamling Korpusarna Testdata N-grammen Övergripande programstruktur Beräkningsmetoder Poängräkning Euklidiskt avstånd Spearman s rangkorrelation Valbara språk som argument Språkoberoende implementation Utvärdering Utvärderingsmetod Utvärdering och jämförelse av de nio programmen...17 ii

4 4.2.1 Poängräkning med trigram Euklidiskt avstånd med trigram Diskussion och kommentarer till resultaten Jämförelse med andra verktyg TextCat SILC Kommentarer till resultaten Slutsatser Framtida förbättringar och utvecklingsmöjligheter...31 Referenser 33 iii

5 Förord I denna uppsats redovisas ett examensarbete som utförts som en del av Språkteknologiprogrammet vid Institutionen för lingvistik och filologi, Uppsala universitet. Examensarbetet har utförts hos Phoneticom AB i Uppsala under våren Jag vill här ta tillfället i akt att uppmärksamma några personer som på olika sätt hjälpt mig att genomföra detta arbete. Jag vill rikta ett tack till min handledare på Institutionen för lingvistik och filologi, Mats Dahllöf, som har kommit med värdefull kritik och goda råd kring uppsatsens innehåll och utseende. Ett tack går även till min handledare på Phoneticom AB, Fredrik Larsson, som givit mig vägledning och stöd under arbetets gång. Ytterligare ett tack går till Bengt Dahlqvist på Institutionen för lingvistik och filologi för de tips och synpunkter jag fått. Tack! Johanna Lambertz, Uppsala juni 2004 iv

6 1 Inledning Att automatiskt bestämma språket på vilket ett dokument är skrivet har många möjliga användningsområden. Till exempel har alla stora sökmotorer på Internet i dagsläget stöd för flera olika språk, vilket gör det möjligt för användaren att begränsa sina sökningar till dokument skrivna på ett visst språk. Automatisk språkbestämning används för att sortera ut dessa dokument. Inom språkteknologin är det i många fall nödvändigt att känna till vilket eller vilka språk en text är skriven på för att någon typ av bearbetning ska kunna utföras. Så är fallet när det exempelvis gäller informationsextraktion, textkategorisering, lexikonuppslagning och parsning. Vid maskinöversättning kan systemet användas för att identifiera källspråket, och även inom talteknologin finns flera tänkbara användningsområden när det gäller såväl talsyntes som taligenkänning. Inom lingvistisk forskning kan program som utför språkbestämning användas vid exempelvis sammanställandet av korpusar från Internet eller andra flerspråkiga textarkiv. Ett språkidentifieringsprogram medför då att arbetet både underlättas och effektiviseras. Problematiken kring automatisk språkbestämning har fått mycket utrymme inom forskningen och ett antal tänkbara metoder och tillvägagångssätt har föreslagits. Vissa av dem är väldigt enkla och fungerar bra om texterna som ska språkbestämmas är någorlunda långa. Andra är mer komplicerade och fungerar ofta bättre för korta texter. 1.1 Syfte Syftet är att undersöka möjligheten att automatiskt bestämma språktillhörigheten hos elektroniska texter. Lämplig metod ska implementeras och valet av metod ska göras utifrån de önskemål som finns när det gäller programmets tilltänkta användningsområde. En utvärdering ska utföras för att det på så sätt ska kunna avgöras om pålitligheten hos programmet är tillräckligt stor för att det ska tas i bruk Förutsättningar och krav Programmet, som utför automatisk språkbestämning, har utvecklats åt Phoneticom AB i Uppsala och är tänkt att användas i ett text-till-tal-system, där det ska ha som uppgift att tala om för systemet vilken språktillhörighet en text har. Utifrån detta kan sedan rätt talsyntes användas vid uppläsning av texten. Programmet är först och främst tänkt att användas vid uppläsning av webbsidor. Phoneticom har även andra idéer om hur programmet kan användas, exempelvis vid uppläsning av e-postmeddelanden. För att programmet ska passa Phoneticoms syften fanns en del krav från deras sida som påverkade såväl valet av identifieringsmetod som vissa implementeringslösningar. Exempelvis är programmet skrivet i programmeringsspråket c++ för att det ska vara lätt att integreras i det redan existerande systemet. Programmet ska utifrån ett antal givna språk avgöra vilket språk som är det mest troliga. De språk som programmet hanterar är valda utifrån Phoneticoms önskemål och är för tillfället nio till antalet; svenska, norska, danska, engelska, tyska, franska, italienska, spanska och 1

7 katalanska. Programkoden ska vara skriven så att det är lätt att lägga till nya språk allt eftersom Phoneticoms kundkrets vidgas. Det ska vidare vara möjligt att begränsa antalet möjliga språk genom att låta programmet ta valbara språk som argument. Detta är användbart då Phoneticoms kunder sällan har tillgång till fler än ett par olika talsynteser. Att låta programmet välja mellan alla nio språken är då både onödigt tids- och minneskrävande. Dessutom ökar sannolikheten för att rätt svar levereras om antalet språk att välja mellan är begränsat. Vidare är det viktigt att språkidentifieringsprogrammet är snabbt, eftersom det används i realtid, och inte kräver så mycket lagringskapacitet. Det är dessutom önskvärt att programmet klarar av att identifiera språket på så korta texter som möjligt, med så stor pålitlighet som möjligt. Det kan till exempel finnas tillfällen då ett dokument innehåller text på flera språk och då ska möjligheten finnas att skifta talsyntes inom ett och samma dokument. Det är även en fördel om språkidentifieringsprogrammet är stabilt vad gäller textuella felaktigheter. 1.2 Rapportens disposition I det första kapitlet ges en kort introduktion till automatisk språkbestämning och innehåller en beskrivning av de förutsättningar och krav som fanns i inledningsfasen av den här studien. I det nästföljande bakgrundskapitlet beskrivs ett antal olika metoder som kan användas för att språkbestämma en skriven text. Även några för- och nackdelar med de olika metoderna behandlas, liksom vilka begränsningar metoderna har. I det tredje kapitlet beskrivs vad som har genomförts i den här studien. Det inleds med en beskrivning av den metod som valts utifrån de krav som fanns på språkidentifieringsprogrammet. Här finns även beskrivningar av de ställningstaganden som var nödvändiga vid extraherandet av de data som skulle användas. Tre beräkningsmetoder för att bestämma språket på texten har använts och dessa beskrivs och exemplifieras i detta kapitel. För att programmet ska passa in i Phoneticoms system krävdes vissa justeringar. Dessa beskrivs i ett av avsnitten i detta kapitel, liksom en kort beskrivning av programmens struktur. De program som har konstruerats har sedan utvärderats och resultatet från utvärderingarna återfinns i det fjärde kapitlet. Här redovisas även en jämförelse som gjorts med två andra program som utför språkbestämning av skriven text. Kapitlet innehåller dessutom kommentarer till de funna resultaten, samt en diskussion. Uppsatsen avslutas med ett kapitel som innehåller slutsatser och framtida användningsområden och utvecklingsmöjligheter för den metod som har använts. 2

8 2 Bakgrund 2.1 Olika metoder för språkbestämning Möjligheten att automatiskt kunna språkidentifiera skriven text har fått relativt mycket utrymme inom forskningen och ett antal olika metoder har implementerats och utvärderats. Några av de som nämns i litteraturen är olika typer av ordbaserade och teckenbaserade metoder. Även metoder där olika sätt att använda mer grammatisk kunskap om språken har undersökts. Metodernas resultat har visat sig vara mycket beroende av längden på den text som ska språkbestämmas. En mycket enkel metod kan därför mycket väl tjäna sitt syfte om programmet enbart ska språkidentifiera långa texter som exempelvis romaner, medan det för kortare texter ofta krävs mer kunskapsintensiva metoder Ordbaserade metoder Ordbaserade metoder bygger på samma teknik som den som människan ofta använder för att identifiera språk och är de allra enklaste metoderna för språkbestämning. De går ut på att söka efter ord som är unika eller vanliga för ett språk. Unika ord En av de allra enklaste metoderna för språkidentifiering är att hitta ord som är unika för de olika språken. Genom att matcha orden i texten som ska språkbestämmas med en lista över de unika orden för vartdera språket, kan programmet avgöra vilket av språken det handlar om. Om texten inte innehåller de ord som specificerats kan inget svar ges. Detta medför att metoden har uppenbara brister vid identifiering av korta texter där antalet ord är litet och sannolikheten för att de unika orden ska ingå därför minimal. Ett problem som uppstår vid ordbaserade metoder är den information som kan gå till spillo i tokeniseringssteget. Att tokenisera exempelvis engelska och franska texter är relativt enkelt då en sträng av tecken som avgränsas med ett inledande och ett avslutande blankslag kan sägas utgöra ett ord. I japanska och kinesiska markeras däremot inte ordgränser av blanksteg. För att tokenisera texter skrivna på sådana språk krävs att man har mer lingvistisk kunskap om språken i fråga och språkspecifika lösningar krävs. Frekventa ord De enkla ordbaserade metoderna kan utvecklas genom användning av frekvenser. Metoden med frekventa ord går ut på att, utifrån stora textmassor, generera en frekvenssorterad ordlista för vartdera av de olika språken. Därefter matchas de ingående orden i den text man vill språkbestämma med dessa listor. Om ett ord förekommer i flera av språken väljs det språk med högst frekvens av det förekomna. Metoden har vissa begränsningar. Texternas innehåll och språkets stil kan påverka resultatet när det gäller ordfrekvenserna. Att använda frekvenser löser inte heller problemet med identifiering av korta texter. De innehåller helt enkelt för få ord för att identifieringen ska vara pålitlig (Souter m.fl. 1994). 3

9 De ord som är frekventa i en text är ofta grammatiska ord. Att endast utgå från språkens grammatiska ord vid språkidentifiering är därför ett annat alternativ. De grammatiska orden kan oftast inte uteslutas ur en sats då de ger struktur åt satsen, samt gör den förståelig. Detta innebär att texten som ska språkbestämmas borde innehålla ett antal av dessa ord och språkidentifieringen borde då kunna genomföras. Vidare är de grammatiska orden ofta unika för de olika språken, korta och begränsade till antalet, vilket gör det enkelt att konstruera hanterbara lexikon av dem. Resultatet från en studie som gjorts med matchning av grammatiska ord visar att metoden fungerar mycket bra för texter som är längre än nio ord. I väldigt korta texter (ett till tre ord) återfinns vanligen alla syntaktiska kategorier förutom just grammatiska ord. Metoden är därför direkt olämplig för identifiering av korta texter (Giguet 1996). Denna metod förutsätter att texten som ska identifieras är fullständig. I praktiken är detta inte alltid fallet. Det kan exempelvis handla om olika typer av listor som ska språkbestämmas eller telegrafiska texter där de grammatiska orden är uteslutna Teckenbaserade metoder Även bland de teckenbaserade metoderna finns ett flertal olika tillvägagångssätt som har använts för automatisk språkbestämning. Att använda unika strängar, alfabetet och n-gram är metoder som nämns. Unika strängar En av de enklaste teckenbaserade metoderna går ut på att skapa listor med längre teckensträngar som är unika för de olika språken. Förekomst av dessa strängar i en text ger upplysningar om vilket språk det handlar om. Metoden fungerar tämligen bra när programmet enbart är tänkt att hantera ett fåtal språk. Då är det relativt enkelt att sätta ihop ett stort lexikon över unika strängar för vartdera språket. Vid tillägg av flera språk blir det allt svårare att finna unika teckensträngar och de som hittas är ofta mycket ovanliga i språken. Att de skulle förekomma i texten som ska identifieras är därför inte troligt och svårigheter med identifieringen uppstår (Souter m.fl. 1994). Metoden har således stora svårigheter med att identifiera korta texter där antalet ord är litet och sannolikheten att strängarna ska förekomma därför är minimal. Ett annat problem är den stora textmängd som krävs för att man ska kunna försäkra sig om att alla teckensekvenser som är möjliga i ett språk verkligen har kommit med. Detta är näst intill omöjligt. Även om man hittar strängar som är unika för varje språk är det inte säkert att språkidentifieringen lyckas. I en studie användes strängen cchi för att identifiera italienska texter. Strängen hade identifierats som unik för språket, men att säga att alla texter som innehåller zucchini eller Pinocchio är italienska är föga troligt (Dunning 1994). Ytterligare en nackdel med metoden är det jobb som krävs vid tillägg av nya språk. Det finns inget som säger att en sekvens av tecken, som är unik när ett visst antal språk hanteras, förblir unik efter tillägg av flera språk. Vid utökandet av antalet språk måste därför nya lexikon med unika teckensekvenser extraheras för samtliga av språken. Alfabetet Ett annat tillvägagångssätt är att utgå ifrån alfabetet. Även om alfabetet innehåller en hel del lika tecken, så finns en del tecken som är specifika för ett eller flera språk. Det handlar till 4

10 exempel om sk. utsmyckade tecken. Genom att jämföra tecknen i texten som ska språkbestämmas med en lista över de tecken som finns i vartdera språket kan språket bestämmas. Det har dock visat sig att metoden att enbart använda alfabetet vid identifiering inte är så lyckad. En av anledningarna är att det är mycket få tecken som bara återfinns i ett enda språk. De specifika tecknen i alfabeten är heller inte tillräckligt vanliga i språken för att de ska kunna användas på ett tillförlitligt sätt. Fördelningen över de 10 vanligaste tecknen i de nio språken som hanteras i den här studien framgår av sammanställningen i tabell 2.1. tecken svenska e a n t r s i l d o danska e r n t d a i s l g norska e n r t s a i l o d engelska e t a o n i s h r d franska e s a i n t r u o l tyska e n i r s t d a h u italienska e i a o n t r l s c spanska e a o s n r i l d t katalanska e a s i r n t l o c Tabell 2.1. De 10 mest frekventa tecknen i de nio olika språken. 1 Av tabellen framgår att inget av de språkspecifika tecknen finns bland de tio vanligaste för något av språken. I svenskan kommer bokstaven ä först på 15:e plats, å på 20:e plats och ö på 21:a plats. Att använda unika tecken är därför ingen tillförlitlig metod på grund av att tecknen är alltför ovanliga. N-grammetoden För att få ännu bättre statistik om ett språks användande av olika tecken kan man utöka metoden till att hantera de kombinationer av tecken som förekommer i de olika språken. Att sedan räkna ut sannolikheten för att en given teckensekvens är konstruerad av de olika språken resulterar i språkspecifik information om språkets teckenkombinationer. Sådan information kan räknas ut med relativt hög precision utifrån korpusar från de olika språken. Teckenkombinationerna kallas vanligen för n-gram och är en n tecken lång sekvens. Sekvenser av ett tecken (n=1) kallas unigram, två tecken (n=2) kallas bigram och tre tecken (n=3) kallas trigram etc. N-grammen görs oftast överlappande och en fördel med det är att man får med alla de n-gram språket består av. I annat fall är det tänkbart att viktig information om vanliga n-gram i språket skulle gå förlorad. I exemplet nedan delas strängen en bil upp i n- gram. Bigrammen och trigrammen är överlappande. unigram bigram trigram e, n, _, b, i, l _e, en, n_, _b, bi, il, l en, en_, n_b, _bi, bil, il_ 1 Fördelningarna över teckenförekomsterna i de nio språken är sammanställda utifrån de korpusar som samlats in i den här studien (se 3.2.1) 5

11 Språkbestämningsmetoden går ut på att n-gram, med ett bestämt värde på n, extraheras ur stora textmassor. En n-gramfördelning för vartdera språket skapas och med hjälp av frekvensen för de olika n-grammen och antalet n-gram beräknas sannolikheten för att ett givet n-gram är konstruerat av de olika språken. Dessa observerade sannolikheter kan sedan användas för att avgöra vilket språk det handlar om. Exempelvis är sannolikheten för th i engelskan relativt hög, medan den i spanska är näst intill obefintlig. På så sätt kan man räkna ut ett värde för att vartdera språket har genererat texten som ska språkbestämmas och det språk som givit högst värde kan då väljas. Vid extraherandet av n-gram krävs ingen tokenisering och det finns därför inte någon risk att viktig information går förlorad vid extraherandet. Eftersom språkmodellerna är skapade utifrån antagandet om att textsträngar endast är sekvenser av tecken behövs ingen språkspecifik förprocessering. Vilken text som helst, på vilket språk som helst, kan delas upp i n-gram. Detta gäller således även för språk som inte använder mellanslag som ordskiljare Grammatiska metoder Det har även gjorts flera försök där grammatisk kunskap om språken har använts för språkidentifiering. Ett exempel på detta är användandet av morfologin hos orden i de olika språken. Metoden går ut på att dela upp språkens ord i morfem som sedan används för att matcha textens ord. Ett annat alternativ är att använda vanliga ändelser, stavelser, sekvenser av konsonanter eller vokaler för matchning. Att använda sig av språkens syntax är ett annat tillvägagångssätt. En sådan metod är bra när en ordform förekommer i flera olika språk. Ordet chat förekommer till exempel både i franska och i engelska, men på olika syntaktisk position. Genom att genomföra syntaktisk analys på satserna kan man alltså sluta sig till vilket språk det handlar om. Dessa metoder erfordrar mycket lingvistisk kunskap om de olika språken och vid tillägg av nya språk krävs omfattande språkspecifik förbehandling. 2.2 Korpusar Flera av metoderna för automatisk språkbestämning som beskrivits ovan går ut på att utvinna språkspecifik information från stora textmassor. Dessa textmassor kallas korpusar och används som träningsmaterial till språkidentifieringsprogrammen. Det finns ett flertal olika definitioner av vad en korpus är. I den här rapporten använder jag korpus som beteckning på en datorläsbar textsamling av naturligt förekommande språk. När en korpus ska sättas ihop finns det vissa saker som är viktiga att ta hänsyn till. Korpusar kan exempelvis vara sammansatta på en mängd olika sätt beroende på hur de ska användas och det är viktigt att fundera över vad man behöver för material för att få önskat resultat. En korpus kan till exempel vara balanserad eller representativ. En balanserad korpus består av olika typer av text från alla typer av domäner, genrer, författare och stilar i bestämda proportioner. En sådan korpus ska spegla språket så som det faktiskt används. Vid sammansättning av en sådan korpus är det viktigt att få med tillräckligt mycket text för att korpusen verkligen ska kunna reflektera språket. En representativ korpus innehåller ofta texter från en och samma domän. Om språkidentifieringsprogrammet enbart är tänkt att användas på tidningstexter används med fördel sådana texter för att sätta samman korpusen. Språkbestämningsprogrammet som ska utvecklas i den här studien ska dock inte användas på texter ur en specifik domän, utan ska användas på texter av olika typer. Det är dock viktigt att den korpus som används som träningsmaterial är representativ för språket (Kennedy 1998:19ff.). 6

12 3 Genomförande 3.1 Val av metod I den här studien har en n-grammetod för att språkbestämma texter använts. Program som använder unigram, bigram respektive trigram har implementerats och utvärderats. Valet av metod är grundat på de krav som fanns på språkidentifieringsprogrammet och de fakta som framkommit (avsnitt 2.1) om de olika metoderna. Här beskrivs de argument som låg till grund för valet. Vissa av de metoderna som beskrivits ovan kan tjäna sitt syfte mycket väl när det handlar om ett fåtal språk eller där språken skiljer sig mycket från varandra. Vid tillägg av fler språk kan dock problem uppstå. Phoneticom har behov av att enkelt kunna lägga till hantering av flera språk i takt med att marknaden för deras produkter växer. Det ska därför vara lätt att lägga till nya språk utan att någon språkspecifik förbearbetning behövs. När det gäller de ordbaserade metoderna krävs, förutom ihopsamlandet av en representativ korpus för det nya språket, i vissa fall även viss språkspecifik kunskap för tokeniseringssteget. För metoder som använder unika förekomster av strängar eller ord krävs dessutom justeringar av de redan befintliga lexikonen då förekomster som tidigare varit unika för ett språk kanske inte längre är det. När det gäller n-grammetoden är det enda som behövs vid tillägg av ett nytt språk en stor, representativ korpus för det specifika språket. Några justeringar av n- gramfördelningarna för de redan existerande språken är inte nödvändiga och detta talar till n- grammetodens fördel. En annan fördel med att använda n-gram istället för ord i det här sammanhanget är att metoden med n-gram bidrar till en kontroll av storleken på datamängden. Att dela upp en text i ord innebär normalt att lexikonet växer i takt med storleken på texten. När det gäller n-gram finns en övre gräns för hur stort lexikonet kan bli. Lexikonet bestående av n-gram kan inte överskrida antalet tecken i språket upphöjt till n. Exempelvis kan ett språk som består av 26 bokstäver inte generera mer än 676 (26 2 ) bigram eller (26 3 ) trigram. Om de n-gram som inte existerar i språket (t.ex. aaa, bbb) räknas bort, minskar storleken drastiskt. Stora tillgångar av minne är därför inte ett krav vid användandet av en n-grammetod, vilket naturligtvis är en klar fördel. En tänkbar metod är att endast använda de n-gram som är unika för vartdera språket för att på så sätt minska datamängden ytterligare. Här uppstår dock samma problematik med unika strängar som beskrevs tidigare (avsnitt 2.1.1). Det är svårt att försäkra sig om att man fått med alla n-gram som finns i ett språk. Det är dessutom svårt att hävda att bara för att ett n-gram finns med i texten som ska språkbestämmas så är hela texten skriven på det språket. På webbsidor, där denna applikation ska användas, kan det tänkas att huvuddelen av texten är skriven på ett språk, samtidigt som det kan förekomma exempelvis länkar på andra språk. En webbsida som är översatt till flera språk innehåller ofta ortnamn, företagsnamn och egennamn som inte kan översättas till språket i fråga. Detta innebär att programmet inte får vara känsligt för sekvenser av tecken som inte är specifika för språket. Att bygga programmet på unika n-gram är därför inte en bra lösning för det här användningsområdet. Det är vidare mycket troligt att de flesta n-grammen återfinns vid något tillfälle i flera av korpusarna. Det kan exempelvis handla om felstavningar, vilket ger upphov till n-gram som vanligen inte förekommer i språket. Det kan även vara låneord eller segment på andra språk som kommit med. Detta är vanligt förekommande i t.ex. facktexter och skönlitteratur. 7

13 Det är även en fördel om metoden som väljs är pålitlig vid förekomster av textuella fel. Här har n-gram en fördel som hänger ihop med dess natur. Eftersom varje sträng delas upp i mindre delar kommer textuella fel endast att påverka ett begränsat antal av dessa delar och resterande delar förblir korrekta. Önskvärt, i det här fallet, är också att programmet klarar av att avgöra vilket det använda språket är på så kort text som möjligt. Av uppenbara skäl har samtliga ordbaserade metoder problem med identifiering av just korta texter och är därför inte lämpliga i detta sammanhang. Eftersom de mest högfrekventa orden i ett språk tenderar att vara grammatiska ord (avsnitt 2.1.1) fångar en n-grammetod med större värde på n upp den information som de ordbaserade metoder som bygger på sådana ord innehåller. Även morfologisk information i form av vanliga affix involveras då de flesta n-grammen överst i frekvenslistan ofta är prefix och suffix. Detta syns tydligt i sammanställningen av de tio vanligaste trigrammen för de nio språken (tabell 3.1). trigram svenska en_ et_ er de tt_ de_ om_ för ar_ an_ danska er_ en_ et_ de de og og nde der _ha norska en_ er_ et de _og og_ om_ ne ha for engelska _th the he_ nd an and ed of of_ ing franska es de de_ nt_ ent le le re_ e_d _qu tyska en_ er de ich der ie_ ein ch_ nd_ sch italienska _di to_ re co _la di de no_ ent che spanska _de de_ os la la_ as_ que _qu ue_ es_ katalanska _de es_ de_ que la qu _la ent _el el_ Tabell 3.1. De 10 mest frekventa trigrammen i de nio olika språken. 2 Bland de 10 vanligaste trigrammen i den svenska korpusen återfinns exempel både på korta ord (för) och på ändelser (et_ och ar_). Bland de engelska trigrammen finns flera korta ord (and, of och the) och även här vanliga affix (ed_ och ing). Liknande exempel finns även bland de övriga språken och detta visar på en viss koppling mellan n-grammetoder, ordbaserade metoder och mer lingvistiska metoder. 3.2 Datainsamling Korpusarna För att erhålla statistik om de olika språkens n-gramfördelningar krävs en korpus för varje språk, ur vilken n-grammen med tillhörande frekvenser kan utvinnas. Korpusarna ska alltså fungera som träningsmaterial för språkidentifieringsprogrammet och det är då viktigt att ha jämförbara korpusar för de olika språken. Ett antagande gjordes om att korpusarna därför ska ha samma storlek och ungefär samma proportioner av genrer för att den insamlade datamängden ska ge ett tillförlitligt resultat, dvs. korpusarna ska var någorlunda balanserade 2 Fördelningarna över förekomsterna av trigrammen i de nio språken är sammanställda utifrån de korpusar som samlats in i den här studien (se 3.2.1) 8

14 (se avsnitt 2.2). Sådana korpusar är svåra att finna och att samla in nya var därför en nödvändighet. Det var inte känt i inledningsfasen av studien vilken storlek på korpusarna som skulle vara lämplig. En vanlig slutsats i flera tidigare studier är att resultatet vid utvärderingen av språkidentifieringssystemet är beroende av storleken på träningsmaterialet (Dunning 1994, Cavnar & Trenkle 1994). En liten korpus gav undantagslöst upphov till sämre resultat än en större. För att undvika detta har korpusarna som samlats in för denna studie varit relativt stora. Språket på webbsidor är oftast modernt och en korpus som skildrar hur språket används idag var därför lämplig. Texterna hämtades från Internet och var mestadels publikationer, skönlitterära e-böcker, uppsatser och nyhetsartiklar. Det visade sig vara tämligen lätt att samla in material och storleken på vardera korpusen hamnade på runt 1 miljon löpord. Då en teckenbaserad metod skulle användas var det emellertid inte antalet ord som var av betydelse, utan antalet tecken i korpusarna. Även om antalet ord i de olika korpusarna är ungefär lika så betyder inte det att antal tecken är lika. I svenskan och tyskan används till exempel sammansättningar, medan man i engelskan ofta särskriver sådana konstruktioner. Detta skulle betyda att en tysk korpus på en miljon löpord ger upphov till betydligt fler n-gram än till exempel en engelsk, vilket skulle kunna påverka slutresultatet negativt i och med att sannolikheterna för de olika n-grammen ska beräknas. De slutgiltiga storlekarna uppgick till 6,2 miljoner tecken per språk. Antagandet om att den tyska korpusen skulle innehålla färre löpord än den engelska visade sig vara korrekt. Den tyska korpusen innehöll drygt 0,93 miljoner löpord, medan den engelska innehöll 1,15 miljoner. I exempelvis facktexter och skönlitterära verk är det vanligt att det förekommer sekvenser av text på andra språk än källspråket. För att kunna försäkra sig om att sådana inte finns med i det insamlade materialet krävs ett tidsödande manuellt arbete. Av praktiska skäl var detta inte möjligt. Mina kunskaper i de olika språken var dessutom i flera fall obefintliga, vilket var en ytterligare anledning till att manuell korrektion var en omöjlighet. Korpusarnas väl tilltagna storlek ska dock kunna avhjälpa att fördelningen påverkas av eventuella inslag av andra språk. En viss kontroll av de insamlade texterna gjordes dock när det gäller långa sekvenser av versaler, t.ex. rubriker, innehållsförteckningar etc. och texter som innehåller många facktermer och förkortningar. Sådana sekvenser sorterades bort manuellt allteftersom insamlandet fortlöpte Testdata Det är tämligen trivialt att få ett bra resultat om man testar ett program på samma textmaterial som det har tränats på. För att man ska kunna uttala sig om en applikations korrekthet är det därför viktigt att testa den på en för programmet helt okänd text. För detta ändamål sparades en del av de insamlade korpusarna i separata testfiler som sedan användes i utvärderingssteget. Vid sammansättning av testfilerna finns vissa aspekter att ta hänsyn till. För att testkorpusarna inte ska skilja sig alltför mycket från träningstexten är det viktigt att man inte bara väljer ett längre sammanhängande stycke från ursprungskorpusen, utan istället kortare stycken från olika delar av korpusen. Det kan annars tänkas att resultatet av utvärderingen blir extra bra eller dåligt och detta vill man undvika. Testdata valdes därför slumpvis ut ur korpusarna. Testdata får inte heller skilja sig från träningsdata vad gäller användandet av versaler och gemener. Om en testtext exempelvis helt skulle vara skriven med versaler, och applikationen var tränad med gemener, skulle resultatet påverkas negativt. Detsamma gäller givetvis även 9

15 det omvända. Därför är det viktigt att se till att välja testmaterial med normal användning av både versaler och gemener N-grammen Teckenuppsättningen I studien jämförs resultatet av metoder som använder sig av unigram, bigram respektive trigram. Innan n-grammen kunde extraheras ur träningskorpusarna skulle en mängd nödvändiga ställningstaganden om vilka tecken som skulle tillåtas i n-grammen göras. Det är tänkbart att korpusarna innehåller olika tecken som inte medför någon språkspecifik information utan istället bidrar till att identifieringen försvåras. Sådana tecken kan till exempel vara siffror, skiljetecken och andra speciella tecken. Hur versaler och gemener ska hanteras var ett annat sådant ställningstagande som var nödvändigt. När det gäller siffror och andra speciella tecken som parenteser, citattecken etc. var det inte svårt att motivera varför dessa tecken inte ska ingå i n-grammen; de medför helt enkelt ingen språkspecifik information. Vad gäller versaler och gemener fanns det flera anledningar till att behålla skillnaden mellan dem i n-grammen. För det första var det den helt klart enklaste lösningen i och med att det på så sätt inte krävs någon funktion för att göra om de stora bokstäverna till små. För det andra kan man anta att användandet av versaler säger en del om språket. Meningar i ett visst språk kanske ofta börjar med ett visst ord och detta ord kanske inleds med ett trigram som är specifikt för språket. Till exempel är det många satser i svenska som inleds med ord som det, när och en. I tyskan skrivs alla substantiv med inledande versal. Detta leder till att n-gram med versaler är vanligare i tyskan än i de andra språken. Skillnaden mellan versaler och gemener innehåller således information om ett språks specifika särdrag. Av samma anledning kan användandet av skiljetecken säga en del om ett språks syntax. Satser avslutas eventuellt ofta på samma sätt och trigram med punkter, kommatecken och frågetecken kan därför vara intressanta att ha med. I det här fallet gjordes dock valet att utesluta dessa tecken. Om en korpus innehåller fler korta meningar än något annat språk blir antalet punkter naturligt fler. Detta kommer att påverka de observerade sannolikheterna för de respektive n-grammen och risken finns att en text med många korta satser identifieras som detta språk oavsett vilka andra n-gram som återfinns. Detta är inte önskvärt. Efter noga övervägande beslutades att samtliga 123 versaler och gemener som ingår i teckenstandarden ISO 8859, även kallad LATIN-1, skulle behållas. I denna teckenuppsättning ingår bland annat de utsmyckade bokstäver som används i de germanska och romanska språken, t.ex. ü, ñ, ç, è, å och æ (Skansholm 2000:82). Även de bokstäver som inte förekommer i något av de nio språk, som för tillfället behandlas, tilläts. Detta val gjordes för att det ska vara enkelt att lägga till nya språk som använder denna teckenstandard utan att tillägg eller justeringar i koden är nödvändiga. Även tecknen för blanksteg och apostrof, som används till exempel i engelskans hopdragningar (t.ex. don t), behölls, vilket resulterade i att det sammanlagda antalet tecken som tilläts blev 125. I unigrammen är det dock endast de 123 bokstäverna som tas tillvara. Blanksteg och apostrof plockades bort då många förekomster av dessa tecken i testdata inte ska medföra ett felaktigt språkval. En funktion som rensar de insamlade korpusarna från sådana tecken som inte var önskvärda konstruerades. Funktionen såg även till att överflödiga blanksteg togs bort för att underlätta extraherandet av n-grammen. 10

16 Räkning av n-gram I vissa studier har det förekommit att texterna tokeniserats före n-gramsextraktion för att på så sätt kunna utesluta att n-grammen sträcker sig över ordgränser (Cavnar & Trenkle 1994). Fördelen med att slippa de svårigheter som kan uppstå vid tokeniseringssteget försvinner då. Det är även möjligt att uteslutandet av sekvenser som sträcker sig över ordgränser medför att viktig information om de olika språkens teckenkombinationer går förlorad. I den här studien gjordes valet att inkludera denna typ av information och ingen tokenisering är därför nödvändig. För att få med information om ordbörjan och ordslut används blanktecken i n- grammen för att symbolisera början och slutet av strängen. Överlappande n-gram används för att viktig information om språkens n-gram inte ska gå förlorad. Som tidigare beskrivits medför n-grammetoden en begränsning av storleken på lexikonet. Av 26 bokstäver kan (26 3 ) olika trigram bildas. I det här fallet tillåts hela 125 tecken och den maximala storleken på lexikonet skulle då bli (125 3 ). Denna storlek skulle kunna innebära att programmet blir både tids- och kapacitetskrävande. Det visade sig dock att antalet olika trigram som förekom i språkkorpusarna hamnade mellan (engelska) och (spanska), vilket framgår av tabell 3.2, och på så sätt finns ingen risk för ohanterliga mängder data. Antalet bigram hamnade mellan 1923 (italitenska) och 2341 (danska). Att antalet krympte så avsevärt beror till stor del på att flertalet möjliga trigramskombinationer aldrig förekommer i språken. En annan anledning är att antalet tecken i en språkkorpus aldrig uppgick till 125 utan hamnade mellan 74 (danska) och 92 (katalanska) (se tabell 3.2). unigram bigram trigram svenska danska norska engelska franska tyska italienska spanska katalanska Tabell 3.2. Sammanställning över antalet unika uni-, bi- och trigram i de olika språken. För att reducera antalet ytterligare togs de allra ovanligaste n-grammen bort ur lexikonet. Detta var en tidssparande åtgärd, liksom ytterligare sätt att försäkra sig om att n-gram som inte förekommer i språket, men som kommit med i korpusen genom sekvenser av andra språk, inte påverkar slutresultatet. Att den katalanska korpusen innehåller så många fler bokstäver än till exempel den spanska skulle kunna tyda på att språksegment av andra språk kommit med i den katalanska. Anmärkningsvärt är även att det i den svenska och engelska korpusen finns näst intill lika många olika bokstäver. Detta verkar otroligt med tanke på att svenskan innehåller å, ä, ö både som gemener och versaler och den enda tänkbara förklaringen är att icke-språkspecifika sekvenser har kommit med i den engelska. Efter att ha sorterat bort de unigram som förekom mindre än 100 gånger i korpusen blev resultaten mer trovärdiga. Den katalanska unigramfördelningen består nu av 65 olika tecken och den spanska av 61 tecken. Den svenska listan 11

17 över tecken är nu 57 tecken stor medan den engelska krympte till 52 tecken. Det var dessa unigramfördelningar som sedan användes vid språkidentifieringen. Utifrån korpusarna skapades en frekvenslista över de n-gram som förekommit. Trigrammet att återfinns exempelvis gånger i den svenska träningskorpusen. Det sammanlagda antalet trigram i den svenska korpusen är trigram. Den observerade sannolikheten för att ett trigram i en svensk text är att är således 31422/ = 0, (0,51%). 3.3 Övergripande programstruktur Utifrån korpusarna har nu språkens n-gramfrekvenser beräknats. Informationen finns sparad i filer, en för vartdera språket. Dessa filer ska sedan användas som uppslagsverk för de n-gram som finns i texten som ska språkbestämmas. Programmet som ska utföra själva språkbestämningen består av flera steg. Texten som ska språkbestämmas läses in från en fil som programmet får som argument. Därefter redigeras texten på samma sätt som korpusarna, dvs. de oönskade tecknen rensas bort, och en fördelning över n-grammen i texten skapas. I nästa steg är det dags att utifrån de data som samlats in utföra någon typ av jämförelse mellan data hämtad ur texten och de olika språkens n-gramfördelningar för att på så sätt få svar på vilket språk som är det mest troliga. När programmet har utfört denna jämförelse levereras resultatet av språkbestämningen. Om två eller fler språk givit upphov till samma resultat görs inget val och programmet svarar att flera språk är lika troliga. 3.4 Beräkningsmetoder Liksom det finns ett flertal övergripande tillvägagångssätt för hur språkbestämning kan utföras, så finns det även ett antal olika metoder för hur språket sedan ska bestämmas utifrån de språkdata som samlats in. Några av de som nämns i den litteratur som behandlar ämnet är neurala nätverk, markovmodeller och olika typer av expertsystem (Sibun & Reynar 1996). Det vanligaste är dock att språkidentifieringsprogrammen bygger på statistiska metoder som beräknar hur troligt det är att de olika språken har genererat texten i fråga. Därefter väljs det mest troliga språket. I den här studien har två olika sådana statistiska metoder implementerats. En tredje variant med enkel poängräkning har också använts. Varje beräkningsmetod är anpassad till unigram, bigram respektive trigram. Sammanlagt ger detta nio olika program som ska utvärderas och jämföras Poängräkning En av metoderna som har implementerats är baserad på enkel poängräkning. För varje n-gram i texten som ska språkbestämmas görs en uppslagning av de observerade sannolikheterna i samtliga språkfiler. Det språk som har den högsta sannolikheten för det specifika n-grammet får ett poäng. Om n-grammet skulle ha identiskt värde på den observerade sannolikheten i två eller flera språk får inget av språken något poäng. När alla n-gram i texten har behandlats levererar programmet det språk som har fått högst antal poäng som språkförslag. Ett exempel där uppgiften är att språkbestämma strängen en bil illustrerar poängräkningsmetoden för trigram. 12

18 observerade sannolikheter poängräkning trigram svensk korpus engelsk korpus sve > eng eng > sve _en 0, , en_ 0, , n_b 0, , _bi 0, , bil 0, , il_ 0, , Tabell 3.3. De observerade sannolikheterna för trigrammen i en bil i den svenska respektive engelska korpusen. Sannolikheterna jämförs och språket med högst värde för vartdera trigrammet tilldelas ett poäng. Av de sex trigrammen i strängen en bil var den observerade sannolikheten i fem fall större i svenska än i engelska. Programmet som använder sig av poängräkningsmetoden för trigram skulle i det här fallet därför svara att den korta textsträngen är skriven på svenska Euklidiskt avstånd Den andra metoden som implementerats går ut på att använda likheten mellan n- gramfördelningen i texten och fördelningen i korpusarna för att bestämma språket. Metoden innebär att man beräknar det Euklidiska avståndet mellan n-gramfördelningen i texten och n- gramfördelningen i de olika språken. Maximal likhet definieras som att det Euklidiska avståndet mellan n-gramfördelningarna är obefintligt (Oakes 1998:111). Det språk som ger upphov till det minsta värdet på avståndet är därför det mest troliga språket. Formeln för att räkna ut det Euklidiska avståndet är där L är avståndet och a och b är element, i det här fallet den observerade sannolikheten för ett visst trigram, i korpusen respektive i texten som ska språkbestämmas. För att illustrera metoden används återigen de observerade sannolikheterna för trigrammen i strängen en bil i tabell 3.3 som exempel. I strängen förekommer alla sex trigrammen bara vid ett tillfälle. Sannolikheten för vartdera trigrammet blir därför 1/6 (=0,167). För det första trigrammet i strängen (_en) blir differensen mellan den observerade sannolikheten i den svenska korpusen och sannolikheten för trigrammet i texten -0, , dvs. differensen mellan 0, och 0,167. Formeln ger att det Euklidiska avståndet mellan den svenska korpusen och texten i detta fall blir 0, Samma uträkning för engelska ger 0, vilket är något större än det svenska värdet. Detta skulle resultera i att även den här programvarianten skulle svara att språket på textsträngen är svenska. 13

19 3.4.3 Spearman s rangkorrelation Den tredje beräkningsmetoden som har använts i den här studien kallas Spearman s rangkorrelation, där korrelationen är ett mått på det samband som finns mellan texten och de olika n-gramfördelningarna (Oakes 1998:32). Språket som ger upphov till störst samband är det mest troliga. Metoden kräver en rangordnad lista över de n-gram som finns i korpusarna. N-grammen i de olika språken rangordnas därför utifrån de observerade sannolikheterna. Det vanligaste får rang 1 och sedan rangordnas övriga n-gram i stigande ordning. Om två eller flera n-gram är lika vanliga i språket hamnar de på delad rang. Även n-grammen i texten som ska språkbestämmas rangordnas. Formeln som används för att räkna ut korrelationen är där N är antalet par, dvs. i det här fallet antalet n-gram som extraherats ur texten som ska språkbestämmas. D är skillnaden mellan rangordningen på varje par (X-Y) där X är värdet på rangen hämtat ur korpusen och Y är värdet på rangen från texten för de ingående n-grammen. För trigrammen i strängen en bil ser rangordningen i den svenska korpusen respektive i texten ut på följande sätt (tabell 3.4). trigram rang hämtat ur korpusen inbördes rang i korpusen (X) rang i texten (Y) Tabell 3.4. Rangordningsvärden för trigrammen i strängen en bil i den svenska korpusen, det inbördes rangordningsvärdet (X), respektive värdet på rangen för trigrammen i texten (Y). X-Y betecknar differensen mellan värdena. Rangordningen för de olika trigrammen hämtas ur den svenska korpusen och trigrammen rangordnas därefter inbördes utifrån dessa värden. Även trigrammen i texten som ska språkbestämmas rangordnas. I det här fallet är de sex trigrammen lika vanliga i texten som ska språkidentifieras. Samtliga trigram får då ranking 3,5, vilket är medelvärdet av rangpositionerna 1 t.o.m. 6. Skillnaden mellan rangordningsvärdena för de olika trigrammen beräknas och formeln för Spearman s rangkorrelation ger resultatet 0,5. Samma uträkning för engelska ger också 0,5 vilket resulterar i att det är lika troligt att de båda språken har genererat strängen. Programmet klarar alltså inte av att språkbestämma denna korta textsträng. Även utvärderingen (avsnitt 4.2) visar att denna beräkningsmetod har stora problem med att språkbestämma korta texter och en möjlig anledning till detta diskuteras i avsnitt 4.3. X-Y _en ,5-1,5 en_ 1 1 3,5-2,5 n_b ,5-0,5 _bi ,5 1,5 bil ,5 0,5 il_ ,5 2,5 14

20 3.5 Valbara språk som argument I Phoneticoms system kommer språkidentifieringsprogrammet att användas för att avgöra vilket av endast ett litet antal språk en webbsida är skriven på, dvs. programmet kommer aldrig att behöva välja mellan alla nio språken. Språken, som ska vara valbara, bestäms utifrån den enskilda kundens krav. Det kan exempelvis handla om att välja mellan svenska eller engelska om kunden har tillgång till talsynteser för dessa båda språk. Att programmet då har nio språk att välja på gör det hela mycket mer tids- och kapacitetskrävande. Dessutom blir identifieringen betydligt säkrare om det endast finns ett fåtal språk att välja mellan. Att specificera vilka språk som är möjliga att använda är därför ett krav. För att lösa detta justerades programmet så att det är möjligt att ge de valbara språken som argument. Argumenten består av språkkoder och en sådan språkkod utgörs av de två inledande tecknen i språknamnet, t.ex. sv för svenska. Då programmet ska användas i realtid krävs att det är så snabbt som möjligt. Då det kan bildas fler trigram än unigram och bigram är trigramsprogrammet naturligt långsammare. Att språkbestämma en text tar för unigrams- och bigramsvarianterna endast någon tiondels sekund, medan det för trigramsvarianterna tar runt en sekund. Genom att programmet nu tar de språk som det ska välja mellan som argument behöver det inte läsa in data från samtliga nio språk för att göra jämförelsen. Denna justering bidrar därför även till att programmets tidsåtgång minskar. Som tidigare nämnts bidrar möjligheten att kunna ge valbara språk som argument även till att programmet har lättare att avgöra vilken språktillhörighet en text har. Detta beror på att programmet har färre språk att välja mellan. Programmet med poängräkningsmetoden påverkas dessutom direkt av hur många språk som finns att välja på eftersom poängen delas ut mellan de olika språken. Om antalet språk som finns att välja mellan är litet blir programmet säkrare i sin bedömning och fler texter kan språkbestämmas korrekt. De övriga beräkningsmetoderna påverkas inte direkt av att språkantalet minskas, utan det värde som beräknas är detsamma oberoende av antalet språk. De båda programvarianterna har dock lättare att avge ett korrekt svar om antalet valbara språk är begränsat. 3.6 Språkoberoende implementation Som tidigare nämnts ska det vara enkelt att lägga till hantering av flera språk allt eftersom tiden går. Det är därför önskvärt att det varken krävs justeringar eller tillägg i koden för att utföra detta. För att göra det möjligt skrivs koden så att den är oberoende av vilka språk som ska användas vid det specifika tillfället. Detta görs, som i exemplet nedan med programmet som beräknar det Euklidiska avståndet 3, genom en for-loop som itererar igenom den lista av språkkoder som programmet har läst in. 3 Koden är hämtad ur trigramsvarianten av programmet som utför språkbestämning genom beräkning av det Euklidiska avståndet som har utvecklats i den här studien. Om intresse finns vad gäller resterande kod var vänlig kontakta författaren. 15

21 // inlasning av data och berakning av det Euklidiska avstandet for(int i= 0; i < liststorlek; i++){ sprintf(fil, "%strigram.txt", spraklista[i]); ifstream f_data(fil); while(f_data >> trigram >> sannolikhet) korpusdata[trigram] = sannolikhet; f_data.close(); eukl_avstand = berakna(korpusdata, textdata); resultat.insert(make_pair(eukl_avstand, spraklista[i])); korpusdata.clear(); } Ett filnamn bildas genom att de två tecknen i språkkoden konkateneras ihop med ett filnamnssuffix, i det här fallet trigram.txt. Filen öppnas och data, i form av n-grammen med respektive observerad sannolikhet, läses in. Därefter beräknas det Euklidiska avståndet mellan korpusdata och data som extraherats ur texten som ska språkbestämmas. Funktionen levererar ett värde på avståndet och tillsammans med språkkoden läggs detta in i en datastruktur. Denna datastruktur byggs på efterhand och innehåller i slutänden resultatet från beräkningarna för samtliga angivna språk. Listan sorteras och språkidentifieringsprogrammet kan leverera sitt svar. Tack vare denna lösning är nu det enda som krävs för att lägga till ytterligare språk insamlande av en representativ korpus för språket i fråga. Korpusen redigeras därefter med hjälp av den funktion som rensar texten från oönskade tecken, samt skapar n-gram av den. Filen som skapas läggs i den katalog där programmet hämtar n-gramfördelningarna för de olika språken. 16

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

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord Joakim Nivre / 30 Varför bry sig om stavning? Stavfel kan skapa missförstånd Stavfel kan dölja innehåll Standardiserad stavning underlättar många uppgifter Slå upp ord i ordbok Identifiera svårlästa ord

Läs mer

Fil: /home/lah/undervisning/sprakteknologi/ohbilder/oh1_kv.odp. Tjänster

Fil: /home/lah/undervisning/sprakteknologi/ohbilder/oh1_kv.odp. Tjänster Taligenkänning 729G17/729G66 Språkteknologi 1 Vad är språkteknologi? Vad är språkteknologi? Kursens mål och uppläggning Att analysera textdata Korpusar och korpusarbete Textanalys med reguljära uttryck

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

Ersätta text, specialtecken och formatering

Ersätta text, specialtecken och formatering 11 Ersätta text, specialtecken och formatering Möjligheten att söka igenom dokumentet och byta ut tecken, ord, textstycken, formatering, specialtecken (t.ex. sidbrytning) och annat är faktiskt mycket mer

Läs mer

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater Programmering för språkteknologer II OH-serie: ändliga automater reguljära uttryck i Java Mats Dahllöf Ändliga automater Abstrakt maskin, tillståndsmaskin, transitionssystem. (Den enklaste typ man brukar

Läs mer

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript

Läs mer

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data

5HVLVWHQVWDEHOO 'DWD3DUWQHU. Er partner inom data 5HVLVWHQVWDEHOO Tack för att du valde programmet 5HVLVWHQVWDEHOO! Vi hoppas att programmet ska vara till stor hjälp i ditt arbete. Har du synpunkter på programmet är du mycket välkommen att höra av dig

Läs mer

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar STRÄNGAR En av de mest avancerade av de normala datatyperna är. Här skall vi grundläggande gå igenom hur den datatypen fungerar och vidare flertalet funktioner som hör till datatypen. Låt oss kasta oss

Läs mer

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

TDDD02 Språkteknologi för informationssökning (2016) Ordpredicering. Marco Kuhlmann Institutionen för datavetenskap TDDD02 Språkteknologi för informationssökning (2016) Ordpredicering Marco Kuhlmann Institutionen för datavetenskap Ordpredicering Ordpredicering innebär att föreslå eller välja ord i en given kontext.

Läs mer

Grundläggande textanalys, VT2013

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 - Preprocessing - Tokeniserings-

Läs mer

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

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

Läs mer

Analys av BI-system och utveckling av BIapplikationer

Analys av BI-system och utveckling av BIapplikationer Computer Science Fredrik Nilsson, Jonas Wånggren Daniel Strömberg Analys av BI-system och utveckling av BIapplikationer Opposition Report, C/D-level 2005:xx 1 Sammanfattat omdöme av examensarbetet Vi tycker

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Mälardalens högskola

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

Läs mer

Hammarbyskolan Reviderad februari 2009 Lokal kursplan i svenska/svenska som andra språk

Hammarbyskolan Reviderad februari 2009 Lokal kursplan i svenska/svenska som andra språk Lokal kursplan i svenska/svenska som andra språk Skriva alfabetets bokstavsformer t.ex. genom att forma eller att skriva bokstaven skriva sitt eget namn forma varje bokstav samt skriva samman bokstäver

Läs mer

TDDD02 Föreläsning 2 HT-2013. Reguljära uttryck och reguljära språk Lars Ahrenberg

TDDD02 Föreläsning 2 HT-2013. Reguljära uttryck och reguljära språk Lars Ahrenberg TDDD02 Föreläsning 2 HT-2013 Reguljära uttryck och reguljära språk Lars Ahrenberg Översikt Reguljära uttryck sökproblem i texter definitioner och exempel UNIX-funktionen grep Reguljära transformationer

Läs mer

TDDI16: Datastrukturer och algoritmer

TDDI16: Datastrukturer och algoritmer TDDI16: Datastrukturer och algoritmer Lab 3: Ordkedjor Höstterminen 2018 2018-05-14 1 Upplägg Första delen av instruktionen, avsnitt 2 till 6, innehåller en fullständig beskrivning av problemet utan några

Läs mer

Utveckling av ett grafiskt användargränssnitt

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

Läs mer

Rapport från Praktik på SVOX AG 2008 05 14 till 2008 09 01

Rapport från Praktik på SVOX AG 2008 05 14 till 2008 09 01 Rapport från Praktik på SVOX AG 2008 05 14 till 2008 09 01 Om SVOX AG Jag gjorde min praktik på företaget SVOX AG, ett företag som bygger och sysslar med TTSmotorer. Företaget bildades våren 2000 och har

Läs mer

Automatisk textsammanfattning

Automatisk textsammanfattning Språkteknologi 2001-10-14 Nada Kungliga Tekniska högskolan Automatisk textsammanfattning Per Karefelt (d98-pka) Marcus Hjelm (d98-mhj) Sammanfattning (manuell) Denna rapport belyser en del av de problem

Läs mer

Statistisk Maskinöversättning eller:

Statistisk Maskinöversättning eller: 729G43 Statistisk Maskinöversättning eller: Hur jag slutade ängslas (över fördjupningsuppgiften) och lärde mig hata stoppord. Jonas Hilmersson 2019-04-15 Innehåll 1. Introduktion... 1 2. Datamängden...

Läs mer

Programmeringsolympiaden 2010 Kvalificering

Programmeringsolympiaden 2010 Kvalificering Programmeringsolympiaden 2010 Kvalificering TÄVLINGSREGLER Tävlingen äger rum på ett av skolan bestämt datum under sex timmar effektiv tid. Tävlingen består av sex uppgifter som samtliga ska lösas genom

Läs mer

GYMNASIEARBETET - ATT SKRIVA VETENSKAPLIGT

GYMNASIEARBETET - ATT SKRIVA VETENSKAPLIGT GYMNASIEARBETET - ATT SKRIVA VETENSKAPLIGT Ditt gymnasiearbete ska bygga kring den frågeställning du kommit fram till i slutet av vårterminen i årskurs 2 och du ska i ditt arbete besvara din frågeställning

Läs mer

Taltaggning. Rapport av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003

Taltaggning. Rapport av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003 Taltaggning av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003 Sammanfattning Denna rapport är skriven i kursen Språkteknologi och behandlar taggning av årtal i en text. Metoden som används

Läs mer

Decentraliserad administration av gästkonton vid Karlstads universitet

Decentraliserad administration av gästkonton vid Karlstads universitet Datavetenskap Opponent(er): Markus Fors Christian Grahn Respondent(er): Christian Ekström Per Rydberg Decentraliserad administration av gästkonton vid Karlstads universitet Oppositionsrapport, C/D-nivå

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd. Tips på appar för träning av tidig läs- och skrivförmåga

StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd. Tips på appar för träning av tidig läs- och skrivförmåga StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd Tips på appar för träning av tidig läs- och skrivförmåga April 2018 Innehåll Spåra och forma bokstäver... 3 Öva ljud och bokstavskoppling...

Läs mer

Bilaga 5: Nytt språk svenska. Wikispeech. en användargenererad talsyntes på Wikipedia

Bilaga 5: Nytt språk svenska. Wikispeech. en användargenererad talsyntes på Wikipedia Bilaga 5: Nytt språk svenska Wikispeech en användargenererad talsyntes på Wikipedia Innehållsförteckning Innehållsförteckning Introduktion Nyckel: 1 Intresse 2 Identifiera existerande resurser 3 API anpassningar

Läs mer

Skrivstrategier. En framgångsrik språkinlärare: Tror på sin förmåga att lära sig. Är motiverad. Är medveten om varför hon/han vill lära sig

Skrivstrategier. En framgångsrik språkinlärare: Tror på sin förmåga att lära sig. Är motiverad. Är medveten om varför hon/han vill lära sig 1 Skrivstrategier En framgångsrik språkinlärare: Tror på sin förmåga att lära sig Är motiverad Är medveten om varför hon/han vill lära sig Är inte rädd för att göra misstag Tar risker Är bra på att gissa

Läs mer

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA

Automatateori (2) Idag: Sammanhangsfria språk. Dessa kan uttryckas med Grammatik PDA Automatateori (2) Idag: Sammanhangsfria språk Dessa kan uttryckas med Grammatik PDA Grammatik = språkregler Ett mer kraftfullt sätt att beskriva språk. En grammatik består av produktionsregler (andra ord

Läs mer

*****************************************************************************

***************************************************************************** Statistik, 2p ANVISNINGAR Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel Detta häfte innehåller kortfattade anvisningar om hur ni använder Excel under denna laboration. Be om hjälp när/om

Läs mer

Betygskriterier för Examensarbete, 15hp Franska C1/C3, Italienska C, Spanska C/C3

Betygskriterier för Examensarbete, 15hp Franska C1/C3, Italienska C, Spanska C/C3 Uppsala universitet Institutionen för moderna språk VT11 Betygskriterier för Examensarbete, 15hp Franska C1/C3, Italienska C, Spanska C/C3 För betyget G skall samtliga betygskriterier för G uppfyllas.

Läs mer

FOR BETTER UNDERSTANDING. Snabbguide. www.wordfinder.se

FOR BETTER UNDERSTANDING. Snabbguide. www.wordfinder.se FOR BETTER UNDERSTANDING Snabbguide www.wordfinder.se Tekniska förutsättningar WordFinder 10 Professional för Mac kräver följande: Processor: Intel Mac OS X 10.5 eller senare. Installation Installation

Läs mer

En jämförelse av språket i journaldokumentation mellan yrkesgrupper

En jämförelse av språket i journaldokumentation mellan yrkesgrupper Karlstads Teknikcenter Examensarbete 2017 Titel: Författare: Uppdragsgivare: Karlstads Teknikcenter Karlstads Teknikcenter Tel + 46 54 540 14 40 SE-651 84 KARLSTAD www.karlstad.se/yh Examensarbete YhVA15

Läs mer

Migrering av applikationen AMM till molnet

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

Läs mer

Synkronisering av kalenderdata

Synkronisering av kalenderdata Datavetenskap Jonas Lindelöw, Richard Löfberg Sten Hansson Bjerke, Anders Friberg Synkronisering av kalenderdata Oppositionsrapport, C/D-nivå 2006:07 1 Sammanfattat omdöme av examensarbetet Vi tycker att

Läs mer

StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd. Tips på appar för träning av tidig läs- och skrivförmåga

StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd. Tips på appar för träning av tidig läs- och skrivförmåga StoCKK Stockholm Center för Kommunikativt och Kognitivt stöd Tips på appar för träning av tidig läs- och skrivförmåga Oktober 2015 Appar för träning av tidig läs- och skrivförmåga Flertalet appar som nämns

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Inledande matematik, I1, ht10 1 Inledning Detta är en koncis beskrivning av de viktigaste delarna av Matlab. Till en början är det enkla beräkningar och grafik som intresserar

Läs mer

Svensk nationell datatjänst, SND BAS Online

Svensk nationell datatjänst, SND BAS Online Pass 3: Metadata Vad är metadata? I den här presentationen kommer jag ge en introduktion till metadata och forskningsdata på ett principiellt plan. Vi kommer bland annat titta lite närmare på vad metadata

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

"Distributed Watchdog System"

Distributed Watchdog System Datavetenskap Emma Henriksson Ola Ekelund Oppositionsrapport på uppsatsen "Distributed Watchdog System" Oppositionsrapport, C-nivå 2005 1 Sammanfattande omdöme på exjobbet Projektet tycks ha varit av

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

729G09 Språkvetenskaplig databehandling

729G09 Språkvetenskaplig databehandling 729G09 Språkvetenskaplig databehandling Föreläsning 2, 729G09, VT15 Reguljära uttryck Lars Ahrenberg 150409 Plan för föreläsningen Användning av reguljära uttryck Formella språk Reguljära språk Reguljära

Läs mer

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Oppositionsrapport. Opponent: Therese Sundström. Respondent: Malin Abrahamsson & Aleksandra Gadji

Oppositionsrapport. Opponent: Therese Sundström. Respondent: Malin Abrahamsson & Aleksandra Gadji Oppositionsrapport Opponent: Therese Sundström Respondent: Malin Abrahamsson & Aleksandra Gadji 2005-06-07 1 1 Huvudpunkter I denna sektion kommer jag att presentera de huvudpunkter som jag vill kommentera.

Läs mer

Convertus - kursplaneöversättning

Convertus - kursplaneöversättning Utbildningsavdelningen 2017-10-25 Convertus - kursplaneöversättning Innehåll Om Convertus kursplaneöversättning... 2 Så fungerar det... 2 Tre olika användarroller... 2 Arbetsgång... 3 Filnamn... 3 1. Beställa

Läs mer

Nonogram

Nonogram Nonogram. Vad är nonogram? Nonogram är små enkla men fascinerande pyssel som ursprungligen kommer från Japan. De har också givits ut i söndagsbilagan i engelska dagstidningar under flera år. Idén bakom

Läs mer

TDDD02 Föreläsning 7 HT-2013

TDDD02 Föreläsning 7 HT-2013 TDDD02 Föreläsning 7 HT-2013 Textsammanfattning Lars Ahrenberg Litt: Våge et al.170-185; Das & Martins, A Survey on Automatic Text Summarization sid 1-4, 11-14, 23-25. Översikt Textstruktur Problemet textsammanfattning

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Lösningsförslag till övningsuppgifter, del V

Lösningsförslag till övningsuppgifter, del V Lösningsförslag till övningsuppgifter, del V Obs! Preliminär version! Ö.1. (a) Vi kan lösa uppgiften genom att helt enkelt räkna ut avståndet mellan vart och ett av de ( 7 ) = 1 paren. Först noterar vi

Läs mer

Tekniker för storskalig parsning

Tekniker för storskalig parsning Tekniker för storskalig parsning Grundläggande begrepp och metoder Joakim Nivre Uppsala Universitet Institutionen för lingvistik och filologi joakim.nivre@lingfil.uu.se Tekniker för storskalig parsning

Läs mer

Dependensregler - Lathund

Dependensregler - Lathund Dependensregler - Lathund INTRODUKTION I textprogrammet TeCST är det möjligt för en skribent att skriva, redigera och klistra in text för att få ut läsbarhetsmått och få förslag på hur texten kan skrivas

Läs mer

MÖSG ht 2005 Maskinöversättningssystemet MATS

MÖSG ht 2005 Maskinöversättningssystemet MATS MÖSG ht 2005 Maskinöversättningssystemet MATS Per Weijnitz perweij@stp.ling.uu.se Om detta kursmoment främja förståelse av översättningsproblem MÖ-arbete regelbaserade MÖ-system godtyckligt valt system?

Läs mer

Lyssna Ljuda Läs 1(6) Lyssna Ljuda Läs ISLORMUA Lyssna Ljuda Läs ÅNBEKÄVWTPY Lyssna Ljuda Läs GÖJFDHXCZQ

Lyssna Ljuda Läs 1(6) Lyssna Ljuda Läs ISLORMUA Lyssna Ljuda Läs ÅNBEKÄVWTPY Lyssna Ljuda Läs GÖJFDHXCZQ 1(6) C LÄROMEDEL Lyssna Ljuda Läs Lyssna Ljuda Läs ISLORMUA 7762-512-4 Lyssna Ljuda Läs ÅNBEKÄVWTPY 7762-513-1 Lyssna Ljuda Läs GÖJFDHXCZQ 7762-514-8 Serien Lyssna Ljuda Läs är tre på varandra följande

Läs mer

Skrivprocessen. Skrivprocessen och retoriken. Skrivprocessen Retoriken Förklaringar

Skrivprocessen. Skrivprocessen och retoriken. Skrivprocessen Retoriken Förklaringar Skrivprocessen Att skriva är ett hantverk något som du kan lära dig. För att bli en bra hantverkare krävs övning. Skrivprocessen liknar i många avseenden den så kallade retoriska arbetsprocessen som vi

Läs mer

LÄSLANDET - BOKSTÄVER OCH ORD

LÄSLANDET - BOKSTÄVER OCH ORD LÄSLANDET - BOKSTÄVER OCH ORD Programmet består av 21 övningar som övar förmågan att känna igen bokstäver och ord. Här tränas såväl läsning som stavning och bokstavsordning. Du får hela tiden stöd av inspelat

Läs mer

Using SharePoint Workflow

Using SharePoint Workflow Datavetenskap Opponent(er): Anders Olsson Marcus Karlsson Respondent(er): Harald Quist Creating a Help Desk Using SharePoint Workflow Oppositionsrapport, C-nivå 2009:xx 1 Sammanfattat omdöme av examensarbetet

Läs mer

Skriv! Hur du enkelt skriver din uppsats

Skriv! Hur du enkelt skriver din uppsats Skriv! Hur du enkelt skriver din uppsats Josefine Möller och Meta Bergman 2014 Nu på gymnasiet ställs högra krav på dig när du ska skriva en rapport eller uppsats. För att du bättre ska vara förberedd

Läs mer

UPPGIFT 1 WILL ROGERS FENOMEN

UPPGIFT 1 WILL ROGERS FENOMEN UPPGIFT 1 WILL ROGERS FENOMEN Will Rogers (1879-1935) var en amerikansk komiker känd för bland annat följande citat: When the Okies left Oklahoma and moved to California, they raised the average intelligence

Läs mer

Kursplaneöversättaren. Lina Stadell

Kursplaneöversättaren. Lina Stadell Kursplaneöversättaren Lina Stadell lina.stadell@convertus.se 2017-11-13 Innehåll Allmänt Språkliga resurser Översättningsprocessen Översättningsproblem Stavningskontroll Allmänt Bygger på egenutvecklad

Läs mer

Öjersjö Storegård, Partille Kommun, vt-07

Öjersjö Storegård, Partille Kommun, vt-07 Öjersjö Storegård, Partille Kommun, vt-07 Lärandeobjekt: Förmågan att urskilja och tillämpa pronomen i direkt objektsform. Eleverna skulle klara av att översätta från svenska till spanska och tvärtom.

Läs mer

Ett enkelt OCR-system

Ett enkelt OCR-system P r o j e k t i B i l d a n a l y s Ett enkelt OCR-system av Anders Fredriksson F98 Fredrik Rosqvist F98 Handledare: Magnus Oskarsson Lunds Tekniska Högskola 2001-11-29 - Sida 1 - 1.Inledning Många människor

Läs mer

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog.

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog. Handledning för BIBBLAN bibliotekssystem BIBBLAN är ett svensktutvecklat biblioteksprogram helt webbaserat, som innebär att man endast behöver en uppkopplad dator mot nätet. Man slipper dessutom tänka

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

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

Läs mer

Titel: Undertitel: Författarens namn och e-postadress. Framsidans utseende kan variera mellan olika institutioner

Titel: Undertitel: Författarens namn och e-postadress. Framsidans utseende kan variera mellan olika institutioner Linköping Universitet, Campus Norrköping Inst/ Kurs Termin/år Titel: Undertitel: Författarens namn och e-postadress Framsidans utseende kan variera mellan olika institutioner Handledares namn Sammanfattning

Läs mer

SVENSK ÖVERSÄTTNING AV BILAGA D FRÅN ASSESSMENT OF THE ACOUSTIC IMPACT OF THE PROPOSED RÖDENE WIND FARM

SVENSK ÖVERSÄTTNING AV BILAGA D FRÅN ASSESSMENT OF THE ACOUSTIC IMPACT OF THE PROPOSED RÖDENE WIND FARM SVENSK ÖVERSÄTTNING AV BILAGA D FRÅN ASSESSMENT OF THE ACOUSTIC IMPACT OF THE PROPOSED RÖDENE WIND FARM Bilaga D har översatts från engelska till svenska. För det fall att versionerna avviker från varandra

Läs mer

Språkteknologi och Open Source

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.

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2 Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 Exempel 3: Mata in storlek på bikupan: 3 \ / \

Läs mer

Vårdat, enkelt och begripligt!

Vårdat, enkelt och begripligt! skriv för webben Här hittar du några enkla råd om skrivande. Vi riktar oss speciellt till dig som skriver på webben men råden kan användas av alla. Läs gärna mer i Språkrådets Svenska skrivregler för övergripande

Läs mer

Utbildningsplan för. Den tredje terminen läses Avancerad akademisk engelska, 7,5 hp.

Utbildningsplan för. Den tredje terminen läses Avancerad akademisk engelska, 7,5 hp. Utbildningsplan för Masterprogram i litteraturvetenskap Master's Programme in Literature 120.0 Högskolepoäng 120.0 ECTS credits Programkod: HMLVO Gäller från: HT 2015 Fastställd: 2013-11-27 Ändrad: 2014-11-26

Läs mer

UPPGIFT 1 LAMELLER. Minsta antalet hål: 1. Första lamellen? Andra lamellen? Minsta antalet hål: 3

UPPGIFT 1 LAMELLER. Minsta antalet hål: 1. Första lamellen? Andra lamellen? Minsta antalet hål: 3 UPPGIFT 1 LAMELLER FIGUR 1. Överst de två lamellerna som de ges till programmet. Underst samma två lameller när den ena förskjutits så att bästa läge uppkommit. I figur 1, övre delen, ser du två lameller,

Läs mer

Cristina Eriksson oktober 2001

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

Läs mer

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel vers. 2010

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel vers. 2010 v. 2015-01-07 ANVISNINGAR Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel vers. 2010 Detta häfte innehåller kortfattade anvisningar om hur ni använder Excel under denna laboration. Be om hjälp

Läs mer

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts. Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)

Läs mer

Riktlinjer för bedömning av examensarbeten

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

Läs mer

Förklaring till Skolverkets kodsystem

Förklaring till Skolverkets kodsystem 2015-08-13 1 (9) Förklaring till Skolverkets kodsystem Gymnasial utbildning inom gymnasieskolan, gymnasiesärskolan och inom kommunal vuxenutbildning, särskild utbildning för vuxna samt utbildning i svenska

Läs mer

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or. Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås

Läs mer

Programmeringsolympiaden 2018

Programmeringsolympiaden 2018 Programmeringsolympiaden 2018 TÄVLINGSREGLER FÖR SKOLKVALET Tävlingen äger rum på av skolan bestämt datum under fyra timmar. Ingen förlängning ges för lunch eller raster. Eleven ska i förväg komma överens

Läs mer

Healthcare & Welfare Version 1.0 Welfare Nordic 2011-12-16 Education Sida 1/7

Healthcare & Welfare Version 1.0 Welfare Nordic 2011-12-16 Education Sida 1/7 Education Sida 1/7 Till Användare av Procapita Gymnasieantagning Driftsansvarig Produktinformation Procapita Gymnasieantagning, version 9.1 Denna produktinformation presenterar nyheter och förändringar

Läs mer

Frågor och svar - programutvärdering

Frågor och svar - programutvärdering Frågor och svar - programutvärdering Programutvärderingen Vad grundar sig programutvärderingen på? I grunden handlar modellen för programutvärderingen om att programledningar och lärare på ett program

Läs mer

Oppositionsrapport: Experior DSTL. Vincent Thuning, Björn Nordström 4 juni 2012

Oppositionsrapport: Experior DSTL. Vincent Thuning, Björn Nordström 4 juni 2012 Oppositionsrapport: Experior DSTL Vincent Thuning, Björn Nordström 4 juni 2012 1 Innehåll 1 Sammanfattat omdöme av examensarbete 2 2 Synpunkter på uppsatsen knuten till examensarbetet 2 2.1 Titel..................................

Läs mer

Packet Aggregation in Linux

Packet Aggregation in Linux Datavetenskap Opponenter: David Jonsson & Fredrik Larsson Respondenter: Jonas Brolin & Mikael Hedegren Packet Aggregation in Linux Oppositionsrapport, C/D-nivå 2005:xx 1 Sammanfattat omdöme av examensarbetet

Läs mer

Föreläsningens upplägg. Språket, individen och samhället HT07. 1. Döva och språk. Internationell manifestation för teckenspråket (29 september 2007)

Föreläsningens upplägg. Språket, individen och samhället HT07. 1. Döva och språk. Internationell manifestation för teckenspråket (29 september 2007) Föreläsningens upplägg Språket, individen och samhället HT07 Döva och språk Skriftsystem och läsning 1. Döva och språk 2. Skriftsystem och läsning Stina Ericsson Internationell manifestation för teckenspråket

Läs mer

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

Grammatiska morfem kan också vara egna ord, som t ex: och på emellertid Stockholms universitet Institutionen för lingvistik Språkteori grammatik VT 1994 Robert Eklund MORFEMANAYS Vi kan dela in ord i mindre enheter, segmentera orden. Här följer en liten kortfattad beskrivning

Läs mer

Skolprestationer på kommunnivå med hänsyn tagen till socioekonomi

Skolprestationer på kommunnivå med hänsyn tagen till socioekonomi 1(6) PCA/MIH Johan Löfgren 2016-11-10 Skolprestationer på kommunnivå med hänsyn tagen till socioekonomi 1 Inledning Sveriges kommuner och landsting (SKL) presenterar varje år statistik över elevprestationer

Läs mer

Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg

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

Läs mer

Grundläggande textanalys. Joakim Nivre

Grundläggande textanalys. Joakim Nivre Grundläggande textanalys Joakim Nivre Om kursen Ni har hittills läst Lingvistik Datorteknik Matematik Språkteknologiska tillämpningar Nu ska vi börja med språkteknologi på allvar Hur gör man text hanterbar

Läs mer

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel ANVISNINGAR Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel Detta häfte innehåller kortfattade anvisningar om hur ni använder Excel under denna laboration. Be om hjälp när/om ni tycker att

Läs mer

Funktioner. Räta linjen

Funktioner. Räta linjen Sidor i boken 14-143, 145-147 Funktioner. Räta linjen Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter

Läs mer

Filbindningar. Mike McBride Översättare: Stefan Asserhäll

Filbindningar. Mike McBride Översättare: Stefan Asserhäll Mike McBride Översättare: Stefan Asserhäll 2 Innehåll 1 Filbindningar 4 1.1 Inledning........................................... 4 1.2 Hur det här modulen används.............................. 4 1.2.1

Läs mer

Källkodning. Egenskaper hos koder. Några exempel

Källkodning. Egenskaper hos koder. Några exempel Källkodning Källkodning innebär att vi avbildar sekvenser av symboler ur en källas alfabet på binära sekvenser (kallade kodord). Mängden av alla kodord kalls för en kod. (Man kan förstås tänka sig att

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal

Läs mer

Färger. Matthew Woehlke Översättare: Stefan Asserhäll

Färger. Matthew Woehlke Översättare: Stefan Asserhäll Matthew Woehlke Översättare: Stefan Asserhäll 2 Innehåll 1 Färger 4 1.1 Inledning........................................... 4 1.2 Hantering av scheman................................... 4 1.2.1 Importerar

Läs mer

WF 9 MAC Kom i Gång SV Sida 1 FOR BETTER UNDERSTANDING KOM I GÅNG.

WF 9 MAC Kom i Gång SV Sida 1 FOR BETTER UNDERSTANDING KOM I GÅNG. WF 9 MAC Kom i Gång SV 07-08-10 07.43 Sida 1 FOR BETTER UNDERSTANDING KOM I GÅNG www.wordfinder.se WF 9 MAC Kom i Gång SV 07-08-10 07.43 Sida 2 Tekniska förutsättningar WordFinder 9 Professional för Mac

Läs mer

Egenskaper för digitala läromedel och film

Egenskaper för digitala läromedel och film Egenskaper för digitala läromedel och film Digitala läromedel Detta är en sammanställning av vad man bör beakta vid framställning av digitala läromedel för att nå största möjliga tillgänglighet.. Det som

Läs mer

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH UMEÅ UNIVERSITET Datavetenskap Marie Nordström 071207 TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH DATORSYSTEM/GRÄNSSNITT, 7.5HP. (5DV074/5DV075) Datum : 071207 Tid : 3 timmar Hjälpmedel : Allt.

Läs mer

Om ämnet Engelska. Bakgrund och motiv

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,

Läs mer