Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Automatische classificatie van teksten

460 views

Published on

Lezing tijdens VOGIN-IP 2018 ("zoeken en vinden"), Amsterdam
https://vogin-ip-lezing.net/programma-2018/

Published in: Science
  • Be the first to comment

  • Be the first to like this

Automatische classificatie van teksten

  1. 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. 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. 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. 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. 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. 6. Suzan Verberne WAT IS TEKSTCLASSIFICATIE?
  7. 7. SPAM OF GEEN SPAM? Suzan Verberne
  8. 8. SPAM OF GEEN SPAM? Suzan Verberne
  9. 9. SPAM OF GEEN SPAM? Suzan Verberne
  10. 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
  11. 11. VOORBEELDEN VAN TEKSTCLASSIFICATIE Suzan Verberne
  12. 12. SPAMDETECTIE Suzan Verberne
  13. 13. TAALHERKENNING Suzan Verberne
  14. 14. HET INDELEN VAN NIEUWS IN SECTIES Suzan Verberne
  15. 15. HET INDELEN VAN BOEKEN IN GENRES Suzan Verberne
  16. 16. HET TOEKENNEN VAN TREFWOORDEN AAN ARCHIEFSTUKKEN = Metadata Suzan Verberne
  17. 17. Suzan Verberne WAT IS NODIG VOOR TEKSTCLASSIFICATIE
  18. 18. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  19. 19. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  20. 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. 21. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  22. 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
  23. 23. Build classifier Classifier Voorbeeld- documenten Representeren als feature vectors Een classificatie- model leren Toepassen op een nieuw document Suzan Verberne
  24. 24. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  25. 25. FEATURE-EXTRACTIE Voorbeeld- documenten Representeren als feature vectors Suzan Verberne
  26. 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. 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
  28. 28. Suzan Verberne
  29. 29. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  30. 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. 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. 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. 33. WAT IS NODIG VOOR TEKSTCLASSIFICATIE  Definitie van de taak  Voorbeelddata  Feature-extractie  Classificatiemethode  Evaluatie Suzan Verberne
  34. 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
  35. 35. BEDANKT!  http://liacs.leidenuniv.nl/~verbernes/  http://twitter.com/suzan Suzan Verberne

×