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

Relevanta dokument
ORDKLASSTAGGNING. Marco Kuhlmann Institutionen för datavetenskap

Tekniker för storskalig parsning

Klustring av svenska tidningsartiklar

Maskinöversättning möjligheter och gränser

Lingvistik I Delmoment: Datorlingvistik

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

Språkteknologi och Open Source

Kursplaneöversättaren. Lina Stadell

Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg

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

Tekniker för storskalig parsning

Tekniken bakom språket

Textsammanfattning. En uppsats i kursen Språkteknologi, 2D1418. höstterminen Carolin Jonsson. kursledare: Hercules Dalianis

Modellering med kontextfri grammatik Kontextfri grammatik - definition En enkel kontextfri grammatik Klasser av formella språk

Lingvistik I Delmoment: Datorlingvistik

Anna Sågvall Hein, Institutionen för lingvistik, Uppsala universitet Rosenbad/ Automatisk översättning och översättningshjälpmedel

Grundläggande textanalys. Joakim Nivre

Grammatik för språkteknologer

Lingvistik I Delmoment: Datorlingvistik

Innehåll. Språkinlärning: mänsklig och datorstödd. Olika typer av program för datorstödd språkinlärning. Varför datorer i språkutbildning?

Omvärldsbevakning. Sammanfattning av Business Intelligence-kursen. Nyhetsarkiv och källork. Hämta webbnyheter. Modeller över texter

Bilverkstäder. Stemming. Tvetydigheter tas bort. Slå ihop till samma ord. Språkteknologiska stöd vid sökning och kategorisering

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

Tekniker för storskalig parsning: Grundbegrepp

Kungliga Tekniska Högskolan Patrik Dallmann

Tentamen Del A. Marco Kuhlmann

Innehåll. Syntax. Kan allt delas upp i små delar? Varför är syntax fascinerande? Olika språksyn. Vad är syntax?

Tentamen Marco Kuhlmann

729G09 Språkvetenskaplig databehandling

Pre-editering och maskinöversättning. Convertus AB

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Cristina Eriksson oktober 2001

Automatisk Sentimentklassificering av Twitter-inlägg

Automatisk identifiering av konstruktionskandidater för ett svenskt konstruktikon

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

Obesvarade frågor från F4

Objektorienterad Programmering (TDDC77)

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

Vindkraft och ML. - hur kan vindkraft dra nytta avml

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

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

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

DAB760: Språk och logik

Klassificering av homonymer Inlämningsuppgift språkteknologi

Kategorisering och klustring. Kategorisering vid indexering. Kategorisering. Kategorisering föränderligtf. Klustring

Lingvistiskt uppmärkt text

MÖSG ht 2005 Maskinöversättningssystemet MATS

Associationsanalys och klustring

Marco Kuhlmann, Institutionen för datavetenskap, Linköpings universitet 17 mars 2014

Datorlingvistik och språkteknologi

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

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Innehåll. Informationssökning språkteknologiska hjälpmedel

CD-ORD 9.0. Snabbhjälp

Datorlingvistisk grammatik

FOR BETTER UNDERSTANDING. Snabbguide.

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?

ENGA01: Engelska grundkurs, 30 högskolepoäng Studiebeskrivning

ÖU2100, Översättarutbildning 1. Magisterutbildning, 60 högskolepoäng

MATEMATIKENS SPRÅK. Avsnitt 1

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

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

Använd WordFinder från Mac App Store optimalt! Snabbguide med nyttiga tips och trix.

BLOCK 1. 1A. Att komma igång

Automatisk generering av grammatikövningar utifrån grammatiskt analyserad text

Maskininlärning med boostrapping. Maskininlärningslabb i Språkteknologi

HI1024 Programmering, grundkurs TEN

Innehåll. Datorstöd för skrivande och grammatikkontroll Ola Knutsson DH2418 Språkteknologi. Datorstöd för skrivande. Vilka metoder finns?

Maskinöversättning och språkgranskning. F6: Grammatikkontroll

Syntax S NP VP. AdjP. sleep. ideas. DH2418 Språkteknologi Johan Boye. Syntax

ENGA01: Engelska grundkurs, 30 högskolepoäng Studiebeskrivning

Klustring av svenska tidningsartiklar Clustering of swedish newspaper articles (Datalogi)

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Ansvarig lärare: Jörgen Larsson Mariann Bourghardt Telefonnummer:

CD-ORD 8 elevdata.se

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

Maskinöversättning. F Anna Sågvall Hein

Taltaggning. Rapport av Daniel Hasselrot , 13 oktober 2003

Automatisk textsammanfattning

Utbildningsplan för översättarprogrammet, 120 högskolepoäng. Professional Translation Programme, 120 higher education credits

I en matchning ligger varje hörn i högst en kant. I en stig ligger varje hörn i högst två kanter.

Nå dina mål. Fredrik Alm

Använda Convertus Kursplaneöversättaren

Lingvistik 729G08 (6 hp) Mathias Broth Charlotta Plejert Therese Örnberg Berglund Mikael Svensson

Utbildningsplan för översättarprogrammet, 120 högskolepoäng. Professional Translation Programme, 120 higher education credits

Föreläsning 2. Operativsystem och programmering

Informationssökning och -utvinning. Informationssökning och informationsutvinning. [IR & IE] Introduktion (1) [IR & IE] Introduktion (2)

Uppföljning och diagnosticering av läs- och skrivfärdighet.

Installera Anaconda Python

Kompilatorer och interpretatorer

Dagens lektion. Mina forskningsintressen. Min bakgrund. Information Retrieval. Varför IR & disambiguering

INNEHÅLLSFÖRTECKNING... 1 INLEDNING ORDBOKEN I VERKTYGSLISTEN ORDBOKEN... 3

Objektorienterad Programmering (TDDC77)

Svenskans struktur, 7,5 hp Tentamensexempel 1

Pragmatik. Olika nivåer. Tumregler. Grice s samarbetsprinciper. Pragmatik och diskurs

Språkgranskningsverktyg, vt 2009

Grammatik för språkteknologer

Korpuslingvistik. Metoder och tillämpningar inom språkteknologin - ht 07. Innehåll. Vad är en korpus? Vad är korpuslingvistik?

Frasstrukturgrammatik

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Transkript:

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 30^4 möjliga bokstavsfyrgram, vilket är ungefär 800000 stycken. Reservera en bit per fyrgram och låt denna bit vara 1 om fyrgrammet förekommer i svenska och 0 annars. Hela tabellen blir då 100 kbyte och uppslagning i den går mycket fort. Cirka 6 % av de möjliga bokstavsfyrgrammen förekommer i svenska. När Stava ska kontrollera om ett rättelseförslag är ett riktigt ord så slår programmet upp alla ordets bokstavsfyrgram i fyrgramstabellen och underkänner ordet om något av fyrgrammen inte finns i svenska. b) Gå igenom en stor korpus (till exempel hela SUC) och räkna hur många gånger varje bokstavsfyrgram förekommer. I den tredje ordningens markovmodellen har vi ett tillstånd för varje bokstavstrigram (som förekommer). Sannolikheten för en övergång från tillstånd abcd till tillstånd bcde är C(bcde)/C(bcd)=C(bcde)/(sum C(bcdx)) där x löper över alla 30 bokstäver och C() är korpusfrekvensen. Startsannolikhetsfördelningen ges av frekvenserna för bokstavstrigram som förekommer för i ord dividerat med antalet ord i korpusen. För varje ord får vi då en totalsannolikhet som är en produkt av startsannolikheten och övergångssannolikheterna. Vi behöver nu sätta en tröskel för vad ett ords totalsannolikhet ska vara för att det ska räknas som korrekt. Det blir en tröskel för varje ordlängd, och trösklarna ska sättas så att nästan inga riktiga ord hamnar under tröskeln. När man kontrollerar ett ord måste man alltså slå upp sannolikheterna, beräkna produkten, jämföra med rätt tröskel och underkänna ordet om produkten är mindre än tröskeln.

2. Syntax (2 poäng) Frasstrukturträd: S VP NP NP DT JJ NN VB DT NN Den gamla gumman åt en smörgås Dependensträd: Root main: åt subj: obj: den det: gumman attr: gamla en det: smörgås subj=subjekt obj=objekt det=determinerare attr=attribut

3. Maskininlärning (8 poäng) Samla in en korpus från de domäner som är intressanta, t.ex. nyhetstexter. För att få bra resultat vill vi ha supervised learning, d.v.s. vi vill ha ett annoterat träningsdata. Gå igenom texterna och märk upp kvinnor respektive män. Dela detta data i träningsdata (större delen, mer träningsdata ger bättre resultat), testdata och eventuellt optimeringsdata. Träna en maskininlärningsalgoritm, låt säga beslutsträd, på träningsdatat. Som särdrag matar vi in t.ex. ord i närheten, sista bokstaven i ordet självt och närmsta efterföljande pronomen. För att undvika att slumpmässiga snedfördelningar mellan kvinnor och män i träningsdatat lärs in (överinlärning) testar vi då och då vårt beslutsträd på optimeringsdatat. När ett djupare träd (tränat mer på träningsdatat) börjar ge sämre resultat på exemplen i optimeringsdatat avbryter vi träningen. För att få bra resultat utvidgar vi vårt beslutsträd med stora ordlistor på t.ex. kvinnonamn m.m. Slutligen testar vi hur bra resultatet blir på vårt testdata (som vi inte har använt tidigare), så vi får en uppfattning om hur bra systemet kommer fungera på nya texter. 4. Automatisk språkgranskning och datorstödd språkinlärning (5 poäng) De risker med automatisk språkgranskning som hör ihop med dragkampen mellan täckning och precision är främst missade fel och falska alarm. Om ett program har låg täckning innebär det att många fel kommer att missas, men programmet genererar få falska alarm. För att hitta fler fel måste man ofta sänka precisionen, vilket gör att fler falska alarm kommer att genereras. För skribenterna innebär det t.ex. att de fokuserar på de områden i texten där språkgranskningsprogrammet har pekat ut många fel, medan textavsnitt utan felmarkeringar, men med missade fel i, inte ägnas någon manuell granskningsenergi. En ovan skribent kan därmed få en känsla av att texten är färdiggranskad när alla felmarkeringar är borta i texten. Falska alarm å andra sidan gör många språkinlärare osäkra, och man följer kanske programmets råd trots att programmet är fel ute. Även vana skribenter kan tjatas ner av upprepade falska alarm, eller att man följer programmets råd av bara farten. Många falska alarm kan också medföra att bra alarm inte syns bland alla falska. 5. Maskinöversättning (3 poäng) En metod är s.k. transferbaserad maskinöversättning. I transferbaserade system arbetar man med språkpar, t.ex. svenska och engelska. Transfermetoder bygger på kunskap om språkliga skillnader mellan de språk som bildar språkparet. Tre huvudsteg är analys, transfer, och generering. Analys innebär grammatisk analys med ett eller flera parseträd som resultat. Transfersteget innebär att man transformerar om parseträd från källspråket till motsvarande parseträd i målspråket. När det väl finns ett parseträd för målspråket översätts och genereras orden. I många fall måste även lexikal transfer ske, ett exempel är att hantera transfer av sammansatta ord i svenska och särskrivna ord i engelska.

En uppenbar nackdel är man arbetar med just språkpar, vilket innebär stora kostnader när nya system för nya språkpar skall byggas. Det har man dock i vissa fall löst genom att alltid gå via engelska. Det vill säga man bygger ett transferbaserad system för språket X och engelska, och dessutom ett transfersystem för språket Y och engelska. När man sedan vill översätta mellan språken X och Y, översätter man först från språket X till engelska, och därefter mellan engelska till språket Y. Givetvis kan översättningen förvanskas på vägen. 6. Informationssökning (6 poäng) a) Värdet ska modellera hur viktig term i är för att beskriva innehållet i text j. b) Trunkering - att bestämma att bara ta med ett på förhand bestämt antal tecken av varje term Stemming - affixstrippning (ger "nästan grundform") Lemmatisering - att genom morfologisk analys ta fram ordets grundform Liknande ord kommer att betraktas som samma. Söker man på tvättbrädor får man även träff på tvättbräda. c) Att normalisera dokumentens vektorer, d.v.s. skala dem till enhetslängd. Det är inte värdet för varje enskild term som är viktig för textrepresentationen utan förhållandet mellan värdena. Två texter med samma proportioner mellan de ingående termerna antas väldigt lika till innehåll. 7. Klustring (6 poäng) a) Resultatet från en hierarkisk algoritm är ett kluster som i sin tur består av mindre kluster osv ända ned till enskilda dokument; en klusterhierarki. Partitionerande algoritmer delar en mängd texter i ett antal delar (kluster) som inte ingår i en hierarki, en platt uppdelning. b) Ett av följande * eller någon annan algoritm. * K-Means 1) Välj slumpmässigt ut k texter som utgångscentroider. 2) Bilda ett kluster för varje centroid bestående av alla texter som är mest lika dem. 3) Beräkna nya centroider för alla kluster. 4) Uppreppa 2 och 3 tills ett stoppkriterium nåtts. Exempel på kriterier: a) tills inga texter byter kluster b) 10 iterationer c) tills ett förutbestämt värde på klusterkvalite nåtts * Agglomerativ 1) Bilda ett kluster av varje text. 2) Slå samman de två kluster som är mest lika varandra. 3) Upprepa 2 tills ett stoppkriterium nåtts.

Exempel på kriterier: a) tills det bara finns 1 kluster b) tills det finns k kluster c) tills ett förutbestämt värde på klusterkvalité nåtts 8. Utvärdering (5 poäng) Hur bra eller dåligt ett resultat av en utvärdering är beror dels på vad man försöker mäta men också på vad det man försöker mäta svarar mot. Om människor kan utföra en uppgift med 78 % säkerhet verkar det orimligt att datorn med sina begränsade möjligheter skall kunna utföra den mycket bättre (snabbare kanske). Om människor då utför en uppgift med (i snitt) 78 % säkerhet och en annan med (åter i snitt) 99 %, så kan det vara så att ett maskinellt resultat på den förra på 76 % är bättre än ett maskinellt resultat på 92 % på den senare. Förutom att försöka uppskatta en möjlig övre nivå för förväntade resultat försöker man också oftast att uppskatta en förväntad lägsta nivå, s.k. baseline, som tas fram med någon naiv eller simplistisk metod. Denna svarar mot en slags lägsta acceptabla resultat. 9. Textsammanfattning och diskurs (5 poäng) Rethorical Structure Theory, eller RST, är en metod för diskursanalys som går ut på att man försöker identifiera centrala meningar i en diskurs (s.k. nukleärer eller kärnor) för att sedan koppla mindre centrala meningar (s.k. satelliter) till dem med olika relationer. Dessa relationer kan t.ex. vara av typen elaboration, kontrast, villkor eller resultat. Inom automatisk textextraktion skulle man t.ex. kunna använda RST för att välja ut främst kärnmeningar och även sådana satelliter som villkor eller resultat, men undvika att extrahera t.ex. elaborativa meningar. Inom automatisk textabstraktion skulle man å andra sidan kunna använda RST för att verifiera att man har lyckats generera en sammanhängande välbyggd text.