← 목록
기타 2026-05-22 6KB 읽기 5분

자연어→KPS→한선씨 RPN IR 파이프라인 (크라우니코드 고도화)

2026-05-22 | 크라우니코드 / CrownyTVM

개요

의미어 + 은/는/이/가 조사를 포함한 한국어 자연어를 규칙만으로 KPS 구문으로 해석하고, 한선씨 RPN IR로 작업요청/의도를 저장해 데이터를 축적하는 5단계 파이프라인을 구축했다. LLM 독립 규칙기반 대화+코드 수준 격상이 목표.

필요 로직 수 산출 → 900개 (1000 미만)

5단계 파이프라인 기준 9배치 × 100개:

배치내용
B1조사 연결 규칙 (격조사/보조사/연결어미 20종)100
B2코어 의미어 — 자료구조·제어흐름100
B3코어 의미어 — I/O·네트워크·시스템100
B4전문 의미어 — 금융·회계 (별도그룹)100
B5전문 의미어 — 의료·교육 (별도그룹)100
B6전문 의미어 — 법률·건축·행정 (별도그룹)100
B7자연어→KPS 구문 해석 규칙100
B8한선씨 RPN IR 작업요청/의도 스키마100
B9규칙기반 대화 패턴100
합계900

5단계 파이프라인

[입력] 자연어 (의미어 + 은/는/이/가)
  "사용자가 배열을 빠르게 정렬해줘"
[1단계] 형태소·조사 분리 (최장 일치)
  사용자/가  배열/을  빠르게  정렬/해줘
[2단계] 조사→역할 매핑 (조사규칙.dat)
  사용자[행위자] 배열[목적어] 빠르게[수식] 정렬[동작]
[3단계] KPS 구문 생성 (대상도메인_동작서브토픽 합성)
  배열_정렬(대상:배열,출처:사용자,수식:빠르게)
[4단계] 한선씨 RPN IR
  @의도 단순처리
  @작업 배열_정렬 @대상 배열 @출처 사용자 @수식 빠르게
  @연결 단일
[5단계] ir저장소.dat 누적 → 데이터 축적

산출물

위치: /Users/ef/Downloads/CrownyTVM/crownycode-agent/nlp/

파일내용
조사규칙.dat격조사 20종 100규칙 (은/는/이/가/을/를/에/로/와...)
의미어_코어.dat코어 의미어 200 (B2+B3)
의미어_금융.dat금융·회계 전문 100 (별도그룹)
의미어_의료교육.dat의료·교육 전문 100 (별도그룹)
의미어_법률건축.dat법률·건축·행정 전문 100 (별도그룹)
의미어_전체.dat런타임 통합 인덱스 500
kps_구문규칙.dat자연어→KPS 구문 변환 100
rpn_ir_스키마.datRPN IR 의도 템플릿 100
대화규칙.dat규칙기반 대화 패턴 100
해석기.한선5단계 파이프라인 (CrownyTVM v0.38 한선씨)
ir저장소.dat작업요청/의도 RPN IR 누적 데이터
파이프라인.spec마스터 설계
tests/테스트케이스.dat평가 케이스 16종

평가 결과

crowny run 해석기.한선 — 16개 테스트 케이스:

  • KPS 해석 성공: 16/16
  • 의도 일치: 16/16
  • KPS 구문 정확: 16/16
자료구조·I/O·금융(거래)·의료(환자)·법률(계약)·교육(강의)·건축(설계도) 전 도메인 문장이 정확히 해석됨.

구현 노트 (CrownyTVM v0.38 한선씨 제약)

  • 자르기(split) 빌트인 스택언더플로 → 쪼개기 직접 구현
  • 주석은 // (세미콜론 주석 미지원)
  • 맵꺼내 미존재 키는 None 리터럴 없음 반환 (문자열 "없음"과 다름 — != 없음 비교)
  • 예약어 문자열 변수명 사용 불가
  • 박스 문자(U+2550 등) 컴파일 거부 — ASCII만
  • 파일 I/O: 파일읽기/파일추가, 틱 한계 40만+ (충분)

데이터 축적 → 규칙기반 격상

작업요청/의도가 ir저장소.dat에 RPN IR로 누적. 같은 의도 재등장 시 LLM 없이 IR 직접 재현. 임계치 도달 시 대화규칙.dat/패턴DB로 고정.

2라운드 고도화 (2026-05-22) — 코드 생성 + 대화

1라운드(NL→RPN IR) 위에 5단계 코드 생성과 대화 응답을 추가. 9배치 × 100 = 900 추가.

배치산출물
B10코드생성템플릿.dat — RPN IR 의도→한선씨 코드 골격100
B11동사정규화.dat — 동사 활용형→의미어 정규형100
B12복문규칙.dat — 연결어미→절관계/제어구조100
B13대화응답.dat — 발화의도→응답 템플릿100
B14의미어_코어 병합 — 알고리즘·수학·암호100
B15의미어_행정교회미디어.dat (별도그룹)100
B16의미어_게임IoT로보틱스.dat (별도그룹)100
B17kps_복합구문.dat — 복문/중첩/생략 패턴100
B18rpn_ir_고급.dat — 복합/조건/반복/병렬 의도100

파이프라인 5단계 완성

해석기.한선이 RPN IR → 한선씨 코드까지 생성:
"사용자가 배열을 빠르게 정렬해줘"
→ [5단계] 변수 결과 = 배열_정렬(배열)

"파일을 읽어서 출력해줘"
→ [5단계] 변수 결과 = 파일_읽기(파일)
          출력값(문자열변환(결과))

2라운드 평가 결과

  • 코드 파이프라인: KPS 해석 16/16, 의도 일치 16/16, 코드 생성 16/16
  • 대화 응답: 5/5 (인사·감사·진행·중단·설명요청)

누적

  • 1라운드 900 + 2라운드 900 = 1800 로직
  • 의미어 통합 인덱스 800개 (코어 300 + 전문 5그룹 500)

관련 파일

  • 모듈: /Users/ef/Downloads/CrownyTVM/crownycode-agent/nlp/
  • 에이전트 연동: keywords.dat(12163줄), synonyms.dat과 병행

잔여 이슈

  • 동사 표면형 정규화 — 현재 ~50개 임베드, synonyms.dat(867줄) 연동 확장 가능
  • 나머지 14개 언어 대응 (현재 한국어 전용)
  • kps_구문규칙.dat 100규칙을 해석기에 완전 연동 (현재 핵심 패턴만)
  • 복문(조건절/반복절) 해석 — clause_split.sh 연동 필요