나의 큰 O는 log x야

고정 헤더 영역

글 제목

메뉴 레이어

나의 큰 O는 log x야

메뉴 리스트

  • 홈
  • Tag
  • Guestbook
  • Admin
  • 분류 전체보기
    • 적분史
    • 프로그래밍
      • PG어
      • 테크닉
      • 3D
      • Multi precision
      • 포니게임개발
      • 스페샬
      • NLP
    • 소리
    • 언어
      • 어원 이야기
      • 라틴어
    • 수업노트
      • 한국고대경제와사회
      • 영어구조론
      • 정보검색론
      • 인간의삶과역사속의미생물
      • 기타
    • 잉여
      • 미래
      • 수학
      • 종교개혁
    • 그냥 공부
    • 가짜 정보 정정합니다.

검색 레이어

나의 큰 O는 log x야

검색 영역

컨텐츠 검색

kiwi

  • 형태소 분석기 Kiwi CoNg (2/4): CoNg 모델 소개

    2025.05.11 by ∫2tdt=t²+c

  • 형태소 분석기 Kiwi CoNg (1/4): 신경망 모델 도입기

    2025.05.04 by ∫2tdt=t²+c

  • 한국어 말뭉치를 통한 사이시옷 사용 실태 조사

    2024.11.04 by ∫2tdt=t²+c

  • [Kiwi] 지능형 한국어 형태소 분석기 0.6버전 업데이트

    2018.12.09 by ∫2tdt=t²+c

  • [Kiwi] 지능형 한국어 형태소 분석기 GUI 버전

    2017.10.31 by ∫2tdt=t²+c

  • [Kiwi] 지능형 한국어 형태소 분석기 0.4버전 업데이트

    2017.09.11 by ∫2tdt=t²+c

  • [Kiwi] 지능형 한국어 형태소 분석기 ver 0.3 - 알고리즘 최적화 & 메모리 풀

    2017.05.05 by ∫2tdt=t²+c

  • [Kiwi] 지능형 한국어 형태소 분석기 ver 0.2

    2017.04.29 by ∫2tdt=t²+c

형태소 분석기 Kiwi CoNg (2/4): CoNg 모델 소개

지난 포스팅에서는 Kiwi에 내장된 통계 기반 언어 모델이 가지는 한계를 살펴보고 신경망 모델 도입 시 얻을 수 있는 혜택이 무엇인지 다뤘습니다. 그리고 어떤 신경망 구조를 사용할지 결정하기 위해서 다음과 같은 조건을 설정했다고 했었죠.모델 크기는 100MB이내속도는 현재 KnLM 기반의 분석기와 유사할 것. 혹시나 느려지더라도 1.5배 이상 느려지면 안됨.또 신경망 모델 중 가장 정교한 것은 Transformer Decoder를 사용한 GPT 계열 생성 모델이고, 가장 가벼운 것은 Word2Vec CBOW라고 언급했었습니다. 당연히 GPT 모델을 사용할 수 있으면 최고겠지만, 위의 두 조건을 달성할 수 없으니 현실과 타협하면서 모델 구조를 경량화해야했는데요, 오늘 포스팅에서는 경량화를 통해 도달하게 된..

프로그래밍/NLP 2025. 5. 11. 17:23

형태소 분석기 Kiwi CoNg (1/4): 신경망 모델 도입기

오랜만에 Kiwi 이야기를 들고 블로그로 돌아왔습니다. 최근에 Kiwi v0.21.0에 신경망 모델을 도입하면서 분석 정확도를 크게 향상시켰는데요, 그 시작부터 진행 과정, 결과까지를 함께 나눠보고자 이렇게 시리즈 포스팅을 작성하게 되었습니다. 길고 지루한 이야기가 될 수도 있지만 최대한 재미나게 구성해볼테니 마지막 편까지 "채널 고정" 해주시면 감사드리겠습니다~Kiwi CoNg 포스팅 시리즈형태소 분석기 Kiwi CoNg (1/4): 신경망 모델 도입기 형태소 분석기 Kiwi CoNg (2/4): CoNg 모델 소개형태소 분석기 Kiwi CoNg (3/4): 모델 성능 비교형태소 분석기 Kiwi CoNg (4/4): 모델 최적화왜 신경망 모델인가?잘 돌아가고 있는 Kiwi에 갑자기 왜 신경망 언어 모델..

프로그래밍/NLP 2025. 5. 4. 19:30

한국어 말뭉치를 통한 사이시옷 사용 실태 조사

헷갈리는 사이시옷사이시옷은 참으로 묘한 녀석입니다. 이름은 분명 사이"시옷"인데 ㅅ소리가 전혀 나지 않거든요. 사이시옷의 역할은 두 개의 명사가 합쳐져서 복합 명사가 되는 과정에서 뒤의 명사가 된소리화(ㄲ/ㄸ/ㅃ/ㅆ/ㅉ)되거나 ㄴ소리가 첨가되는 현상을 반영하기 위해서 명사 사이에 ㅅ을 적기로 약속한 것이기 때문입니다. 그래서 적기는 ㅅ으로 적더라도 실제로는 ㅅ 소리가 절대 나지 않습니다. ('숫자'는 [숫자]로 소리나는 것이 아니라 [수짜]로 소리나고, '깻잎'은 [깨십]으로 소리나는 것이 아니라 [깬닙]으로 소리납니다.)사실 발음보다 더 골이 아픈 문제는 사이시옷을 언제 써야하는지, 언제 쓰지 말아야하는지를 구분하는게 참 어렵다는 겁니다. 잘 모르는 복합명사를 받아적을 일이 생겨서, 그 명사에 사이시옷..

프로그래밍/NLP 2024. 11. 4. 02:20

[Kiwi] 지능형 한국어 형태소 분석기 0.6버전 업데이트

최근 Kiwi 형태소 분석기 0.6 버전 업데이트를 실시했습니다. 사실 엄청 바뀐건 없고, 이전 버전에서 사용하던 최적화를 좀더 한 단계 끌어올리는 작업을 수행했습니다. 0.4버전에서 도입한 그래프 기반 경로 탐색 알고리즘의 경우, 이상하게도 끝쪽에서 앞쪽으로 분석을 진행했습니다. 당시에 왜 이렇게 설계했는지 모르겠는데, 개발하고 보니, 역방향으로 추적을 진행하더라구요. 사실 경로 탐색을 진행하는게 순방향인지 역방향인지 자체는 성능에 영향을 미치지 않습니다만, n-gram 언어모델을 캐싱하는데에는 순방향이 훨씬 유리합니다. 0.5버전에서 Kneser-Ney smoothing을 적용한 n-gram 언어 모델을 바탕으로 형태소가 출현할 확률을 계산하도록 알고리즘을 교체하였는데요, 이게 약 2만 여개의 형태소..

프로그래밍/NLP 2018. 12. 9. 23:23

[Kiwi] 지능형 한국어 형태소 분석기 GUI 버전

웹 버전 말고 윈도우즈용 GUI 버전의 Kiwi 형태소 분석기를 구하시는 분들이 의외로 많으셔서, 간단하게나마 GUI를 입힌 버전을 만들어보았습니다. (2022-03-20일자 업데이트) https://github.com/bab2min/kiwi-gui/releases/에서 최신 버전의 kiwigui_win_v0.**.*.zip (별표는 버전 넘버) 파일을 다운 받으시는걸 권장합니다. 입력된 한국어 문장을 형태소 분석하여 출력해주는 것이 모든 기능입니다. KiwiGui가 받아들이는 인코딩은 CP949(ANSI), UTF-8, UTF-16 BE, UTF-16 LE 입니다. 출력 파일은 항상 UTF-8로 나옵니다. 기본 분석기 창. 분석할 텍스트를 입력하거나 텍스트 파일을 열어서 분석을 진행할 수 있습니다. 일..

프로그래밍/NLP 2017. 10. 31. 23:00

[Kiwi] 지능형 한국어 형태소 분석기 0.4버전 업데이트

속도가 만족할 만큼 나오지 않아서 아쉽길래 한동안 접어두고 있었는데, 갑자기 좋은 아이디어가 떠올라서 업데이트를 해보았습니다. 약간의 알고리즘 수정으로 최소 +50%~200%의 속도 향상을 달성할 수 있었는데, 기록하지 않고 넘어가기에 너무 아까워서 포스팅을 써보았습니다. 0.3버전까지 방법이전 포스팅에서도 간단히 적었듯이 형태소 분석기의 핵심은 마르코프 연쇄입니다. 각각의 형태소가 등장할 확률 및 한 형태소 다음에 다른 형태소가 등장할 확률을 계산해서, 그 확률이 가장 높은 형태소열을 찾는것이 형태소 분석기의 업무라고 할 수 있습니다. 원활한 이해를 위해 다음 예시를 들어보죠. 먹었다 위 단어를 분석한다고 해봅시다. 어떤 형태소가 들어갈 수 있는지 일단 나열해보자면, 다음과 같을 겁니다. 먹었다 먹/V..

프로그래밍/NLP 2017. 9. 11. 02:59

[Kiwi] 지능형 한국어 형태소 분석기 ver 0.3 - 알고리즘 최적화 & 메모리 풀

그새를 못 참고 업데이트했습니다. 이번 업데이트에서는 정확도 개선은 없었지만, 알고리즘 최적화와 메모리 관리 향상을 통한 성능 향상이 주요 내용입니다. 0.3 버전 업데이트 내역속도가 0.2 버전 대비 약 86%향상되었습니다. 1.알고리즘 최적화실행 속도를 높이기 위해서는 실행 시간의 대부분을 차지하는 함수를 튜닝하는게 좋습니다. 다행히도 마솔루야, 거룩하신 MS께서 내리신 Visual Studio에서 성능 분석에 아주아주 좋은 기능을 제공하더라구요. 이 기능을 활용하여 실행시간의 대부분을 소모하는 함수를 찾아 들어가보니 코드 순서를 바꾸고 불필요한 할당을 제거할 수 있는 부분이 있어서 라인 몇줄을 옮기고 지웠습니다. 별거 아닌 것 같은 작업이었지만 이를 통해 10%이상의 성능 향상을 얻을 수 있었죠. ..

프로그래밍/NLP 2017. 5. 5. 21:02

[Kiwi] 지능형 한국어 형태소 분석기 ver 0.2

최초 릴리즈 이후 약간의 성능 개선을 실시했어요. 조금 설명하자면 * Trie 할당 방법을 바꿔서 연속된 공간에 배치하도록 수정했습니다. 그 결과 자식 노드를 포인터로 지정하는게 아니라 상대 인덱스로 지정할 수 있게 바꿨습니다.struct KTrie { KTrie* next[51] = {nullptr,}; KTrie* fail = nullptr; ... 처음에는 0.1에서는 위와 같이 선언된 구조체를struct KTrie { int next[51] = {0,}; KTrie* fail = nullptr; KTrie* getNext(int i) const { return next[i] ? (KTrie*)this + next[i] : nullptr; } ... 이것처럼 고쳤습니다. x64환경에서는 포인터가 8..

프로그래밍/NLP 2017. 4. 29. 14:03

추가 정보

인기글

최신글

글쓴이 ∫2tdt=t²+c

블로그 이미지

제가 안 것의 대부분은 인터넷으로부터 왔으니, 다시 인터넷에게 돌려주어야 합니다. bab2min@gmail.com

댓글

태그

kiwi 영어구조론 한국고대경제와사회 c++ NLP Direct3D 정보조직론 리듬게임 python 포니게임 악보 자연언어처리 pg어 텍스트 마이닝 토픽 모델링 라틴어 php 문헌정보통계 BigFloat 우리역사바로알기대회

방문자

오늘
어제
전체

페이징

이전
1 2
다음
나의 큰 O는 log x야
메일 bab2min@gmail.com
Skin Images are from Stinkehund.

티스토리툴바