TF-IDF란 무엇인가

TF-IDF는 문서 안 단어의 중요도를 계산하는 오래된 정보검색 지표입니다. 이름은 Term Frequency-Inverse Document Frequency, 즉 "문서 안 빈도"와 "전체 문서에서의 희소성"을 합친 말입니다. 어떤 단어가 한 문서에서는 자주 나오지만 전체 문서 묶음에서는 드물다면, 그 단어는 그 문서를 설명하는 데 중요하다고 봅니다.

예를 들어 삼랑에 claude-ai, tableplus, glass-air-fryer 문서가 있다고 해봅시다. "AI"라는 단어는 여러 문서에 많이 나올 수 있어 구별력이 낮습니다. 반면 "TfidfVectorizer"나 "BM25"는 특정 검색·텍스트마이닝 문서에서만 나올 가능성이 높습니다. TF-IDF는 이런 단어에 더 높은 가중치를 줍니다.

왜 다시 보이나

요즘 검색 이야기는 대부분 벡터 검색, 임베딩, RAG, LLM 검색으로 흐릅니다. 그런데 실제 시스템에서는 오래된 키워드 검색이 아직 사라지지 않았습니다. 정확한 제품명, 함수명, 에러 메시지, 법령명, 약어를 찾을 때는 단어 기반 검색이 강합니다. 그래서 BM25와 TF-IDF 계열은 현대 AI 검색에서도 baseline이나 hybrid search의 한 축으로 남아 있습니다.

삼랑 입장에서도 TF-IDF는 ai-search-visibility와 바로 연결됩니다. AI가 답변을 만들 때도 출처 문서를 찾아야 하고, 문서 검색은 단어 기반 신호와 의미 기반 신호를 섞는 일이 많습니다. "LLM이 알아서 찾는다"가 아니라 "어떤 문서를 후보로 올릴 것인가"가 여전히 중요합니다.

SEO에서 조심할 점

TF-IDF를 SEO 공식처럼 쓰면 금방 이상해집니다. 상위 문서에 나온 단어를 세고, 그 단어를 억지로 본문에 채우는 방식은 독자에게도 검색엔진에게도 좋은 문서가 아닙니다. 더 나은 사용법은 진단입니다.

  • 내 글이 설명해야 할 핵심 용어를 빠뜨렸는가
  • 너무 일반적인 단어만 반복하고 있는가
  • 비교해야 할 형제 개념이 빠졌는가
  • 검색자가 실제로 묻는 표현과 본문 용어가 어긋나는가

즉 TF-IDF는 "단어를 몇 번 넣을까"가 아니라 "이 문서가 무엇에 대한 글인지 충분히 드러나는가"를 점검하는 도구로 쓰는 편이 낫습니다.

다음에 읽을 것

TF-IDF를 이해하면 AI 검색 토끼굴이 열립니다. 전통 검색 랭킹은 /t/ai-search-visibility, AI가 코드를 읽고 바꾸는 흐름은 /t/ai-coding-agent, 실제 개발 도구 비교는 /t/tableplus로 이어집니다. 오래된 지표 하나가 최신 AI 검색을 이해하는 의외의 입구가 됩니다.