텍스트 요약기
긴 텍스트를 핵심 문장 위주로 자동 요약합니다
텍스트 요약기
단어 빈도를 세는 tokenize() 함수는 정규식 [^\w\s]로 단어가 아닌 문자를 걸러내는데, JavaScript의 \w는 영문자·숫자·밑줄만 의미하고 한글은 포함하지 않습니다. 그 결과 한국어 문장을 넣으면 단어로 인식되는 토큰이 하나도 남지 않아 모든 한국어 문장의 빈도 점수가 0이 되고, 위치 기반 모드도 이 0점에 배율만 곱하는 구조라 마찬가지로 의미 있는 순위를 매기지 못합니다. 핵심 키워드 태그가 한국어 입력에서 비어 보이는 것도 같은 이유입니다. 반대로 영어 텍스트에서는 이 빈도 기반 점수 계산이 정상적으로 동작해 실제로 중요 문장을 골라냅니다.
자주 묻는 질문
한국어 텍스트를 요약하면 실제로 어떤 기준으로 문장이 골라지나요?
사실상 의미 있는 기준으로 골라지지 않습니다. 단어 빈도 계산이 한글 문자를 전혀 인식하지 못해 모든 문장의 점수가 0으로 동일해지므로, 어떤 문장이 뽑히는지는 동점 상태에서의 정렬 순서에 좌우될 뿐입니다.
"한국어는 정확도가 영어보다 낮을 수 있다"는 표현이 정확한가요?
정확히는 '낮다'가 아니라 '전혀 인식하지 못한다'에 가깝습니다. 단어 추출에 쓰이는 정규식이 아스키 영문자·숫자만 단어로 인식하는 \w를 기준으로 하기 때문에, 한글 단어는 빈도 계산 단계에서 아예 걸러져 카운트되지 않습니다.
핵심 키워드 태그가 한국어 입력에서는 왜 비어 보이나요?
키워드 태그는 빈도 계산 결과(freqMap)에서 상위 8개를 뽑아 보여주는데, 한글 단어는 애초에 이 빈도 계산에 들어가지 않으므로 보여줄 항목 자체가 없어 태그가 비거나 매우 적게 나타납니다.
위치 기반 모드로 바꾸면 한국어에서도 더 잘 동작하나요?
아니요. 위치 기반 모드는 문장의 기본 빈도 점수에 첫 문장·마지막 문장 가중치를 곱하는 방식인데, 한국어 문장의 기본 점수가 이미 0이므로 0에 어떤 배율을 곱해도 여전히 0입니다.
영어 텍스트에서는 이 방식이 실제로 어떻게 점수를 매기나요?
전체 문장에서 단어별 등장 횟수를 센 뒤 최댓값으로 나눠 0~1 사이로 정규화하고, 각 문장에 포함된 단어들의 정규화 점수 평균을 그 문장의 점수로 삼습니다. 이 점수가 높은 순서대로 지정한 문장 수만큼 골라내는 방식이라, 영어 텍스트에서는 실제로 자주 등장하는 핵심 단어를 많이 포함한 문장이 선택됩니다.
문장은 어떤 기준으로 나뉘나요?
정규식으로 마침표·느낌표·물음표 뒤를 문장 경계로 나눕니다. "Dr." 같은 약어의 마침표나 말줄임표처럼 예외적인 경우까지 구분하지는 못하므로, 이런 표현이 많은 텍스트는 문장이 의도치 않게 더 잘게 나뉠 수 있습니다.
추출 요약과 생성 요약의 차이는?
추출 요약은 원문 문장을 그대로 선택하고, 생성 요약은 새로운 문장을 만들어냅니다. 이 도구는 원문 문장을 그대로 고르는 추출 방식입니다.
GPT 같은 AI 요약과는 근본적으로 무엇이 다른가요?
AI 요약은 언어 모델이 내용을 이해하고 새로운 문장으로 다시 쓰지만, 이 도구는 단어 등장 횟수라는 통계적 신호만으로 원문 문장 중 몇 개를 그대로 골라낼 뿐 문장 자체를 이해하거나 재작성하지 않습니다.