한국어 전용 텍스트 빈도 분석기입니다. 한국어 텍스트에서 단어의 출현 빈도를 분석하여 가장 자주 사용된 단어를 파악할 수 있는 웹 애플리케이션입니다. 대용량 텍스트도 빠르게 처리할 수 있도록 WebAssembly 기술을 활용합니다.
주요 특징:
- 한국어만 분석 (영어, 중국어, 일본어 등 기타 언어는 자동 제외)
- 조사 자동 제거 (은, 는, 이, 가, 을, 를 등)
- 불용어 필터링 (조사, 연결어 등 의미 없는 단어 제거)
- 동사/형용사/부사 자동 제거 (명사 중심 분석)
- 요구사항: 다양한 길이의 한국어 텍스트 입력 지원
- 제약사항:
- 최대 입력 길이 제한 (메모리 고려)
- 특수문자, 이모지 처리
- UX 고려사항:
- 텍스트 영역 크기 조절 가능
- 입력 중 실시간 글자 수 표시
- 언어 감지:
- UTF-8 바이트 패턴으로 한글 범위 정확히 감지 (U+AC00 ~ U+D7A3)
- 한글이 아닌 단어는 자동 제외
- 단어 분리:
- 공백, 구두점 기준으로 단어 분리
- 연속된 공백 처리
- 줄바꿈 처리
- 정규화:
- 앞뒤 구두점 제거
- 한글만 추출 (영어, 숫자 등 ASCII 문자 제거)
- 조사 제거:
- 자동으로 조사 제거 (은, 는, 이, 가, 을, 를, 에, 에서, 에게, 으로, 와, 과, 도, 만, 의, 들 등)
- 여러 조사가 겹친 경우 반복 제거
- 불용어 제거:
- 조사, 연결어 등 의미 없는 단어 자동 제거
- 예: "은", "는", "이", "가", "그리고", "하지만" 등
- 품사 필터링:
- 동사/형용사/부사 끝말 자동 제거
- 예: "한다", "된다", "하는", "되는", "처럼", "같이" 등
- 서술어 제거 ("다"로 끝나는 단어)
- 관형사형 제거 ("한"으로 끝나는 단어)
- 기능 명사 제거:
- 의미가 약한 기능 명사 제거
- 예: "것", "수", "때", "등", "부분", "경우" 등
- 명사 우선 인정:
- 명사 접미사 패턴을 가진 단어는 우선 인정
- 예: "제도", "정책", "사회", "문제", "법", "권", "성", "화" 등
- 계산 방식: 각 단어의 출현 횟수 카운트
- 정렬 기준: 빈도 내림차순 (가장 많이 나온 단어가 위)
- 동점 처리: 빈도가 같을 경우 입력 순서 유지
- 전체 분석 모드:
- 모든 단어의 빈도 표시
- 스크롤 가능한 긴 목록
- 상위 N개 모드:
- 사용자가 지정한 개수만큼만 표시 (기본 10개)
- 빠른 인사이트 제공
- 결과 형식:
- 순위, 단어, 빈도 수를 표 형태로 표시
- 시각적으로 구분하기 쉬운 디자인
- 평균 분석 시간
- 최대 처리 가능 텍스트 크기
- 에러 발생률
- ✅ 한국어 전용 텍스트 빈도 분석
- ✅ 한글 정확한 감지 (UTF-8 바이트 패턴 기반)
- ✅ 조사 자동 제거
- ✅ 불용어 필터링
- ✅ 동사/형용사/부사 자동 제거
- ✅ 웹 브라우저에서 실행
- ✅ 실시간 분석 결과 표시
- ✅ WebAssembly 기반 고성능 처리
text-frequency-analysis/
├── wasm/ # WebAssembly 모듈 (분석 엔진)
├── js/ # JavaScript 인터페이스
├── index.html # 사용자 인터페이스
└── README.md # 기획서
프로젝트 빌드는 아래와 같습니다. (Emscripten이 설치되어 있다는 가정하에)
cd text-frequency-analysis # 프로젝트 루트 디렉토리
# WASM 빌드 (cpp 파일 수정 시 또는 wasm 파일이 없을 때만 실행)
build-simple.bat
# 로컬 웹 서버 실행
python -m http.server 8000
# 웹 브라우저에서 접속
# http://127.0.0.1:8000