Computationeel denken

Post on 21-Jan-2018

136 views 0 download

Transcript of 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

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 -…)

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?

COMPUTATIONEEL DENKEN IN DE UB

COMPUTATIONEEL DENKEN IN DE UB

Bibliothecaris: vroeger en nu

1987

1936

nu(‘the digital

librarian’)

https://americanlibrariesmagazine.org/

‘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

‘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

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

1962

1960, Journal of the ACM

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

COMPUTATIONEEL DENKEN

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

Informatietaken:

1. categoriseren

2. zoeken en vinden

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

HET COMPUTATIONEEL UITVOEREN VAN INFORMATIETAKEN

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?

SPAM OF GEEN SPAM?

SPAM OF GEEN SPAM?

SPAM OF GEEN SPAM?

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

VOORBEELDEN VAN TEKSTCLASSIFICATIE

SPAMDETECTIE

TAALHERKENNING

HET INDELEN VAN NIEUWS IN SECTIES

HET INDELEN VAN BOEKEN IN GENRES

HET TOEKENNEN VAN TREFWOORDEN AAN ARCHIEFSTUKKEN

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

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?

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

VOORBEELDDATA

Voorbeelddata (trainingsdata):

Een set van teksten met categorieën/labels

Om een classificatiemodel mee te trainen

Build classifier

Classifier

Voorbeeld-documenten

Representeren als feature vectors

Een classificatie-model leren

Toepassen op een nieuw document

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

FEATURE-EXTRACTIE

Voorbeeld-documenten

Representeren als feature vectors

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 ?

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

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

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)

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

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

WAT IS NODIG VOOR TEKSTCLASSIFICATIE

Definitie van de taak

Voorbeelddata

Feature-extractie

Classificatiemethode

Evaluatie

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

HET COMPUTATIONEEL UITVOEREN VAN INFORMATIETAKEN

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?

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

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

INFORMATIEVRAGEN

INFORMATIEVRAGEN IN CONTEXT

Ingwersen & Järvelin, 2005

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

ACADEMISCH ZOEKEN

ACADEMISCH ZOEKEN

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)

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?

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)

C O N C L U S I E S

COMPUTATIONEEL DENKEN IN DE UB

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?

BEDANKT!