INF1820: Introduksjon til språk-og kommunikasjonsteknologi

Like dokumenter
INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

IN1140: Introduksjon til språkteknologi. Forelesning #2

IN1140: Introduksjon til språkteknologi. Forelesning #1

IN1140: Introduksjon til språkteknologi. Forelesning #1

INF1820 INF Arne Skjærholt INF1820. Her kan jeg godt si litt om meg selv. Arne Skjærholt

INF INF1820 INF1820. Her kan jeg godt si litt om meg selv. Arne Skjærholt

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V2018 Forelesning 1 del 1, 15. jan. Jan Tore Lønning

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF2820 Datalingvistikk V2016. Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 1.1, 16.1 Jan Tore Lønning

INF2820 Datalingvistikk V2015. Jan Tore Lønning

1/18/2011. Forelesninger. I dag: Obligatoriske oppgaver. Gruppeundervisning. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

IN1140: Introduksjon til språkteknologi. Forelesning #1

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF INF1820. Lectio secunda INF1820. Arne Skjærholt. Lectio secunda

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Oppsummering

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V gang, Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V gang, Jan Tore Lønning

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

LF - Eksamen i INF1820

Årlig programevaluering Informatikk: Språkteknologi, torsdag 7. februar 2019

AlgDat 10. Forelesning 2. Gunnar Misund

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

AlgDat 12. Forelesning 2. Gunnar Misund

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

Læringsmål og pensum. v=nkiu9yen5nc

Syntax/semantics - I INF 3110/ /29/2005 1

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

INF2820 Datalingvistikk V Gang, del Jan Tore Lønning

Skanning del I. Kapittel 2 INF 3110/ INF

Skanning del I INF /01/15 1

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

Sentimentanalyse for norsk tekst NRK

IN1140 H2019 gruppeoppgaver Språkmodeller og Ordklasser

INF2820 Datalingvistikk V2012. Jan Tore Lønning & Stephan Oepen

IN1140: Introduksjon til språkteknologi. Forelesning #12

Tekstmining: En kort innføring

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Ifis forslag til reviderte studieprogrammer

INF2820 Datalingvistikk V2014. Jan Tore Lønning

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

IN1140 H2018 gruppeoppgaver Sannsynlighet og språkmodeller

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF2820 Datalingvistikk V Gang Jan Tore Lønning

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)

Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk

Velkommen til INF5110 Kompilatorteknikk

INF2820 V2017 Oppgavesett 5 arbeidsoppgaver

INF 2820 V2018: Innleveringsoppgave 1

Logisk Programmering. Relasjoner vz. funksjoner. Funksjon: inn og ut, en verdi. Relasjon: ingen retning, null eller flere verdier

Forelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner

INF2820 Datalingvistikk V Gang 19.3 del 1 Jan Tore Lønning

Velkommen til MAT1030!

MAT1030 Diskret Matematikk

Introduksjon til programmering og programmeringsspråk

MAT1030 Plenumsregning 3

INF2820 V2017 Oppgavesett 5 Gruppe 21.2

INF5820 Natural Language Processing - NLP. H2009 Jan Tore Lønning

Kapittel 3: Litt om representasjon av tall

INF 2820 V2016: Obligatorisk innleveringsoppgave 3

Hva er syntaks? En overskrift i en norsk avis: Dagens tema Grundig repetisjon og utdyping:

Dokument-embeddings / Markov-kjeder. Fredrik Jørgensen, Schibsted Media/UiO

Vi som skal undervise. MAT1030 Diskret matematikk. Hva er diskret matematikk? Hva er innholdet i MAT1030?

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V Gang 13.3 Jan Tore Lønning

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

Velkommen til INF Kompilatorteknikk

Programmering. Carsten Wulff

Dagens tema Grundig repetisjon og utdyping: Syntaks kontra semantikk

Forelesning inf Java 1

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V Gang 26.2 Jan Tore Lønning

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

Ifis bachelorundervisning fra 2017

Kapittel 3: Litt om representasjon av tall

INF2820 Datalingvistikk V2011. Jan Tore Lønning & Stephan Oepen

INF2820 Datalingvistikk V2012

INF2820 Datalingvistikk V2012. Jan Tore Lønning

Transkript:

INF1820: Introduksjon til språk-og kommunikasjonsteknologi Andre forelesning Lilja Øvrelid 23 januar, 2017 1

Språkteknologi

Språkteknologi Kjært barn: Språkteknologi ( Language Technology ) Datalingvistikk ( Computational Linguistics ) Menneskespråkprosessering ( Natural Language Processing ) 2

Hva er språkteknologi? Lære datamaskiner å forstå menneskelige språk Teknikker for å automatisk behandle språklige data Tverrfaglighet: informatikk lingvistikk logikk, statistikk, matematikk, filosofi,... 3

The holy grail 4

Turingtesten AI: test på en maskins evne til å vise intelligens Alan Turing: Computing Machinery and Intelligence (1950) Kan en maskin tenke Finnes det en tenkelig datamaskin som kan klare Turingtesten? 5

Et dialogsystem 6

Språkteknologiske komponenter Fonetikk/fonologi: kunnskap om lingvistiske lyder Talegjenkjenning/talesyntese: tale tekst tekst tale 7

Språkteknologiske komponenter Fonetikk/fonologi: kunnskap om lingvistiske lyder Talegjenkjenning/talesyntese: tale tekst tekst tale Eksempel problem Homofoner (homonymer) ord som uttales likt men har forskjellig betydelse weak week to too two http://www.economist.com/technology-quarterly/ 2017-05-01/language https://deepmind.com/blog/ wavenet-generative-model-raw-audio/ 7

Språkteknologiske komponenter Morfologi: kunnskap om ordstruktur Morfologisk analyse, ordklassetagging 8

Språkteknologiske komponenter Morfologi: kunnskap om ordstruktur Morfologisk analyse, ordklassetagging Eksempel problem Flertydighet av flies og like gir opphav til ulike tolkninger 8

Språkteknologiske komponenter Syntaks: kunnskap om relasjoner mellom ord Chunking, parsing 9

Språkteknologiske komponenter Syntaks: kunnskap om relasjoner mellom ord Chunking, parsing Eksempel problem Noen syntaktiske konstruksjoner gir opphav til flere tolkninger liten, pen skole liten pike, pen skole liten, pen pike ganske liten skole ganske liten pike 9

Språkteknologiske komponenter Semantikk: kunnskap om mening ord, setninger Word Sense Disambiguation (WSD) 10

Språkteknologiske komponenter Semantikk: kunnskap om mening ord, setninger Word Sense Disambiguation (WSD) Eksempel problem En form flere meninger Mine mål er egentlig ganske forskjellige uttalt av en fotballspiller uttalt av en modell som sammenligner seg med Kate Moss uttalt av en ISK masterstudent 10

Språkteknologiske komponenter Semantikk: kunnskap om mening ord, setninger Eksempel problem Flertydighet i rekkevidde ( scope ) Alle studenter hater et kurs: x.student(x) ( y.kurs(y) hater(x, y)) y.kurs(y) ( x.student(x) hater(x, y)) 11

Språkteknologiske komponenter Diskurs: kunnskap om enheter ut over enkelte ytringer Anaforresolusjon, dialogsystemer... det er diskutabelt hvor mye Watson egentlig forstår. Den driver snarere en form for etterlikning av noen av måtene menneskehjernen prosesserer språk på. (Dagbladet, 14/1/11) 12

Språkteknologiske komponenter Diskurs: kunnskap om enheter ut over enkelte ytringer Anaforresolusjon, dialogsystemer... det er diskutabelt hvor mye Watson egentlig forstår. Den driver snarere en form for etterlikning av noen av måtene menneskehjernen prosesserer språk på. (Dagbladet, 14/1/11) 12

Språkteknologiske komponenter NLP-systemer: moduler som representerer forskjellige lingvistiske nivåer Pipeline -arkitektur Høyere nivåer avhenger typisk av lavere 13

Hvorfor blir resultatene (noen ganger) dårlige? Språkforståelse er komplisert Den nødvendige kunnskapen er enorm De fleste stadier viser flertydighet 14

Flertydighet De fleste språkteknologiske applikasjoner må håndtere flertydighet ( ambiguity ) Kjennetegner naturlige språk, på alle nivåer I saw her duck Krasjet med rådyr på moped (Agderposten) 15

The main lesson of thirty-five years of AI research is that the hard problems are easy and the easy problems are hard. The mental abilities of a four-year-old that we take for granted recognizing a face, lifting a pencil, walking across a room, answering a question in fact solve some of the hardest engineering problems ever conceived... As the new generation of intelligent devices appears, it will be the stock analysts and petrochemical engineers and parole board members who are in danger of being replaced by machines. The gardeners, receptionists, and cooks are secure in their jobs for decades to come. Steven Pinker, The language instinct 16

The main lesson of thirty-five years of AI research is that the hard problems are easy and the easy problems are hard. The mental abilities of a four-year-old that we take for granted recognizing a face, lifting a pencil, walking across a room, answering a question in fact solve some of the hardest engineering problems ever conceived... As the new generation of intelligent devices appears, it will be the stock analysts and petrochemical engineers and parole board members who are in danger of being replaced by machines. The gardeners, receptionists, and cooks are secure in their jobs for decades to come. Steven Pinker, The language instinct En robot som bretter et håndkle (videoen er 50 ganger normal hastighet): http://www.youtube.com/watch?v=gy5g33s0gzo 16

Metoder 2000-tallet: manuelt utformede regeler og leksikon 17

Metoder 2000-tallet : empirisk revolusjon Maskinlæring Datamaskiner kan lære fra data: fange opp mønstre og generalisere til nye eksempler 18

Metoder Formelle modeller hentet fra matematikk, logikk, statistikk Maskinlæring brukes for å håndtere flertydighet 19

Maskinlæring Kunstig intelligens: delområde innen informatikk (fra 60-tallet) Maskinlæring: fokus på oppgaver som er lette for mennesker, men vanskelige for maskiner Språkforståelse er en slik oppgave Andre oppgaver: planlegging, bevegelse i verden, objektgjenkjenning, osv. gitt et AI problem og en masse data om verden (eksempler): la datamaskinen finne riktig svar unngår hardkoding av svarene 20

Formelle modeller Kan fange inn den språklige kunnskapen v.hj.a et lite antall formelle modeller og teorier Hentet fra informatikk, matematikk og lingvistikk Disse modellene kan prosesseres ved et lite antall algoritmer søk (feks dynamisk programmering), maskinlæring (feks klassifikasjon) 21

Formelle modeller Endelige tilstandsmaskiner ( finite state automata ): Består av tilstander, overganger ( transitions ) og en input-representasjon Variasjoner: deterministiske og ikke-deterministiske, endelige tilstandsmaskiner og endelige tilstandstransdusere Fonologi, morfologi 22

Formelle modeller Formelle regelsystemer feks kontekstfrie grammatikker S NP VP NP ADJ N NP Det N VP V NP Syntaks 23

Formelle modeller Første ordens logikk Semantikk, pragmatikk Probabilistiske modeller utvidelser til probabilistiske versjoner, disambiguering Vektormodeller Leksikal søk semantikk, 24

Hva kan vi bruke språkteknologi til? 25

Informasjonsekstraksjon 26

Sentiment Analyse Automatisk analyse av subjektivt språk 27

Medieovervåkning 28

Demo System for informasjonsekstraksjon og sentiment analyse http://www.alchemyapi.com/ 29

Maskinoversettelse Automatisk oversette fra et menneskelig språk til et annet 30

Dialogsystemer IT-systemer som kan kommunisere med brukere ved hjelp av sprk 31

Python-programmering og NLTK

32

Hva er et program? På et abstrakt nivå er et program en sekvens med kommandoer, som gir output for en viss input. Eksempel 1: 1. Input: en tekstfil med hele Kristin Lavransdatter 2. Program: noe skjer (Input Output) 3. Output: alle bigram (sekvenser av to ord) med frekvenser Eksempel 2: 1. Input: Lønn-og trekkoppgave 2. Program: noe skjer (Input Output) 3. Output: Hvor mye skatt du må betale 33

Algoritmer Et program er en algoritme, dvs en sekvens av kommandoer Eksempel på algoritme som skriver ut alle ord som ender med -er: 1. Les inn alle ord fra teksten 1.1 Sjekk om hvert ord ender i -er 1.2 Lagre (unike forekomster) av ord som ender i -er 2. Skriv ut hvert ord Men hvordan leser vi inn noe eller lagrer noe? 34

Programmeringsspråk Programmeringsspråk har mye til felles Lignende datastrukturer (lister, funksjoner, moduler,... ) Krever at du bruker en eksplisitt syntaks Kun veldefinerte funksjoner kan brukes Må følge visst format Ofte forskjeller i syntaks, men god programmeringsskikk overføres ofte, samme prinsipper 35

Python for line in open("file.txt"): for word in line.split(): if word.endswith( er ): print word 1. Whitespace 2. Objektorientert: hver variabel er en entitet som har visse definerte attributter og metoder Feks line strengobjekt med bl.a. metoden split 3. Metoder har argumenter (i parentes) 36

Hvorfor Python? Enkelt, kraftig Meget god funksjonalitet for prosessering av lingvistiske data (strengbehandling, tekstprosessering) Lesbart Objektorientert: lett å kapsle inn kode og bruke om igjen Brukes mye! Organisasjoner som Google, Pixar og NSA bruker Python 37

NLTK Natural Language Toolkit (NLTK): Open source Python modules, linguistic data and documentation for research and development in natural language processing and text analytics, with distributions for Windows, Mac OSX and Linux. (http://www.nltk.org) Open Source Kommmer med klasser for datarepresentasjon, grensesnitt for oppgaver som ordklassetagging, parsing, tekstklassifisering Veldokumentert 38