728x90
도커 세팅
C:/Users/user/workspace-nlp
# 도커 이미지 확인
docker images
# 도커 컨테이너 확인
docker ps
## 도커 실행 (교육장 로컬pc nlp 도커 실행)
docker run --rm -it -v="C:/Users/user/workspace-nlp:/home/jovyan/work/tmp" -p 8888:8888 jupyter-nlp:1.1 jupyter notebook --allow-root
## 오늘 입력한 내용을 도커 이미지로 저장 및 생성
docker commit c673ea8aaf3c jupyter-nlp:1.2
<<참고링크>>
2. 자연어 처리란?
Contribute to LimSuyun/nlp_basic development by creating an account on GitHub.
github.com
파이썬 re 모듈에서 정규표현식으로 문자열 다루기

phone_number = """010-1234-5678 02-343-1578 016-2323-5789 132-450-6322"""
str_sample = """abc apple banana"""
pn_p = re.compile('([0-9]+)-([0-9]+)-([0-9]+)')
s_p_start_a = re.compile('(^a)|w+')
s_p_end_a = re.compile('\w+(a$)')
s_p_inside_pn = re.compile('\w+[pn]\w+')
match 메서드 사용하기
* 문자열의 처음부터 정규식과 매치되는지 조사한다.
* match 객체의 메서드
* group() : 매치된 문자열을 리턴한다.
* start() : 매치된 문자열의 시작 위치를 리턴한다.
* end() : 매치된 문자열의 끝 위치를 리턴한다.
* span() : 매치된 문자열의 (시작, 끝)에 해당하는 위치를 튜플로 리턴한다.
pn_p.match(phone_number)
pn_p_rs = pn_p.match(phone_number)
if pn_p_rs :
print(pn_p_rs.group())
print(pn_p_rs.start())
print(pn_p_rs.end())
print(pn_p_rs.span())
else:
prin("일치하는 패턴이 없습니다.") # None
010-1234-5678
0
13
(0, 13)
re.match("(?P<first>[0-9]+)-(?P<middle>[0-9]+)-(?P<end>[0-9]+)", phone_number).groupdict()
{'first': '010', 'middle': '1234', 'end': '5678'}
def patRS(p):
if p :
print(p.group())
else:
print("일치하는 패턴이 없습니다")
spsa = s_p_start_a.match(str_sample)
spsa
<re.Match object; span=(0, 1), match='a'>
patRS(spsa)
a728x90
'#02.천재교육 빅데이터 > +12.자연어 처리' 카테고리의 다른 글
| [천재교육] 텍스트 벡터화하기 (0) | 2023.05.10 |
|---|