TL;DR
작성자는 spaCy en_core_web_md 파이프라인을 Rust로 처음부터 재구현하여 WebAssembly로 컴파일한 단일 HTML 데모를 공개했고 토크나이저·POS 태거·의존성 파서·표제어화·NER·300차원 워드 벡터를 클라이언트 측에서 모두 실행하도록 구성했다. 모델 가중치와 런타임이 파일에 내장되어 오프라인으로도 동작하며 1,000문장 보류 집합과의 비교에서 POS·미세품사·표제어는 100% 일치, UAS/LAS는 99.9%/99.8%, NER F1은 1.00이라는 측정 결과를 보고했다. 데모는 실시간 처리 속도 계측과 displaCy 스타일 시각화, 벡터 유사도와 문서 임베딩 기능을 브라우저에서 직접 계산해 보여주며 단점으로 전체 파일 크기가 약 45MB라는 배포·저장 비용이 발생한다고 언급했다. 작성자는 개발 과정에서 AI 보조를 광범위하게 활용했다고 밝히고 저장소 공개 의사를 표명했으며 Python 런타임 없이 spaCy 수준의 파이프라인을 배포한 경험에 대한 실무적 논의를 요청하고 있다.
섹션별 상세
용어 해설
- spaCy 라이브러리(spaCy)
- — spaCy는 토크나이징, 품사 태깅, 의존성 파싱, 표제어화, 개체명 인식 등 NLP 파이프라인을 제공하는 Python 기반 라이브러리로, 본 게시물에서는 en_core_web_md 모델의 동작과 출력 일치를 재현하는 기준점으로 사용되었다.
- WebAssembly (WASM)(WebAssembly)
- — WASM은 브라우저 및 기타 환경에서 네이티브에 가까운 성능으로 컴파일된 코드를 실행하게 하는 이진 포맷이며, 이 구현에서는 Rust로 작성한 런타임과 모델을 브라우저에서 직접 실행하는 매개체로 활용되었다.
- Rust 프로그래밍 언어(Rust)
- — Rust는 메모리 안전성과 성능을 동시에 제공하는 시스템 프로그래밍 언어로, 본 프로젝트에서는 spaCy 파이프라인을 Rust로 재구현하여 WASM으로 컴파일해 클라이언트 사이드에서 동작시키는 구현 기반이 되었다.
- displaCy 시각화(displaCy)
- — displaCy는 spaCy가 제공하는 의존성 트리와 개체명 시각화 도구로, 데모에서는 브라우저에서 동일한 스타일의 엔티티·의존성 아크 뷰를 실시간으로 렌더링하는 구성 요소로 사용되었다.
- UAS·LAS 의존구문 평가지표(UAS/LAS)
- — UAS(Unlabeled Attachment Score)와 LAS(Labeled Attachment Score)는 의존성 파싱의 구조적 정확도를 측정하는 지표로, 이 글에서는 재구현된 파서의 UAS가 99.9%, LAS가 99.8%로 측정되었다는 점이 성능 근거로 제시되었다.
언급된 도구
원본 NLP 파이프라인과 출력 일치 기준으로 사용된 라이브러리
파이프라인을 재구현하고 WASM용으로 컴파일한 구현 언어
브라우저에서 네이티브 수준의 성능으로 런타임을 실행하기 위한 실행 포맷
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.