반응형
[텍스트 전처리]
- 텍스트 전처리는 용도에 맞게 텍스트를 사전에 처리하는 작업이다.
- 크롤링 등으로 얻어낸 코퍼스(corpus) 데이터가 필요에 맞게 전처리 되지 안핬다면, 해당 데이터를 용도에 맞게 처리한다.
- 토큰화(tokenization)
- 토큰의 기준을 단어로 하는 경우. 단어 외에 구, 의미를 갖는 문자열도 가능(마침표, 컴마, 물음표, 세미콜론 등..)
- 아포스트로피를 기준으로 사용한 경우의 애매한 상황을 해결하기 위한 NLTK 모듈이 있다.
- 정제(Cleaning)
- 정규화(Normalization)
- 패딩(Padding)
- 자연어 처리를 하다보면 각 문장은 서로 길이가 다를 수 있다. 그런데 기계는 길이가 전부 동일한 문서들에 대해서는 하나의 행렬로 보고, 한꺼번에 묶어서 처리할 수 있다. 다시 말해 병렬 연산을 위해서 여러 문장의 길이를 임의로 동일하게 맞춰주는 작업이 필요하다.
- from tensorflow.keras.preprocessing.sequence import pad_sequences
- 원-핫 인코딩
- 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 단어의 벡터 표현 방식이다.
[언어 모델]
- 단어 시퀀스(문장)에 확률을 할당하는 모델이다. 통계에 기반한 전통적인 언어 모델(Statistical Languagel Model, SLM), 통계에 기반한 언어 모델은 우리가 실제 사용하는 자연어를 근사하기에는 많은 한계가 있었고, 요즘 들어 인공 신경망이 많이 해결해주면서 통계 기반 언어 모델은 사용 용도가 줄었다.
- 하지만 여전히 통계 기반 언어 모델에서 배우게 될 n-gram은 자연어 처리 분야에서 활발하게 활용되고 있으며, 통계 기반 방법론에 대한 이해는 언어 모델에 대한 전체적인 시야를 갖는 일에 도움이 된다.
- 단어 시퀀스에 확률을 할당(Assign)하는 일을 하는 모델이다.
1. 가장 보편적으로 사용하는 방법은 언어 모델이 이전 단어들이 주여졌을 때 다음 단어를 예측한다.
2. 주어진 양쪽의 단어들로부터 가운데 비어있는 단어를 예측하는 언어 모델 BERT이 있다.
[언어 모델링]
- 주어진 단어들로부터 아직 모르는 단어를 예측하는 작업. 즉, 언어 모델이 이전 단어들로부터 다음 단어를 예측하는 일은 언어 모델링이다.
반응형