think deeply
[자연어처리] N-gram 본문
▶N-gram
- 가지고 있는 코퍼스에서 n개의 단어 뭉치 단위로 끊어서 이를 하나의 토큰으로 간주
- n-gram에서 n의 의미: n개의 연속적인 단어 나열
- 언어 모델을 설계할 때 활용되는 개념
▶예시
- 문장 An adorable little boy is spreading smiles이 있을 때, 각 n에 대해서 n-gram을 전부 구해보면 다음과 같다
unigrams : An, adorable, little, boy, is, spreading, smiles
bigram : An adorable, adorable little, little boy, boy is, is spreading, spreading smiles
trigram : An adorable little, adorable little boy, little boy is, boy is spreading, is spreading smiles
4-gram : An adorable little boy,adorable little boy is, little boy is spreading, boy is spreading smiles
▶ n-gram을 통한 언어 모델에서는 다음에 나올 예측은 오직 n-1개의 단어에만 의존
- 'An adorable little boy is spreading' 다음에 나올 단어를 예측하고 싶다고 할 때, 4-gram을 이용한 언어 모델을 사용한다면 spreading 다음에 올 단어를 예측하는 것은 n-1에 해당되는 3개의 단어만을 고려하게 된다.
※ 수식 w : 보통 자연어처리에서는 word, window를 의미, 앞에 살펴보고자 하는 단어의 수
▶예시
IF 가지고 잇는 코퍼스에서 boy is spreading이 1000번 등장,
boy is spreading insults가 500번 등장,
boy is spreading smiles가 200번 등장한다면
→
boy is spreading 다음에 insults가 등장할 확률은 50%이며,
smiles가 등장할 확률은 20%가 된다.
그렇게 되면 확률적 선택에 따라 insults가 더 맞다고 판단하게 되는 것이다.
이와 같이 학습 말뭉치(코퍼스)내에서 수정 방향이 옳을 확률이 높은 후보들 중 확률이 가장 높은 후보로 교정을 수행하게 된다
'rainbow > 자연어처리' 카테고리의 다른 글
[자연어 처리] 구문 분석 (part.1 구구조 구문 분석) (0) | 2022.07.21 |
---|---|
[자연어처리] 형태소분석 (0) | 2022.07.21 |
[자연어처리] 텍스트의 전처리 (0) | 2022.07.21 |
[자연어처리] 조건부 확률, 베이즈 정리 (0) | 2022.07.21 |
[자연어처리] 자연어 기초 개념 (0) | 2022.07.21 |