Skills/ML.NET

N-gram 관련 용어 정리

Homil-Rye 2025. 5. 12. 14:23
728x90
반응형



🔍 검색이 작동하는 방식 – 용어 설명


1. N-gram (엔그램)

엔그램은 입력한 문장을 일정한 길이로 잘라서 여러 조각으로 나눈 것입니다.
예를 들어 단어 “hello”를 2-gram으로 나누면 “he”, “el”, “ll”, “lo”가 됩니다.
이 방식을 사용하면, 비슷한 글자나 오타가 있어도 유사한 항목을 찾아낼 수 있어요.
예: “헬로”와 “헬로우”는 공통 조각이 있어서 유사하게 인식됩니다.


2. N-gram 유사도

두 문장을 각각 n-gram 조각으로 나눈 다음, 서로 겹치는 조각이 얼마나 있는지 비교하여 유사도를 계산합니다.
예를 들어 "abc"와 "abd"는 2-gram으로 나누면 "ab"만 겹치므로, 유사도는 50%가 됩니다.
이 방식은 글자 단위에서 오타, 띄어쓰기 차이 등을 유연하게 인식하는 데 강합니다.


3. 벡터화 (Vectorization)

컴퓨터는 문장을 직접 이해하지 못하기 때문에, 문장을 **숫자의 배열(벡터)**로 바꿔줘야 합니다.
이 과정을 '벡터화'라고 부릅니다. 문장이 얼마나 긴지, 어떤 단어가 얼마나 자주 나오는지 등의 정보를 숫자로 표현하는 거예요.


4. TF-IDF 벡터

TF-IDF는 “Term Frequency-Inverse Document Frequency”의 줄임말로,
문장 안에서 자주 등장하면서도 다른 문장에서는 드물게 나타나는 단어에 높은 점수를 주는 방식입니다.
이렇게 계산한 숫자 배열을 TF-IDF 벡터라고 부르며, 문장의 의미를 잘 나타내도록 구성됩니다.
예: “apple banana apple”에서 'apple'은 자주 나와 높은 점수를 가질 수 있어요.


5. 코사인 유사도 (Cosine Similarity)

두 문장을 숫자 벡터로 바꾼 뒤, 그 벡터가 얼마나 비슷한 방향을 가리키는지를 측정하는 방식입니다.
값은 0~1 사이의 소수로 나타나며, 1에 가까울수록 더 유사합니다.
마치 두 화살표가 같은 방향을 가리키면 내용도 비슷하다고 보는 개념이에요.


6. 코퍼스 (Corpus)

검색 대상이 되는 전체 문장들의 묶음입니다.
예를 들어, 등록된 제품명이 1,000개 있다면, 이 전체가 바로 ‘코퍼스’입니다.
검색은 사용자의 입력 문장과 이 코퍼스 안의 문장들을 하나하나 비교해서 진행됩니다.


7. TF-IDF 유사도

TF-IDF 방식으로 계산한 벡터들 간의 코사인 유사도를 의미합니다.
즉, 문장의 의미에 집중해서 얼마나 유사한지 수치로 보여주는 점수입니다.
오타나 글자 위치보다는, 내용적으로 얼마나 비슷한지를 평가합니다.

728x90
반응형