← 모두의 툴

빈도 막대그래프의 %가 어떤 값을 기준으로 하는지

가이드 · 2026.08.25 최종 확인

텍스트를 분석기에 넣으면 각 단어 옆에 빈도 숫자와 함께 "%"가 함께 표시됩니다. 이 숫자를 보고 "이 단어가 텍스트 전체에서 차지하는 비중"이라고 직관적으로 받아들이기 쉽지만, 그 "전체"가 정확히 무엇을 뜻하는지는 도구마다 다를 수 있습니다. 후보는 두 가지입니다. 하나는 전체 토큰 수(같은 단어가 여러 번 나오면 그만큼 여러 번 센 값, 중복 포함), 다른 하나는 고유 단어 종류 수(중복을 제거하고 서로 다른 단어가 몇 종류인지 센 값)입니다. 이 둘은 숫자 자체가 완전히 다르고, 어느 쪽을 기준으로 삼느냐에 따라 같은 빈도라도 표시되는 %가 몇 배씩 차이 납니다.

1. 두 분모가 왜 이렇게 다른 숫자를 만드는가

전체 토큰 수는 "단어가 등장한 횟수의 총합"입니다. 문장을 공백으로 쪼갠 조각을 하나씩 셀 때마다 늘어나므로, 같은 단어가 반복될수록 분모 자체도 함께 커집니다. 반면 고유 단어 종류 수는 반복 여부와 무관하게 "서로 다른 단어가 몇 개 있는가"만 셉니다. 예를 들어 "고양이 고양이 고양이 강아지"라는 텍스트는 전체 토큰 수로는 4개지만, 고유 단어 종류 수로는 2개(고양이, 강아지)뿐입니다. 특정 단어의 등장 횟수를 이 두 분모 중 어느 쪽으로 나누느냐에 따라 결과 %가 크게 벌어지는 이유가 여기에 있습니다.

2. 실제 코드로 확인한 기준: 전체 토큰 수

단어 빈도 분석기의 계산 로직을 직접 읽어보면, 각 단어의 % 값은 (해당 단어 등장 횟수 / total) × 100으로 계산되고, 여기서 total은 텍스트를 공백 기준으로 쪼갠 전체 토큰 개수입니다. 고유 단어 종류 수(표에 나열되는 서로 다른 단어의 개수)는 이 계산식에 전혀 등장하지 않습니다. 즉 이 도구의 %는 전체 토큰 수를 분모로 한 비율이며, "이 단어가 고유 단어 목록 중 몇 번째 비중을 차지하는가"가 아니라 "전체 텍스트에서 이 단어가 등장한 절대적 밀도"를 나타냅니다.

여기서 한 가지 더 확인해 둘 점이 있습니다. total은 대소문자 통합·불용어 제거 옵션을 적용하기 이전, 구두점만 제거한 직후의 토큰 개수로 고정됩니다. 즉 불용어 제거를 켜서 화면에서 특정 단어들이 사라지더라도, 분모인 total 자체는 줄어들지 않습니다. 표에 남은 단어들의 % 합계를 다 더해도 100%가 되지 않는 경우가 흔한 이유가 이것입니다 — 걸러진 단어들의 몫이 분모에는 여전히 포함돼 있기 때문입니다.

3. 숫자로 보는 차이: 같은 빈도, 다른 %

총 100개의 단어 토큰(그중 서로 다른 단어는 20종)으로 이루어진 텍스트에서, 특정 단어 하나가 10번 등장했다고 가정해 보겠습니다.

기준(분모)계산식결과 %
전체 토큰 수 기준 (이 도구의 방식)10 ÷ 10010.0%
고유 단어 종류 수 기준1 ÷ 205.0%

같은 데이터, 같은 단어 하나를 놓고도 분모를 무엇으로 잡느냐에 따라 정확히 2배 차이가 납니다. 반복이 많은 텍스트일수록 두 값의 격차는 더 벌어집니다. 리포트나 콘텐츠에 이 %를 인용할 때는 "전체 단어 등장 횟수 중 몇 %"라고 명시해야 다른 도구의 결과와 섞여 오해를 만들지 않습니다.

4. 막대(bar) 길이는 %와 기준이 다르다

표 안의 막대 길이도 %와 같은 값을 쓸 거라 오해하기 쉽지만, 실제로는 별개의 계산입니다. 막대는 현재 화면에 표시된 결과 중 가장 빈도가 높은 단어를 100%로 놓고 나머지 단어의 상대 길이를 정하는 방식이라, 최소 빈도·상위 N 필터를 적용한 뒤 남은 단어들끼리의 상대 비교일 뿐입니다. 반면 % 열은 필터와 무관하게 전체 토큰 수를 고정 분모로 씁니다. 그래서 막대 길이가 비슷한 두 단어라도 % 숫자는 크게 다를 수 있고, 반대로 % 숫자가 비슷해도 막대 길이는 다를 수 있습니다. 두 시각 요소를 같은 척도로 읽지 않도록 주의해야 합니다.

5. SEO 키워드 밀도와 혼동하지 말 것

이 %를 "키워드 밀도"로 그대로 가져다 쓰는 경우가 있는데, 정확히는 다른 개념입니다. 키워드 밀도는 보통 특정 키워드(구, phrase)의 등장 비율을 다루고, 불용어·형태소 처리 방식도 SEO 목적에 맞춰 별도로 설계됩니다. 단어 하나 단위의 순수 빈도 %를 SEO 리포트에 그대로 인용하기보다는, 목적에 맞게 설계된 키워드 밀도 체크 도구를 별도로 쓰는 편이 더 정확한 결과를 줍니다. 연속된 단어 조합의 빈도가 궁금하다면 N-gram 분석기가, 텍스트 전체의 통계적 개요가 필요하다면 텍스트 통계 도구가 더 적합합니다.

요약: 이 도구의 % 열은 "고유 단어 수" 기준이 아니라 "전체 토큰 수(중복 포함, 필터 적용 전)" 기준입니다. 막대 길이는 또 다른 기준(현재 화면 최고 빈도 대비 상대값)을 씁니다. 두 숫자를 같은 의미로 읽지 마세요.

자주 묻는 질문

Q. %의 분모가 고유 단어 수가 아니라는 걸 어떻게 확인했나요?

단어 빈도 분석기의 계산 코드를 직접 읽어 확인했습니다. % 값은 각 단어의 등장 횟수를 텍스트 전체를 공백으로 쪼갠 토큰 총개수(total)로 나누어 계산하며, 고유 단어 종류 수는 이 계산식 어디에도 쓰이지 않습니다.

Q. 불용어 제거를 켜면 %도 다시 계산되나요?

단어별 등장 횟수는 불용어 제거 후 남은 단어 기준으로 집계되지만, 분모(total)는 구두점 제거 직후에 고정된 값이라 불용어 제거로 줄어들지 않습니다. 그래서 화면에 보이는 단어들의 % 합계가 100%보다 작게 나오는 경우가 흔합니다.

Q. 막대 길이와 % 숫자가 서로 안 맞는 것처럼 보이는데 버그인가요?

버그가 아닙니다. 막대 길이는 현재 화면에 표시된 단어들 중 최고 빈도를 100%로 놓은 상대값이고, % 열은 전체 토큰 수를 고정 분모로 쓰는 절대적 비율이라 서로 다른 척도입니다. 두 값이 정비례하지 않는 것이 정상입니다.

Q. 이 %를 그대로 논문이나 리포트에 인용해도 되나요?

기준을 명시한다면 가능합니다. "전체 단어 등장 횟수(토큰 수) 대비 비율"이라고 분모를 밝혀 두면, 고유 단어 수를 분모로 쓰는 다른 도구의 결과와 혼동될 위험이 줄어듭니다.