# 태깅 작업
- 정의 : 각 단어가 어떤 유형에 속해있는지를 알아내는 작업
- 종류 :
1) 개체명 인식 : 각 단어의 유형이 사람, 단체, 장소 등 어떤 유형인가
2) 품사 태깅 : 각 단어의 품사가 동사, 명사 등 무엇인가
- 케라스를 이용한 태깅 작업 특징
1) RNN 의 다대다 작업
2) 앞뒤 시점을 모두 고려하는 양방향 RNN
- 태깅 작업 특징 (1) : 훈련 데이터
1) 태깅을 해야 하는 단어 = X 값, 해당 X 값에 대응되는 레이블 값 = Y
2) pair 을 이루는 x, y 값에 대해 정수 인코딩을 거침 -> 데이터들의 길이를 맞춰주기 위한 패딩 작업
> 무슨 소리지??
- 태깅 작업 특징 (2) : 시퀀스 레이블링
> 말 그대로, 시퀀스를 가진 X 의 데이터에 대해, 시퀀스를 가진 Y라는 레이블을 붙여주는 것
ex) X = {x1, x2, x3...} 처럼, 시퀀스를 가진 X 데이터에 대해
Y = {y1, y2, y3...} 처럼 시퀀스를 가진 Y 레이블을 만드는 과정
> 이유? : 모르겠음... 궁금함
- 태깅 작업 특징 (3) : 양방향 LSTM 을 사용한다
> 바닐라 RNN 을 사용하지 않음 (바닐라 RNN은 가장 단순한 형태의 RNN를 의미했었다.)
더 복잡한 구조를 가진 LSTM 을 활용함
> 양쪽의 정보를 활용하기 위해, 양방향 LSTM 을 활용
- 태깅 작업 특징 (4) : 다대다 RNN 형식을 활용한다
> 문장 내부의 각각의 단어들에 대해, 품사를 모두 붙여줘야 하기 때문에 다대다 형식일 수밖에 없다.
> 양방향 LSTM 형식을 띄기 때문에, 도식도 조금 새롭게 표현함 (확인해보기)
# 태깅작업 종류 (1) - 개체명 인식
- 개체명 인식을 위해 전처리 과정이 필요 :
1) 토큰화
2) 품사태깅
> 전처리를 요구 안하는 경우도 간혹 있긴 함
- 개체명 인식기 사용 방법 2가지
1) 패키지를 불러온다 : NLTK 등
2) 직접 개체명 인식기를 훈련시킨 다음에, 활용한다 : LSTM 등
1. NLTK 에서는 따로 개체명 인식을 위한 패키지가 있으므로, 그대로 활용하면 된다
> 앞서 말했듯, 여기서는 토큰화와 품사 태깅을 미리 해 놓은 상태를 요구한다.
2. 양방향 LSTM 방식으로 직접 개체명 인식기를 만든 다음에, 그걸 훈련시킨다
1) BIO 표현
- B : 개체명이 시작되는 부분
- I : 개체명의 중간 부분
- O : 개체명이 아닌 부분
> B, I : 개체명이랑 상관이 있는 부분임
> O : 개체명이랑 무관한 부분임
ex) 해리포터 보러가기 -> 해(B) 리포터(I) 보러가기(O)
** 만약에, corpus 에 있는 단어들의 개체명 종류가 여러개일 경우, 따로 부연 설명이 주어진다
- 훈련 데이터 예시 :
"call NN I-NP O" -> I 로 시작해서, O 로 끝난다. 즉, 해당 단어 call 은 I 형식이지만, 바로 뒤에 O 형식이 따라 붙는다
'기계학습 > 자연어 처리 머신러닝' 카테고리의 다른 글
RNN 언어모델 - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.28 |
---|---|
RNN - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.28 |
워드 임배딩 - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.28 |
기계 언어 - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.28 |
어텐션 매커니즘 - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.28 |