전체 글54 [NLP] 일본어 텍스트 정규화 라이브러리 neologdn neologdnhttps://github.com/ikegami-yukino/neologdn GitHub - ikegami-yukino/neologdn: Japanese text normalizer for mecab-neologdJapanese text normalizer for mecab-neologd. Contribute to ikegami-yukino/neologdn development by creating an account on GitHub.github.commecab에 쓰이는 정규화용 로직인 것 같음2026-05-07까지도 유지보수되고 있어서 괜찮은 듯 from rapidfuzz.distance.Levenshtein import normalized_similarityimport neologdn.. 2026. 8. 27. [NLP] SudachiPy로 시작하는 일본어 토크나이징 일본어 NLP? 어렵지 않을까?한국인이 제일 배우기 쉬운 제2외국어가 일본어라고 합니다.한국어와 같은 교착어이기 때문이고 어순이 매우 비슷하기 때문입니다. …교착어가 뭔데요? 간단하게 말하자면 하나의 어간(단어)에 다양한 부품(접사)이 붙어서 문장을 형성하는 언어입니다.문장/을/형성/하는/언어/입니다文章/を/形成/する/言語/です 이렇게 보니까 일본어를 몰라도 어쩐지 일본어가 이해되지 않나요?아무튼 한국어와 일본어에는 공통점이 하나 있는데요, 바로바로…컴퓨터에게 이해시키기 어려운 언어라서 토크나이저가 비정상적으로 발전했다는 것입니다. 와~ ^^나는 새 이거, 'I'm a bird'인가요? 'a flying bird'인가요?컴퓨터는 알 수 없죠... 한국어 화자도 앞뒤 맥락 없이는 알기 어렵습니다. 게다가 .. 2026. 8. 25. [개발 일지] 8/5 기존 맞춤법 검사기의 엔진을 아호코라식+형태소 분석 후 NFA 매칭 엔진 투트랙으로 돌리고 있었습니다. 아호코라식을 쓴 이유는 형태소 분석기가 아예 분석을 실패해 버리는 경우 때문이었습니다. 예를 들어 떄문에 ← 같은 경우는 형태소 분석까지 갈 것도 없이 '떄' 자체가 아예 오타니까요. 근데 하나 문제가 있었습니다. 제 애플리케이션의 셀링포인트가 '사용자 사전 추가 가능'인데, 아호코라식은 그것과 상관 없이 무지성으로 검출하기 때문에 막을 수가 없다는 것이었습니다. 어떡어떡하지… 구글에 검색을 했더니 이런 블로그가 있었습니다. https://techblog.woowahan.com/15764/ 고르곤졸라는 되지만 고르곤 졸라는 안 돼! 배달의민족에서 금칙어를 관리하는 방법 | 우아한형안녕하세요! 셀러시스템.. 2026. 8. 5. [개발 일지] 7/21 개발 일지는 안 썼지만 개발은 꾸준히 하고 있었다.v0.1.0을 릴리즈했다!그리고 어제는 v0.2.0 릴리즈. v0.1.0을 릴리즈하던 순간은 내가 무슨 아이라도 낳은 것처럼 기뻤다.나는야 뭔가를 배포해 본 개발자! 이제 엔진은 괜찮게 돌아가는 것 같고, 기능도 어느 정도 안정화돼서 규칙을 써 나가고 있다.근데 항상 궁금했던 게, '내가 만든 게 잘 잡고 있는 건가?'였다. 주기적으로 나무위키 dump에 돌려 보거나 게임 텍스트에 돌려 보면서 찾고 있긴 한데,뭔가 뚜렷한 측정 결과도 하나 있었으면 좋겠다... 라고 생각해서 클로드를 갈궈서 라벨링 도구와 리포트 스크립트를 만들었다.그리고 또 무한한… 라벨링의 세계로…하루 꼬박 라벨링을 해서 평가용 dataset을 만들었다!그리고 나온 결과.이런 느낌으로 .. 2026. 7. 21. [개발 일지] 5/9~5/15 하핫 써놓고 안 올린 게 생각나서 올린다.맞춤법 검사기 만들기5/10refactor: migrate RuleChecker core to Rust토요일은 좀 나가서 놀았고 (하하하) 일요일 내내 컴퓨터 앞에서 씨름하면서 만들었다. 어차피 노드 자체는 Arena 패턴으로 만들어서 소유권 관리 자체를 회피했고, 로직이야 뭐 파이썬 옆에다 켜놓고 번역하면 되는 거고.문제는 파이썬이랑 소통하는 부분이었다. 이게 진짜...;;; 이거는 근데 사실 보일러플레이트라 그냥 클로드 시켰다 ㅎㅎ 토큰 살살 녹는다파이썬에서 규칙을 받아서 -> 러스트 엔진에 등록, 그리고 토크나이징된 토큰들을 받아서 -> 러스트가 처리하는 구조.동적으로 메시지를 컴파일해야 해서 accept 상태에 PyObject msg를 박아뒀다. 이거는 들.. 2026. 7. 21. [개발 일지] 5/2~5/8 맞춤법 검사기 만들기5/2refactor: Change HashMap to FxHashrust의 해시맵에 여러 종류가 있는데 기본이 SipHash. DoS 공격을 막기 위해 이게 기본이라는데 나는 딱히 그럴 필요는 없어서 속도가 조금 더 빠른 FxHash라는 걸로 바꿨다. 사실 string clone이 더 병목이라는 건 알지만 . . . 어쨌든 ROI 높고 빠르게 할 수 있다니까 일단 해 뒀다.feat: add folder scanning to quick launcher이건 클로드 갈궈서 개발용 GUI에 기능 추가한 거. 이제 모델을 붙여야 해서 라벨링용 도구를 넣었다.5/3update: spell rules규칙 추가는 굳이 기록으로 안 쓰고 있었는데 왜 굳이 썼냐고 하신다면!사실 이 프로젝트는 전신이 .. 2026. 5. 12. 이전 1 2 3 4 ··· 9 다음