형태소 분석
형태소
•
언어학에서 (일반적인 정의를 따르면) 일정한 의미가 있는 가장 작은 말의 단위로 발화체 내에서 따로 떠어낼 수 있는 것
→ 더 분석하면 뜻이 없어지는 말의 단위
•
이하 예제 : “한나가 책을 보았다.”
형태소의 의미/기능으로 구분
•
실질형태소
◦
어휘적 의미가 있는 형태소로 어떤 대상이나 상태, 동작을 가리키는 형태소
◦
일반적으로 명사, 동사, 형용사, 부사가 이에 속한다.
◦
위의 예에서는 "한나", "책", "보"가 이에 해당한다.
•
형식형태소
◦
문법적 의미가 있는 형태소로 어휘형태소와 함께 스여 그들 사이의 관계를 나타내는 기능을 하는 형태소
◦
한국어에서는 조사, 어미가 이에 속한다.
◦
위의 예에서는 "가", "을", "았", "다"가 이에 해당한다.
형태소의 의존성으로 구분
•
자립형태소
◦
다른 형태소 없이 홀로 어절을 이루어 사용될 수 있는 형태소
◦
한국어에서는 일반적으로 명사, 대명사, 수사, 관형사, 부사, 감탄사 등이 이에 속한다.
◦
위의 예에서는 "한나", "책"가 이에 해당한다.
•
의존형태소
◦
문장에서 반드시 다른 형태소와 함께 쓰여서 어절을 이루는 형태소
◦
한국어에서는 조사와 어미는 물론 이에 속하고 용언의 어간 즉 동사, 형용사의 어간이 이에 속한다.
◦
위의 예에서는 "가", "을", "보", "았", "다"가 이에 해당한다.
형태소 분석기
•
품사를 태깅해주는(= 무슨 품사인지 마킹해주는) 라이브러리
•
영어에서의 품사는 문장에서 위치나 말할 때 끊어 있는 띄어쓰기 단위로 되어 있기 때문에 POS(Part of Speech) Tagger라고 한다.
•
반면에 한국어에서는 단어를 다 잘라내야 제대로 형태소를 갈라낼 수 있어서 Morphology Analyzer라고 한다.
•
ex)
◦
우리는 한국인이다 -> 우리(명사), 는(조사)
◦
We are Korean -> We(명사)
종류
어휘집
•
클래스를 이용한 어휘집 생성
•
torchtext를 이용한 어휘집 생성
Padding
•
문장의 길이가 서로 다르기 때문에 모든 문장의 길이를 통일 시켜야 함
진행 순서
1.
어휘집을 이용해서 토큰화 하기
2.
최대 문장의 토큰 길이 구하기
3.
패딩(스페셜 토큰)으로 추가하여 모든 문장의 토큰 길이를 최대 문장의 토큰 길이로 통일 시키기
(패딩은 문자의 마지막에 추가하기)
4.
검증 (최대 토큰 길이와 최소 토큰 길이 비교)
5.
토큰화 된 문장들을 어휘집을 이용하여 다시 문자로 변환