Download - Computationeel denken

Transcript
Page 1: Computationeel denken

L E Z I N G T I J D E N S D H C L I N I C S , 2 6 S E P T 2 0 1 7

COMPUTATIONEEL DENKEN

SUZAN VERBERNE

Page 2: Computationeel denken

OVER MIJ

Achtergrond in taal- en spraaktechnologie (Katholieke Universiteit Nijmegen, 1998-2002)

Promotie op het onderwerp van vraag-antwoordsystemen (Radboud Universiteit Nijmegen, 2005-2009)

Onderzoeker en docent op het gebied van Text Mining en Information Retrieval (Radboud Universiteit, 2009-2017)

Universitair docent voor het Data Science onderzoeksprogramma (Universiteit Leiden, 2017 -…)

Page 3: Computationeel denken

DOEL VAN DEZE PRESENTATIE

“Voor digitaal (geesteswetenschappelijk) onderzoek is het noodzakelijk om een vraag in de echte wereld te kunnen omzetten naar een vraag die met software beantwoord kan worden. Dit vereist een bepaalde manier van denken: computationeel denken.”

Best een abstract onderwerp!

Computationeel denken binnen de UB?

Wat?

Hoe?

Page 4: Computationeel denken

COMPUTATIONEEL DENKEN IN DE UB

Page 5: Computationeel denken

COMPUTATIONEEL DENKEN IN DE UB

Bibliothecaris: vroeger en nu

1987

1936

nu(‘the digital

librarian’)

https://americanlibrariesmagazine.org/

Page 6: Computationeel denken

‘THE DIGITAL LIBRARIAN’

“Librarians in the Digital Age, A response to the Wall Street Journal column”, By Sari Feldman and Julie Todaro | January 19, 2016

De bibliothecaris als informatiespecialist

Informatiedienstverlening

Page 7: Computationeel denken

‘THE DIGITAL LIBRARIAN’

Informatietaken van een academisch bibliothecaris:

Informatiespecialist

Selecteren, catalogiseren en classificeren van bibliotheekmaterialen

Gebruik van bibliotheek-informatiesystemen en elektronische catalogi

Informatiedienstverlening:

Het beantwoorden van vragen van lezers

Lezers helpen met het gebruik van informatiesystemen en het zoeken van literatuur

Bron: https://targetjobs.co.uk/careers-advice/job-descriptions/275697-academic-librarian-job-description

Page 8: Computationeel denken

COMPUTATIONEEL DENKEN IN DE UB

Computationeel denken binnen de UB?

Wat? Informatietaken van de ‘digital librarian’

Hoe? De computer als hulpmiddel

Kleine zijsprong:

De bibliotheekwetenschappen (‘library and information sciences’) stonden aan de basis van het vakgebied Information Retrieval

Doel: de bibliothecaris ondersteunen met technologie

Page 9: Computationeel denken

1962

Page 10: Computationeel denken

1960, Journal of the ACM

Page 11: Computationeel denken

COMPUTATIONEEL DENKEN

Computationeel denken:

een probleem en de bijbehorende oplossing op een zodanige manier formuleren dat een ‘computer’ (mens of machine) de oplossing kan uitvoeren

Stappen:

1. Probleemformulering (abstractie/decompositie)

2. Implementatie van de oplossing

3. Uitvoeren van de oplossing en evaluatie

Page 12: Computationeel denken

COMPUTATIONEEL DENKEN

Dus: de computer als hulpmiddel voor ‘the digital librarian’

Informatietaken:

1. categoriseren

2. zoeken en vinden

Page 13: Computationeel denken

1 . C AT E G O R I S E R E N

HET COMPUTATIONEEL UITVOEREN VAN INFORMATIETAKEN

Page 14: Computationeel denken

INFORMATIETAAK 1: CATEGORISEREN

Informatiespecialist

Selecteren, catalogiseren en classificeren van bibliotheekmaterialen

Gebruik van bibliotheek-informatiesystemen en elektronische catalogi

1. Probleemformulering (abstractie/decompositie)

Gegeven een boek/artikel/bundel/tijdschrift, waar moet het worden gecatalogiseerd?

Wat is het genre/onderwerp/categorie?

Of: wat zijn de onderwerpen?

Page 15: Computationeel denken

SPAM OF GEEN SPAM?

Page 16: Computationeel denken

SPAM OF GEEN SPAM?

Page 17: Computationeel denken

SPAM OF GEEN SPAM?

Page 18: Computationeel denken

TEKSTCLASSIFICATIE

Op basis van welke kenmerken heb je je beslissing genomen?

Classificatieprobleem: kiezen tussen twee of meer categorieën (classes)

De kenmerken die je gebruikt om je beslissing te maken zijn features

Voor tekstclassificatie worden meestal de woorden uit het document gebruikt als features

Page 19: Computationeel denken

VOORBEELDEN VAN TEKSTCLASSIFICATIE

Page 20: Computationeel denken

SPAMDETECTIE

Page 21: Computationeel denken

TAALHERKENNING

Page 22: Computationeel denken

HET INDELEN VAN NIEUWS IN SECTIES

Page 23: Computationeel denken

HET INDELEN VAN BOEKEN IN GENRES

Page 24: Computationeel denken

HET TOEKENNEN VAN TREFWOORDEN AAN ARCHIEFSTUKKEN

Page 25: Computationeel denken

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

Page 26: Computationeel denken

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

Page 27: Computationeel denken

DEFINIEER JE TAAK

Wat is de teksteenheid die je wilt classificeren?

Hele boeken/tijdschriften? (nieuwe materialen)

Hele documenten? (denk aan een e-mailarchief: classificatie per bericht)

Secties? (denk aan notulen)

Zinnen? (denk aan taalherkenning of sentimentclassificatie)

Wat zijn de categorieën?

Zijn de categorieën vooraf gegeven?

Page 28: Computationeel denken

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

Page 29: Computationeel denken

VOORBEELDDATA

Voorbeelddata (trainingsdata):

Een set van teksten met categorieën/labels

Om een classificatiemodel mee te trainen

Page 30: Computationeel denken

Build classifier

Classifier

Voorbeeld-documenten

Representeren als feature vectors

Een classificatie-model leren

Toepassen op een nieuw document

Page 31: Computationeel denken

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

Page 32: Computationeel denken

FEATURE-EXTRACTIE

Voorbeeld-documenten

Representeren als feature vectors

Page 33: Computationeel denken

WOORDEN ZIJN FEATURES

Keuzes in het maken van de features:

Wel of niet functiewoorden weggooien

Hoeveel features gebruiken (grootte van vocabulaire van de classifier)

Wel of niet lemmatiseren (interests interest)

Doc id Content Class

1 request urgent interest urgent Spam

2 assistance low interest deposit Spam

3 symposium defense june No spam

4 notas symposium deadline june No spam

5 registration assistance symposium deadline ?

Page 34: Computationeel denken

CLASSIFICATIE-METHODEN

Veel gebruikte methoden:

Bereken de kans op het voorkomen van elke term gegeven elke categorie op basis van de voorkomens in de trainingsdata (Naïve Bayes)

Leer regels, bijvoorbeeld “als de e-mail het woord ‘urgent’ bevat dan is het spam” (Decision Trees)

Bepaal waar precies de verschillen tussen twee categorieën zitten; zoek voorbeelden in de trainingsdata die precies op de grens tussen twee categorieën zitten (Support Vector Machines)

Vind de voorbeelden in de trainingsdata die het meest lijken op het te classificeren document (kNN)

Meestal werken we met een experimentele omgeving waar we methoden kunnen vergelijken. Bijvoorbeeld Scikit-learn in Python

Page 35: Computationeel denken

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

Page 36: Computationeel denken

EVALUATIE

Hoe goed is de classifier?

Meten op voorbeelddata (want daarvan weten we de categorieën)

Splits de voorbeelddata in een trainingset en een testset

Bijvoorbeeld 80% om te trainen en 20% om te testen

Of, als je niet zoveel data hebt, steeds roterende 80-20 (cross validation)

Page 37: Computationeel denken

EVALUATIEMATEN

Menselijke classificatie = referentie

Classificatie door automatische classsifier

8 ware categorieën

waarvan 5 toegekend

Recall = 5/8

6 toegekende categorieën

waarvan 5 correct

Precisie = 5/6

We rapporteren meestal het gemiddelde:

F1 = 2 ×precision × recall

precision + recall

Page 38: Computationeel denken

RESULTATEN: WAT KUN JE VERWACHTEN?

Waar hangt de kwaliteit van de classifier van af?

De moeilijkheid van de taak: hoe meer categorieën, hoe moeilijker

De hoeveelheid trainingsdocumenten en de kwaliteit van de handmatige classificatie

De lengte van de documenten: korte documenten zijn moeilijker te classificeren

Page 39: Computationeel denken

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

Page 40: Computationeel denken

2 . Z O E K E N E N V I N D E N

HET COMPUTATIONEEL UITVOEREN VAN INFORMATIETAKEN

Page 41: Computationeel denken

INFORMATIETAAK 2: ZOEKEN & VINDEN

Informatiedienstverlening:

Het beantwoorden van vragen van lezers

Lezers helpen met het gebruik van informatiesystemen en het zoeken van literatuur

1. Probleemformulering (abstractie/decompositie)

Gegeven een informatie-vraag, wat zijn relevante boeken/artikelen/bundels/tijdschriften?

Hoe wordt de vraag geformuleerd?

En hoe wordt relevantie bepaald?

Page 42: Computationeel denken

INFORMATIEVRAGEN

Wat is de betekenis achter een zoekvraag?

De stad? De universiteit?

Vertaling van het Nederlandse woord ‘leiden’?

Een stadsplattegrond? Afbeeldingen? Nieuwsberichten?

www.leiden.nl ?

Een artikel op Wikipedia?

Toeristische informatie?

Zoekvragen in zoekmachines zijn ondergespecificeerd

De vragensteller heeft impliciet een bedoeling met zijn vraag

En verwacht dat de zoekmachine die bedoeling kent

Page 43: Computationeel denken

INFORMATIEVRAGEN

Google lost dat op 3 manieren op:

Leren wat de meerderheid van de gebruikers bedoelt met de vraag

Leren wat de interesse van deze specifieke gebruiker is

Variatie aanbrengen in de resultaten

Page 44: Computationeel denken

INFORMATIEVRAGEN

Page 45: Computationeel denken

INFORMATIEVRAGEN IN CONTEXT

Ingwersen & Järvelin, 2005

Page 46: Computationeel denken

INFORMATIEVRAGEN IN CONTEXT

Een zoekvraag staat niet op zichzelf

Een gebruiker heeft een werktaak, bijvoorbeeld literatuuronderzoek voor een artikel

De werktaak omvat een aantal informatiebehoeften

Elke informatiebehoefte wordt geuit in een reeks van zoekvragen

Soms zijn meerdere zoekvragen nodig om het juiste detailniveau te krijgen

Soms is alleen een woordelijke zoekvraag niet genoeg filteren op metadata

Page 47: Computationeel denken

ACADEMISCH ZOEKEN

Page 48: Computationeel denken

ACADEMISCH ZOEKEN

Page 49: Computationeel denken

ACADEMISCH ZOEKEN

Waarom is academisch zoeken anders dan web search?

Langere sessies (meer queries over hetzelfde onderwerp)

Specifieke informatiebehoeften

Academici willen controle over de resultaten die ze zien (en beweren daarom dat ze personalisatie absoluut niet willen)

Het gaat niet om het 1e relevante resultaat; de resultatenset moet compleet zijn (high recall)

Page 50: Computationeel denken

RELEVANTIE

1. Probleemformulering (abstractie/decompositie)

Gegeven een informatie-vraag, wat zijn relevante boeken/artikelen/bundels/tijdschriften

Hoe wordt de vraag geformuleerd?

En hoe wordt relevantie bepaald?

Page 51: Computationeel denken

RELEVANTIE

Relevantie is gebaseerd op:

woordoverlap (documenten met het woord ‘leiden’ erin)

populariteit van pagina’s op het web (hoeveel pagina’s linken naar de pagina)

populariteit van pagina’s in de zoekresultaten

persoonlijke geschiedenis, locatie en voorkeuren (relevantie is persoonlijk)

Page 52: Computationeel denken

C O N C L U S I E S

COMPUTATIONEEL DENKEN IN DE UB

Page 53: Computationeel denken

SAMENVATTING

De computer als hulpmiddel voor ‘the digital librarian’

Informatietaken:

1. categoriseren

2. zoeken en vinden

Computationeel denken: probleemformulering

Gegeven een boek/artikel/bundel/tijdschrift, waar moet het worden gecatalogiseerd? tekstclassificatie

Gegeven een informatie-vraag, wat zijn relevante boeken/artikelen/bundels/tijdschriften?

Page 54: Computationeel denken

BEDANKT!