Grunderna i reguljära uttryck

Introduktion till naturlig språkbehandling i R

Kasey Jones

Research Data Scientist

Vad är naturlig språkbehandling?

NLP:

  • Handlar om att använda datorer för att analysera och förstå text

Ämnen som behandlas:

  • Textklassificering
  • Ämnesmodellering
  • Igenkänning av namngivna entiteter
  • Sentimentanalys
Introduktion till naturlig språkbehandling i R

Vad är reguljära uttryck?

  • En teckensträng som används för att söka i text
  • Exempel:
    • söka efter filer i en katalog via kommandoraden
    • hitta artiklar som innehåller ett visst mönster
    • ersätta specifik text
    • ...
Introduktion till naturlig språkbehandling i R

Exempel

words <- c("DW-40", "Mike's Oil", "5w30", "Joe's Gas", "Unleaded", "Plus-89")
# Finding Digits
grep("\\d", words, value = TRUE)
[1] 1 3 6
# Finding Apostrophes
grep("\\'", words, value = TRUE)
[1] "Mike's Oil"     "Joe's Gasoline"
Introduktion till naturlig språkbehandling i R

Exempel på reguljära uttryck

Mönster Matchar R-exempel Textexempel
\w Valfritt alfanumeriskt tecken gregexpr(pattern ='\w', <text>) a
\d Valfri siffra gregexpr(pattern ='\d', text) 1
\w+ Alfanumerisk sträng av valfri längd gregexpr(pattern ='\w+', text) word
\d+ Siffror av valfri längd gregexpr(pattern ='\d+', text) 1234
\s Mellanslag gregexpr(pattern ='\s', text) ' '
\S Valfritt tecken som inte är mellanslag gregexpr(pattern ='\S', text) word
Introduktion till naturlig språkbehandling i R

R-exempel

Funktion Syfte Syntax
grep Hitta matchningar av mönstret i en vektor grep(pattern ='\w', x = <vector>, value = F)
gsub Ersätter alla matchningar i en sträng/vektor gsub(pattern ='\d+', replacement = "", x = <vector>)
Introduktion till naturlig språkbehandling i R

Öva på regex

1 https://regexone.com/lesson/matching_characters
Introduktion till naturlig språkbehandling i R

Nu kör vi en övning!

Introduktion till naturlig språkbehandling i R

Preparing Video For Download...