N-그램
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
n-그램은 연속된 n개의 항목(문자, 단어, 음절 등)을 의미하며, 1-그램, 2-그램, 3-그램 등으로 구성된다. 1951년 섀넌은 영어 n-그램 모델에 대해 논의했다. n-그램 모델은 언어 모델링, 기계 번역, 음성 인식, 텍스트 생성 등 다양한 자연어 처리 분야에서 활용된다. 단백질 서열 분석, DNA 서열 분석 등 생물정보학 분야에서도 사용된다.
더 읽어볼만한 페이지
- 언어 모델 - 환각 (인공지능)
인공지능 환각은 인공지능이 사실이 아닌 정보를 사실처럼 생성하는 현상으로, 대규모 언어 모델의 부정확한 정보 생성 문제를 설명하기 위해 사용되며, 데이터 불일치, 모델 오류, 훈련 데이터 부족 등이 원인으로 발생하여 다양한 완화 기술이 연구되고 있다. - 언어 모델 - 워드 임베딩
워드 임베딩은 단어의 의미를 벡터 공간에 표현하여 단어 간의 의미적 유사성을 정량화하고 분류하는 방법으로, 다양한 모델과 분야로 확장되고 있지만 사회적 편향을 학습할 수 있다는 윤리적 문제점도 존재한다. - 말뭉치언어학 - 토픽 모델
토픽 모델은 텍스트 데이터에서 문서의 주제를 찾기 위해 사용되는 통계적 모델링 방법으로, 잠재 의미 분석(LSI)에서 잠재 디리클레 할당(LDA)까지 다양한 모델이 개발되어 텍스트 데이터 분석 외 여러 분야에 응용되며, Mallet, Gensim 등의 도구로 사용 가능하다. - 말뭉치언어학 - 지프의 법칙
지프의 법칙은 데이터의 순위와 빈도 사이의 관계를 나타내는 경험적 법칙으로, 요소의 빈도가 순위에 반비례하며 다양한 분야에서 관찰된다. - 음성 인식 - 윈도우 음성 인식
윈도우 음성 인식은 윈도우 운영체제에 내장된 기능으로, 사용자가 음성 명령으로 컴퓨터를 제어하고 텍스트를 받아쓰는 데 사용되며, 윈도우 비스타부터 도입되어 다양한 언어를 지원하고 로컬 처리 방식으로 작동했으나, 윈도우 11에서는 음성 액세스 기능으로 대체될 예정이다. - 음성 인식 - 음성 처리
음성 처리는 음성 신호 분석, 변환, 합성을 통해 발전해 왔으며 딥 러닝 기술 도입 후 가상 비서 서비스에 통합되어 자연어 처리 및 다양한 응용 분야에서 활용되고 있는 기술 분야이다.
| N-그램 | |
|---|---|
| 일반 정보 | |
| 용어 | n-gram n-그램 |
| 설명 | 텍스트 또는 음성에서 n개의 항목으로 구성된 연속된 시퀀스 |
| 종류 | 단어 문자 음절 구문 |
| 언어 모델링 | |
| 사용 분야 | 자연어 처리 전산 언어학 확률 기계 학습 |
| 활용 | 음성 인식 기계 번역 정보 검색 철자 교정 |
| n 값 예시 | 유니그램 (n=1) 바이그램 (n=2) 트라이그램 (n=3) |
2. n-그램 모델의 개념
n-그램 모델은 특정 단어나 문자열에서 n개의 연속된 항목(단어, 문자 등)을 묶어 확률을 계산하는 모델이다. (섀넌 1951)은 영어의 n-그램 모델에 대해 논의했다.[3]
예를 들어, 3-그램 문자 모델은 각 트라이그램(3개의 연속된 문자)의 확률을 기반으로 무작위 추첨을 통해 문장을 생성한다. 2-그램 단어 모델은 단어의 전이 확률(앞 단어 다음에 특정 단어가 나올 확률)을 고려하여 단어를 무작위로 추첨한다.[3]
n-그램은 언어 모델, 단백질 서열 분석, DNA 서열 분석 등 다양한 분야에서 활용된다. 아래 표는 여러 분야의 n-그램 예시를 보여준다.
2. 1. n-그램의 정의
n-그램은 연속된 n개의 항목(문자, 단어, 음절 등)을 묶어 놓은 것이다. n-그램은 텍스트나 음성 데이터에서 패턴을 찾거나, 다음에 나올 항목을 예측하는 데 사용된다.[3]n-그램은 묶는 항목의 개수에 따라 이름이 붙는다.
예를 들어, "to be or not to be"라는 문장이 있을 때, 다음과 같이 n-그램을 만들 수 있다.
| 종류 | 단위 | n-그램 |
|---|---|---|
| 1-그램 (유니그램) | 단어 | to, be, or, not, to, be |
| 2-그램 (바이그램) | 단어 | to be, be or, or not, not to, to be |
| 3-그램 (트라이그램) | 단어 | to be or, be or not, or not to, not to be |
N-그램 모델은 자연어 처리 (NLP)뿐만 아니라 생물정보학 등 다양한 분야에서 활용된다. 단백질 서열 분석이나 DNA 서열 분석과 같이 특정 서열을 분석하는 데 사용될 수 있다.[3]
n-그램은 언어 모델, 단백질 서열 분석, DNA 서열 분석 등 다양한 분야에서 활용된다.[4]
3. n-그램 모델의 활용
3. 1. 자연어 처리 (NLP)
N-그램은 자연어 처리(NLP) 분야에서 널리 활용되는 모델이다. 특히, 언어 모델링, 기계 번역, 음성 인식, 텍스트 생성 등 다양한 작업에 사용된다.
| 분야 | 단위 | 샘플 시퀀스 | 1-그램 시퀀스 | 2-그램 시퀀스 | 3-그램 시퀀스 |
|---|---|---|---|---|---|
| 일반 명칭 | 유니그램 | 바이그램 | 트라이그램 | ||
| 결과 마르코프 모델의 차수 | 0 | 1 | 2 | ||
| 단백질 서열 분석 | 아미노산 | ... Cys-Gly-Leu-Ser-Trp ... | ..., Cys, Gly, Leu, Ser, Trp, ... | ..., Cys-Gly, Gly-Leu, Leu-Ser, Ser-Trp, ... | ..., Cys-Gly-Leu, Gly-Leu-Ser, Leu-Ser-Trp, ... |
| DNA 서열 분석 | 염기쌍 | ...AGCTTCGA... | ..., A, G, C, T, T, C, G, A, ... | ..., AG, GC, CT, TT, TC, CG, GA, ... | ..., AGC, GCT, CTT, TTC, TCG, CGA, ... |
| 언어 모델 | 문자 | ...to_be_or_not_to_be... | ..., t, o, _, b, e, _, o, r, _, n, o, t, _, t, o, _, b, e, ... | ..., to, o_, _b, be, e_, _o, or, r_, _n, no, ot, t_, _t, to, o_, _b, be, ... | ..., to_, o_b, _be, be_, e_o, _or, or_, r_n, _no, not, ot_, t_t, _to, to_, o_b, _be, ... |
| 단어 n-그램 언어 모델 | 단어 | ... to be or not to be ... | ..., to, be, or, not, to, be, ... | ..., to be, be or, or not, not to, to be, ... | ..., to be or, be or not, or not to, not to be, ... |
그림 1은 여러 예시 시퀀스와 해당 1-그램, 2-그램, 3-그램 시퀀스를 보여준다.
3. 1. 1. 섀넌의 예시
섀넌영어은 1951년에 영어의 ''n''-그램 모델에 대해 논의했다.[3]예를 들어 다음과 같다.
- 3-그램 문자 모델 (각 트라이그램의 확률에 기반한 무작위 추첨): ''in no ist lat whey cratict froure birs grocid pondenome of demonstures of the retagin is regiactiona of cre''
- 2-그램 단어 모델 (단어의 전이 확률을 고려한 단어의 무작위 추첨): ''the head and in frontal attack on an english writer that the character of this point is therefore another method for the letters that the time of who ever told the problem for an unexpected''
다음은 구글 ''n''-그램 코퍼스에서 가져온 단어 수준 3-그램 및 4-그램 (및 등장 횟수)의 예시이다.[4]
3-그램
- ceramics collectables collectibles (55)
- ceramics collectables fine (130)
- ceramics collected by (52)
- ceramics collectible pottery (50)
- ceramics collectibles cooking (45)
4-그램
- serve as the incoming (92)
- serve as the incubator (99)
- serve as the independent (794)
- serve as the index (223)
- serve as the indication (72)
- serve as the indicator (120)
3. 1. 2. 구글 n-그램 코퍼스
클로드 섀넌(Claude Shannon)은 1951년에 영어의 ''n''-그램 모델에 대해 논의했다.[3]다음은 구글 ''n''-그램 코퍼스에서 가져온 단어 수준 3-그램 및 4-그램과 그 등장 횟수이다.[4]
3-그램
- ceramics collectables collectibles (55)
- ceramics collectables fine (130)
- ceramics collected by (52)
- ceramics collectible pottery (50)
- ceramics collectibles cooking (45)
4-그램
- serve as the incoming (92)
- serve as the incubator (99)
- serve as the independent (794)
- serve as the index (223)
- serve as the indication (72)
- serve as the indicator (120)
3. 2. 생물정보학
생물정보학에서 n-그램은 단백질 서열 분석, DNA 서열 분석 등과 같은 분야에서 사용된다. 단백질 서열 분석에서는 아미노산을 단위로, DNA 서열 분석에서는 염기쌍을 단위로 n-그램을 구성한다.[3]3. 2. 1. 서열 분석 예시
단백질 서열 분석에서 아미노산을 단위로 사용하며, ... Cys-Gly-Leu-Ser-Trp ... 와 같은 샘플 시퀀스에 대해 ..., Cys, Gly, Leu, Ser, Trp, ... 와 같은 1-그램(유니그램) 시퀀스, ..., Cys-Gly, Gly-Leu, Leu-Ser, Ser-Trp, ... 와 같은 2-그램(바이그램) 시퀀스, ..., Cys-Gly-Leu, Gly-Leu-Ser, Leu-Ser-Trp, ... 와 같은 3-그램(트라이그램) 시퀀스를 얻을 수 있다.[3]DNA 서열 분석에서는 염기쌍을 단위로 사용하며, ...AGCTTCGA... 와 같은 샘플 시퀀스에 대해 ..., A, G, C, T, T, C, G, A, ... 와 같은 1-그램(유니그램) 시퀀스, ..., AG, GC, CT, TT, TC, CG, GA, ... 와 같은 2-그램(바이그램) 시퀀스, ..., AGC, GCT, CTT, TTC, TCG, CGA, ... 와 같은 3-그램(트라이그램) 시퀀스를 얻을 수 있다.[3]
| 분야 | 단위 | 샘플 시퀀스 | 1-그램 시퀀스 (유니그램) | 2-그램 시퀀스 (바이그램) | 3-그램 시퀀스 (트라이그램) |
|---|---|---|---|---|---|
| 결과 마르코프 모델의 차수 | 0 | 1 | 2 | ||
| 단백질 서열 분석 | 아미노산 | ... Cys-Gly-Leu-Ser-Trp ... | ..., Cys, Gly, Leu, Ser, Trp, ... | ..., Cys-Gly, Gly-Leu, Leu-Ser, Ser-Trp, ... | ..., Cys-Gly-Leu, Gly-Leu-Ser, Leu-Ser-Trp, ... |
| DNA 서열 분석 | 염기쌍 | ...AGCTTCGA... | ..., A, G, C, T, T, C, G, A, ... | ..., AG, GC, CT, TT, TC, CG, GA, ... | ..., AGC, GCT, CTT, TTC, TCG, CGA, ... |
4. n-그램 모델과 한국어
한국어는 교착어의 특성상 띄어쓰기가 잘 지켜지지 않아도 의미 전달이 어느 정도 가능하며, 이로 인해 n-그램 모델 적용 시 어려움이 발생한다. 예를 들어, "아버지 가방에 들어가신다"와 "아버지가 방에 들어가신다"는 띄어쓰기 차이에도 불구하고 의미는 통하지만, n-그램 모델에서는 다른 문장으로 인식된다.
이러한 문제를 해결하기 위해 한국어 n-그램 모델에서는 다음과 같은 사항을 고려해야 한다.
- 띄어쓰기 교정: 띄어쓰기 오류를 교정하는 전처리 과정을 거쳐 n-그램 모델의 정확도를 높일 수 있다.
- 형태소 분석: 형태소 분석기를 사용하여 문장을 형태소 단위로 분리하고, 이를 기반으로 n-그램을 생성하면 의미를 보다 정확하게 반영할 수 있다. 예를 들어, "아버지가방에들어가신다"는 "아버지/NNG + 가/JKS + 방/NNG + 에/JKB + 들어가/VV + 시/EP + ㄴ다/EF"와 같이 분석될 수 있다.
- 음절 단위 n-그램: 한국어는 음절 단위로 정보를 표현하는 특징이 있으므로, 음절 단위 n-그램을 활용하는 것이 효과적일 수 있다.
- 문자 단위 n-그램: 띄어쓰기나 형태소 분석의 영향을 줄이기 위해 문자 단위 n-그램을 사용할 수도 있다.
한국어 n-그램 모델은 자연어 처리 분야에서 다양하게 활용될 수 있다.
5. 한계 및 개선 방향
n-그램 모델은 몇 가지 한계점을 가지고 있으며, 이를 개선하기 위한 다양한 방법들이 연구되고 있다.
희소성 문제 (Sparsity Problem): n-그램 모델은 학습 데이터에 존재하지 않는 n-그램에 대해서는 확률을 0으로 추정하는 문제가 있다. 이는 모델의 성능 저하를 야기한다. 이 문제를 완화하기 위해 다음과 같은 방법들이 사용된다.
- 스무딩 (Smoothing): 관측되지 않은 n-그램에 대해 작은 확률 값을 부여하여 희소성 문제를 완화한다.
- 백오프 (Back-off): n-그램의 확률을 추정할 때, 더 작은 n-그램의 정보를 활용한다. 예를 들어, 4-그램이 학습 데이터에 없을 경우, 3-그램, 2-그램의 확률을 참고하여 추정한다.
문맥 반영의 한계: n-그램 모델은 고정된 길이의 n-그램만을 고려하기 때문에, 더 긴 문맥 정보를 반영하지 못하는 한계가 있다. 이를 개선하기 위해 다음과 같은 방법들이 연구되고 있다.
- 건너뛰기 n-그램 (Skip-gram): 연속되지 않은 단어들의 조합을 고려하여 문맥 정보를 더 유연하게 반영한다.
- 신경망 언어 모델 (Neural Network Language Model): 신경망을 이용하여 단어 간의 의미적, 문법적 관계를 학습하고, 더 긴 문맥 정보를 반영한다. 순환 신경망(RNN), LSTM, Transformer 등의 모델이 대표적이다.
계산 복잡도: n-그램의 크기가 커질수록 모델의 크기가 기하급수적으로 증가하고, 계산량이 많아지는 문제가 있다. 이를 해결하기 위해 다음과 같은 방법들이 사용된다.
- 가지치기 (Pruning): 중요도가 낮은 n-그램을 제거하여 모델의 크기를 줄인다.
- 근사적 방법 (Approximation Methods): 효율적인 계산을 위해 근사적인 방법들을 사용한다.
참조
[1]
웹사이트
n-gram language model - an overview ! ScienceDirect Topics
https://www.scienced[...]
2024-12-12
[2]
논문
Syntactic clustering of the web
[3]
간행물
The redundancy of English
[4]
웹사이트
All Our N-gram are Belong to You
http://googleresearc[...]
2011-12-16
[5]
논문
Syntactic clustering of the web
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com