반응형
자연어 처리
- 사람이 이해하는 자연어를 컴퓨터가 이해할 수 있는 값으로 변환하는 과정
- 컴퓨터가 이해하는 값을 사람이 이해할 수 있도록 다시 바꾸는 과정까지 포함
한국어 자연어 처리의 어려움
- 모호성
- ex) 차를 마시러 공원에 가는 차 안에서 나는 그녀에게 차였다.
- 띄어쓰기가 지켜지지 않는다
- ex) 띄어쓰기를하지않아도읽을수있습니다.
- 교착어
- 어간과 어미가 명백하게 분리되는 언어
- 하나의 형태소가 하나의 문법적인 기능을 하는 언어
- ex) '그'라는 단어 하나에도 '그가', '그를', '그와', '그는'과 같이 다양한 조사가 '그'라는 글자 뒤에 띄어쓰기 없이 바로 붙게 됨
- 같은 단어임에도 서로 다른 조사가 붙어서 다른 단어로 인식이 되면 자연어 처리가 힘들고 번거로워지는 경우가 많음
- 어간에 접사가 붙어, 단어를 이루고 의미와 문법적 기능이 정해짐
- 같은 정보를 다르게 표현하기(Paraphrase)
- ex)
- 문장 1 : 여자가 김치를 어떤 남자에게 집어 던지고 있다.
- 문장 2 : 여자가 어떤 남자에게 김치로 때리고 있다.
- 문장 3 : 여자가 김치로 싸대기를 날리고 있다.
- 문장 4 : 여자가 배추 김치 한 포기로 남자를 때리고 있다.
- ex)
embedding(임베딩)
- 임베딩: 자연어를 벡터로 바꾸는 과정 및 결과
- 역할
- 단어 / 문장 간 관련도 계산
- 의미적 / 문법적 정보 함축
- 전이 학습(Transfer learning)
- 선택 해야 하는 embedding모델
- **Word2Vec, GloVe(**단어 기반 임베딩 모델)
- 고전적 모델
- 의미론적 유사성 잘 찾음
- 문맥상의 뉘앙스는 잘 못 찾음
- 계산량이 적음
- 일반 텍스트 요약 시 적합
- 기술적인 내용에 부적합
- Doc2Vec (문장 임베딩)
- 문장 또는 문서 수준에서 의미를 포착
- 문장 구조가 복잡하고 의미가 있을 때 유용
- 추출적 요약에 자주 사용 됨
- BERT, GPT-2, RoBERTa와 같은 transformer
- 깊은 맥락 관계 포착 및 맥락, 상호 참조 및 기타 언어적 뉘앙스 이해 필요 작업에 탁월
- 많은 양의 컴퓨팅 처리 능력과 메모리 필요 (they are computationally intensive.)
- **Word2Vec, GloVe(**단어 기반 임베딩 모델)
tokenizer(토크나이저)
- 토큰 : 문장을 일정한 의미가 있는 가장 작은 정보 단위
- ex)
- BOS("</s>") : 문장의 시작을 나타내는 token
- EOS("</s>") : 문장의 끝을 나타내는 token
- PAD("<pad>) : 동일한 batch 내에서 입력의 크기를 동일하게 하기 위해서 사용해는 token
- UNK(”unk_token”) : 모르는 단어를 나타내는 token
- SEP(”seperate” token”) : 두 개의 시퀀스를 나눠주는 token
- ex)
- 토크나이저 : 문장 형태의 데이터를 토큰 단위로 나누는 것
- 문장 형태의 데이터 처리를 위한 가장 기본적이고 중요한 작업
- 언어의 특성과 문법에 따라 다양한 방법이 필요
- 한글과 영어는 구성 요소가 다르기 때문에 같은 토크나이징 방법 사용 X
- 한글 - 조사를 제외
- 영어 - apostrophe를 원래 의미로 전환해주는 등의 작업 필요
- 대표적 라이브러리
- KoNLPy(코엔엘파이)
- 대표 함수 - 아래 3개의 형태소 분석기 동일하게 사용
- morphs(phrase) :
- 인자로 입력한 문장을 형태소 단위로 토크나이징
- 토크나이징된 형태소들은 리스트 형태로 반환
- nouns(phrase) :
- 인자로 입력한 문장에서 품사가 명사인 토큰 추출
- pos(phrase, flatten=True) :
- POS tagger라 부르며, 인자로 입력한 문장에서 형태소 추출 후 품사 태깅
- 추출된 형태소와 그 형태소의 품사가 튜플 형태로 묶어 리스트로 반환
- sentences(phrase) :
- 인자로 입력한 여러 문장을 분리해주는 역할
- 분리된 문장은 리스트 형태로 반환
- morphs(phrase) :
- Kkma(꼬꼬마) 형태소 분석기
- 장점 :
- 분석 품질 우수
- 지원하는 품사 수 다양
- 단점 :
- 느린 분석 속도
- 사용자 사전에 추가한 복합 명사 분석 불완전
- 장점 :
- Komoran(코모란)
- 장점 :
- 자소가 분리된 문장, 오탈자에 강함
- 사용자 사전 관리 용이
- 단점 :
- 적당한 분석 품질과 분석 속도
- 장점 :
- Okt
- 장점 :
- 매우 빠른 분석 속도
- 오타 수정과 정규화 기능 지원
- 단점 :
- 사용자 사전 관리가 어렵고 용언 분석에 일관성 부족
- 용언 : 문장에서 서술어의 기능을 하는 동사와 형용사를 아울러 이르는 말
- 사용자 사전 관리가 어렵고 용언 분석에 일관성 부족
- 장점 :
- 대표 함수 - 아래 3개의 형태소 분석기 동일하게 사용
- KoNLPy(코엔엘파이)
반응형
'ML 관련 > 자연어 처리 관련' 카테고리의 다른 글
"Word2Vec, GloVe 및 RoBERTa 등의 모델을 활용한 한국어 문장 임베딩 성능 비교 연구" 요약 (0) | 2024.01.15 |
---|---|
NLP(Natural Language Process) - 필수 용어 및 개념 정리(2) (1) | 2024.01.15 |
[논문 리뷰] 자기지도학습 기반 음성 언어 모델을 이용한 자소 단위의 한국어 음성 인식 리뷰 (0) | 2023.01.03 |
LSTM (0) | 2021.07.18 |
[논문 리뷰] SNS에서 단어 간 유사도 기반 단어의 쾌-불쾌 지수 측정 (0) | 2020.06.03 |
댓글