SlideShare ist ein Scribd-Unternehmen logo
1 von 35
2 8 M A A R T 2 0 1 8 , V O G I N - I P L E Z I N G
AUTOMATISCHE CLASSIFICATIE
VAN TEKSTEN
SUZAN VERBERNE
WIE BEN IK
 1998-2002: bachelor & master Taal- en Spraaktechnologie
 2005-2009: Promotie op het onderwerp van vraag-antwoordsystemen
 2009-2017: Onderzoeker en docent op het gebied van Text Mining en
Information Retrieval, Radboud Universiteit
 Nu: Universitair Docent bij het Leiden Institute for Advanced Computer
Science (LIACS), betrokken bij het Data Science Onderzoeksprogramma
 Onderzoek: projecten over text mining en information retrieval in allerlei
toepassingsgebieden
 Onderwijs: Data Science & Text Mining
Suzan Verberne
BIBLIOTHEKEN EN INFORMATION RETRIEVAL
 Kleine zijsprong:
 De bibliotheekwetenschappen (‘library and information sciences’)
stonden aan de basis van het vakgebied Information Retrieval
 Doel: de bibliothecaris ondersteunen met technologie
Suzan Verberne
TEXT MINING
 Text mining: informatie ontsluiten die in teksten is opgeslagen
 Classificatie van teksten (documenten of delen ervan) is vaak een eerste
stap die die vindbaarheid vergroot
 Daarna: informatie-extractie (belangrijke termen, relaties, events)
 En meestal ook: ontsluiting van informatie via een gebruikers-interface.
Suzan Verberne
AUTOMATISCHE CLASSIFICATIE VAN TEKSTEN
 Automatische classificatie van (web)teksten vindt continu plaats
 meest beroemde toepassing: spamdetectie
 classificatie helpt het zoekproces (internet/archieven)
 Inhoud van deze lezing:
 Wat is tekstclassificatie
 Wat is nodig voor tekstclassificatie: van taakdefinitie tot evaluatie
Suzan Verberne
Suzan Verberne
WAT IS TEKSTCLASSIFICATIE?
SPAM OF GEEN SPAM?
Suzan Verberne
SPAM OF GEEN SPAM?
Suzan Verberne
SPAM OF GEEN SPAM?
Suzan Verberne
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
Suzan Verberne
VOORBEELDEN VAN TEKSTCLASSIFICATIE
Suzan Verberne
SPAMDETECTIE
Suzan Verberne
TAALHERKENNING
Suzan Verberne
HET INDELEN VAN NIEUWS IN SECTIES
Suzan Verberne
HET INDELEN VAN BOEKEN IN GENRES
Suzan Verberne
HET TOEKENNEN VAN TREFWOORDEN AAN
ARCHIEFSTUKKEN
= Metadata
Suzan Verberne
Suzan Verberne
WAT IS NODIG VOOR
TEKSTCLASSIFICATIE
WAT IS NODIG VOOR TEKSTCLASSIFICATIE
 Definitie van de taak
 Voorbeelddata
 Feature-extractie
 Classificatiemethode
 Evaluatie
Suzan Verberne
WAT IS NODIG VOOR TEKSTCLASSIFICATIE
 Definitie van de taak
 Voorbeelddata
 Feature-extractie
 Classificatiemethode
 Evaluatie
Suzan Verberne
DEFINIEER JE TAAK
 Wat is de teksteenheid die je wilt classificeren?
 Hele boeken/tijdschriften? (nieuwe materialen in een bibliotheek)
 Hele documenten? (denk aan een e-mailarchief: classificatie per bericht)
 Een document kan kort zijn! Een forumbericht of tweet bijvoorbeeld
 Secties? (denk aan notulen)
 Zinnen? (denk aan taalherkenning of sentimentclassificatie)
 Wat zijn de categorieën?
 Zijn de categorieën vooraf gegeven?
Suzan Verberne
WAT IS NODIG VOOR TEKSTCLASSIFICATIE
 Definitie van de taak
 Voorbeelddata
 Feature-extractie
 Classificatiemethode
 Evaluatie
Suzan Verberne
VOORBEELDDATA
Voorbeelddata (trainingsdata):
 Een set van teksten met categorieën/labels
 Dit kunnen bestaande metadata zijn (door mensen gemaakt)
 Of nieuwe labels kunnen worden toegekend speciaal om de classifier te
trainer
 Om een classificatiemodel mee te trainen
Suzan Verberne
Build classifier
Classifier
Voorbeeld-
documenten
Representeren
als feature
vectors
Een
classificatie-
model leren
Toepassen op
een nieuw
document
Suzan Verberne
WAT IS NODIG VOOR TEKSTCLASSIFICATIE
 Definitie van de taak
 Voorbeelddata
 Feature-extractie
 Classificatiemethode
 Evaluatie
Suzan Verberne
FEATURE-EXTRACTIE
Voorbeeld-
documenten
Representeren
als feature
vectors
Suzan Verberne
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 ?
Suzan Verberne
CLASSIFICATIE-METHODEN
 Veel gebruikte machine-learning 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
Suzan Verberne
Suzan Verberne
WAT IS NODIG VOOR TEKSTCLASSIFICATIE
 Definitie van de taak
 Voorbeelddata
 Feature-extractie
 Classificatiemethode
 Evaluatie
Suzan Verberne
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
Suzan Verberne
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
Suzan Verberne
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 (per categorie tientallen, maar
liever honderden documenten nodig)
 De lengte van de documenten: korte documenten zijn moeilijker te
classificeren
 De kwaliteit is nooit perfect. Meer dan 90% is heel mooi
 maar 60-80% is realistischer
 vaak is er een afweging tussen het belang van precision en recall
Suzan Verberne
WAT IS NODIG VOOR TEKSTCLASSIFICATIE
 Definitie van de taak
 Voorbeelddata
 Feature-extractie
 Classificatiemethode
 Evaluatie
Suzan Verberne
PROBEER HET ZELF
 Python leren:
 https://www.codecademy.com/learn/python
 https://www.coursera.org/learn/python (Python for everybody)
 https://www.coursera.org/learn/python-machine-learning (applied machine learning
in Python)
 http://www.karsdorp.io/python-course/ (Python for the Humanities)
 Machine learning in Python met sklearn:
 http://scikit-learn.org/stable/tutorial/basic/tutorial.html
 Text processing and categorization in Python:
 http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
 https://towardsdatascience.com/machine-learning-nlp-text-classification-using-
scikit-learn-python-and-nltk-c52b92a7c73a
Suzan Verberne
BEDANKT!
 http://liacs.leidenuniv.nl/~verbernes/
 http://twitter.com/suzan
Suzan Verberne

Weitere ähnliche Inhalte

Mehr von Leiden University

Text Mining for Lexicography
Text Mining for LexicographyText Mining for Lexicography
Text Mining for LexicographyLeiden University
 
'Het nieuwe zoeken' voor informatieprofessionals
'Het nieuwe zoeken' voor informatieprofessionals'Het nieuwe zoeken' voor informatieprofessionals
'Het nieuwe zoeken' voor informatieprofessionalsLeiden University
 
Summarizing discussion threads
Summarizing discussion threadsSummarizing discussion threads
Summarizing discussion threadsLeiden 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
 
RemBench: A Digital Workbench for Rembrandt Research
RemBench: A Digital Workbench for Rembrandt ResearchRemBench: A Digital Workbench for Rembrandt Research
RemBench: A Digital Workbench for Rembrandt ResearchLeiden University
 
Collecting a dataset of information behaviour in context
Collecting a dataset of information behaviour in contextCollecting a dataset of information behaviour in context
Collecting a dataset of information behaviour in contextLeiden 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 GoogleLeiden 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
 

Mehr von Leiden University (10)

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?
 
RemBench: A Digital Workbench for Rembrandt Research
RemBench: A Digital Workbench for Rembrandt ResearchRemBench: A Digital Workbench for Rembrandt Research
RemBench: A Digital Workbench for Rembrandt Research
 
Collecting a dataset of information behaviour in context
Collecting a dataset of information behaviour in contextCollecting a dataset of information behaviour in context
Collecting a dataset of information behaviour in context
 
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. 2 8 M A A R T 2 0 1 8 , V O G I N - I P L E Z I N G AUTOMATISCHE CLASSIFICATIE VAN TEKSTEN SUZAN VERBERNE
  • 2. WIE BEN IK  1998-2002: bachelor & master Taal- en Spraaktechnologie  2005-2009: Promotie op het onderwerp van vraag-antwoordsystemen  2009-2017: Onderzoeker en docent op het gebied van Text Mining en Information Retrieval, Radboud Universiteit  Nu: Universitair Docent bij het Leiden Institute for Advanced Computer Science (LIACS), betrokken bij het Data Science Onderzoeksprogramma  Onderzoek: projecten over text mining en information retrieval in allerlei toepassingsgebieden  Onderwijs: Data Science & Text Mining Suzan Verberne
  • 3. BIBLIOTHEKEN EN INFORMATION RETRIEVAL  Kleine zijsprong:  De bibliotheekwetenschappen (‘library and information sciences’) stonden aan de basis van het vakgebied Information Retrieval  Doel: de bibliothecaris ondersteunen met technologie Suzan Verberne
  • 4. TEXT MINING  Text mining: informatie ontsluiten die in teksten is opgeslagen  Classificatie van teksten (documenten of delen ervan) is vaak een eerste stap die die vindbaarheid vergroot  Daarna: informatie-extractie (belangrijke termen, relaties, events)  En meestal ook: ontsluiting van informatie via een gebruikers-interface. Suzan Verberne
  • 5. AUTOMATISCHE CLASSIFICATIE VAN TEKSTEN  Automatische classificatie van (web)teksten vindt continu plaats  meest beroemde toepassing: spamdetectie  classificatie helpt het zoekproces (internet/archieven)  Inhoud van deze lezing:  Wat is tekstclassificatie  Wat is nodig voor tekstclassificatie: van taakdefinitie tot evaluatie Suzan Verberne
  • 6. Suzan Verberne WAT IS TEKSTCLASSIFICATIE?
  • 7. SPAM OF GEEN SPAM? Suzan Verberne
  • 8. SPAM OF GEEN SPAM? Suzan Verberne
  • 9. SPAM OF GEEN SPAM? Suzan Verberne
  • 10. 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 Suzan Verberne
  • 14. HET INDELEN VAN NIEUWS IN SECTIES Suzan Verberne
  • 15. HET INDELEN VAN BOEKEN IN GENRES Suzan Verberne
  • 16. HET TOEKENNEN VAN TREFWOORDEN AAN ARCHIEFSTUKKEN = Metadata Suzan Verberne
  • 17. Suzan Verberne WAT IS NODIG VOOR TEKSTCLASSIFICATIE
  • 18. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  • 19. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  • 20. DEFINIEER JE TAAK  Wat is de teksteenheid die je wilt classificeren?  Hele boeken/tijdschriften? (nieuwe materialen in een bibliotheek)  Hele documenten? (denk aan een e-mailarchief: classificatie per bericht)  Een document kan kort zijn! Een forumbericht of tweet bijvoorbeeld  Secties? (denk aan notulen)  Zinnen? (denk aan taalherkenning of sentimentclassificatie)  Wat zijn de categorieën?  Zijn de categorieën vooraf gegeven? Suzan Verberne
  • 21. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  • 22. VOORBEELDDATA Voorbeelddata (trainingsdata):  Een set van teksten met categorieën/labels  Dit kunnen bestaande metadata zijn (door mensen gemaakt)  Of nieuwe labels kunnen worden toegekend speciaal om de classifier te trainer  Om een classificatiemodel mee te trainen Suzan Verberne
  • 24. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  • 26. 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 ? Suzan Verberne
  • 27. CLASSIFICATIE-METHODEN  Veel gebruikte machine-learning 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 Suzan Verberne
  • 29. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  • 30. 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 Suzan Verberne
  • 31. 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 Suzan Verberne
  • 32. 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 (per categorie tientallen, maar liever honderden documenten nodig)  De lengte van de documenten: korte documenten zijn moeilijker te classificeren  De kwaliteit is nooit perfect. Meer dan 90% is heel mooi  maar 60-80% is realistischer  vaak is er een afweging tussen het belang van precision en recall Suzan Verberne
  • 33. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  • 34. PROBEER HET ZELF  Python leren:  https://www.codecademy.com/learn/python  https://www.coursera.org/learn/python (Python for everybody)  https://www.coursera.org/learn/python-machine-learning (applied machine learning in Python)  http://www.karsdorp.io/python-course/ (Python for the Humanities)  Machine learning in Python met sklearn:  http://scikit-learn.org/stable/tutorial/basic/tutorial.html  Text processing and categorization in Python:  http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html  https://towardsdatascience.com/machine-learning-nlp-text-classification-using- scikit-learn-python-and-nltk-c52b92a7c73a Suzan Verberne