Podstawy wyrażeń regularnych

Wprowadzenie do przetwarzania języka naturalnego w R

Kasey Jones

Research Data Scientist

Czym jest przetwarzanie języka naturalnego?

NLP:

  • Skupia się na analizie i rozumieniu tekstu przez komputery

Omawiane tematy:

  • Klasyfikacja tekstu
  • Modelowanie tematyczne
  • Rozpoznawanie jednostek nazwanych
  • Analiza sentymentu
Wprowadzenie do przetwarzania języka naturalnego w R

Czym są wyrażenia regularne?

  • Sekwencja znaków używana do przeszukiwania tekstu
  • Przykłady zastosowań:
    • wyszukiwanie plików w katalogu z linii poleceń
    • znajdowanie artykułów zawierających określony wzorzec
    • zastępowanie określonego tekstu
    • ...
Wprowadzenie do przetwarzania języka naturalnego w R

Przykłady

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"
Wprowadzenie do przetwarzania języka naturalnego w R

Przykłady wyrażeń regularnych

Wzorzec Dopasowania Przykład w R Przykład tekstu
\w Dowolny znak alfanumeryczny gregexpr(pattern ='\w', <text>) a
\d Dowolna cyfra gregexpr(pattern ='\d', text) 1
\w+ Znaki alfanumeryczne dowolnej długości gregexpr(pattern ='\w+', text) word
\d+ Cyfry dowolnej długości gregexpr(pattern ='\d+', text) 1234
\s Spacje gregexpr(pattern ='\s', text) ' '
\S Dowolny znak niebędący spacją gregexpr(pattern ='\S', text) word
Wprowadzenie do przetwarzania języka naturalnego w R

Przykłady w R

Funkcja Cel Składnia
grep Znajduje dopasowania wzorca w wektorze grep(pattern ='\w', x = <vector>, value = F)
gsub Zastępuje wszystkie dopasowania wzorca w ciągu/wektorze gsub(pattern ='\d+', replacement = "", x = <vector>)
Wprowadzenie do przetwarzania języka naturalnego w R

Ćwiczenia z RegEx

1 https://regexone.com/lesson/matching_characters
Wprowadzenie do przetwarzania języka naturalnego w R

Czas na kod!

Wprowadzenie do przetwarzania języka naturalnego w R

Preparing Video For Download...