729G09 Språkvetenskaplig databehandling (2017) 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) och ofta även i kandidatuppsatsen
Lärare och personal Marco Kuhlmann kursansvarig, examinator Annelie Almquist kursadministratör Robin Kurtz kursassistent, laborationsassistent
Examination UPG1 (4 hp) tre laborationer; utförs i par avslutad med en individuell reflektionsrapport räkna med ca. 30 h per laboration (varav 8 h handledda) UPG2 (2 hp) en större individuell inlämningsuppgift räkna med ca. 50 h fördelade över hela kursen Slutbetyg på kursen är det bästa betyget från de två delmomenten.
Kursinnehåll UPG1 Laboration 1 (deadline: 2017-04-13) Textbearbetning med reguljära uttryck Koncept: reguljära uttryck Laboration 2 (deadline: 2017-04-21) Bearbetning av formaterad, lingvistiskt uppmärkt text Koncept: ordklasstaggar, dependensträd Laboration 3 (deadline: 2017-04-28) Frekvensanalyser och kollokationer Koncept: kollokationer
Kursinnehåll UPG2 Lärandemål: Redogöra för och värdera tillämpningar av kursens metoder för lingvistiska syften, särskilt korpuslingvistik och språkteknologi. Återkopplingsseminarium: 2017-05-02 eller 2017-05-03 Inlämningsdatum: 2017-05-05 Mer information om fördjupningsuppgiften på onsdag.
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
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 2016 och innehåller ca. 128 000 olika tecken. 135 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)
Många 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 As of 15 Mar 2002, Hawaii state health officials reported one additional recent case of dengue fever and 6 cases that occurred last year but were not confirmed by laboratory testing until 2002. Attribute Value docno ProMed.20020322.11 doc_date 2002.03.22 disease_name dengue fever norm_stime 2002.03.15 norm_etime 2002.03.15 victim_types Källa: Grishman et al. (2002) location Hawaii
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 Exempel: Joakim Nivre
Ytterligare en utmaning: Många olika språk Källa: Eric Gaba (Sting), Languages world map, CC BY-SA 3.0