텍스트 전처리 (Text Preprocessing)전공 이론 공부/자연어처리2024. 6. 25. 16:33
Table of Contents
텍스트 전처리 (Text Preprocessing): 주어진 텍스트에서 노이즈와 같이 불필요한 부분을 제거하고, 문장을 표준 단어들로 분리, 각 단어의 품사를 파악하는 것까지 포함되는 사전 작업들
텍스트 전처리 단계
1. 정제 (cleaning): 불필요한 노이즈 제거, 불용어 (stopword) 제거
2. 토큰화 (Tokenization): 주어진 텍스트를 원하는 단위(토큰)으로 나누는 작업 (i.e., sentence tokenization, work tokenization)
3. 정규화: 같은 의미를 가진 동일한 단어임에도 불구하고 다른 형태로 쓰여진 단어들을 통일시켜 표준 단어로 만드는 작업 (i.e., go = goes), 방법에 따라 어간 추출과 표제어 추출로 나뉨.
4. 품사 태깅: 단어를 문법적인 기능 (명사, 대명사, 동사, 형용사 ..) 에 따라 분류하는 것
각각에 대해 자세히 알아보자
*nltk: 교육용으로 개발된 자연어 처리 및 문서 분석 용 파이썬 패키지
1. 정제 (Cleaning)
- NLTK에서는 stopwords라는 라이브러리를 이용해 언어별 불용어 사전을 제공함.
2. 토큰화 (Tokenization)
- sent_tokenize(), word_tokenize, WordPunctTokenizer 등 사용
- 더 세밀하게 토큰화하기 위해서는 정규표현식을 사용할 수 있음.
3. 정규화
1) 어간 추출
- 어형이 변형된 단어로부터 접사 드을 제거하고 그 단어의 어간을 분리해내는 작업
- 어간: '간다', '갔다' 등의 단어에서 '가' / '작다', '작고', '작으니' 등의 단어에서 '작'
- 어간 추출 알고리즘
- Porter Stemmer: 단어가 변형되는 규칙을 사용해 원형을 찾으므로, 그 결과가 항상 사전에 있는 올바른 단어가 되지는 않음. 그러나 모든 단어가 같은 규칙에 따라 변환되기 때문에 분석시 문제는 없음.
- Lancaster Stemmer
2) 표제어 추출 (Lemmatization)
- 주어진 단어를 기본형으로 변화하는 것
- nltk에서 WordNetLemmatizer 지원
4. 품사 태깅
- nltk.pos_tag(): 토큰화된 결과에 대한 품사 태깅해 (단어, 품사)로 구성된 튜플의 리스트로 품사 태깅 결과를 반환함.
반응형
'전공 이론 공부 > 자연어처리' 카테고리의 다른 글
임베딩(Embedding)이란? (0) | 2024.07.09 |
---|---|
Transformer v.s. RNN (0) | 2024.07.09 |
텐서 조작 방법 (Tensor Operations) (0) | 2024.07.03 |
BOW (Bag of Words) (0) | 2024.06.30 |
단어 빈도 그래프 (0) | 2024.06.25 |
@쿠몬e :: ˚˛˚ * December☃ 。* 。˛˚
전공 공부 기록 📘
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!