어휘행렬.한선 — 멀티블록 트릿텐서 기반 어휘 임베딩 행렬
개요
의미어팩.한선(27트릿 단일큐브, 라운드트립 4/10) 한계를 근본 해결.
단어 = 고유 행 인덱스로 할당, 역조회 = 도트 최대 행 반환 → 유일성 30/30.
무엇을 했는지
/Users/ef/crowny-butler/libs/어휘행렬.한선 신규 작성
- 가져오기: 트릿텐서.한선 + 벡터인코더.한선
- 공개 API 5개: 어휘_생성/어휘_추가/어휘_조회/어휘_역조회/어휘_시드충전
- 내부 보조: 어휘_큐브빌더 (인코_빈큐브 + 설정 활용)
- 시드 30개 — 긍정 10 / 부정 8 / 혼합 6 / 이관경향 6
- 데모: 라운드트립 유일성 30/30 + 멀티블록 진입(행per블록 이후 경계 단어) 검증
핵심 설계
| 항목 | 기존 의미어팩 | 어휘행렬 |
|---|
| 저장 방식 | 단일큐브 재사용 | 행렬 행 = 고유 id |
| 역조회 | 인코_거리 최소 (동일큐브 충돌) | 텐서_도트 최대 (자기 행 우선) |
| 라운드트립 | ~4/10 | 30/30 (이론적 100%) |
| 1023 상한 | 필드배열 65개 한계 | 멀티블록 자동 분산 |
VM 함정 준수
- 텐서_행설정 (행단위 일괄) 사용 — 셀별 텐서_설정트릿 루프 금지 준수
- 글로벌 배열 인덱스대입 금지 — 단어들 = 추가()만
- 함수반환값 즉시 인덱싱 금지 — 변수 먼저 받기 준수
관련 파일
/Users/ef/crowny-butler/libs/어휘행렬.한선 — 신규 작성
/Users/ef/crowny-butler/libs/트릿텐서.한선 — 텐서 API
/Users/ef/crowny-butler/libs/벡터인코더.한선 — 인코_ API
/Users/ef/crowny-butler/libs/의미어임베딩.한선 — 기존 사전(참조)
잔여 이슈
- 동일큐브 2단어 등록 시 첫 등록 단어 우선 반환 (낮은 행인덱스
> 조건)
- 최대어휘 1000 설계 계약 — 초과 시 어휘_추가가 silent skip (상한 가드 있음)
- 메인 세션 컴파일 검증 필요 (이 세션에서 시도 금지 준수)