INF1820: Introduksjon til spra k-og kommunikasjonsteknologi Tredje forelesning Lilja Øvrelid 30 januar, 2014 D ATA I Ra data: uprosesserte tall, tegn, bilder I Kvantitative vs kvalitative data
D ATA I Laveste abstraksjonsniva : data informasjon kunnskap V ITENSKAPSTEORI Empiricism is a theory of knowledge which asserts that knowledge comes via the senses experience Rationalism is any view appealing to reason as a source of knowledge or justification (Eng Wikipedia) I Paradigmeskifter lingvistikk og datalingvistikk: I I empirisme rasjonalisme, 60-tallet revitalisering av empiriske metoder 90-tallet I Rasjonalistene: teori-drevet, symbolske metoder I Empiristene: data-drevet, statistiske metoder big data -disiplin
SPRÅKLIGE DATA Modellere språklig kunnskap Trenger språklige data Introspeksjon Faktisk språkbruk korpusdata Språkteknologi: programmer som generaliserer over språklige mønstre Korpusdata helt sentralt Menneskelig språkprossessering: hvordan modelleres språk i hjernen? SPRÅK OG HJERNE
SPRÅK OG HJERNE Neurolingvistikk lingvistisk fagområde som studerer de mekanismer i den menneskelige hjerne som kontrollerer språk (-forståelse, -produksjon og - tilegnelse) Hjernen: Storehjernen er organisert i lapper : pannelappen, tinninglappen, isselappen, bakhodelappen. Utgjør 80% av hjernen Storehjernen har to halvdeler som arbeider i harmoni med hverandre gjennom corpus collosum (som består av over 200 millioner aktive nerveceller) Kontralateral hjernefunksjon Hvor er språk lokalisert? Data fra atypisk språk, feks ved hjerneskader Afasi enhver type språkvansker etter hjerneskade forskjellige typer avhengig av hvor skaden har oppstått Brocas område Brocas afasi, frontre delen av venstre hjernehalvdel Wernickes område Wernickes afasi, Planum Temporale i venstre hjernehalvdel Språk lateralisert til venstre hjernehalvdel
Afasistudier kan også si noe om hvordan språkevnen er organisert i hjernen Brocas afasi: agrammatisk språk, problemer med forståelse av syntaktisk komplekse konstruksjoner Yes... ah... Monday... er... Dad and Peter H... (his own name), and Dad... er... hospital... and ah... Wednesday... Wednesday, nine o clock... and oh... Thursday... ten o clock, ah doctors... two... an doctors... and er... teeth... yah Wernickes afasi: semantisk usammenhengende, men stort sett syntaktisk korrekt I felt worse because I can no longer keep in mind from the mind of the minds to keep me from mind and up to the ear which can be to find among ourselves. Moderne teknologi (MRI, CT, ERP) bekrefter stort sett lateralisering, mer nøyaktig bilde Forandringer i hjerneaktivitet
Neurolingvistiske data: hvor språket sitter empirisk støtte for teoretiske hypoteser Informasjon om organisering av språket: modulært organisert separate moduler Ord i nettverk semantisk, uttale table - chair tool - pool Funksjonsord adskilt fra innholdsord (Broca s afasi) Språkets autonomi? Adskilt fra andre kognitive mekanismer Språklige savanter Språkutvikling Kritisk periode for språktilegnelse hos barn Må trigges av miljøet Ville barn, Genie
SPRÅKLIGE DATA: KORPUSDATA Et korpus (tekstkorpus) er en strukturert samling tekster Elektronisk lagret Siste 30 årene innenfor lingvistikk og datalingvistikk: empirisk revolusjon Større og større tekstmengder tilgjengelig Empiriske data for lingvistiske studier (motsetning til introspeksjon) Treningsmateriale for datalingvistiske modeller av språklige fenomener
SPRÅKLIGE DATA: KORPUSDATA Korpus laget for å representere et visst språk eller språklig variant Språklige data to muligheter: 1. Arkivere alle setninger i et språk: UMULIG 2. Plukke ut et mindre utvalg ( sample ) av språket: MULIG 2 er mulig men ikke trivielt Et korpus må konstrueres slik at det minimerer fordommer ( bias ) og maksimerer representativitet ET TENKT KORPUS FOR NORSK Vi må inkludere forskjellige typer tekster: Skrift og tale? [registere] Fra forskjellige deler av landet? Et utvalg av dialekter? [regionale dialekter] Kun fra 2000-tallet? Hva med 1990? Eller 1950? [tidsperioder] Språk produsert av både menn og kvinner? Alle aldersgrupper, inkludert barn? Hva med utdanningsnivå? Sosial status? [demografi] Skal vi inkludere nyhetsstoff? Hva med kronikker, romaner og e-post? Tegneserier og tekstmeldinger? [sjanger]
ET TENKT KORPUS FOR NORSK Svarer JA på alle spørsmålene... men vi må også ta hensyn til fordeling, feks 50% tekst og 50% tale? 20% nyhetsstoff og 15% romaner? etc. Representativt korpus 1. ekstra-lingvistiske faktorer (feks demografi) 15% av innbyggerene bor i Oslo, så vi kan fordele korpuset etter dette 20% av befolkningen er over 60, la oss inkludere 20% av 60+ tekster 2. lingvistisk fordeling 20% av alle norske tekster er romaner 20% av korpuset 20-åringer leser og skriver dobbelt så mye som 60+, dobbelt så mange tekster produsert av/for 20-åringer ET TENKT KORPUS FOR NORSK For (2): Ikke gitt at vi har denne typen informasjon om befolkningen For (1): Ikke tilfredsstillende heller, demografi er ikke en nøyaktig indikator for språkbruk Umulig å oppnå et objektivt representativt korpus. Men vi prøver allikevel...
Hva kan vi gjøre med en tekst? Lære noe om teksten Feks typiske fraser i Monty Python and the Holy Grail Amazon bruker dette for anbefalinger av faglitteratur Lære noe om språk generelt Problematisk? Hvor mye kan vi lære om engelsk språk fra finansielle nyheter fra Wall Street Journal? Fra en samling poesi? For å motvirke denne effekten: representative korpuser Brown korpuset: 1 mill ord, tekster fra 500 kilder, kategorisert etter sjanger (nyheter, anmeldelser, religion, hobby etc.)
EKSISTERENDE KORPUSER NLTK kommer med flere innebygde korpuser >>> import nltk >>> from nltk.book import * *** Introductory Examples for the NLTK Book *** Loading text1,..., text9 and sent1,..., sent9 Type the name of the text or sentence to view it. Type: texts() or sents() to list the materials. text1: Moby Dick by Herman Melville 1851 text2: Sense and Sensibility by Jane Austen 1811 text3: The Book of Genesis text4: Inaugural Address Corpus text5: Chat Corpus text6: Monty Python and the Holy Grail text7: Wall Street Journal text8: Personals Corpus text9: The Man Who Was Thursday by G. K. Chesterton 1908 EKSISTERENDE KORPUSER Tilgjengelig for nedlasting: Project Gutenberg (Forsøk på) representative korpuser Brown 1M ord British National Corpus (BNC), 100M ord (register, domene, forskjellige tidsperioder, sjanger, demografi osv) American National Corpus, under bygging Større korpuser: Gigaword (nyhetstekster) Google n-gram corpus: 100 GB data unigram (n=1) til fivegram (n=5) frekvens
EKSISTERENDE KORPUSER Korpuser for andre språk enn engelsk Arabisk Gigaword Chinese news NoWaC ( Norwegian Web as Corpus ) ca 700 millioner ord web-dokumenter fra.no-domener NoTa-korpuset transkripsjoner av samtaler og intervju fra informanter født og oppvokst i Oslo-området transkribert tekst og tale EKSISTERENDE KORPUSER Parallelle korpuser EUROPARL, OPUS
ANNOTERING Korpuser inneholder forskjellige typer informasjon og har gjennomgått forskjellige former for (automatisk/manuell) annotering Delt opp i enheter som tilsvarer et ord, sk tokens: ord, tall, tegnsetting tokenisering I motsetning til type en form uavhengig av individuelle forekomster Hvor mange tokens? Hvor mange typer? The rain stays mainly on the plane Stemming eller lemmatisering: reduksjon til baseform ANNOTERING Korpuser med manuell annotering Mennesker merker opp lingvistisk informasjon Ordklasse (feks Brown) The/at Fulton/np County/np Grand/jj Jury/nn said/vbd Friday/nr an/at investigation/nn... Syntaks (trebanker, feks Penn Treebank) Ordsemantikk, diskursrelasjoner etc. (S (NP (ADJ Happy) (N linguists)) (VP (V make) (NP (Det a) (N diagram))))
MANUELT ANNOTERT KORPUS FOR MASKINLÆRING Et korpus med manuelt annotert ordbetydning SKIM the pages for a clearer insight: Reading She SKIMS through the novel which seems to fascinate them: Reading Remove the vanilla pod, SKIM the jam, and let it cool: Removing We SKIMMED across the surface of that sodding lake whilst all around us gathered the dark hosts of hell: Self motion Konstruere en klassifiserer: Tren på Reading, Removing og Self motion instanser Appliser på ny instans: hvilken klasse ligner den mest på? A red grouse SKIMMED low over the heather:??? OPPSUMMERING: SPRÅKLIGE DATA Økende viktighet innenfor LT (korpusdata) Menneskelig språkprosessering afasi-studier måling av hjerneaktivitet Korpusdata representativitet størrelse annotering Utstrakt bruk i språkteknologiske modeller
OVERSIKT Såkalt endelig tilstand (finite-state) -teknologi er kjapp og effektiv nyttig for et antall språkteknologiske oppgaver Vi skal se nærmere på: 1. Regulære uttrykk 2. Endelige tilstandsmaskiner ( Finite state automata, FSA) 3. Regulære språk Vil se at regulære uttrykk og endelige tilstandsmaskiner er matematisk ekvivalente, men gir oss forskjellig innfallsvinkel på oppgaver
OVERSIKT Perioden rett etter 2 verdenskrig ca 1960: viktig for datalingvistikk Automata-teori basert på Turings arbeid (1936) om algoritmisk beregning Kleene: (1951, 1956): endelige automata og regulære uttrykk. Beviste ekvivalens Chomsky (1956): endelige tilstandsmaskiner som beskrivelser av naturlige språk Formell språkteori: algebra og mengdelære for å definere formelle språk NOEN APPLIKASJONSEKSEMPLER Web-søk Tekstprosessering (finne, erstatte) Finne alle telefonnumre i en tekst, feks: Du kan også ringe Kundeservice på 815 22 040 Finne flere tilgrensende instanser av samme ord i en tekst:... vi lurer bare på en en ting Bestemme språket i en setning/tekst: spansk eller polsk? Sytuacja na Bliskim Wschodzie jest napieta, szczegolnie po wczorajszym ataku
NOEN APPLIKASJONSEKSEMPLER Validere felter i en database (datoer, e-postadresser, URL er) Søk i et korpus etter lingvistiske mønstre samle statistikk Tildele ordklasse til disse, selv om de ikke fins i ordboken: conurbation, cadence, disproportionality, Thatcherization NOEN APPLIKASJONSEKSEMPLER Utstrakt bruk innenfor: akustisk modellering innenfor talegjenkjenning informasjonshenting ( information extraction ), f.eks. navn på personer og firmaer automatisk morfologisk analyse Disse oppgavene kan løses med endelige tilstandsmaskiner ( finite state automata ) Hvordan kan vi spesifisere slike maskiner?
REGULÆRE UTTRYKK Et regulært uttrykk er en beskrivelse av en mengde strenger Brukes til tekstsøk Finnes en rekke UNIX-verktøy (grep, sed), editorer (emacs) og progammeringsspråk (perl, python) som har funksjonalitet for regulære uttrykk Som alle formalismer har ikke regulære uttrykk noe språklig (lingvistisk) innhold, men kan snarere brukes til å referere til lingvistiske enheter
REGULÆRE UTTRYKK To slags tegn ( characters ): Bokstavelig ethvert teksttegn er et RU og refererer til seg selv Meta-tegn spesialtegn som lar deg kombinere RU på forskjellige måter Eksempel: /a/ refererer til a /a*/ refererer til ɛ eller a eller aa eller aaa eller... Regulære uttrykk består av: strenger bestående av tegn: /b/, /INF1820/, /informatikk/ Disjunksjon: vanlig disjunksjon: /spise ete/, /penge(r ne)/ tegnklasser:/[dd]en/, /m[ae]nn/, /bec[oa]me/ rekker ( ranges ): [A-Z], [0-9] negasjon: [ˆb] [ˆA-Z0-9]
Regulære uttrykk består av (forts.): Tellere opsjonalitet (0 eller 1):? /woodchucks?/ hvilket som helst antall (0 eller flere): Kleenes * /baaa*!/ /[0-9][0-9]*/ Minst en: +: /baa+!/ /[0-9]+ kroner/ wildcard for et hvilket som helst tegn:. /beg.n/ brukes ofte sammen med stjerne: hva som helst : /beltedyr.*beltedyr/ Regulære uttrykk består av (forts.): Ankere: spesielle tegn som forankrer det regulære uttrykket til spesifikt sted i strengen/teksten /ˆDen/ (ˆ - begynnelsen av linjen) /der\.$/ ($ - slutten av linjen)
Parenteser grupperer elementer sammen: /rev(ehi)?/ /(herre dame)toalett/ Presedenshierarki: 1. Parentes () 2. Tellere? * + {} 3. Sekvenser og ankere the ˆmy end$ 4. Disjunksjon /juhu */ matcher juhuuuuuuu men ikke juhujuhujuhu Nyttige forkortelser: \d = [0-9] \D = [ˆ0-9] \w = [A-Za-z0-9] \W = [ˆA-Za-z0-9] \s = [ \t\n] \S = [ˆ\s]
Et eksempel: Finne alle forekomster av og i en tekst og Problem: Og det ble kveld, og det ble morgen... [Oo]g Problem: Togets rutetider \s[oo]g\s Minimere antall falske positiver (Toget) og falske negativer (Og) T9-systemet: tekst på mobiltelefoner Tekstonymer: ord som korresponderer til samme knappesekvens, feks hole, golf Hvilke andre ord? Bruke regulært uttrykk for å finne ut ˆ[ghi][mno][jlk][def]$ gold, golf, hold, hole,...
Substitusjon s/color/colour/ s/versjon\s2\.4/versjon\s2\.5/ s/(versjon\s\d\.)\d/\15/ ELIZA (Weizenbaum 1966): User: Men are all alike ELIZA: IN WHAT WAY? User: They re always bugging us about something ELIZA: CAN YOU THINK OF AN EXAMPLE? User: Well, my boyfriend made me come here ELIZA: User: He says I am depressed much of the time ELIZA: YOUR BOYFRIEND MADE YOU COME HERE. I M SORRY TO HEAR THAT YOU ARE DEPRESSED. s/.* I am (depressed sad).* / I am sorry to hear that you are \1/ s/.* (all always).* / Can you think of a specific example /
QUIZ Beskriv strengene som aksepteres av følgende regulære uttrykk /ab+a/ (ab) * ([ˆaeiou][aeiou])\1 \sdis[a-z]+\s