729G09 Språkvetenskaplig databehandling (2016) Kursintroduktion Marco Kuhlmann Institutionen för datavetenskap
Denna föreläsning Kursens innehåll och organisation Språk och datorer Korpuslingvistik och språkteknologi
Lärandemål Efter avslutad kurs ska du kunna bearbeta texter och textsamlingar med datorverktyg 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, särskilt korpuslingvistik och språkteknologi
Kursens plats i programmet Kursen utvecklar kunskaper från 729G04 Programmering och diskret matematik (termin 1) 729G08 Lingvistik (termin 1) Kursen får sin fortsättning i 729G17 Språkteknologi (termin 4) 729G20 Lokalisering, översättning och terminologi (termin 5)
Lärare och personal Marco Kuhlmann kursansvarig, examinator Annelie Almqvist kursadministratör Robin Kurtz kursassistent Sarah Albertsson, Per Fallgren, Marcus Liw laborationsassistenter
Kurslitteratur Gunlög Josefsson. Svensk universitetsgrammatik för nybörjare. Studentlitteratur, 2009 samma bok som används i 729G08 Lingvistik Björn Beskow, Torbjörn Lager, Joakim Nivre. Elementa i generativ grammatik. Studentlitteratur 1996 tillhandahålls som PDF med tillstånd från författarna diverse nätresurser och artiklar
Kursens uppläggning måndag 10 12 måndag 13 17, onsdag 13 17 fredag 10 12 v 14 F1 Kursintroduktion L1 Textbearbetning med reguljära uttryck F2 Översikt lingvistik v 15 F3 Lingvistiskt uppmärkt text L2 Bearbetning av formaterad, lingvistiskt uppmärkt text F4 Dependensgrammatik v 16 F5 Frasstrukturgrammatik L3 Syntaktisk modellering med frasstrukturgrammatik F6 Språkteknologi v 17 Individuell fördjupningsuppgift v 18 S1, S2 Slutseminarier
Examination UPG1 (4 hp) tre laborationer; utförs i par en individuell kontrollskrivning ( dugga ) UPG2 (2 hp) en större individuell inlämningsuppgift aktiv närvaro vid ett slutseminarium Slutbetyg på kursen är det bästa betyget från de två delmomenten.
Kursinnehåll UPG1 Laboration 1 (deadline: 2016-04-08) Textbearbetning med reguljära uttryck Teori: reguljära uttryck Laboration 2 (deadline: 2016-04-15) Bearbetning av formaterad, lingvistiskt uppmärkt text Teori: XML och lingvistik Laboration 3 (deadline: 2016-04-22) Syntaktisk modellering med frasstrukturgrammatik Teori: frasstrukturgrammatik och lingvistik
Kursinnehåll UPG2 Lärandemål: Redogöra för och värdera tillämpningar av skriptprogrammering och formell grammatik för lingvistiska syften, särskilt korpuslingvistik och språkteknologi. Slutseminarium: 2016-05-02 eller 2016-05-04 Deadline för inlämningsuppgiften: 2016-05-06 Mer information om detta på fredag.
Denna föreläsning Kursens innehåll och organisation Språk och datorer Korpuslingvistik och språkteknologi
Språk som data i applikationssystem sökmotorer språkbaserade användargränssnitt frågebesvarande system plagiatsdetektering text mining, text analytics automatisk översättning
Var börjar vi? För att bearbeta språk med datorer behöver vi först och främst ett sätt att representera språk på datorer. Det finns två sätt att språkligt interagera med en dator: text: skriva eller läsa tal: prata eller lyssna På denna kurs kommer vi att begränsa oss till text. Hur representerar vi text på en dator?
Hur text lagras på en dator Den minsta enheten information på en dator är en bit. två möjliga värden: av eller på, 0 eller 1 Med varje ny bit fördubblas antalet möjliga värden. 1 bit = 2 värden, 2 bitar = 4, 64 bitar = 18 446 744 073 709 551 616 En sekvens av 8 bitar kallas byte. 8 bitar = 256 möjliga värden Text lagras som en sekvens av bytes.
American Standard Code for Information Exchange! " # $ % & ' ( ) * +, -. / 0 1 2 3 4 5 6 7 8 9 : ; < = >? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { } ~ DEL De 31 första tecknen är kontrolltecken (t.ex. tab, ny rad).
Teckenkodningar ASCII utvecklades för (amerikansk) engelska. 7-bitar, 128 möjliga tecken, numerisk ordning = alfabetisk ordning För att lagra texter i andra språk har olika språkspecifika teckenkodningar utvecklats. En viktig sådan är Latin-1 (ISO-8859-1), som även innehåller kodpositioner för de svenska tecknen åäö. 8-bitar, 256 möjliga tecken, numerisk ordning = alfabetisk ordning
Unicode Unicode är en standard som har som ambition att man ska kunna representera alla naturligt förekommande tecken. naturliga språk (levande och döda), matematiska symboler, emoji, Den senaste versionen av Unicode släpptes 2015 och innehåller ca. 121 000 olika tecken. 129 olika skriftsystem, t.ex. arabiska, kinesiska, Cherokee,
Unicode: Exempel tecken 1F600 (hexadecimal) = tecken 128512 (decimal)
UTF8 Unicode Transformation Format (8 bitar) Unicode har plats för 2 32 = 4 294 967 296 olika tecken. Hur kan man representera så många olika tecken i bytes? Lösning: Representera tecken med mer än en byte. tecken 0 127 = 1 byte, 128 2047 = 2 bytes, 2048 65535 = 3 bytes, Denna teckenkodning kallas UTF-8 (Unicode Transformation Format, 8 bytes) och är idag den mest använda teckenkodningen. mer än hälften av alla webbsidor enligt Google (2010)
Varfà r blir det sã hã r? s å [SPC] h ä r Unicode 115 229 32 104 228 114 UTF-8 115 195 182 32 104 195 165 114 Latin-1 115 195 182 32 104 195 165 114 s à [SPC] h à r Exempel: Per Starbäck
Denna föreläsning Kursens innehåll och organisation Språk och datorer Korpuslingvistik och språkteknologi
Korpuslingvistik
Vad är korpuslingvistik? Korpuslingvistik handlar om att undersöka språkvetenskapliga frågor utifrån korpusdata. Utgångspunkt: Språkvetenskapliga undersökningar bör baseras på texter från fältet, i deras naturliga kontexter.
Vad är en korpus? lat. corpus, oris n kropp korpus s. -en -ar, (språkv.) mängd av undersökt textmaterial Svenska Akademiens ordlista 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
Typiska frågeställningar Kan man säga X? Heter det en apelsin eller ett apelsin? Vad är skillnaden mellan X och Y (i betydelse, i stilnivå)? flicka vs. tjej Hur används X (generellt, i olika genrer, i olika tider)? tackle/noun vs. tackle/verb
Korpuslingvistisk metod: 3A Wallis och Nelson (2001) Hur kommer man från data till kunskap? Annotation strukturell uppmärkning, ordklasser, syntaktisk information Abstraction Relatera annotationerna till begrepp i en modell av texten. Analysis Använd modellen för att generera och testa hypoteser om språk.
Korpusar av olika slag Generella korpusar problem: representativitet Specifika korpusar inriktning mot en viss genre, författare, historisk period Parallela korpusar samma text i flera språk, för att studera översättningsfrågor Språkteknologiska korpusar för att träna och utvärdera språkteknologiska system
Korpusverktyg Frekvensanalys Visa de 50 mest frekventa orden i denna korpus. Konkordanser (KWIC = Keyword In Context) Visa alla kontexter i vilka ordet X används. Kollokationsanalys Visa ord som förekommer tillsammans oftare än väntat.
Exempel på korpusar och korpusverktyg Stockholm Umeå Corpus (Språkbanken) Korp (Språkbanken) Google Books Ngram Viewer British National Corpus (Oxford University) American National Corpus
Att skapa korpusar Fas Beskrivning Urval Välja ut de texter som ska vara med i korpusen. Insamling Samla in texterna, t.ex. genom att spindla webben. Avformatering Ta bort strukturell uppmärkning, t.ex. XML. Segmentering Dela upp textmaterialet i relevanta enheter. Annotering Lägg till relevant information, t.ex. ordklasser.
Tokenisering Rå text Tokeniserad text Den liknar andra arter inom familjen med böjd näbb, mönstrad brun ovansida, vitaktig undersida och långa styva stjärtpennor som den använder för att kunna balansera upprätt på trädstammar och grenar. Den liknar andra arter inom familjen med böjd näbb, mönstrad brun ovansida, vitaktig undersida och långa styva stjärtpennor som den använder för att kunna balansera upprätt på trädstammar och grenar.
Språkteknologi
Vad är språkteknologi? Språkteknologi är all teknologi som skapas för att förstå eller generera naturligt språk. Språkteknologi är ett tvärvetenskapligt forskningsområde med inslag av datalogi, lingvistik och kognitionsvetenskap. annat namn: datorlingvistik; engelska: natural language processing
We are drowning in information but starved for knowledge. John Naisbitt (1982)
Biljontals sidor på nätet 35 30 25 20 15 10 5 0 2008 2009 2010 2011 2012 2013 2014 Källa: statisticbrain.com
Kunskapsglappet ostrukterade data (text) analytiker språkteknologi (textanalys) strukturerade data (kunskapsdatabas) analytiker
Informationsutvinning Three bombs have exploded in north-eastern Nigeria, killing 25 people and wounding 12 in an attack carried out by an Islamic sect. Authorities said the bombs exploded on Sunday afternoon in the city of Maiduguri. Attribut Värde Type Crisis Subtype Bombing Location Maiduguri Dead-Count 25 Injured-Count 12 Perpetrator Islamic sect Time 2011-06-26
Kommersiellt intresse Källa: ACL 2015
Två utmaningar: Flertydighet och kontextualitet Flertydighet Ett och samma språkliga yttrande kan betyda flera olika saker. Time flies like an arrow. Fruit flies like a banana. Kontextualitet Ett språkligt yttrande kan endast tolkas i ett sammanhang. A: Kommer du ikväll? B: Jag har träning.
Flertydighet orsakar kombinatorisk explosion jag bad om en kort bit PN VB PP DT JJ NN NN NN SN PN AB VB PL RG NN AB NN
Ytterligare en utmaning: Många olika språk Källa: Har jag glömt bort