729G09 Språkvetenskaplig databehandling Kursintroduktion 2015-04-08 Lars Ahrenberg 1
Plan Kursens innehåll och organisation Text, språk och datorer Textformat och textrepresentationer Korpuslingvistik Att söka i korpusar Att skapa korpusar Något om språkteknologi 2
Kursmål Efter avslutad kurs ska du kunna bearbeta texter och textsamlingar med korpusverktyg och utarbeta enkla skript, förstå hur formella grammatiker är uppbyggda och kan användas för modellering av strukturen i ord och meningar, redogöra för och värdera tillämpningar av dessa metoder för lingvistiska syften 3
Kursens plats i programmet Utvecklar kunskaper från 729G04: Programmering och diskret matematik 729G08: Lingvistik Påbyggnad 729G17: Språkteknologi 729G20: Lokalisering, översättning och terminologi 4
Lärare och personal Kursansvarig och examinator Lars Ahrenberg Kurssekreterare Annelie Almqvist Kursassistent Evelina Rennes Labhandledning Sarah Albertsson, Per Fallgren, Marcus Liw, Evelina och Lars 5
Kurslitteratur Gunlög Josefsson: Svensk universitetsgrammatik för nybörjare. Beskow, Lager, Nivre: Elementa i generativ grammatik. Susan Hunston: Corpora in Applied Linguistics, sid. 109-123. Cambridge University Press, 2002. + ett antal nätresurser, och artiklar, se kursinformation Laborationsanvisningar med länkar 6
Uppläggning av kursen Lab-1 Lab-2 Lab-3 F/L F/L F/L D UPG2 - förberedelse F/L UPG2 F/L: Föreläsning/Lektion, D: dugga 7
Examination UPG1 (4hp) Tre laborationer följt av en individuell kunskapskontroll ( dugga ) UPG2 (2hp) Utförlig redovisning av ett antal uppgifter som ska lösas med hjälp av korpusanalyser och korpusverktyg. Betyg För att få VG på hela kursen krävs VG på tre (av fyra) delmoment. 8
Kursinnehåll, UPG1 Lab 1 Textbearbetning med reguljära uttryck i Python Teori: reguljära språk, reguljära mängder Lab 2 Textbearbetning på lingvistiskt uppmärkt text med Python och Linux/Unix-program Teori: XML och lingvistik Lab 3 Skriva frasstrukturregler för svenska meningar Teori: kontextfria språk och lingvistik 9
Kursinnehåll UPG2 UPG 2 Analys av ordbetydelser med hjälp av korpusdata Analys av kulturella/kognitiva föreställningar med hjälp av korpusdata 10
Tillåtet och otillåtet Diskussion och samarbete kan röra principer och generella problem, ej kod eller specifik lösning på en uppgift. Det är inte tillåtet att flera grupper gemensamt gör program och lämnar in dessa som egna lösningar. Båda personerna i ett labbpar ska ha arbetat med alla uppgifter och kunna redogöra för samtliga uppgifter. Om vi misstänker att fusk förekommer rapporteras fallet till universitetets disciplinnämnd. 11
Text, språk och datorer Text som data i applikationsystem sökmotorer textinmatning ordbehandlare content management systems (CMS) text mining / text analytics... 12
Text, språk och datorer Text som data i datorprogram strängar teckenkodning fast bytelängd, t.ex ASCII variabel bytelängd, t.ex Unicode strukturering och uppmärkning.txt,.doc,.odt,.html,.xml,... rendering 13
Text, språk och datorer Text som data för forskning praktisk språkvetenskap, dvs att studera och beskriva språkbruket teoretisk språkvetenskap humaniora, samhällsvetenskap, kognitionsvetenskap 14
Text, språk och datorer Korpuslingvistik fokus: riktiga språkbruksexempel i form av texter och inspelat tal Datorlingvistik fokus: datormodellering av språk på olika nivåer. Språkteknologi fokus: tillämpningar 15
Korpus Från corpus (latin): kropp texter som är föremål för språkvetenskapligt studium (Svensk Ordbok) A body of texts, utterances, or other specimens considered more or less representative of language and usually stored electronically... (The Oxford Companion to the English Language) Korpuslingvistik handlar om metoder för språkliga studier av korpusdata. 16
Vanliga krav på språkvetenskapliga korpusar Representativ för ett språk eller ett subspråk ('varietet') Ändlig storlek (dvs. statisk) MEN: dynamiska korpusar finns också Maskinläsbar Skall fungera som standardreferens EXEMPEL: British National Corpus (BNC) Stockholm-Umeå Corpus (SUC) 17
Korpusar av olika slag Generella korpusar problem: representativitet Specifika korpusar inriktning mot en viss genre, en viss författare, en viss historisk period,... Tränings- och testkorpusar Applikationer / Språkteknologi 18
Frågor för korpusmetoder Hur används ordet/frasen 'X'? generellt i olika genrer, tider,... Kan man säga 'X'? Vad är skillnaden mellan 'X' och 'Y'? betydelse, stilnivå,... 19
Exempel Att undersöka konstruktioner jag skulle aldrig vadå? heter det 'en apelsin' eller 'ett apelsin'? vad skiljer svag från klen? pojke från kille? happy från glad? ska från skall? 20
Fler frågor Vilka är de 1000 vanligaste orden i svenska? Vad är en bra engelsk översättning av hon blev sjukt glad? 21
Korpusverktyg Med korpusprogram kan man visualisera, sortera, lyfta fram, ordna om korpusdata så att det kan undersökas på ett antal olika sätt. Frekvens (jämförelse av olika texttyper, t.ex. de 50 mest frekventa orden) Fraseologi (studera användning av ord i dess kontexter; jämföra snarlika ord) KWIC-konkordanser: Key Word in Context Kollokationer (ord som tenderar att förekomma tillsammans oftare än förväntat): shed-light, shedtears, shed-blood... 22
Några sajter med korpusar och korpusverktyg http://www.americancorpus.org/ (Mark Davis) http://ngrams.googlelabs.com/ (Google ngram viewer) Korp (Språkbankens webbgränssnitt) 23
En KWIC-konkordans (Korp 140325) 24
Trenddiagram selfie 25
Ordbild för pojke (Korp 140325, skönlitteratur) 26
Ordbild för kille (Korp 140325, skönlitteratur)) 27
Frekvenser för jämförelser Books Times Spoken Total man 980 583 285 1848 woman 456 208 137 801 husband 163 140 92 395 wife 216 224 83 523 Källa: Hunston (2002). Corpora in Applied Linguistics, sid. 8. Frekvenserna är hämtade från korpusen Bank of England och anges med antal per en miljon ord. 28
Ngram Ett ngram är en sekvens av n ord: unigram = ett ord bigram = två ord trigram = tre ord 29
Trenddiagram från Google Ngram Viewer 30
Frågor till Google Ngrams Hur förändrar sig användningen av 'X, Y, ' över tid, Hur mycket vanligare är 'X' än 'Y' vid en viss tid, Hur stor andel av frasen X följs av ordet W? 31
Om värdet av korpusar En korpus kan ge information om hur vanligt ett ord eller en konstruktion är En korpus kan belysa skillnader mellan ord och konstruktioner som förefaller synonyma En korpus kan ge evidens för eller emot givna hypoteser (inte bara språkvetenskapliga) MEN förklaringar måste ofta sökas utanför korpusen 32
Att skapa korpusar Urval Insamling Avformatering Beskrivning Segmentering Normalisering Uppmärkning / Formatering Vidare analys och datagenerering 33
Segmentering Identifiera meningsgränser, Identifiera ordförekomster ( tokens ) separera skiljetecken från ord och representera dem som egna tokens, hantering av klitiska pronomen och adverb, t.ex. I'm, you'll, John's... 34
Normalisering Ge tokens av samma typ enhetliga representationer som teckensekvenser, t.ex. hantering av stora bokstäver, hantering av förkortningsvarianter (t.ex., t.ex, tex., t ex, ) andra varierande skrivsätt: överhuvudtaget, över huvud taget,... 35
Vidare analyser Lemmatisering identifiera grundformer och ev reducera ord till sina grundformer Bestämning av morfologiska egenskaper numerus, tempus etc. Ordklassbestämning Parsning m.m. 36
Formatering, t.ex. med användning av XML <s id="s42"> <w id="w644" relpos="1" base="i" pos="pron" msd="pers-sg-nom">i</w> <w id="w645" relpos="2" base="have" pos="v" msd="pres-aux">'ve</w> <w id="w646" relpos="3" base="already" pos="adv" msd="">already</w> <w id="w647" relpos="4" base="sell" pos="pcp" msd="perf" >sold</w> <w id="w648" relpos="5" base="one" pos="num" msd="card-sg" >one</w> <w id="w649" relpos="6" base="house" pos="n" msd="sg">house</w> <w id="w650" relpos="7" base="today" pos="adv" msd="">today</w> </s> 37
XML: Extensible Markup Language öppen W3C standard syfte: data ska vara läsbara för både människor och maskiner innehåll associeras med uppmärkning via taggar och attribut med värden. <w id="w645" relpos="2" base="have" pos="v" msd="pres-aux">'ve</w> starttagg innehåll 38
Trädstrukturer; frasstruktur S NP VP TV NP DT N DT N en hund jagar en bil 39
Språkteknologitillämpningar Informationsutvinning/extraktion (IE) Åsiktsanalys (sentiment analysis, opinion mining) Textsammanfattning Översättning Frågebesvarande system (Q/A) Dialoghantering... 40
Text som data i språkteknologi Korpusar används för att träna modeller machine learning statistiska modeller Korpusar används för att testa modeller Korpusar märks upp för att bli mer användbara referensdata för träning och test 41
Språkteknologisk forskning på CiltLab Stöd för flerspråkighet baserad på korpusar översättningsteknologi, termextraktion, termhantering Textsammanfattning, textförenkling Läraktiga agenter (pedagogiskt motiverad dialog) Parsningsalgoritmer 42
CLARIN: Common Language Resources Infrastructure 43