Základy regulárních výrazů

Úvod do zpracování přirozeného jazyka v R

Kasey Jones

Research Data Scientist

Co je zpracování přirozeného jazyka?

NLP:

  • Zaměřuje se na analýzu a porozumění textu pomocí počítačů

Probíraná témata:

  • Klasifikace textu
  • Tématické modelování
  • Rozpoznávání pojmenovaných entit
  • Analýza sentimentu
Úvod do zpracování přirozeného jazyka v R

Co jsou regulární výrazy?

  • Posloupnost znaků pro vyhledávání v textu
  • Příklady použití:
    • vyhledávání souborů v adresáři pomocí příkazové řádky
    • hledání článků obsahujících určitý vzor
    • nahrazování konkrétního textu
    • ...
Úvod do zpracování přirozeného jazyka v R

Příklady

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"
Úvod do zpracování přirozeného jazyka v R

Příklady regulárních výrazů

Vzor Shoda v textu Příklad v R Příklad textu
\w Libovolný alfanumerický znak gregexpr(pattern ='\w', <text>) a
\d Libovolná číslice gregexpr(pattern ='\d', text) 1
\w+ Alfanumerický řetězec libovolné délky gregexpr(pattern ='\w+', text) word
\d+ Číslo libovolné délky gregexpr(pattern ='\d+', text) 1234
\s Mezery gregexpr(pattern ='\s', text) ' '
\S Libovolný znak kromě mezery gregexpr(pattern ='\S', text) word
Úvod do zpracování přirozeného jazyka v R

Příklady v R

Funkce Účel Syntaxe
grep Nalezne shody vzoru ve vektoru grep(pattern ='\w', x = <vector>, value = F)
gsub Nahradí všechny shody v řetězci/vektoru gsub(pattern ='\d+', replacement = "", x = <vector>)
Úvod do zpracování přirozeného jazyka v R

Procvičování regulárních výrazů

1 https://regexone.com/lesson/matching_characters
Úvod do zpracování přirozeného jazyka v R

Čas na kódování!

Úvod do zpracování přirozeného jazyka v R

Preparing Video For Download...