saurus2
Saurus2
saurus2
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발
      • AJAX
    • ML Ops
    • Profile
    • 음식점
    • 배낭여행
    • 컴퓨터공학
      • 알고리즘 공부
      • C++
      • Sever 스터디
      • Java spring
      • 알고리즘 _ 문제해결
      • 딥러닝
      • Java 정리
      • Python
      • LeetCode 1000
      • Machine Learning Study
      • Sign language Detection Pro..
      • LeetCode Solutions
    • 비콘
    • 데일리 리포트
    • 유학일기
      • 영어 공부
      • Daily
    • AI Master Degree
      • Data Mining
      • AI and Data engineering
      • Math Foundations for Decisi..
      • Natural Language Processing

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 문제해결능력
  • 취업준비
  • 개발자 취업준비
  • 취준
  • 알고리즘문제해결
  • Python
  • 파이썬
  • BFS
  • two pointer
  • 알고리즘
  • c++
  • DFS
  • LeetCode
  • 온라인저지
  • 딕셔너리
  • 리트코드
  • 백준
  • 릿코드
  • 딥러닝
  • 개발자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
saurus2

Saurus2

AI Master Degree/Natural Language Processing

Regular Expressions 이란? 정규식이란?

2022. 10. 6. 08:12

Regular Expressions 이란?

텍스트에서 패턴을 검색하기 위한 표준화된 '언어' 이다. 

예시

  1. 텍스트 문서에서 모든 이메일 주소 찾기
  2. 텍스트 문서에서 모든 가격 찾기

응용 프로그램

  • 텍스트 문서에서 정보를 찾을때 문자열이 매핑된 키워드 찾기 보다 강력하다.
  • 텍스트에서 구조화된 정보를 추출한다.

기본 검색

  • 특정 문자, 숫자 또는 문자열 찾기
  • 하나의 범위내에서 문자 또는 숫자 찾기
  • 특정 문자, 숫자를 제외한 문자 또는 숫자 찾기

Anchors (고정자) 는 문자열의 특정 위치 일치하는 정규식을 연결한다.

  • 행의 시작 부분에만 패턴을 일치시킬때 e.g. /^The/
  • 줄의 끝에만 패턴을 일치 시킬때, 행의 마지막 마침표와 일치 e.g. /^\./ 
  • 일치 단어 경계 e.g. /\bthe\b/ 'the' 는 일치해야하지만 'other' 는 일치 하지 않음

더 정교한 연산자

대체 - s/regexp1/pattern

  • s/colour/color - colour 를 color 로 대체한다.

캡쳐 그룹

  • 문자열에서 패턴을 저장하기 위해 괄호를 사용한다.
    • e.g. (.*) - 임의의 문자열과 일치한다.
    • e.g. /the (.*)er they were, the \1er they will be/ - 'the bigger they were, the bigger they will be' 와 일치한다.
    • e.g. /the (.*) they (.*), the \1er we \2/ - 'the faster they ran, the faster we ran' 와 일치한다.

정규식을 사용하여 채팅봇 만들기

  • 챗봇의 초기 시도는 정규 표현에 크게 의존했다.
    • e.g. s/.* I'M (depressed|sad) .*/I am sorry to hear you are \1/
    • e.g. s/.* I am (depressed|sad) .*/Why do you think you are \1/
    • e.g. s/.* all .*/In the way/
    • e.g. s/.* always .*/Can you think of a specific example/

 

저작자표시 (새창열림)

'AI Master Degree > Natural Language Processing' 카테고리의 다른 글

Model Evaluation란? 모델 평가란?  (1) 2022.10.08
N-Gram language models 이란? 엔 그램 언어 모델들이란?  (2) 2022.10.07
Text normalization 이란? 텍스트 정규화란?  (0) 2022.10.06
Words 에 대해서?  (0) 2022.10.06
NLP 란? Natural Language Processing 자연어 처리란?  (1) 2022.10.05
    'AI Master Degree/Natural Language Processing' 카테고리의 다른 글
    • N-Gram language models 이란? 엔 그램 언어 모델들이란?
    • Text normalization 이란? 텍스트 정규화란?
    • Words 에 대해서?
    • NLP 란? Natural Language Processing 자연어 처리란?
    saurus2
    saurus2
    Simple is Best

    티스토리툴바