Bazele expresiilor regulate

Introducere în Prelucrarea Limbajului Natural în R

Kasey Jones

Research Data Scientist

Ce este procesarea limbajului natural?

NLP:

  • Se concentrează pe utilizarea calculatoarelor pentru a analiza și înțelege textul

Subiecte acoperite:

  • Clasificarea textului
  • Modelare tematică
  • Recunoașterea entităților denumite
  • Analiza sentimentelor
Introducere în Prelucrarea Limbajului Natural în R

Ce sunt expresiile regulate?

  • O secvență de caractere folosită pentru a căuta în text
  • Exemple de utilizare:
    • căutarea fișierelor într-un director din linia de comandă
    • găsirea articolelor care conțin un anumit șablon
    • înlocuirea unui text specific
    • ...
Introducere în Prelucrarea Limbajului Natural în R

Exemple

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"
Introducere în Prelucrarea Limbajului Natural în R

Exemple de expresii regulate

Șablon Potriviri text Exemplu R Exemplu text
\w Orice caracter alfanumeric gregexpr(pattern ='\w', <text>) a
\d Orice cifră gregexpr(pattern ='\d', text) 1
\w+ Alfanumeric de orice lungime gregexpr(pattern ='\w+', text) word
\d+ Cifre de orice lungime gregexpr(pattern ='\d+', text) 1234
\s Spații gregexpr(pattern ='\s', text) ' '
\S Orice caracter non-spațiu gregexpr(pattern ='\S', text) word
Introducere în Prelucrarea Limbajului Natural în R

Exemple în R

Funcție Scop Sintaxă
grep Găsește potrivirile șablonului într-un vector grep(pattern ='\w', x = <vector>, value = F)
gsub Înlocuiește toate potrivirile dintr-un șir/vector gsub(pattern ='\d+', replacement = "", x = <vector>)
Introducere în Prelucrarea Limbajului Natural în R

Practică RegEx

1 https://regexone.com/lesson/matching_characters
Introducere în Prelucrarea Limbajului Natural în R

Timp să codăm!

Introducere în Prelucrarea Limbajului Natural în R

Preparing Video For Download...