정규 표현식 기본

R로 배우는 자연어 처리 입문

Kasey Jones

Research Data Scientist

자연어 처리는 무엇인가요?

NLP:

  • 텍스트를 분석·이해하도록 컴퓨터를 활용합니다

다루는 주제:

  • 텍스트 분류
  • 토픽 모델링
  • 개체명 인식
  • 감성 분석
R로 배우는 자연어 처리 입문

정규 표현식이란?

  • 텍스트 검색에 쓰는 문자 시퀀스
  • 예:
    • 명령줄로 디렉터리에서 파일 검색
    • 특정 패턴이 있는 기사 찾기
    • 특정 텍스트 치환
    • ...
R로 배우는 자연어 처리 입문

예시

words <- c("DW-40", "Mike's Oil", "5w30", "Joe's Gas", "Unleaded", "Plus-89")
# 숫자 찾기
grep("\\d", words, value = TRUE)
[1] 1 3 6
# 아포스트로피 찾기
grep("\\'", words, value = TRUE)
[1] "Mike's Oil"     "Joe's Gasoline"
R로 배우는 자연어 처리 입문

정규 표현식 예시

패턴 일치 텍스트 R 예시 텍스트 예시
\w 영숫자 문자 gregexpr(pattern ='\w', <text>) a
\d 숫자 gregexpr(pattern ='\d', text) 1
\w+ 임의 길이의 영숫자 gregexpr(pattern ='\w+', text) word
\d+ 임의 길이의 숫자 gregexpr(pattern ='\d+', text) 1234
\s 공백 gregexpr(pattern ='\s', text) ' '
\S 비공백 문자 gregexpr(pattern ='\S', text) word
R로 배우는 자연어 처리 입문

R 예시

함수 목적 구문
grep 벡터에서 패턴 일치 찾기 grep(pattern ='\w', x = <vector>, value = F)
gsub 문자열/벡터의 모든 일치 항목 치환 gsub(pattern ='\d+', replacement = "", x = <vector>)
R로 배우는 자연어 처리 입문

정규식 연습

1 https://regexone.com/lesson/matching_characters
R로 배우는 자연어 처리 입문

이제 코딩해 봅시다!

R로 배우는 자연어 처리 입문

Preparing Video For Download...