Basis van reguliere expressies

Introductie tot Natural Language Processing in R

Kasey Jones

Research Data Scientist

Wat is Natural Language Processing?

NLP:

  • Gebruikt computers om tekst te analyseren en te begrijpen

Onderwerpen:

  • Tekstclassificatie
  • Topicmodellering
  • Named Entity Recognition
  • Sentimentanalyse
Introductie tot Natural Language Processing in R

Wat zijn reguliere expressies?

  • Een tekenreeks om tekst te doorzoeken
  • Voorbeelden:
    • bestanden zoeken in een map via de command line
    • artikelen vinden met een specifiek patroon
    • specifieke tekst vervangen
    • ...
Introductie tot Natural Language Processing in R

Voorbeelden

words <- c("DW-40", "Mike's Oil", "5w30", "Joe's Gas", "Unleaded", "Plus-89")
# Cijfers vinden
grep("\\d", words, value = TRUE)
[1] 1 3 6
# Apostroffen vinden
grep("\\'", words, value = TRUE)
[1] "Mike's Oil"     "Joe's Gasoline"
Introductie tot Natural Language Processing in R

Voorbeelden van reguliere expressies

Pattern Tekstmatches R-voorbeeld Tekstvoorbeeld
\w Alfanumeriek teken gregexpr(pattern ='\w', <text>) a
\d Cijfer gregexpr(pattern ='\d', text) 1
\w+ Alfanumeriek, elke lengte gregexpr(pattern ='\w+', text) woord
\d+ Cijfers, elke lengte gregexpr(pattern ='\d+', text) 1234
\s Spaties gregexpr(pattern ='\s', text) ' '
\S Niet-spatie gregexpr(pattern ='\S', text) woord
Introductie tot Natural Language Processing in R

R-voorbeelden

Functie Doel Syntax
grep Zoek overeenkomsten met het patroon in een vector grep(pattern ='\w', x = <vector>, value = F)
gsub Vervangt alle matches van een string/vector gsub(pattern ='\d+', replacement = "", x = <vector>)
Introductie tot Natural Language Processing in R

RegEx-oefening

1 https://regexone.com/lesson/matching_characters
Introductie tot Natural Language Processing in R

Tijd om te coderen!

Introductie tot Natural Language Processing in R

Preparing Video For Download...