lecture
ngram 수행 과정, ngram workflow
by 와우지니
2023. 4. 27.
ngram 정의
N-gram은 언어 모델링, 자연어 처리, 텍스트 분석 등에서 널리 사용되는 기술입니다. N-gram은 연속된 N개의 단어 또는 문자열을 추출하는 기술입니다.
ngram 수행 과정
전처리: 대소문자 변환, 구두점 제거, 특수 문자 제거 등 전처리
토큰화: 텍스트를 단어, 음절 또는 문자 단위로 분할합니다. 이를 위해 정규식, 공백, 쉼표 등을 사용할 수 있습니다.
N-gram 추출: 분리된 단어, 음절 또는 문자열 중에서 연속된 N개의 토큰을 추출합니다. 예를 들어, 3-gram은 세 개의 연속된 단어, 음절 또는 문자열을 의미합니다.
빈도 계산: 추출된 N-gram의 빈도를 계산합니다. 이를 위해 딕셔너리 또는 카운터(Counter) 등을 사용할 수 있습니다.
분석: 추출된 N-gram을 분석합니다. 예를 들어, 가장 빈도가 높은 N-gram을 찾을 수 있습니다.
응용: 추출된 N-gram을 다양한 응용 분야에 활용할 수 있습니다. 예를 들어, 언어 모델링에서는 N-gram을 사용하여 다음 단어를 예측할 수 있습니다. 자연어 처리에서는 N-gram을 사용하여 텍스트의 유사성을 비교하거나 주어진 텍스트에서 특정 키워드를 추출할 수 있습니다.
ngram 분석 예시
예시 분장 "The quick brown fox jumps over the lazy dog"
전처리 |
대소문자를 모두 소문자로 변환하고, 구두점을 제거합니다. |
"the quick brown fox jumps over the lazy dog" |
토큰화 |
문장을 단어 단위로 분할합니다 |
["the", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"] |
N-gram 추출 |
2-gram(바이그램)과 3-gram(트라이그램)을 추출합니다. |
2-gram |
["the quick", "quick brown", "brown fox", "fox jumps", "jumps over", "over the", "the lazy", "lazy dog"] |
3-gram |
["the quick brown", "quick brown fox", "brown fox jumps", "fox jumps over", "jumps over the", "over the lazy", "the lazy dog"] |
빈도계산 |
추출된 N-gram의 빈도를 계산합니다. |
2-gram 빈도 |
{"the quick": 1, "quick brown": 1, "brown fox": 1, "fox jumps": 1, "jumps over": 1, "over the": 1, "the lazy": 1, "lazy dog": 1} |
3-gram 빈도 |
{"the quick brown": 1, "quick brown fox": 1, "brown fox jumps": 1, "fox jumps over": 1, "jumps over the": 1, "over the lazy": 1, "the lazy dog": 1} |
분석 |
추출된 N-gram을 분석하여 다양한 정보를 얻을 수 있습니다. 예를 들어, 가장 빈도가 높은 N-gram은 "the quick"과 "quick brown"입니다. |
응용 |
추출된 N-gram은 다양한 분야에서 활용될 수 있습니다. 예를 들어, 언어 모델링에서는 N-gram을 사용하여 다음 단어를 예측하거나, 자연어 처리에서는 N-gram을 사용하여 텍스트의 유사성을 비교하거나 주어진 텍스트에서 특정 키워드를 추출할 수 있습니다 |
댓글