← 목록
기타 2026-07-04 3KB 읽기 3분

의미어빈도 — 단어 빈도·용법·관계 인덱서 (WS1 센터피스)

개요

임의 텍스트(코퍼스)에서 특정 단어가 (1) 얼마나=빈도 (2) 어떻게=용법(연어 collocation) (3) 어떤 관계로=동시등장(co-occurrence 페어) 나타나는지 산출하는 순수 한선씨 도구.

무엇을 했는지

  • 신규 파일: /Users/ef/crowny-butler/libs/의미어빈도.한선
  • 기존 의미어색인.한선의 토큰분해/조사꼬리제거를 self-contained로 포함(가져오기 경로 함정 회피).
  • 셀코어(가져오기 "셀코어") 룰생성/룰조건추가/룰변경추가로 "빈도>=임계 → 핵심어" 판정 병행.
  • 핵심 함수: 빈도계산/빈도조회, 연어빈도/연어수집, 동시등장/관계조회, 빈도규칙판정, 단어보고, 코퍼스적재.

컴파일·실행 검증

export CROWNY_STD="$HOME/Downloads/CrownyTVM/std"
cd /Users/ef/CrownyOS/crownyc
./hanseonc_high /Users/ef/crowny-butler/libs/의미어빈도.한선 > /tmp/의미어빈도.toau
./crownyc run /tmp/의미어빈도.toau
컴파일 성공(19171 토큰, 47383 큐브), 실행 성공.

코퍼스 = /Users/ef/CLAUDE.md (1519자, 프로젝트 슬림 CLAUDE.md). 실제 출력:

[한선씨] 2회 / 상위연어: (2026-06-29(1), 토큰감축:(1), 중복(1), 제거)\n\n##(1), 동반(1) / 관계: ##(2), 동반(1), 강제(1), (최우선)(1), 상세(1) / 판정: 핵심어(빈도2>=임계2)
[헌법] 0회 / 상위연어: (없음) / 관계: (없음) / 판정: 일반어(빈도0<임계2)
[코어] 0회 / 상위연어: (없음) / 관계: (없음) / 판정: 일반어(빈도0<임계2)
비고: 이 프로젝트 CLAUDE.md(32줄 슬림판)엔 "헌법"·"코어" 단어가 실제로 0회(grep 검증 완료) — 정직하게 0 출력됨. "한선씨"는 원문에 5회 substring 매치되나 토큰분해가 공백 기준이라 백틱/괄호에 붙은 인라인 표기(` [한선씨 `)나 합성어("한선씨우선")는 별도 토큰으로 분리되지 않아 독립 토큰 매치는 2회 — 원본 의미어색인.한선 토큰분해 설계의 알려진 한계(신규 버그 아님).

관련 파일

  • /Users/ef/crowny-butler/libs/의미어빈도.한선 (신규)
  • /Users/ef/crowny-butler/libs/의미어색인.한선 (재사용 원본, 미변경)
  • ~/Downloads/CrownyTVM/std/셀코어.han (룰생성/룰조건추가/룰변경추가 재사용, 미변경)

학습

crownycode-learn.sh add "의미어빈도_단어용법관계_인덱서" "<핵심코드>" 완료 (학습DB+패턴DB+별칭 등록 확인).

잔여 이슈

  • 토큰분해가 공백만 경계로 삼아 줄바꿈에 걸친 문장은 토큰이 뒤섞임(예: 연어 출력에 "\n\n##" 포함).
개선하려면 토큰분해에 구두점/줄바꿈 경계 분리를 추가해야 하나, 원본 의미어색인.한선과의 1:1 재사용 계약을 지키기 위해 이번엔 그대로 둠.
  • 맵키목록(opcode852)은 존재하나 이번 구현은 병렬배열(단어들/카운트들) 방식을 채택
(기존 인과추출.한선 빈도내림정렬 패턴과 일관).