반응형
해당 포스트는 [WikiDocs] 딥 러닝을 이용한 자연어 처리 입문 을 보고 공부하면서 이론 위주의 요약 및 정리한 내용을 담았습니다.
- 자연어의 이해
- 전처리 방법
텍스트 전처리 Text preprocessing
자연어는 데이터를 사용하고자하는 용도에 맞게 토큰화 / 정제 / 정규화 하는 일을 하게 됨
자연어 처리에서 전처리나 정규화의 지향점은 언제나 갖고 있는 corpus로부터 복잡성을 줄이는 것
Tokenization : 토큰화
- Word Tokenization : 단어 토큰화
- 주어진 문장에서 token 이라고 불리는 단위로 나누는 작업
- token 단위는 상황에 따라 다르지만 보통 의미있는 단위로 토큰을 정함
1) 구두점이나 특수 문자를 단순 제외해선 안됨 : $45 / 22-03-31
2) 줄말과 단어 내에 띄어쓰기가 있는 경우 고려 : we're / New York
- Sentence Tokenization : 문장 토큰화
- 여러 문장을 한 문장씩 나누는 작업
- 단순히 마침표를 기준으로 나누면 안됨
- Part of speech tagging : 품사 태깅
- 토큰화를 진행한 단어나 형태소에 품사를 알려줌
ex) (열심히, Adverb), (연휴, Noun), (에는, Josa)
- 토큰화를 진행한 단어나 형태소에 품사를 알려줌
Cleaning and Normalization : 정제와 정규화
- 토큰화 작업 전, 후에 진행하게됨
- 단어 통합
- USA와 US는 한 단어로 통합이 가능 - 대, 소문자 통합
- 이때 US(미국), us(우리) 처럼 대소문자가 구분되어야 하는 단어에 주의해야함
- 문장의 맨 앞글자만 소문자로 통합하고 문장 중간의 대문자는 변환하지 않는 방법도 있음 - 불필요한 단어 제거
1) 등장 빈도가 적은 단어
2) 길이가 짧은 단어(영어일때만 해당) - 정규 표현식
Stemming and Lemmatization : 어간 추출과 표제어 추출
English
- 어간 stem : 단어의 의미를 담는 단어의 핵심 : cat
- 접사 affix : 단어에 추가적인 의미를 주는 부분 : 's
- Lemmatization : 표제어 추출
- 단어들의 뿌리 단어를 찾는 것 : (am, are, is) -> be
- Stemming : 어간 추출
- 단어에서 핵심 단어를 추출 : bones -> bone / formalize -> formal
Stemming | Lemmatization |
am → am the going → the go having → hav |
am → be the going → the going having → have |
Korea
- 어간 stem : 용언을 활용할 때 원칙적으로 모양이 변하지 않는 부분
- 어미 ending : 용언의 어간 뒤에 붙어서 활용하며 변하는 부분
- Conjugation : 활용이란 용언(동사, 형용사)의 어간이 어미를 가지는 것
- 규칙 활용 : 어간의 모습이 일정함 : 잡(어간) + 다(어미) / 잡(어간) + 고(어미)
- 불규칙 활용 : 어간의 모습이 바뀌거나 특수한 경우
Stopword : 불용어
- 자주 등장하지만 분석하는데 큰 의미가없는 단어 토큰 제거 작업
- 개발자가 직접 정의할 수도 있고 정의되어 있는 불용어 패키지도 있음
Text Preprocessing Tool for Korean Text : 한국어 전처리 패키지
- PyKoSpacing : 띄어쓰기 해줌
- Haspell : 맞춤법 검사 및 띄어쓰기
- Soynlp : 품사 태깅, 단어 토큰화 지원
- Ckonlpy
한국어 토큰화의 어려움
- 교착어의 특성 : 자립, 의존 형태소를 구분하여 분리해야함
- 띄어쓰기가 잘 지켜지지 않음
- 어순이 중요하지 않음
언 | 품사 |
체언 | 명사, 대명사, 수사 |
수식언 | 관형사, 부사 |
관계언 | 조사 |
독립언 | 감탄사 |
용언 | 동사, 형용사 |
-> 한국어 5언 9품사
반응형
'Study > NLP' 카테고리의 다른 글
BERT Architecture (Transformer Encoder) (0) | 2022.05.25 |
---|---|
[NLP] Word2Vec : Skip-gram, SGNS(Skip-gram with Negative Sampling) (0) | 2022.04.20 |
[NLP] Seq2Seq, Attention Algorithm Structure (1) | 2022.04.10 |
[WikiDocs] 딥러닝 자연어 처리 입문 노트 정리, Part 2 (0) | 2022.04.05 |