SlideShare a Scribd company logo
Automatische classificatie van teksten
Suzan Verberne
20 september 2016
NOTaS-bijeenkomst bij Nationaal Archief
Wie ben ik
• PhD from Radboud University in 2010, on Information Retrieval / Natural
Language Processing
• Research topics since then:
- Text classification
- Information Extraction
- Personalized content filtering
- Information seeking behavior
- Information access for the humanities
- Summarization of discussion forum threads
• Teaching:
- Text Mining
- Information Retrieval
Wat is tekstclassificatie?
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 alternatieven (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
• Binaire classificatie (twee categorieën)
• Multi-class / one-of classificatie
• Multi-label classificatie
Voorbeeld-toepassingen
• Zijn deze taken binair, multi-class of multi-label?
Spamdetectie
Taalherkenning
Het indelen van nieuws in secties
Het indelen van boeken in genres
Het indelen van archiefstukken naar proces
Het toekennen van trefwoorden aan archiefstukken
Wat is nodig voor tekstclassificatie?
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 documenten (denk aan een e-mailarchief: classificatie per bericht)
- Secties? (denk aan notulen, of partijprogramma’s)
- Zinnen? (denk aan taalherkenning of sentimentclassificatie)
• Wat zijn de categorieën?
• Voorbeeld-probleem:
Verkiezingsprogramma’s geannoteerd door Isaac Lipschits
Lipschits-classificatie-probleem
Doelen (PoliticalMashup project):
1. Digitaliseer de 1977–1998 Lipschits collecties
2. Bouw een automatische classifier voor recentere, ongeannoteerde edities
Aanpak:
1. Zet de gescande PDF’s uit 1986, 1994 en 1998 om naar teksten met labels
2. Train en evalueer hiermee een classifier
3. Pas de classifier toe op de 2006-2012 data
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
Hoe kom je aan voorbeelddata?
1. Bestaande data
- Door experts gemaakte indelingen, bijvoorbeeld
– Patentclassificatie
– Partijprogramma’s, door Isaac Lipschits van trefwoorden voorzien
- Door leken gemaakte indelingen (user-generated content), bijvoorbeeld
– Hashtags als categorieën: #fail voor negatief sentiment
Hoe kom je aan voorbeelddata?
2. Voorbeelddata (laten) maken
- Maak een selectie van documenten
- Definieer een set van categorieën
- Menselijke classificatie
– Experts
– Crowdsourcing (Amazon Mechanical Turk, Crowdflower)
• Hoeveel voorbeelddata heb je nodig?
- Minimaal enkele tientallen/honderden per categorie
- Hoe meer, hoe beter
- Hoe moeilijker het probleem, hoe meer voorbeelden nodig
Mechanical Turk, an expression used for
machines or devices that can purportedly do a
fully automated task, but which in reality is
done by a hidden person
Social Book Search Lab Annotation Interface
Inter-rater agreement
• 2 menselijke classifiers zijn het nooit 100% met elkaar eens
• Laat altijd een deel van de voorbeelddata door 2 of 3 mensen classificeren
• En bereken dan hun onderlinge overeenstemming (agreement)
• Dan weet je hoe betrouwbaar de voorbeelddata is
• Referentie-data = ‘gold standard’ / ‘ground truth’
voor wie meer wil weten:
Cohen’s Kappa
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
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 ?
• Keuzes in het maken van de features:
- Wel of niet stopwoorden (functiewoorden) weggooien
- Hoeveel features gebruiken (grootte van vocabulaire van de classifier)
- Wel of niet lemmatiseren (interests  interest)
- Wel of niet woordgroepen meenemen als features (“PhD defense”)
- Featurewaarde binair (wel/niet voorkomen), het aantal keer, of een gewogen score
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)
• In het geval van Lipschits:
- Trainen op 1986 en 1994
- Toepassen op 1998 (met labels, dus bruikbaar als testset)
- Na optimalisatie toepassen op 2006-2012 data (zonder labels)
Evaluatiematen
• Menselijke classificatie = referentie
• Classificatie door automatische classifier
• 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 inter-
rater agreement is een indicator)
- De hoeveelheid trainingsdocumenten en de kwaliteit van de handmatige
classificatie
- De lengte van de documenten: korte documenten zijn moeilijker te
classificeren
Resultaten: wat kun je verwachten?
• Wat is een reële F-score?
- Makkelijke binaire classificatietaak: 90-99%
– Bijvoorbeeld: herken book search requests op een lezers-discussie-forum
- Moeilijke multi-label classificatietaak: 30-70%
– De categorieën met weinig voorbeelden halen de gemiddelde nauwkeurigheid
omlaag
– Bijvoorbeeld: patentclassificatie, Lipschits partijprogramma’s
• Resultaten voor de 1998-partijprogramma’s (Lipschits-classificatie)
- Precisie: ~70%
- Recall: 37%
Wat is nodig voor tekstclassificatie
• Definitie van de taak
• Voorbeelddata
• Feature-extractie
• Classificatiemethode
• Evaluatie
Bedankt!
• http://sverberne.ruhosting.nl
• http://twitter.com/suzan

More Related Content

Viewers also liked

Silex meets SOAP & REST
Silex meets SOAP & RESTSilex meets SOAP & REST
Silex meets SOAP & REST
Hugo Hamon
 
61842153 membros-em-lideres
61842153 membros-em-lideres61842153 membros-em-lideres
61842153 membros-em-lideres
Luiz Augusto
 
35831357 mateus-interlinear-grego-portugues
35831357 mateus-interlinear-grego-portugues35831357 mateus-interlinear-grego-portugues
35831357 mateus-interlinear-grego-portugues
Luiz Augusto
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
Hugo Hamon
 
How Lexmark transformed its demand forecasting and territory management with ...
How Lexmark transformed its demand forecasting and territory management with ...How Lexmark transformed its demand forecasting and territory management with ...
How Lexmark transformed its demand forecasting and territory management with ...
Anaplan
 
Next-generation integrated business planning: The Deloitte Perspective | Anaplan
Next-generation integrated business planning: The Deloitte Perspective | AnaplanNext-generation integrated business planning: The Deloitte Perspective | Anaplan
Next-generation integrated business planning: The Deloitte Perspective | Anaplan
Anaplan
 
6 forecasting best practices for smart businesses | Anaplan and BetterVu
6 forecasting best practices for smart businesses | Anaplan and BetterVu6 forecasting best practices for smart businesses | Anaplan and BetterVu
6 forecasting best practices for smart businesses | Anaplan and BetterVu
Anaplan
 
Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...
Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...
Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...
Anaplan
 
Symfony2 en pièces détachées
Symfony2 en pièces détachéesSymfony2 en pièces détachées
Symfony2 en pièces détachées
Hugo Hamon
 

Viewers also liked (9)

Silex meets SOAP & REST
Silex meets SOAP & RESTSilex meets SOAP & REST
Silex meets SOAP & REST
 
61842153 membros-em-lideres
61842153 membros-em-lideres61842153 membros-em-lideres
61842153 membros-em-lideres
 
35831357 mateus-interlinear-grego-portugues
35831357 mateus-interlinear-grego-portugues35831357 mateus-interlinear-grego-portugues
35831357 mateus-interlinear-grego-portugues
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
How Lexmark transformed its demand forecasting and territory management with ...
How Lexmark transformed its demand forecasting and territory management with ...How Lexmark transformed its demand forecasting and territory management with ...
How Lexmark transformed its demand forecasting and territory management with ...
 
Next-generation integrated business planning: The Deloitte Perspective | Anaplan
Next-generation integrated business planning: The Deloitte Perspective | AnaplanNext-generation integrated business planning: The Deloitte Perspective | Anaplan
Next-generation integrated business planning: The Deloitte Perspective | Anaplan
 
6 forecasting best practices for smart businesses | Anaplan and BetterVu
6 forecasting best practices for smart businesses | Anaplan and BetterVu6 forecasting best practices for smart businesses | Anaplan and BetterVu
6 forecasting best practices for smart businesses | Anaplan and BetterVu
 
Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...
Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...
Anaplan SPM Webinar 2: Transitioning from spreadsheet-based territory managem...
 
Symfony2 en pièces détachées
Symfony2 en pièces détachéesSymfony2 en pièces détachées
Symfony2 en pièces détachées
 

Similar to Automatische classificatie van teksten

Computationeel denken
Computationeel denkenComputationeel denken
Computationeel denken
Leiden University
 
Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...
Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...
Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...
Joyce van Aalten
 
Onderzoeksmethode scriptie
Onderzoeksmethode scriptieOnderzoeksmethode scriptie
Onderzoeksmethode scriptie
MariekeStrootman
 
Semantische zoekmachines voor wetenschap: een stresstest
Semantische zoekmachines voor wetenschap: een stresstestSemantische zoekmachines voor wetenschap: een stresstest
Semantische zoekmachines voor wetenschap: een stresstest
voginip
 
Learning analytics architecturen 1
Learning analytics architecturen 1Learning analytics architecturen 1
Learning analytics architecturen 1
SURF Events
 
Workshop Informatie vindbaar met metadata en taxonomieën
Workshop Informatie vindbaar met metadata en taxonomieënWorkshop Informatie vindbaar met metadata en taxonomieën
Workshop Informatie vindbaar met metadata en taxonomieën
Joyce van Aalten
 
Onderzoeksplan - Thema 7 Scriptieworkshop
Onderzoeksplan - Thema 7 ScriptieworkshopOnderzoeksplan - Thema 7 Scriptieworkshop
Onderzoeksplan - Thema 7 Scriptieworkshop
Pim Schaaf
 
Testnet - Workshop Data Profiling voor Testers 20160511 - DEF
Testnet - Workshop Data Profiling voor Testers 20160511 - DEFTestnet - Workshop Data Profiling voor Testers 20160511 - DEF
Testnet - Workshop Data Profiling voor Testers 20160511 - DEFdorsek
 
Metadata, een overzicht. wageningen 17 12-2012
Metadata, een overzicht. wageningen 17 12-2012Metadata, een overzicht. wageningen 17 12-2012
Metadata, een overzicht. wageningen 17 12-2012
Robert Schuwer
 
Introductie Modelleren
Introductie ModellerenIntroductie Modelleren
Introductie Modelleren
Gabriel Hopmans
 
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | BewarenModule 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
PACKED vzw
 
Onderzoeksmethode - Thema 5 Scriptieworkshop
Onderzoeksmethode - Thema 5 ScriptieworkshopOnderzoeksmethode - Thema 5 Scriptieworkshop
Onderzoeksmethode - Thema 5 Scriptieworkshop
Pim Schaaf
 
Competenties Stappen
Competenties StappenCompetenties Stappen
Competenties Stappen
elsfrigge
 
Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13
Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13
Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13
SURF Events
 
Cursus Onderwijsstandaarden 31 Maart
Cursus Onderwijsstandaarden 31 MaartCursus Onderwijsstandaarden 31 Maart
Cursus Onderwijsstandaarden 31 Maart
H-P Köhler
 
Grote hoeveelheden tekst analyseren als data
Grote hoeveelheden tekst analyseren als dataGrote hoeveelheden tekst analyseren als data
Grote hoeveelheden tekst analyseren als data
voginip
 
Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015
Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015
Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015
Joyce van Aalten
 
Simone van dulmen de proms toolbox
Simone van dulmen   de proms toolboxSimone van dulmen   de proms toolbox
Simone van dulmen de proms toolbox
Kelly Adegeest
 
Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?
Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?
Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?
voginip
 
Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013
Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013
Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013Open University in the Netherlands
 

Similar to Automatische classificatie van teksten (20)

Computationeel denken
Computationeel denkenComputationeel denken
Computationeel denken
 
Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...
Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...
Informatie vindbaar met metadata en taxonomieën vogin ip workshop 2017 joyce...
 
Onderzoeksmethode scriptie
Onderzoeksmethode scriptieOnderzoeksmethode scriptie
Onderzoeksmethode scriptie
 
Semantische zoekmachines voor wetenschap: een stresstest
Semantische zoekmachines voor wetenschap: een stresstestSemantische zoekmachines voor wetenschap: een stresstest
Semantische zoekmachines voor wetenschap: een stresstest
 
Learning analytics architecturen 1
Learning analytics architecturen 1Learning analytics architecturen 1
Learning analytics architecturen 1
 
Workshop Informatie vindbaar met metadata en taxonomieën
Workshop Informatie vindbaar met metadata en taxonomieënWorkshop Informatie vindbaar met metadata en taxonomieën
Workshop Informatie vindbaar met metadata en taxonomieën
 
Onderzoeksplan - Thema 7 Scriptieworkshop
Onderzoeksplan - Thema 7 ScriptieworkshopOnderzoeksplan - Thema 7 Scriptieworkshop
Onderzoeksplan - Thema 7 Scriptieworkshop
 
Testnet - Workshop Data Profiling voor Testers 20160511 - DEF
Testnet - Workshop Data Profiling voor Testers 20160511 - DEFTestnet - Workshop Data Profiling voor Testers 20160511 - DEF
Testnet - Workshop Data Profiling voor Testers 20160511 - DEF
 
Metadata, een overzicht. wageningen 17 12-2012
Metadata, een overzicht. wageningen 17 12-2012Metadata, een overzicht. wageningen 17 12-2012
Metadata, een overzicht. wageningen 17 12-2012
 
Introductie Modelleren
Introductie ModellerenIntroductie Modelleren
Introductie Modelleren
 
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | BewarenModule 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
Module 4 | CEST-richtlijnen voor beheerders van digitale collecties | Bewaren
 
Onderzoeksmethode - Thema 5 Scriptieworkshop
Onderzoeksmethode - Thema 5 ScriptieworkshopOnderzoeksmethode - Thema 5 Scriptieworkshop
Onderzoeksmethode - Thema 5 Scriptieworkshop
 
Competenties Stappen
Competenties StappenCompetenties Stappen
Competenties Stappen
 
Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13
Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13
Open education en learning analytics - Sander Latour en Robert Schuwer - OWD13
 
Cursus Onderwijsstandaarden 31 Maart
Cursus Onderwijsstandaarden 31 MaartCursus Onderwijsstandaarden 31 Maart
Cursus Onderwijsstandaarden 31 Maart
 
Grote hoeveelheden tekst analyseren als data
Grote hoeveelheden tekst analyseren als dataGrote hoeveelheden tekst analyseren als data
Grote hoeveelheden tekst analyseren als data
 
Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015
Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015
Taxonomieën maken en toepassen in SharePoint 2013 VOGIN-IP lezing 2015
 
Simone van dulmen de proms toolbox
Simone van dulmen   de proms toolboxSimone van dulmen   de proms toolbox
Simone van dulmen de proms toolbox
 
Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?
Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?
Gaat Artificial Intelligence helpen het zoeken verder te automatiseren?
 
Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013
Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013
Protégé-OWL workshop, bij de Semantic Web TouW-dag juni 3013
 

More from Leiden University

‘Big models’: the success and pitfalls of Transformer models in natural langu...
‘Big models’: the success and pitfalls of Transformer models in natural langu...‘Big models’: the success and pitfalls of Transformer models in natural langu...
‘Big models’: the success and pitfalls of Transformer models in natural langu...
Leiden University
 
Text mining for health knowledge discovery
Text mining for health knowledge discoveryText mining for health knowledge discovery
Text mining for health knowledge discovery
Leiden University
 
Text Mining for Lexicography
Text Mining for LexicographyText Mining for Lexicography
Text Mining for Lexicography
Leiden University
 
'Het nieuwe zoeken' voor informatieprofessionals
'Het nieuwe zoeken' voor informatieprofessionals'Het nieuwe zoeken' voor informatieprofessionals
'Het nieuwe zoeken' voor informatieprofessionals
Leiden University
 
kanker.nl & Data Science
kanker.nl & Data Sciencekanker.nl & Data Science
kanker.nl & Data Science
Leiden University
 
Tutorial on word2vec
Tutorial on word2vecTutorial on word2vec
Tutorial on word2vec
Leiden University
 
Summarizing discussion threads
Summarizing discussion threadsSummarizing discussion threads
Summarizing discussion threads
Leiden University
 
Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?
Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?
Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?
Leiden University
 
Search engines for the humanities that go beyond Google
Search engines for the humanities that go beyond GoogleSearch engines for the humanities that go beyond Google
Search engines for the humanities that go beyond Google
Leiden University
 
Krijgen we ooit de beschikking over slimme zoektechnologie?
Krijgen we ooit de beschikking over slimme zoektechnologie?Krijgen we ooit de beschikking over slimme zoektechnologie?
Krijgen we ooit de beschikking over slimme zoektechnologie?
Leiden University
 

More from Leiden University (10)

‘Big models’: the success and pitfalls of Transformer models in natural langu...
‘Big models’: the success and pitfalls of Transformer models in natural langu...‘Big models’: the success and pitfalls of Transformer models in natural langu...
‘Big models’: the success and pitfalls of Transformer models in natural langu...
 
Text mining for health knowledge discovery
Text mining for health knowledge discoveryText mining for health knowledge discovery
Text mining for health knowledge discovery
 
Text Mining for Lexicography
Text Mining for LexicographyText Mining for Lexicography
Text Mining for Lexicography
 
'Het nieuwe zoeken' voor informatieprofessionals
'Het nieuwe zoeken' voor informatieprofessionals'Het nieuwe zoeken' voor informatieprofessionals
'Het nieuwe zoeken' voor informatieprofessionals
 
kanker.nl & Data Science
kanker.nl & Data Sciencekanker.nl & Data Science
kanker.nl & Data Science
 
Tutorial on word2vec
Tutorial on word2vecTutorial on word2vec
Tutorial on word2vec
 
Summarizing discussion threads
Summarizing discussion threadsSummarizing discussion threads
Summarizing discussion threads
 
Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?
Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?
Leer je digitale klanten kennen: hoe zoeken ze en wat vinden ze?
 
Search engines for the humanities that go beyond Google
Search engines for the humanities that go beyond GoogleSearch engines for the humanities that go beyond Google
Search engines for the humanities that go beyond Google
 
Krijgen we ooit de beschikking over slimme zoektechnologie?
Krijgen we ooit de beschikking over slimme zoektechnologie?Krijgen we ooit de beschikking over slimme zoektechnologie?
Krijgen we ooit de beschikking over slimme zoektechnologie?
 

Automatische classificatie van teksten

  • 1. Automatische classificatie van teksten Suzan Verberne 20 september 2016 NOTaS-bijeenkomst bij Nationaal Archief
  • 2. Wie ben ik • PhD from Radboud University in 2010, on Information Retrieval / Natural Language Processing • Research topics since then: - Text classification - Information Extraction - Personalized content filtering - Information seeking behavior - Information access for the humanities - Summarization of discussion forum threads • Teaching: - Text Mining - Information Retrieval
  • 4. Spam of geen spam?
  • 5. Spam of geen spam?
  • 6. Spam of geen spam?
  • 7. Tekstclassificatie • Op basis van welke kenmerken heb je je beslissing genomen? • Classificatieprobleem: kiezen tussen twee of meer alternatieven (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
  • 8. • Binaire classificatie (twee categorieën) • Multi-class / one-of classificatie • Multi-label classificatie
  • 9. Voorbeeld-toepassingen • Zijn deze taken binair, multi-class of multi-label?
  • 12. Het indelen van nieuws in secties
  • 13. Het indelen van boeken in genres
  • 14. Het indelen van archiefstukken naar proces
  • 15. Het toekennen van trefwoorden aan archiefstukken
  • 16. Wat is nodig voor tekstclassificatie?
  • 17. Wat is nodig voor tekstclassificatie • Definitie van de taak • Voorbeelddata • Feature-extractie • Classificatiemethode • Evaluatie
  • 18. Wat is nodig voor tekstclassificatie • Definitie van de taak • Voorbeelddata • Feature-extractie • Classificatiemethode • Evaluatie
  • 19. Definieer je taak • Wat is de teksteenheid die je wilt classificeren? - Hele documenten (denk aan een e-mailarchief: classificatie per bericht) - Secties? (denk aan notulen, of partijprogramma’s) - Zinnen? (denk aan taalherkenning of sentimentclassificatie) • Wat zijn de categorieën? • Voorbeeld-probleem: Verkiezingsprogramma’s geannoteerd door Isaac Lipschits
  • 20.
  • 21.
  • 22.
  • 23. Lipschits-classificatie-probleem Doelen (PoliticalMashup project): 1. Digitaliseer de 1977–1998 Lipschits collecties 2. Bouw een automatische classifier voor recentere, ongeannoteerde edities Aanpak: 1. Zet de gescande PDF’s uit 1986, 1994 en 1998 om naar teksten met labels 2. Train en evalueer hiermee een classifier 3. Pas de classifier toe op de 2006-2012 data
  • 24. Wat is nodig voor tekstclassificatie • Definitie van de taak • Voorbeelddata • Feature-extractie • Classificatiemethode • Evaluatie
  • 25. Voorbeelddata Voorbeelddata (trainingsdata): • Een set van teksten met categorieën/labels • Om een classificatiemodel mee te trainen
  • 27. Hoe kom je aan voorbeelddata? 1. Bestaande data - Door experts gemaakte indelingen, bijvoorbeeld – Patentclassificatie – Partijprogramma’s, door Isaac Lipschits van trefwoorden voorzien - Door leken gemaakte indelingen (user-generated content), bijvoorbeeld – Hashtags als categorieën: #fail voor negatief sentiment
  • 28. Hoe kom je aan voorbeelddata? 2. Voorbeelddata (laten) maken - Maak een selectie van documenten - Definieer een set van categorieën - Menselijke classificatie – Experts – Crowdsourcing (Amazon Mechanical Turk, Crowdflower) • Hoeveel voorbeelddata heb je nodig? - Minimaal enkele tientallen/honderden per categorie - Hoe meer, hoe beter - Hoe moeilijker het probleem, hoe meer voorbeelden nodig Mechanical Turk, an expression used for machines or devices that can purportedly do a fully automated task, but which in reality is done by a hidden person
  • 29. Social Book Search Lab Annotation Interface
  • 30. Inter-rater agreement • 2 menselijke classifiers zijn het nooit 100% met elkaar eens • Laat altijd een deel van de voorbeelddata door 2 of 3 mensen classificeren • En bereken dan hun onderlinge overeenstemming (agreement) • Dan weet je hoe betrouwbaar de voorbeelddata is • Referentie-data = ‘gold standard’ / ‘ground truth’ voor wie meer wil weten: Cohen’s Kappa
  • 31. Wat is nodig voor tekstclassificatie • Definitie van de taak • Voorbeelddata • Feature-extractie • Classificatiemethode • Evaluatie
  • 33. Woorden zijn features 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 ? • Keuzes in het maken van de features: - Wel of niet stopwoorden (functiewoorden) weggooien - Hoeveel features gebruiken (grootte van vocabulaire van de classifier) - Wel of niet lemmatiseren (interests  interest) - Wel of niet woordgroepen meenemen als features (“PhD defense”) - Featurewaarde binair (wel/niet voorkomen), het aantal keer, of een gewogen score
  • 34. 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
  • 35. Wat is nodig voor tekstclassificatie • Definitie van de taak • Voorbeelddata • Feature-extractie • Classificatiemethode • Evaluatie
  • 36. 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) • In het geval van Lipschits: - Trainen op 1986 en 1994 - Toepassen op 1998 (met labels, dus bruikbaar als testset) - Na optimalisatie toepassen op 2006-2012 data (zonder labels)
  • 37. Evaluatiematen • Menselijke classificatie = referentie • Classificatie door automatische classifier • 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
  • 38. 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 inter- rater agreement is een indicator) - De hoeveelheid trainingsdocumenten en de kwaliteit van de handmatige classificatie - De lengte van de documenten: korte documenten zijn moeilijker te classificeren
  • 39. Resultaten: wat kun je verwachten? • Wat is een reële F-score? - Makkelijke binaire classificatietaak: 90-99% – Bijvoorbeeld: herken book search requests op een lezers-discussie-forum - Moeilijke multi-label classificatietaak: 30-70% – De categorieën met weinig voorbeelden halen de gemiddelde nauwkeurigheid omlaag – Bijvoorbeeld: patentclassificatie, Lipschits partijprogramma’s • Resultaten voor de 1998-partijprogramma’s (Lipschits-classificatie) - Precisie: ~70% - Recall: 37%
  • 40. Wat is nodig voor tekstclassificatie • Definitie van de taak • Voorbeelddata • Feature-extractie • Classificatiemethode • Evaluatie

Editor's Notes

  1. Gemiddelde aantal labels per alinea: 6-10!