Folket har makten över ordet
|
|
- Ola Göransson
- för 8 år sedan
- Visningar:
Transkript
1 Folket har makten över ordet Ett ordboksredigeringssystem för allmänheten PATRIK LILJA Examensarbete Stockholm, Sverige 2011
2 Folket har makten över ordet Ett ordboksredigeringssystem för allmänheten PATRIK LILJA Examensarbete i datalogi om 30 högskolepoäng vid Programmet för datateknik Kungliga Tekniska Högskolan år 2011 Handledare på CSC var Viggo Kann Examinator var Stefan Arnborg TRITA-CSC-E 2011:071 ISRN-KTH/CSC/E--11/071--SE ISSN Kungliga tekniska högskolan Skolan för datavetenskap och kommunikation KTH CSC Stockholm URL:
3 Referat Att ta fram ett lexikon är en dyr och tidskrävande process. Det är också en process som aldrig tar slut eftersom naturliga språk hela tiden utvecklas. I denna rapport presenteras ett system som låter anonyma Internetanvändare redigera ett tvåspråkigt lexikon, Folkets lexikon. Lexikonet kommer sedan att kunna laddas ner för fri användning. Detta system är ämnat att vara självgående och saknar helt dedikerade granskare. För att hålla kvalitén på lexikonet hög, låter vi istället slutanvändarna bli granskare av lexikonet. När en ändring inkommer till systemet så delas den upp i mindre delar. Varje del presenteras sedan som en fråga i en omröstning som avgör ifall ändringen ska genomföras eller förkastas. För att omröstningarna ska vara giltiga så bör en användare inte kunna rösta mer än en gång på samma fråga. Risken för detta hålls nere genom att omröstningar slumpas fram ifrån en stor mängd frågor. Vidare gör vi en ansträngning för att automatiskt plocka bort dåliga förslag och i synnerhet potentiellt stötande sådana.
4 Abstract The People s Dictionary a dictionary editing system for the public Developing a dictionary is an expensive and time consuming task. It s also a never ending process as natural languages are always evolving. In this thesis we present a system that lets anonymous Internet users edit a bilingual dictionary, The People s Dictionary. The dictionary will be made available for download to use freely. The system is meant to be automatic and is completely lacking any dedicated editors. To keep the quality of the dictionary high, we instead let the end users survey each other. When a contribution arrives to the system it is split into smaller parts. Each part is presented as a question in a poll, that decides whether the change should be carried out or be discarded. For the voting procedure to be valid, a user shouldn t be allowed to vote more than one time on the same question. This risk is minimized by having a large set of questions and picking new questions at random from this set. We also make an effort to automatically filter out bad contributions, especially those that may potentially be offensive.
5 Innehåll 1 Introduktion Problemdefinition Mål Avgränsningar Bakgrund Lexikografi Ordboksredigeringssystem Ordklasstaggare Övervakade och oövervakade metoder Stokastiska ordklasstaggare Regelbaserade ordklasstaggare Okända ord Att utvärdera ordklasstaggare Spam Stoppordlista Naive Bayes-klassificerare Stödvektormaskiner C Det ursprungliga systemet Ett ord i Folkets lexikon Tagguppsättning Hantering av skräp Data En ansats för att bli av med de vanligaste skräpsvaren Weka Egenskaper hos fälten i lexikonet Val av ordklasstaggare Vad krävs av taggaren? Träningsdata Taggare som testats
6 5.3.1 Hunpos Stanford POS tagger TreeTagger Resultat Diskussion Ett kollaborativt ordboksredigeringssystem Krav på systemet Gränssnitt Att presentera lexikonändringar som frågor Tvetydighet Vilka ord bör stå med? Problematisk indata Konflikter bland ändringar Beroende mellan ändringar Diskussion Framtida arbete Vad finns kvar att göra med Folkets lexikon? Hur kommer lexikonet att se ut? Går det att återanvända samma princip? Att stimulera användning Slutsats Litteraturförteckning 34 Bilagor 35 A BNC tagset 36 A.1 A List of Ambiguity Tags B Mappning från BNC:s tagguppsättning till Folkets tagguppsättning 40
7 Tack Jag vill passa på att tacka min handledare, Viggo Kann, utan vars hjälp detta arbete aldrig hade varit möjligt. Jag har mycket svårt att tänka mig en bättre handledare. Vidare vill jag tacka Joachim Hollman som varit delaktig i detta projekt ända från början. Jag vill också tacka Pernilla Rydmark och Stiftelsen för Internetinfrastruktur som finansierat detta projekt. Slutligen vill jag dedikera denna rapport till mina föräldrar som tålmodigt stöttat mig under hela min studietid.
8
9 Kapitel 1 Introduktion Folkets lexikon 1 är ett engelsk-svenskt webbaserat lexikon som tanken är att vem som helst ska kunna förbättra. När en ny post har föreslagits så får andra användare granska den genom att rösta på dess kvalité. När tillräckligt många har godkänt ändringen så kan den föras in i lexikonet. Röstningsmodellen påminner om den som används i Folkets synonymlexikon 2 [13]. Systemet är utvecklat av Viggo Kann och Joachim Hollman på Algoritmica AB och stöds finansiellt av Stiftelsen för Internetinfrastruktur. KTH stöder också projektet genom att tillhandahålla servern som driver systemet. Själva lexikonet bygger på Språkrådets lexikon Lexin och är även tänkt att ersätta detta lexikon. Möjligheten att översätta mellan svenska och engelska i Lexin togs bort i november Anledningen till detta är att man valt att prioritera minoritetsspråk då det redan finns många lexikon mellan svenska och engelska fritt tillgängliga. Systemet bakom Folkets lexikon är under utveckling men tanken är att detta examensarbete ska vara den sista biten. Lexikonet är uppdelat i en engelsk-svensk och en svensk-engelsk del, där den engelsk-svenska innehåller mer detaljerad information på engelska och den svensk-engelska tvärtom. Den engelsk-svenska delen har sedan 2009 kunnat laddas ner för fri användning. Tanken är att det så småningom även ska kunna gå att ladda ner den svensk-engelska delen. Innan detta arbete påbörjades fanns det inget gränssnitt för att föreslå nya översättningar till Folkets lexikon och inte heller för att redigera befintliga sådana. Däremot kunde man rösta på översättningsförslag som framtagits med automatiska metoder. Man kunde även föreslå bättre översättningar till befintliga förslag. Det är just denna redigeringsmöjlighet som är kärnan i detta examensarbete
10 1.1 Problemdefinition Då utvecklingen av Folkets lexikon drivs av vanliga Internetanvändare så ställer det höga krav på hanteringen av ändringar. Gränssnittet måste vara tillräckligt lättanvänt för att nya användare ska ta sig tid att lära sig det. Samtidigt har varje ord en mängd attribut som exempelvis översättningar, ordklass, böjningar och exempel som gör gränssnittet komplicerat. Det är önskvärt att så många som möjligt av dessa attribut görs redigerbara utan att användarvänligheten blir lidande. För att underlätta för användarna är det önskvärt om det vid inmatning av nya ord automatiskt ges förslag på ordklass och böjningar. Det faktum att vem som helst kan föreslå ändringar innebär också att lexikonet blir sårbart för folk som vill förstöra. Detta problem måste hanteras. Så som gränssnittet såg ut innan detta arbete så kunde man endast bedöma regelrätta översättningsförslag. Om man ska tillåta användare att föra in fullständiga översättningar, med ordklass, böjningar och så vidare, så måste även dessa kunna bedömas. Då majoriteten av användare kommer att vara flyktiga besökare, som är där för att slå upp ett ord, så är det viktigt att dessa frågor ställs på ett enkelt sätt så att så många som möjligt väljer att rösta. Att det är många som röstar är en av hörnstenarna för att röstningsmodellen ska fungera. 1.2 Mål Målet detta examensarbete har varit att utveckla Folkets lexikon så att användare kan föreslå nya ord och redigera befintliga sådana. I detta ingick att: Ta fram ett användargränssnitt för att föreslå och ändra ord till Folkets lexikon Föreslå och implementera en metod för att sålla bort skräpförslag Välja ut en lämplig ordklasstaggare för ändamålet Ge användaren förslag på ordklass och, om möjligt, böjningar när denne föreslår ett nytt ord Dela upp ett förslag till en lexikonändring i mindre delar som enkelt kan betygsättas 1.3 Avgränsningar Detta arbete resulterar i ett system som bland annat innehåller ett grafiskt användargränssnitt. Dock läggs ingen vikt vid hur detta gränssnitt bör läggas upp för att det ska bli så användarvänligt som möjligt. 2
11 Kapitel 2 Bakgrund Detta kapitel presenterar den teoretiska bakgrunden för de metoder som använts i detta arbete. 2.1 Lexikografi Lexikografi är läran om ordböcker och brukar delas in i två delar, praktisk och teoretisk lexikografi. Den praktiska lexikografin behandlar framställandet av ordböcker medan den teoretiska delen behandlar ordböcker på ett teoretiskt plan, både vad avser utformning av ordböcker men även vilka krav som ställs av användare på ordböcker Ordboksredigeringssystem Ett ordboksredigeringssystem är ett system som används för att framställa ordböcker. Med hjälp av det kan många repetitiva moment förenklas eller helt automatiseras [16]. Detta gör också att det blir lättare att hålla lexikonet enhetligt. Betrakta exempelvis följande utdrag ur onlineversionen av Svenska Akademiens ordlista 1 : 1 stilla adv. o. adj. oböjl. orörlig(t); lugn(t) och tyst; sitta s.; en s. önskan 2 stilla v. -de lugna, dämpa; s. sig Om detta hade skrivits i en vanlig ordbehandlare så hade lexikografen behövt veta vilka förkortningar som ska användas för olika ordklasser. Dessutom måste han veta i vilken ordning posten ska läggas upp, i detta fall uppslagsord-ordklass-böjningarbeskrivning-exempel-idiom
12 Figur 2.1: Skärmdump ifrån det fria ordboksredigeringssystemet Mātāpuna. Bilden har klippts i nederkant för att få plats. Några av fälten syns därför inte. 4
13 Figur 2.1, som visar en skärmdump ur ordboksredigeringssystemet Mātāpuna, illustrerar hur ett ordboksredigeringssystem kan lösa sådana problem. Utmaningen ligger i att designa gränssnittet så att det det blir effektivt att jobba i men även enkelt att lära sig. 2.2 Ordklasstaggare Att ordklasstagga en mening innebär att man för varje ord i meningen tilldelar en ordklasstagg. I vanliga fall taggar man även skiljetecken. Det som gör problemet icke-trivialt är det faktum att många ord kan tillhöra flera ordklasser. Ta till exempel ordet såg som kan vara antingen ett substantiv eller ett verb i preteritum 2 : Han kapade brädan med en såg. Jag såg den nya Bond-filmen igår. Här framgår det klart av sammanhanget vilken ordklass som är den korrekta. Ju finkornigare ordklasstaggar man använder desto vanligare blir det att det finns flera möjliga taggar för ett ord. En del taggare sätter flera taggar för ett ord om systemet inte kan avgöra vilken som är den korrekta taggen Övervakade och oövervakade metoder Det går att dela in ordklasstaggare i två typer, övervakade och oövervakade. En övervakad metod använder sig av en färdigtaggad korpus 3 med tillhörande uppsättning taggar för att ta fram en taggare medan en oövervakad metod automatiskt tar fram en uppsättning taggar utifrån en otaggad korpus. Oövervakade metoder är framförallt användbara då det inte finns någon färdiguppmärkt korpus eller ordlista med möjliga taggar att tillgå. I denna rapport intresserar vi oss bara för övervakade ordklasstaggare Stokastiska ordklasstaggare Stokastiska ordklasstaggare går generellt sett ut på att för varje ord i en mening välja den mest sannolika taggen för det ordet. I den naiva varianten räknar man ut vilken tagg som det är vanligast att varje ord har. Detta görs exempelvis med hjälp av en handtaggad korpus. Sedan väljer man helt enkelt den vanligaste taggen för varje ord. Mer avancerade taggare tittar även på i vilken omgivning ordet står. En populär metod, som bland annat används, i en utbyggd variant för att tagga ord i KTH:s grammatikgranskningsprogram Granska[4], är att använda sig av dolda markovmodeller, så kallade HMM 4. Dolda markovmodeller har precis som vanliga markovmodeller ett antal tillstånd och övergångssannolikheter. Skillnaden 2 Tidigare användes termen imperfekt för preteritum i svenska. 3 En korpus är en stor uppsättning text. 4 Engelska: Hidden Markov Model 5
14 är att i en dold markovmodell kan vi inte se vilket tillstånd vi befinner oss, däremot kan vi se observationer som beror på i vilket tillstånd vi befinner oss. I fallet med ordklasstaggning är tillstånden, som är dolda, ordklasstaggarna och observationerna är själva orden. Problemet är att utifrån observationerna räkna ut den mest sannolika sekvensen av tillstånd. Vi vill välja taggar så att följande formel maximeras för varje ord: P (ord tagg) P (tagg föregående n taggar) (2.1) Se [12] för en motivering av denna formel. Vi är dock intresserade av taggföljden för hela meningen och inte bara för varje enskilt ord. Om vi låter n = 2, vilket är vanligt i praktiken, innebär det att 2.1 expanderas till följande produkt: n n P (t 1 )P (t 2 t 1 ) P (t i t i 1 t i 2 ) P (w i t i ) (2.2) i=3 Vi ska alltså välja den taggföljd T = {t 1,t 2,...,t n } som maximerar denna formel för ordföljden W = {w 1,w 2,...,w n }. Det kan vi göra effektivt med hjälp av Viterbis algoritm [9]. De enskilda sannolikheterna approximerar vi genom frekvensräkning i en korpus Regelbaserade ordklasstaggare Regelbaserade ordklasstaggare fungerar generellt så att de först taggar en mening genom att slå upp alla ordklasser varje ord kan ha i en ordbok. Sedan används en uppsättning regler för att avgöra vilken tagg som är den korrekta, i detta sammanhang, för de ord som kan tillhöra flera ordklasser. Ett exempel på en sådan regel skulle kunna vara: Regel 1: Om ordet kan vara antingen ett substantiv eller ett verb och föregående ord är ett pronomen som ej är i genitivform, då är ordet ett verb. Det är vanligt att stokastiska metoder även används i regelbaserade ordklasstaggare. Till exempel så använder Brill [2], i sin klassiska taggare, en korpus för att automatiskt ta fram regler Okända ord Ett problem uppstår då ordklasstaggaren stöter på ett helt okänt ord. Det vill säga ett ord som den inte sett förut och som inte finns med i träningsdatat. Hur bör ett sådant ord taggas? Den enklaste ansatsen är att anta att ordet kan tillhöra alla öppna ordklasser 5 med lika stor sannolikhet och använda denna statistik till att tagga ordet som 5 Ordklasser som prepositioner, pronomen och artiklar är slutna och innehåller ett finit antal ord medan ordklasser som substantiv, verb och adjektiv är öppna och hela tiden utökas med nya ord. 6 i=3
15 vilket ord som helst. En bättre metod är att titta på ord som förekommer en gång i träningsdatat och använda denna statistik som en approximering för ord som inte förekommer alls. En annan framgångsrik metod är att titta på ordens morfologi, det vill säga deras utseende. Framförallt av intresse är deras ändelse och huruvida de är kapitaliserade eller ej. Till exempel så är ett svenskt ord som slutar med -ning förmodligen ett substantiv Att utvärdera ordklasstaggare En nyckelprincip när man jämför ordklasstaggare är att behandla varje taggare så lika som möjligt. Det är därför naturligt att för varje taggare använda samma uppsättning taggar, tokenisering, träningsdata och testdata. Testdatat ska vara skilt från träningsdatat för att undvika överanpassning. Det är även lämpligt att testdatat har taggats av människor, förslagsvis av lingvister, så att man är någorlunda säker på att den är helt korrekt. Att jämföra med människor på detta vis brukar kallas att jämföra med the Gold Standard. Om taggaren endast tillåter en tagg per ord så är det naturliga måttet att mäta dess: antal korrekt taggade ord korrekthet = (2.3) antal ord När man mäter korrekthet så kan det vara intressant att ha en nedre och övre gräns för vad som är acceptabelt och vad som är uppnåeligt. Som nedre gräns kan man ta den triviala metoden att tagga varje ord med dess vanligaste tagg. Som övre gräns tittar man på hur ofta människor kan enas om en taggning. 2.3 Spam Alla som regelbundet använder e-post har förmodligen stött på skräppost någon gång. Detta riskerar också Folkets lexikon att göra. För epost finns en mängd tekniker att motverka skräp. Många av dessa är dock endast applicerbara på epost, eftersom de utnyttjar specifika detaljer i protokollet för epostkommunikation. Här presenterar vi ett antal generella metoder för textklassificering som går att applicera på Folkets lexikon Stoppordlista En enkel lösning på problemet är att använda en stoppordlista där man listar ord som man tror att misstänkt spam kommer att innehålla. Ett problem med denna metod är att den är oförlåtande mot legitimt användning av sådana ord. Ett annat problem är att det är svårt att skriva en fullständig sådan ordlista som fångar allt skräp. 7
16 2.3.2 Naive Bayes-klassificerare En naive Bayes-klassificerare använder Bayes teorem för att klassificera meddelanden. Låt x = (x 1, x 2,..., x n ) vara en vektor med egenskaper X 1, X 2,... X n för ett dokument. Dessa egenskaper kan i princip vara vad som helst men enklast är kanske att tänka sig dem som de ord som dokumentet innehåller. Låt vidare C = {c 1, c 1,..., c m } vara de klasser som dokumentet kan tillhöra. Vi använder Bayes teorem för att uttrycka sannolikheten för att meddelandet tillhör klass c k : P (c k x ) = P (c k) P ( x c k ) P ( x ) (2.4) Eftersom P ( x c k ) och P ( x ) är i det närmaste omöjliga att estimera så gör vi det naiva, därav namnet, antagandet att egenskaperna X 1, X 2,... X n är oberoende händelser. 2.4 kan då uttryckas som: n P (c k ) P (x i c k ) P (c k i=1 x ) n P (x i ) i=1 (2.5) Observera att nämnaren inte beror av c k utan är konstant för ett dokument. Detta medför att: argmax k P (c k x ) = argmax k n P (c k ) P (x i c k ) (2.6) i=1 där P (x i c k ) kan estimeras genom frekvensräkning i träningsdatat. Vi kan alltså göra en klassificering genom att välja den klass för vilken täljaren i 2.5 har sitt maximala värde Stödvektormaskiner En metod som visat sig fungera väldigt bra för textklassificering och spamklassificering är stödvektormaskiner, se exempelvis [19] och [7]. Hädanefter hänvisar vi till stödvektormaskiner med den vedertagna förkortningen SVM, från dess engelska namn Support Vector Machines. Låt oss antaga att vi har ett antal dokument klassificerade i två klasser. Varje dokument har n stycken egenskaper. Om vi tänker oss dokumentegenskaperna som punkter i rymden, vad SVM då gör är att hitta ett hyperplan 6 som delar denna punktrymd mellan de två klasserna på ett optimalt sätt. Med optimalt här så menar vi det hyperplan som ligger mitt emellan de två parallella hyperplan som båda separerar punktmängderna och som ligger på maximalt avstånd ifrån varandra (se figur 2.2 för ett exempel). 6 ett plan av dimension n 1 8
17 Maximal marginal Optimalt hyperplan Figur 2.2: Ett exempel på hur SVM gör en uppdelning mellan två punktmängder. När ett hyperplan som delar testdatat har hittats så kan nya dokument klassificeras genom att undersöka vilken sida av hyperplanet som dokumentet ligger på. Det går att anpassa metoden, se exempelvis [5], så att den även kan hantera fall då punktmängderna ej är linjärt separabla. Observera att en SVM-klassificerare endast tillåter klassificering av två klasser. Ifall man vill generalisera metoden till flera klasser kan man exempelvis göra parvisa klassificeringar tills man uteslutit alla klasser utom en. Observera också att ifall man behöver uppdatera en befintlig klassificerare med ny träningsdata så måste man börja om från början och hitta ett nytt hyperplan C4.5 C4.5 bygger upp beslutsträd utifrån testdatat som sedan används för att klassificera nya dokument [14]. Tanken är att försöka minimera trädets storlek, därför använder man mängden vunnen information (se nedan) som kriterium när man skapar förgreningar i trädet. För att mäta mängden information använder man måttet entropi som beskrivs nedan. Algoritmen i pseudokod är: 9
18 Algorithm 1: CreateTree Data: mängd S av klassificerade dokument med egenskaper x 1, x 2,..., x n Result: Ett beslutsträd baserat på C4.5 begin 1. Om basfall returnera löv 2. Hitta egenskap x med högst informationsvinstkvot 3. Skapa beslutsnod i trädet baserad på egenskap x. 4. För varje delmängd av S som fås genom att splittra med avseende på x, anropa CreateTree Ett basfall har vi då alla testfall som tillhör S tillhör samma kategori, alternativt att S är tom. Informationsvinsten fås genom att beräkna entropin för S samt för erhållna delmängder. Antag att egenskap X i delar S i delmängderna S 1, S 2,..., S r, då gäller: där, Informationsvinst(S, X i ) = Entropi(S) Entropi(S X i ) r S i = Entropi(S) S Entropi(S i) (2.7) Entropi(S) = c {c 1,c 2,...,c m} Antal(S, c) S i=1 ( ) Antal(S, c) log S (2.8) där {c 1,c 2,...,c m } är de klasser som dokumentet kan tillhöra. För att inte favorisera sådana attribut som delar trädet i många delträd så delar vi informationsvinsten med entropin för partitionen av trädet och får informationsvinstkvoten: Entropi(Partition(S)) = Informationsvinstkvot(S, A) = r i=1 ( ) S i S log Si S Informationsvinst(S, A) Entropi(Partition(S)) (2.9) (2.10) 10
19 Kapitel 3 Det ursprungliga systemet Innan detta arbete påbörjades så fanns redan uppslagningsdelen av lexikonet på plats. Denna har inte ändrats. Ett exempel på hur en uppslagning ser ut finns i figur 3.1. Gränssnittet är utvecklat med Google Web Toolkit 1, vilket innebär att det är Javascript-baserat och att de flesta funktioner reagerar direkt utan att sidan behöver laddas om. Gränssnittet är tvåspråkigt så att det ska kunna användas både av personer som har svenska som bästa språk och personer som föredrar engelska. Utöver uppslagningsgränssnittet fanns dessutom en stor uppsättning översättningsförslag generade. Att det finns många frågor är viktigt så att risken för att samma person får svara på samma fråga mer än en gång är liten. Frågorna ställs till användaren som får bedöma hur bra förslaget är utifrån en uppsättning fasta svarsalternativ, se figur 3.2 för ett exempel. Svarsalternativen för att bedöma ett förslags kvalité är riktigt dålig, ganska dålig, ganska bra, riktigt bra. Ett förslag är godkänt när det har fått tillräckligt många 1 Google Web Toolkit gör det möjligt att utveckla webbsidor i Java och kompilera dem till Javascript. Läs mer på adressen Figur 3.1: Ett exempel på uppslagning av ett ord 11
20 Figur 3.2: Ett exempel på en förbättringsfråga i det ursprungliga systemet. ganska bra- eller riktigt bra-röster. Utöver dessa finns dessutom alternativen vet inte och olämpligt/skräp. Vet interöster ignoreras och gör att användaren kan underlåta att rösta när denne är osäker. Ett förslag är underkänt när det har fått tillräckligt många ganska dåligt-, riktigt dåligt- eller olämpligt/skräp-röster. Dessutom finns möjligheten att ange ett eget förslag i fritext om man tror sig veta en bättre översättning än den föreslagna. Notera, i figur 3.2, att det inte är uttryckt i klartext vilket språk detta förslag förväntas vara på. Detta måste istället härledas ifrån frågan. Detta har inneburit att det kommit in ganska många förslag som är på fel språk. 3.1 Ett ord i Folkets lexikon Varje ord i lexikonet har en mängd fält. Somliga av dessa illustreras av figur 3.1. Andra syns inte eftersom ordet stol, som exemplet illustrerar, inte har värden för alla fält. Ett ord i Folkets lexikon består av följande fält: Rubrik (själva ordet) Ordklass Översättningar Böjningar 2 Definition (kan ha översättning) Förklaring (kan ha översättning) Exempel (kan ha översättning) Idiom (kan ha översättning) Sammansättningar (kan ha översättning) Variantformer Uttal (fonetisk skrift) Länkar Synonymer Användning Relaterade ord De flesta av dessa delar kan dessutom ha ytterligare metadata såsom kommentarer, ursprung, datum och så vidare. 2 Böjningar kan dessutom delas upp i böjningsmönster för de ord där det är relevant. Ett exempel på ett sådant ord är dålig som har två böjningsmönster; dålig, sämre, sämst och dålig, dåligare, dåligast. 12
21 3.2 Tagguppsättning Uppsättningen taggar som används för ordklasstaggning i Folkets lexikon listas i tabell 3.1. Utöver dessa finns det även grammatikkommentarer som kan ge mer detaljerad grammatisk information. Tabell 3.1: Tagguppsättning i Folkets lexikon Tagg ab abbrev article compound ha hs hp ie in jj kn nn pc pm pn pp prefix ps rg ro sn suffix Ordklass adverb förkortning artikel sammansättning frågande/relativt adverb frågande/relativ posessiv frågande/relativt pronomen infinitivmärke interjektion adjektiv konjunktion substantiv particip egennamn pronomen preposition förled possessiv grundtal ordningstal subjunktion suffix verb 13
22 Kapitel 4 Hantering av skräp Ingenting kommer att föras in i lexikonet innan det har godkänts av tillräckligt många användare. Därför behöver inte vår skräphantering vara felfri. Däremot finns det en risk att förbättringsfrågorna inte kommer att tas på allvar om de håller en alltför låg kvalité. Vidare så vill vi sålla bort eventuella stötande förslag som riskerar att sänka tjänstens trovärdighet. 4.1 Data Ett problem var att det inte fanns något färdiguppmärkt träningsdata. Att märka upp de cirka erhållna förbättringsförslagen för hand var knappast aktuellt. Vad gjorde saken värre är att texten på knappen som användaren kan använda för att märka upp skräp är olämpligt/skräp och det är ganska vanligt att denna används bara för att förslaget är riktigt dåligt, snarare än att det är skräp. En säkrare text att skriva på den knappen hade kunnat vara stötande, vilket har mindre risk att misstolkas. Den texten skulle dock ändra knappens innebörd och den skulle inte längre användas till alla skräpsvar. På grund av dessa anledningar bedömdes det som meningslöst att träna upp en klassificerare med uppgift att sålla bort skräp. 4.2 En ansats för att bli av med de vanligaste skräpsvaren Vi gör dock ändå en ansats för att bli av med den allra vanligaste typen av skräp. Vi låter ett ordfilter plocka bort alla förslag som innehåller ord ifrån en stopplista, detta för att få bort vanliga skräpförslag så som svordomar och könsord. Vidare tränar vi upp en klassificerare för att kunna skilja på språk och ickespråk. Detta för att kunna filtrera bort förslag som består av att någon bara tryckt på måfå på tangentbordet men också förslag som består av att någon förlängt ett befintligt ord (fan ffffffaaaaaannnnn). Som träningsdata för detta använder vi oss av Folkets lexikon. Icke-språket genererar vi, dels ifrån slumpdata och dels 14
23 genom att förlänga orden från vårt ordfilter. Som egenskaper till denna klassificerare använder vi detta: Andel tecken som inte är bokstäver Andel mellanslag Andel upprepande bokstäver Stränglängd Bokstavsfrekvens Bigramsfrekvens Prefix av längd fyra Suffix av längd fyra 4.3 Weka För att utföra klassificeringen använder vi oss av programmet Weka 1 [11]. Weka tillhandahåller implementationer av flera klassificeringsalgoritmer, däribland alla som presenterats under 2.3. För detta ändamål använder vi oss av en SVM-klassificerare. Den presterar marginellt bättre än C4.5 vilket illustreras av tabell 4.1. C4.5 har visserligen fördelen att den kan ge ett mått på hur säker klassificeringen är, vilket inte Wekas implementation av SVM kan göra. C4.5 är dessutom den snabbaste algoritmen, se tabell 4.2. Dock är C4.5 så långsam att träna upp, när träningsdatat är stort, att den blir opraktisk att använda, ifall vi skulle vilja träna om klassificeraren. Att Naive-Bayes presterade så mycket sämre beror gissningsvis på egenskaperna vi tränar den på är alltför beroende av varandra. Tabell 4.1: Resultat språkklassificering. Träningsstorlek , teststorlek Algoritm Språk missklassificerat (%) Icke-språk missklassificerat (%) NaiveBayes 2,0 2,0 SVM 0,7 0,4 C4.5 1,0 0,8 Tabell 4.2: Prestanda språkklassificering. Träningsstorlek , teststorlek Algoritm Meddelanden klassificerade/sekund NaiveBayes 20 SVM 188 C
24 4.4 Egenskaper hos fälten i lexikonet Istället för en spamklassificerare försöker vi att finna ett mönster i hur varje värde ser ut i lexikonet för att på så sätt kunna sålla bort dåliga förslag. Instinktivt så tror man kanske att de flesta fält i ett lexikon ser ungefär likadana ut för varje ord. Åtminstone om man avser sådana saker som stränglängd, antal mellanslag, antal specialtecken och så vidare. Detta visade sig också vara sant, i Folkets lexikon, för de flesta ord, men inte för alla. En del ord har till exempel ingen direkt översättning utan istället står en förklaring av ordet på det andra språket som översättning: Exempel bospara : save (money in the bank) towards a house (flat, etc.) of one s own Detta gör det svårt att sätta handfasta begränsningar för många fält i lexikonet. En sak som däremot håller för så gott som alla ord är att rubriken (själva ordet) inte innehåller många mellanslag, om den gjorde det vore det ju inte ett ord utan flera. De enstaka poster som finns i lexikonet med fler än ett ord i rubriken är framförallt olika skolor och myndighetsnamn, till exempel Royal Academy of Fine Arts (Konstakademien) och National Agency for Higher Education (Verket för högskoleservice). Att stoppa införandet av fler sådana ord borde inte innebära någon större begränsning. Vad vi däremot kan säga med säkerhet är att exempel, idiom och sammansättningar alltid måste innehålla antingen själva ordet eller någon av dess böjningar. Detta följer av definitionen av dessa fält. Språkklassificeraren vi nyss konstruerade kan dessutom användas för att kontrollera att enskilda värden är på det språk som vi förväntar oss att de ska vara på. Dock är det vanskligt att använda den på enskilda ord, exempelvis på synonymer. Dessa kan ju i vissa fall se likadana ut både på svenska och engelska (exempelvis aluminium) och klassificeraren presterar således inte så bra på dessa. 16
25 Kapitel 5 Val av ordklasstaggare Varje ordpost i Folkets lexikon kan ha en ordklasstagg. När en användare föreslår ett nytt ord så kan han också kunna välja vilken ordklass ordet tillhör. Det är dock rimligt att tro att många användare inte har sin skolgrammatik färskt i minne och därför kan ha svårt att välja rätt ordklass. Därför låter vi en automatisk ordklasstaggare hjälpa användaren med detta val. För ordklasstaggning av svenska ord använder vi oss av Granska tagger [4] som är en del av KTH:s grammatikgranskningsprojekt Granska [6]. Detta faller sig naturligt eftersom taggaren är utvecklad på KTH och dessutom har en dedikerad server som kan användas för detta ändamål. För engelsk ordklasstaggning finns det däremot inget självklart val utan det ingick i arbetet att välja ut en lämplig taggare. Detta avsnitt behandlar detta val. 5.1 Vad krävs av taggaren? När en användare föreslår ett nytt ord och vill ha hjälp med att välja ordklass, så vet vi inte vilket sammanhang ordet brukar uppträda i. I vissa fall skulle man visserligen kunna använda sig av informationen som finns under exempel och idiom. Detta är dock inte helt okomplicerat. Det förutsätter att användaren fyller i dessa fält innan han ber om en ordklasstaggning. Vidare blir det än mer komplicerat ifall användaren använder sig av en annan böjning av ordet än den som står som ordets rubrik. På grund av detta så väljer vi att inte leta efter taggare som är bra på att tagga ord i meningar, utan att istället leta efter taggare som är bra på att tagga ord utan kontext. Om man taggar ett ord utan kontext som taggaren känner till så kommer det ordet med stor sannolikhet att få den tagg som det oftast har i träningsdatat, oberoende av vilken taggare man använder. Därför är vi mest intresserade av hur bra taggaren presterar på helt okända ord. Vi väljer därför att undersöka hur bra olika taggare presterar på okända ord utan kontext. 17
26 5.2 Träningsdata Som träningsdata använder vi oss av British National Corpus (BNC) [3], som består av 100 miljoner ord. 90 % av korpusen består av skriven text medan resten består av talat språk. För denna utvärdering använder vi oss endast av de delar som består av skrivet språk. Se appendix A för en lista över de taggar som används i BNC. Det finns, i BNC, cirka ord som har taggats mellan 10 och 50 gånger med samma tagg alla gånger och dessutom tillhör en öppen ordklass. Av dessa väljer vi ut ord och sedan plockar vi bort alla meningar ur träningsdatat som innehåller något av dessa ord. Dessa ord utgör vårt testdata. Tanken bakom detta är att det är säkrare än den klassiska ansatsen, att titta på de ord som uppträder i testdatat men inte i träningsdatat. Eftersom vi inte tittar på kontext så kan ju dessa ord eventuellt ha andra taggar i andra sammanhang och det är därför inte helt säkert att det finns något rätt svar för dessa ord. De ord som vi har valt däremot, verkar alltid ha samma tagg. Det går därför att säga huruvida taggaren svarar korrekt eller ej oavsett vilken kontext dessa ord står i. Eftersom dessa ord, som alltid har samma tagg, sällan är verb och ovanligt ofta är grundtal eller främmande ord (se tabell 5.1 och tabell 5.2) så viktar vi urvalet för att försöka jämna ut denna olikhet. Det finns dock alldeles för få verb som alltid har samma tagg för att det ska gå att välja ord med samma distribution av taggar som i hela korpusen. Därför väljer vi även en mindre testmängd om 5000 ord där vi inte särskiljer mellan olika former av verb och inte heller mellan olika typer av substantiv, annat än egennamn. Denna testmängd har samma tagguppsättning som Folkets lexikon plus taggen UNC för okända ord och fördelning av taggar är densamma som i BNC. Se appendix B för en beskrivning av hur BNC:s taggar konverteras till Folkets lexikons taggar. För att skilja testmängderna åt så väljer vi att kalla den testmängd med samma taggar som BNC för testmängd 1. Testmängden med samma taggar som i Folkets lexikon kallar vi för testmängd 2. Fördelningen av taggar för dessa testmängder finns i tabell 5.3 och tabell 5.4. För att även göra det möjligt för ordklasstaggaren att utnyttja huruvida orden är kapitaliserade eller ej så valdes för varje ord den kapitalisering som var vanligast för just det ordet. Om två olika kapitaliseringar var lika vanliga så valdes den som inleddes med liten bokstav. 18
27 Tabell 5.1: Taggfördelning över öppna ordklasser i hela BNC tagg taggfrekvens procent AJ ,6 AJC ,4 AJS ,2 AV ,3 CRD ,8 ITJ ,2 NN ,4 NN ,2 NN ,3 NP ,2 ORD ,7 UNC ,4 VVB ,2 VVD ,8 VVG ,6 VVI ,9 VVN ,0 VVZ ,4 ZZ ,3 Tabell 5.2: Taggfördelning i BNC för ord som alltid har samma tagg tagg ordfrekvens procent AJ ,0 AJC 83 0,4 AJS 107 0,5 AV ,9 CRD ,3 ITJ 24 0,1 NN ,3 NN ,3 NN ,1 NP ,5 ORD 88 0,4 UNC ,1 VVB 14 0,1 VVD 14 0,1 VVG 49 0,2 VVI 23 0,1 VVN 13 0,1 VVZ 213 1,0 ZZ0 93 0,4 19
28 Tabell 5.3: Taggfördelning för testmängd 1, samma tagguppsättning som i BNC tagg ordfrekvens procent AJ ,1 AJC 53 0,5 AJS 65 0,7 AV ,7 CRD 434 4,3 ITJ 9 0,1 NN ,4 NN ,2 NN ,9 NP ,6 ORD 46 0,5 UNC 32 0,3 VVB 14 0,1 VVD 14 0,1 VVG 49 0,5 VVI 23 0,2 VVN 13 0,1 VVZ 213 2,1 ZZ0 47 0,5 Tabell 5.4: Taggfördelning för testmängd 2, samma tagguppsättning som i Folkets lexikon, samma fördelning som BNC tagg ordfrekvens procent AJ ,2 AV 466 9,3 CR 189 3,8 IT 12 0,2 NN ,9 NP 462 9,2 OR 35 0,7 UN 21 0,4 VV ,0 ZZ 13 0,3 20
29 5.3 Taggare som testats Hunpos Hunpos 1 [10] är en HMM-taggare skapad av open source-rörelsen. Den är en omimplementation av Torsten Brants TnT-taggare [1] vars källkod är sluten. Hunpos är skriven i OCaml och har ett terminalbaserat gränssnitt. Den rapporterade prestandan för okända ord på engelska är 86,90% [10] Stanford POS tagger Stanford POS tagger är en hybridtaggare som använder både regler och stokastiska metoder [18], [17]. När man utvecklade den så gjorde man en extra ansats för att få den att prestera bra på okända ord. Man rapporterar att den klarar att tagga 89,04% av okända ord på engelska korrekt [17]. Detta gör den på förhand till favorit bland taggarna. Dessutom är den skriven i Java vilket innebär att den skulle vara lätt att integrera i Folkets lexikon TreeTagger Treetagger använder en metod liknande C4.5 (se 2.3.4) och skapar beslutsträd för att avgöra hur taggning av ord går till [15]. TreeTagger är den enda testade taggaren vars källkod är sluten. Den är istället släppt under en akademisk licens som tillåter användning för akademiska ändamål. Gränssnittet är terminalbaserat men det finns wrappers skrivna i Python, Perl och, av intresse för oss, även i Java. Ingen rapporterad prestanda för okända ord är på förhand given. 5.4 Resultat Taggarna tränades och testades på träningsdatan och testmängderna som beskrivits. Resultaten visas i tabell 5.5 och tabell 5.6. Tabell 5.5: Korrekthet i procent för taggare tränade på BNC. Stanfords taggare var för tidskrävande för att träna på hela BNC. Se istället tabell 5.6. Taggare Testmängd 1 Tesmängd 2 Hunpos TreeTagger Stanford POS tagger??
30 Tabell 5.6: Korrekthet i procent för taggare tränade på en tiondel av BNC eller cirka 10 miljoner ord. Taggare Testmängd 1 Testmängd 2 Hunpos TreeTagger Stanford POS tagger Tabell 5.7: Antal ord taggade per sekund för respektive taggare. Tid för initiering av taggaren och eventuell uppstartning av JVM borträknade. Taggare ord/sekund Hunpos TreeTagger Stanford POS tagger Diskussion Träning av en taggare innebär oftast en möjlighet att ställa in flera parametrar. För Hunpos och för TreeTagger var alternativen så få att en mer eller mindre uttömmande sökning kunde göras. För Stanford däremot var alternativen så många att detta inte var möjligt. Vad gjorde saken värre var att många av alternativen är odokumenterade vilket innebär att man får gissa sig fram. Ovanpå detta så var dessutom Stanfords taggare den mest tidskrävande att träna. Den var så tidskrävande att det inte gick att träna den på hela BNC, därav de uteblivna värdena i tabell 5.5. Det finns alltså en möjlighet att prestandan för Stanfords taggare går att höja ytterligare med bättre inställningar. Stanfords taggare presterar trots detta klart bäst på båda testmängderna, se tabell 5.6. I synnerhet på testmängd 2 som förmodligen är mest intressant är den överlägsen. Den är dock betydligt långsammare än de andra två taggarna, se tabell 5.7. Det är dock knappast troligt att den kommer att vara utsatt för så hög belastning att 1100 ord per sekund inte skulle räcka till. Anledningen till att TreeTagger presterar så mycket sämre än de andra två har troligtvis att göra med att den inte tillåter inställning av hur få gånger ett ord måste förekomma för att betraktas som sällsynt. Detta var nämligen en av de parametrar som gjorde störst skillnad för prestandan för de andra två taggarna. Detta förklarar också varför den presterar bättre på en mindre korpus (se tabell 5.6), där ju fler ord förekommer få gånger. Varför Hunpos presterar bättre efter träning på en mindre korpus än på hela BNC är dock svårare att svara på. Undersöker vi förväxlingsmatriserna för taggare tränade på respektive korpus (se tabell 5.8 och tabell 5.9) så finner vi att den största skillnaden utgörs av prestandan för ord med taggen NN0 (substantiv med neutralt 22
31 numerus). Tittar man på hur dessa ord ser ut i träningsdatat så finner man att en majoritet av dem är på formen siffra+enhet, till exempel 10kg eller 42. Man förstår ganska enkelt varför dessa förväxlas med räknetal och okända ord. Att de inte gör det lika ofta när taggaren tränats på den mindre korpusen, kan vi gissa att det beror på slumpen. På grund av att den presterar klart bäst på okända ord och dessutom har ett Java-interface så använder vi oss av Stanfords taggare i Folkets lexikon. 23
32 Tabell 5.8: Förväxlingsmatris Hunpos, testmängd 1 tränat på hela BNC. Cellen på rad i, kolumn j visar andelen gånger, i procent, som ett ord borde fått tagg i men fick tagg j. Kolumner med endast nollor har utelämnats. # fel AJ0 AV0 CRD NN0 NN1 NN2 NP0 UNC VVB VVD VVG VVN slutna AJ AJC AJS AV CRD ITJ NN NN NN NP ORD UNC VVB VVD VVG VVI VVN VVZ ZZ
33 Tabell 5.9: Förväxlingsmatris Hunpos, testmängd 1 tränat på 1/10 av BNC. Cellen på rad i, kolumn j visar andelen gånger, i procent, som ett ord borde fått tagg i men fick tagg j. Kolumner med endast nollor har utelämnats. # fel AJ0 AV0 CRD NN0 NN1 NN2 NP0 UNC VVB VVD VVG VVN slutna AJ AJC AJS AV CRD ITJ NN NN NN NP ORD UNC VVB VVD VVG VVI VVN VVZ ZZ
34 Kapitel 6 Ett kollaborativt ordboksredigeringssystem Detta kapitel beskriver de påbyggnader av det ursprungliga systemet som är resultatet av detta arbete. 6.1 Krav på systemet Utöver problematiken med spam och skräp, som behandlats i tidigare kapitel, så finns det ett antal mer subtila problem som kan försämra kvaliten på lexikonet om de inte hanteras. Figur 6.1 illustrerar en del av problematiken. Det kan som synes finnas flera innebörder av ett ord, som var och en motsvarar en post i lexikonet. I vissa fall kan dessutom en eller flera betydelser av ett ord saknas. Detta innebär att vi måste tillåta användare att lägga in ord som redan finns i lexikonet vilket i sin tur innebär att vi måste kunna skilja på dubbletter som är legitima och sådana som inte är det. Dubbletter finns inte bara på ordnivå utan även flera av de enskilda fälten, så som synonymer, böjningar, exempel och översättningar, kan rymma dubbletter. Här finns det generellt sett ingen legitim användning dock, förutom för böjningar, så dessa kan vi filtrera bort direkt. För ord som är tvetydiga, måste vi dessutom för alla fält kunna skilja ut vilken innebörd av ordet som åsyftas. Ett annat problem är användare som skriver in korrekt, eller nästan korrekt, information men inte på det format som vi vill ha den. Ett exempel på detta är ifall användaren kastar om språken och således fyller i engelska där vi förväntar oss svenska och tvärtom. Det finns en risk för att sådana fel slinker igenom röstningsproceduren ifall användaren inte läser frågan ordagrant utan bara tittar på de två relevanta orden och ser att de passar ihop. Vidare så behövs någon metod för att hantera den problematik som inträffar då två användare redigerar samma ord samtidigt, eller då en användare redigerar ett ord som har en eller flera innestående ändringar som ännu inte har godkänts. 26
35 Figur 6.1: Skärmdump som visar uppslagning av ordet vara i Folkets lexikon. 6.2 Gränssnitt Gränssnittet är designat med en epostklient som inspirationskälla. Förhoppningsvis är detta något som de flesta är bekanta med. En skärmdump av gränssnittet finns i figur 6.2. Användaren tillåts navigera med en meny till vänster. Under varje menyalternativ finns en area för editering av en specifik del av ett ord. Nedanför denna area finns en förhandsgranskning som visar hur ordet kommer att se ut i lexikonet. Detta är implementerat i Javascript med hjälp av Google Web Toolkit. En begränsning med detta är att det inte fungerar för användare som har inaktiverat Javascript i sin webbläsare. 27
36 Figur 6.2: Skärmdump av redigeringsgränssnittet 6.3 Att presentera lexikonändringar som frågor Som redan nämnts så måste frågorna som ställs till användarna vara enkla för att användarna ska ta sig tid att svara. Om frågorna är allt för omfattande kanske det inte ens finns något rätt svar med det begränsade antalet svarsalternativ som finns. När ett ändringsförslag inkommer till systemet så väljer vi därför att dela upp det i så finkorniga delar som möjligt, med den begränsningen att varje del ändå svarar mot en ändring i lexikonet. Ett undantag till denna princip är böjningar, där ställs det istället en enda fråga för alla böjningar av ett ord. Detta ger en något krångligare fråga men gör det möjligt, att på ett enkelt sätt att bedöma om en användning av samma böjning mer än en gång är legitim. Exempel En användare föreslår att ordet inanimate tillsammans med översättningen livlös ska läggas till i lexikonet. Användaren märker också upp ordet som ett 28
37 adjektiv och anger nonliving som en synonym. Detta resulterar i följande frågor: Är det svenska ordet livlös en bra översättning av det engelska ordet inanimate? Tycker du att det engelska ordet inanimate borde stå med i lexikonet? Håller du med om att det engelska ordet inanimate tillhör ordklassen adjektiv? Är nonliving en synonym till inanimate? Tvetydighet Ett av de största problemen som identifierades bland kraven på systemet i 6.1 var hanterandet av tvetydighet, både på ordnivå, men även ordens egenskaper såsom översättningar, exempel och idiom. Det som används, i lexikonet, för att identifiera ett ords betydelse är definitioner och förklaringar. Vid tvetydiga ord så tvingas användaren att ange åtmistone ett av dessa värden. Innan vi lägger in ny innebörd av ett ord i lexikonet så måste vi verifiera att det verkligen är en ny innebörd, och inte en som redan finns. Detta åstadkommer vi genom att presentera alla olika par av definitioner och förklaringar tillsammans med frågan om dessa är unika i innebörd. För varje ändring av en del av ett tvetydigt ord så presenteras också dess definition och förklaring för att kunna urskilja om frågan är sann för en viss innebörd Vilka ord bör stå med? Oavsett hur många ord som läggs in i lexikonet så kommer det alltid att finnas ord som saknas. I synnerhet är detta sant för svenska, där nya ord kan bildas genom sammansättning av befintliga ord. Ibland är dessa ord så vanliga att vi vill ha med dem i lexikonet. Andra gånger kan de vara så ovanliga att deras medverkan endast skulle göra lexikonet svårläst och kanske till och med upplevas som löjligt. Exempel Ordet bokryggstextlayout med översättningen layout of the text of the spine of a book Det är mycket möjligt att ordet bokryggstextlayout med översättningen ovan skulle godkännas av användarna. För att den typen av ord inte ska införas i lexikonet så inför vi därför en extra fråga innan ett nytt ord läggs till i lexikonet: Tycker du att ordet bokryggstextlayout borde stå med i lexikonet? Detta innebär att det är helt upp till användarna att avgöra vilka ord som bör stå med i lexikonet, vilket ju är passande med tanke på att lexikonet heter Folkets lexikon. Den enda kontroll som görs är den som bedömer om ordet är stötande. Detta innebär att det är fritt fram att lägga in exempelvis slanguttryck. Dock måste andra användare rösta för att dessa bör införas i lexikonet. 29
38 6.3.3 Problematisk indata Det finns ett antal ändringar som användare kan föreslå som resulterar i frågor som riskerar att få ett positivt svar trots att ändringen inte borde genomföras. Dubbletter bland översättningar är ett sådant exempel, eftersom frågorna ställs för enskilda översättningar så går det inte att se på frågan att det är en dubblett. För översättningar kan vi dock enkelt lösa detta problem genom att helt enkelt filtrera bort dubbletter. För Idiom och exempel blir detta lite knepigare då mindre ändringar som exempelvis en ändrad ordföljd kanske bör ses som en dubblett ena gången men inte en annan gång. På grund av tidsbrist så finns det ingen mer avancerad hantering av detta än att exakta dubbletter filtreras bort. Det är även viktigt att skilja på vad som ska vara på svenska och vad som ska vara på engelska. Till exempel så ska förklaringar i det svensk-engelska lexikonet vara på svenska och i det engelsk-svenska lexikonet vara på engelska. Som redan nämnts i 4.4 så kan vi använda vår språkklassificerare till detta ändamål. Det är dock vanskligt att använda denna på enskilda ord så som i översättningar, sammansättningar och så vidare. Därför uttrycker vi klart i frågorna vilket språk vi förväntar oss att värdet ska ha Konflikter bland ändringar Problemet med användare som redigerar ord som har innestående ändringsförslag togs upp i 6.1. För att lösa detta problem använder sig Folkes lexikon av tidsstämplar. Innan ett förslag kan genomföras så görs en kontroll ifall det attribut som förslaget avser har ändrats sedan förslaget skapades. Ifall förslaget är nyare än attributet så kan det genomföras, annars förkastas det. Denna lösning introducerar en risk för att förbättringsförslag föreslås för saker som redan har korrigerats, men ännu inte har godkänts. Att istället låsa ord eller attribut med innestående ändringar bedömdes vara ett dåligt alternativ, eftersom det istället skulle innebära det motsatta. Att det finns en risk för att saker som inte har korrigerats inte kan korrigeras. Detta eftersom de kan vara låsta av ett annat dåligt förslag som ännu inte har underkänts Beroende mellan ändringar När vi delar upp ett bidrag i små förbättringsfrågor så introducerar vi beroenden mellan frågorna. När till exempel ett nytt ord föreslås så är alla förbättringsfrågor till det ordet beroende av att användarna accepterar ordet som ett bra ord att lägga in i lexikonet. För att inga röster ska avläggas i onödan väljer vi att inte presentera några frågor för användaren förrän deras eventuella beroende frågor har blivit godkända. 30
ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap
ORDKLASSTAGGNING Marco Kuhlmann Institutionen för datavetenskap Ordpredicering n-gram-modeller (definition, skattning) den brusiga kanalen: P(R F) = P(F R) P(R) redigeringsavstånd, Levenshtein-avstånd
Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens
Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens Niklas Blomstrand Linköpings Universitet Inledning Att veta vilken ordklass ett ord tillhör är en viktig del i bearbetning
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
TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning. Marco Kuhlmann Institutionen för datavetenskap
TDDD02 Språkteknologi för informationssökning (2016) Ordklasstaggning Marco Kuhlmann Institutionen för datavetenskap Ordklasstaggning Tagga varje ord i en sekvens av ord (oftast en mening) med dess korrekta
Lingvistiskt uppmärkt text
729G09 Språkvetenskaplig databehandling (2018) Lingvistiskt uppmärkt text Marco Kuhlmann Institutionen för datavetenskap Korpusdata: Ett konkret exempel 1 Genom genom ADP 2 case 2 skattereformen skattereform
Tentamen 2016-01-13. Marco Kuhlmann
TDDD02 Språkteknologi för informationssökning (2015) Tentamen 2016-01-13 Marco Kuhlmann Denna tentamen består av 10 frågor. Frågorna 8 10 ligger på en högre kunskapsnivå än de övriga och kräver utförliga
Karp. https://spraakbanken.gu.se/karp Övningar Språkbankens höstworkshop oktober 2016
Karp Övningar Språkbankens höstworkshop 2016 https://spraakbanken.gu.se/karp sb-karp@svenska.gu.se 17 oktober 2016 ÖVERSIKT När du går in på https://spraakbanken.gu.se/karp kan du välja att söka i ett
Word- sense disambiguation
KTH Word- sense disambiguation Inlämningsuppgift - DD2418 - sprakt12 Mattias Uskali & Emilia Hillert 1/8/2013 Sammanfattning Denna rapport kommer att undersöka två metoder för word- sense disambiguation,
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
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
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
Grammatik för språkteknologer
Grammatik för språkteknologer Språkteknologi och grammatiska begrepp http://stp.lingfil.uu.se/~matsd/uv/uv11/gfst/ Mats Dahllöf Institutionen för lingvistik och filologi November 2011 Lite mer om språkteknologisk
WEBB365.SE. Hur skriver man sökmotoroptimerade texter
Hur skriver man sökmotoroptimerade texter Introduktion Det finns mycket man kan göra för att lyckas på nätet och att skriva sökmotoroptimerade texter är definitivt en av de viktigare. I korta ordalag kan
Kungliga Tekniska Högskolan 2006-03-26. Patrik Dallmann 821107-0274
Kungliga Tekniska Högskolan 2006-03-26 Patrik Dallmann 821107-0274 Patrik Dallmann dallmann@kth.se Inledning Syftet med detta arbete är att undersöka metoder för att upptäcka syftningsfel i vanlig text.
Kort om World Wide Web (webben)
KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.
Variator Automatisk synonymvariering av text
Variator Automatisk synonymvariering av text Magnus Rosell 27 mars 2006 Sammanfattning Detta är en rapport om min individuella uppgift i kursen Språkgranskningsverktyg inom GSLT. Den beskriver ett litet
Språkteknologi. Språkteknologi
Språkteknologi Denna kurs handlar om naturliga språk (svenska, engelska, japanska, arabiska ), och hur vi kan få datorer att utföra användbara och intressanta uppgifter med naturliga språk. Språkteknologi
Handbok Kanagram. Danny Allen Översättare: Stefan Asserhäll
Danny Allen Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Använda Kanagram 6 2.1 Spela ett spel......................................... 7 3 Anpassa Kanagram 9 3.1 Ordförråd..........................................
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
Att använda Weka för språkteknologiska problem
Att använda Weka för språkteknologiska problem Systemet WEKA (Waikato Environment for Knowledge Acquisition) är en verktygslåda med olika maskininlärningsalgoritmer, metoder för att behandla indata, möjligheter
Bootstrapping för substantivtaggning
Kungliga Tekniska Högskolan NADA Bootstrapping för substantivtaggning -Djur eller icke djur Hösten 2004 Kurs: Språkteknologi 2D1418 Jonathan Johnson j0j0@kth.se Mikael Melin mime@kth.se Handledare: Jonas
SUBSTANTIV = namn på saker, personer, känslor
KONKRETA = de du ta på, ex: hus, Kalle ABSTRAKTA = de du inte kan ta på, ex: mod, sanning, kärlek SUBSTANTIV = namn på saker, personer, känslor EGENNAMN Ex: Linda, Sverige, Vättern, Sydsvenskan NUMERUS
Exempel på verklig kravspecifikation
Exempel på verklig kravspecifikation Detta är ett exempel på en proffessionell kravspecifikation hämtad ur verkliga livet. Den visas inte i sin fullständighet, det mesta är bortklippt, men strukturen och
Inlämningsuppgift: Pronomenidentifierare
1 (7) Inlämningsuppgift: Pronomenidentifierare 2D1418 Språkteknologi landes@bredband.net johnne@kth.se 1 2 (7) 1 Uppgiften... 3 2 Algoritmen i korthet... 3 3 Representation av data... 3 4 Indikatorer...
Våren 2010. Nationalencyklopedin. Avancerad guide
Nationalencyklopedin Avancerad guide Nationalencyklopedin Våren 2010 Nationalencyklopedins uppdrag är att sprida kunskap, texterna är skrivna av drygt 4 000 experter och bearbetad av redaktionen. På nätet
KODNING AV MAXIMALA GRAMMATISKA ENHETER Manual
KODNING AV MAXIMALA GRAMMATISKA ENHETER Manual Jens Allwood Maria Björnberg Alexandra Weilenmann Version 1, januari 1999 1. Principer för kodning av maximala grammatiska enheter När man kodar maximala
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
Arbeta med Selected Works en lathund
Arbeta med Selected Works en lathund Att redigera din egen Selected Works-sida Ta fram din sida och logga in via My Account längts ner på sidan. Klicka på Edit My Site för att redigera sidan. Gå nu vidare
Tentamen Del A. Marco Kuhlmann
TDDD01 Språkteknologi (2016) Tentamen 2016-03-16 Marco Kuhlmann Tentamen består två delar, A och B. Varje del omfattar ett antal frågor à 3 poäng. Del A omfattar 8 frågor som kan besvaras kortfattat. Det
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
729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap
729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion Marco Kuhlmann Institutionen för datavetenskap Denna föreläsning Kursens innehåll och organisation Korpuslingvistik och språkteknologi Textsegmentering
Lathund - webbsidor och filer
Lathund - webbsidor och filer 2005-09-07 Manualen nås via denna webbadress: http://www.med.lu.se/support Lathund - webbsidor och filer... 1 1. Inloggning... 2 Efter inloggningen... 2 2 Översikt över gränssnittet...
Använd WordFinder från Mac App Store optimalt! Snabbguide med nyttiga tips och trix.
Använd WordFinder från Mac App Store optimalt! Snabbguide med nyttiga tips och trix. Tekniska förutsättningar För WordFinder från Mac App Store krävs följande: Processor: Intel Mac OS X 10.6.6 eller senare.
Dags att skriva uppsats?
Dags att skriva uppsats? Grundkurs i Word 2010 SDM Studentdatorutbildning vid Malmö högskola Att skriva i Word! 1 Börja skriva/skapa ditt dokument- något att tänka på 1 Spara ditt dokument 1 Bra att veta
Lingvistiskt uppmärkt text
729G09 Språkvetenskaplig databehandling (2016) Lingvistiskt uppmärkt text Marco Kuhlmann Institutionen för datavetenskap Från form till betydelse pragmatik semantik analys generering syntax morfologi Skolans
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
Statistisk grammatikgranskning
Statistisk grammatikgranskning Johnny Bigert johnny@nada.kth.se Traditionell grammatikgranskning Hitta stavningsfel och grammatiska fel: Regler Lexikon Traditionell grammatikgranskning Fördelar: Säkert
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å
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...
Grafiska användargränssnitt i Java
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har
Utseende. Lauri Watts Översättare: Stefan Asserhäll
Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Utseende 4 1.1 Allmänt............................................ 4 1.2 Teckensnitt.......................................... 4 1.3 Stilmallar...........................................
Calligra. En allmän inledning. Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll
En allmän inledning Raphael Langerhorst Jost Schenck Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Komponenter i Calligra.................................. 5 1.2 Översikt över funktioner i
Word-guide Introduktion
Word-guide Introduktion På det kognitionsvetenskapliga programmet kommer du läsa kurser inom flera olika vetenskapsområden och för varje vetenskapsområde finns ett speciellt sätt att utforma rapporter.
Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser
Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta
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
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
Styrelsebloggens bruksanvisning
Styrelsebloggens bruksanvisning sidan 1 av 11 Styrelsebloggens bruksanvisning 1. Inledning Skattkammarvägens samfällighetsförening i Lindsdal, Kalmar består av 85 friliggande hus fördelat på gatorna: Skattkammarvägen
Lathund för Gustavas ordböcker
Lathund för Gustavas ordböcker Gustavas ordböcker har länge funnits som bok men finns även i digitalt format vilket underlättar för elever med läs- och skrivsvårigheter. Starta Gustavas ordböcker genom
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
Karp. Övningar Språkbankens höstworkshop oktober 2017
Karp Övningar Språkbankens höstworkshop 2017 https://spraakbanken.gu.se/karp sb-karp@svenska.gu.se 17 oktober 2017 ÖVERSIKT I nuläget finns det över 25 olika lexikon i Karp. När du går in på https://spraakbanken.
INNEHÅLLSFÖRTECKNING... 1 INLEDNING... 2 1. ORDBOKEN I VERKTYGSLISTEN... 3 2. ORDBOKEN... 3
Ordboken 1 Innehållsförteckning INNEHÅLLSFÖRTECKNING... 1 INLEDNING... 2 1. ORDBOKEN I VERKTYGSLISTEN... 3 2. ORDBOKEN... 3 MINIMERA OCH STÄNG... 3 SÖKFÄLT... 4 SÖKRESULTAT... 4 Resultat... 4 Ordklassfärger...
Grammatik för språkteknologer
Grammatik för språkteknologer Introduktion http://stp.lingfil.uu.se/~matsd/uv/uv11/gfst/ Mats Dahllöf Institutionen för lingvistik och filologi Oktober 2011 Lärandemål Efter avslutad kurs skall studenten
Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi
Maskininlärning med boostrapping Maskininlärningslabb i Språkteknologi Abstrakt Vi undersöker, med hjälp av maskininlärningslabben från denna kurs, hur pass bra resultat bootstrapping ger i samband med
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)
Utveckling av simulator för ärendehanteringssystem
Datavetenskap Opponent(er): Emil Danielsson & Patrik Lundberg Respondent(er): Niclas Hanold & Samiar Saldjoghi Utveckling av simulator för ärendehanteringssystem Oppositionsrapport, C/D-nivå 2005:xx 1
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
Manual HSB Webb brf 2004 03 23
TERMINOLOGI I Polopoly används ett antal grundläggande begrepp för publicering och hantering av information, eller innehåll som det också benämns. Nedan följer en kort genomgång av denna grundläggande
Taggning av räkneord som årtal eller andra räkneord, Språkteknologi 2D1418, HT 01 Jonas Sjöbergh, , 15 oktober 2001
Taggning av räkneord som årtal eller andra räkneord, Språkteknologi 2D1418, HT 01 Jonas Sjöbergh, 761029-0178, jsh@nada.kth.se 15 oktober 2001 1 Bakgrund 1.1 Kort om taggning Taggning innebär att man ger
Hantering av email systemet Zimbra
Innehållsförteckning Hantering av email systemet Zimbra 1.Utseende...2 2.Hantering...3 2.1.Spam till Skräp(Junk)...3 2.2.Sätta automatiskt mailsvar...4 2.3.Uppgifter (Tasks)...4 2.4.Ärenden...5 2.5.Etiketter...5
Svenskans struktur, 7,5 hp Tentamensexempel 1
Svenskans struktur, 7,5 hp Tentamensexempel 1 På de följande sidorna återges ett exempel på en tentamen i Svenskans struktur. Tentan är uppdelad i tre delar. För att få godkänt på kursen måste man ha godkänt
Handbok Svarta lådan. Nicolas Roffet Robert Cimrman Philip Rodrigues Lauri Watts Översättare: Stefan Asserhäll
Nicolas Roffet Robert Cimrman Philip Rodrigues Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategier och tips 7 3.1 Spelregler..........................................
Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I
L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!
ClaroDictionary med tal. ClaroDictionary utan tal
ClaroDictionary med tal ClaroDictionary utan tal Manual Artikelnummer 10400 och 10401 1 Innehåll Välkommen till ClaroDictionary...3 ClaroDictionary Översikt...4 ClaroDictionarys verktygsknappar...4 Knappen
Föreläsninsanteckningar till föreläsning 3: Entropi
Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.
Pre-editering och maskinöversättning. Convertus AB
Pre-editering och maskinöversättning Bakgrund Convertus roll i DigInclude är att utveckla och tillhandahålla översättningstjänster för översättning av användarorienterad myndighetsinformation Översättning
Klassificering av homonymer Inlämningsuppgift språkteknologi
Klassificering av homonymer Inlämningsuppgift språkteknologi 2013-01-10 Kurskod: DD2418 Författare Gustav Ribom 910326-0593 Erik Aalto 861108-0212 Kontaktperson Johan Boye Abstract Ordet fil har flera
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
Handbok Förstoringsglaset. Sarang Lakare Olaf Schmidt Översättare: Stefan Asserhäll
Sarang Lakare Olaf Schmidt Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Att använda Förstoringsglaset 7 2.1 Ändra del av skärmen som ska förstoras......................... 7 2.2 Fler funktioner
Logging Module into the PRIME Core
Datavetenskap Opponent: Andreas Lavén Respondenter: Anders Ellvin, Tobias Pulls Implementing a Privacy-Friendly Secure Logging Module into the PRIME Core Oppositionsrapport, E-nivå 2005:xx 1 Sammanfattat
Genomgång utav KURT Kursvärderingssystemet för Linköpings Universitet
Genomgång utav KURT Kursvärderingssystemet för Linköpings Universitet Överblick Varför kursvärdering? Samtliga kurser inom den grundläggande utbildningen vid LiU ska utvärderas med stöd av det elektroniska
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
Titel Mall för Examensarbeten (Arial 28/30 point size, bold)
Titel Mall för Examensarbeten (Arial 28/30 point size, bold) SUBTITLE - Arial 16 / 19 pt FÖRFATTARE FÖRNAMN OCH EFTERNAMN - Arial 16 / 19 pt KTH ROYAL INSTITUTE OF TECHNOLOGY ELEKTROTEKNIK OCH DATAVETENSKAP
Tillämpad programmering CASE 1: HTML. Ditt namn
Tillämpad programmering CASE 1: HTML Ditt namn 18 [HTML] Din handledare vill se din skicklighet i att använda HTML-koden. Du ska utveckla en webbplats om ditt intresse, inriktning eller gymnasiearbete.
Syntaktisk parsning (Jurafsky & Martin kapitel 13)
Syntaktisk parsning (Jurafsky & Martin kapitel 13) Mats Wirén Institutionen för lingvistik Stockholms universitet mats.wiren@ling.su.se DH2418 Språkteknologi DA3010 Språkteknologi för datorlingvister Föreläsning
Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll
Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Inlärningsmetodiken.................................... 5 1.2 De första stegen i Artikulate................................
Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg
Föreläsning 5: Modellering av frasstruktur 729G09 Språkvetenskaplig databehandling Lars Ahrenberg 2014-05-05 1 Översikt Introduktion generativ grammatik och annan syntaxforskning Att hitta mönster i satser
Föreläsning 5: Grafer Del 1
2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första
Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.
Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning
3. Hämta och infoga bilder
Sida 1 av 8 Lektion 1: sida 4 av 4 «Sida 3 av 4 Till kursens framsida 3. Hämta och infoga bilder Nu vet vi ju hur man sätter in text i sin sida. Men hur gör man med bilder? Det är inte svårt alls! Det
Några skillnader mellan svenska och engelska
UPPSALA UNIVERSITET Grammatik för språkteknologer Institutionen för lingvistik och filologi Föreläsningsanteckningar Mats Dahllöf December 2011 Några skillnader mellan svenska och engelska 1 Inledning
Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4
Avbildningar och hashtabeller Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4 1 2 Mängder i Java 3 Mängd-gränssnittet Set vs. List Mängder får endast innehålla unika element: Metoden.add(E) returnerar
Hur bestämmer man vilka fonem ett språk har? Fonologi. Kommutationstest. Hur bestämmer man vilka fonem ett språk har?
Fonologi Mattias Heldner KTH Tal, musik och hörsel heldner@kth.se Hur bestämmer man vilka fonem ett språk har? Hur bestämmer man vilka fonem ett språk har? Fonem = minsta betydelseskiljande ljudenhet i
Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll
Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Inlärningsmetodiken.................................... 5 1.2 De första stegen i Artikulate................................
Handbok Kiten. Jason Katz-Brown Daniel E. Moctezuma Översättare: Stefan Asserhäll
Jason Katz-Brown Daniel E. Moctezuma Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Använda ordboken 6 2.1 Slå upp ord.......................................... 6 2.1.1 Filtrering.......................................
Handbok Othello. Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Översättare: Stefan Asserhäll
Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 7 3.1 Spelets grunder.......................................
Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
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
Teoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för
Hjälper dig att kontrollera din text efter felstavningar och lättförväxlade ord. Manual
ClaroStava svenska PC med tal Ett rättstavningsprogram artnr 12315 Hjälper dig att kontrollera din text efter felstavningar och lättförväxlade ord. Manual ClaroStava delas upp på två knappar. Kontroll:
Varför är morfologi viktigt? Morfologisk analys och generering. Vad är ett ord (idag vs. i dag) Kan man inte lägga alla ord i en lexikonfil?
Morfologisk analys och generering Språkteknologi för språkkonsulter Ola Knutsson 2009 Varför är morfologi viktigt? Ord är grunden i alla världens språk Alla språkteknologiska aktiviteter kräver kunskap
Föreläsning 10. Besiktningsprotokollet
Föreläsning 10 Besiktningsprotokollet 1 Besiktningsprotokollet 2 Användarvänlighet Informativa utskrifter Programmet ska tala om för användaren vad programmet gör i varje steg och vilken inmatning som
Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt
Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt Kravhantering / Testprocess - Agenda AGENDA Grundläggande kravhanteringsprocess. Insamling, dokumentation, prioritering, Test och förvaltning
Mobil streckkodsavläsare
Avdelningen för datavetenskap Martin Persson Jan Eriksson Mobil streckkodsavläsare Oppositionsrapport, D-nivå 2005:xx 1 Generell utvärdering av projektet Projektet gick ut på att undersöka hur bra olika
Föreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Axalon Process Navigator SP Användarhandledning
Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP 2013, senast reviderad: den 11 juni 2014 Innehåll Innehåll... 2 Om denna användarhandledning... 3 Syfte... 3 Vem är denna handledning
Tentamen, Algoritmer och datastrukturer
UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och
Grafiska användargränssnitt i Java
jonas.kvarnstrom@liu.se 2017 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Till stor del ersatt av Swing: Mer omfattande,
FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll
FrontPage Express I programpaketet Internet Explorer 4.0 och 5.0 ingår också FrontPage Express som installeras vid en fullständig installation. Det är ett program som man kan använda för att skapa egna