나의 큰 O는 log x야

고정 헤더 영역

글 제목

메뉴 레이어

나의 큰 O는 log x야

메뉴 리스트

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

검색 레이어

나의 큰 O는 log x야

검색 영역

컨텐츠 검색

프로그래밍/NLP

  • [토픽 모델링] 대량의 문헌을 주제에 따라 클러스터링해보기

    2019.07.10 by ∫2tdt=t²+c

  • [Python] tomotopy로 쉽게 토픽 모델링 실시하기

    2019.05.22 by ∫2tdt=t²+c

  • Python용 토픽 모델링 패키지 - tomotopy 개발

    2019.05.19 by ∫2tdt=t²+c

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

    2018.12.09 by ∫2tdt=t²+c

  • [Tensorflow] 문자 인식용 신경망 Python3 코드

    2018.11.14 by ∫2tdt=t²+c

  • AdaGram : 동음이의어를 구분하는 Word2Vec

    2018.09.23 by ∫2tdt=t²+c

  • Word2Vec을 이용한 한국어 관련어 네트워크 보기

    2018.09.17 by ∫2tdt=t²+c

  • Kneser-Ney 언어 모형을 활용한 한국어 초성체 해석기 개발

    2018.06.17 by ∫2tdt=t²+c

[토픽 모델링] 대량의 문헌을 주제에 따라 클러스터링해보기

대량의 문헌이 있는데 그 문헌 안에 어떤 내용이 들어 있는지는 잘 모릅니다. 이 문헌들을 좀더 편하게 찾아볼 수 있게 하려면 주제별로 묶어서 분류하는게 최고입니다. 그런데 문헌 수가 너무 많기 때문에, 문헌 전체를 읽어보면서 얘네 안에 어떤 주제가 있는지 일일히 확인하는 건 어렵고, 얘네들을 일일히 분류하는 건 더 어렵습니다. 이런 경우 어떻게 하는게 좋을까요? 이 문제는 라틴어 고문헌을 OCR하여 아카이브를 구축하면서 제가 겪은 상황입니다. 수십 만건의 문헌을 확보했고 이를 차근차근 OCR하면서 텍스트화시키고 있는데, 당췌 이걸 일일히 읽어보면서 이쁘게 분류할 엄두가 나질 않더라구요. 분류를 하고는 싶은데 분류 체계가 마땅히 없거나 분류기를 학습할 만한 학습 데이터가 없는 경우 클러스터링이 유용합니다...

프로그래밍/NLP 2019. 7. 10. 01:24

[Python] tomotopy로 쉽게 토픽 모델링 실시하기

저번 글에 소개했던 것처럼, 토픽 모델링 툴인 tomoto의 Python 패키지 버전을 며칠 전에 공개했었습니다. 이번 포스팅에서는 Python에서 이를 이용해서 쉽게 토픽 모델링을 하는 예제 코드를 공유하고자 합니다.Step 1. tomotopy 패키지 설치하기명령줄 혹은 Terminal 에서 다음과 같이 입력하여 tomotopy를 설치합니다. (만약 파이썬이 설치가 되지 않은 경우라면 먼저 파이썬을 설치해야겠죠. 3.5 버전 이상을 설치하는걸 추천드립니다)$ pip install --upgrade tomotopyStep 2. 토픽 모델링 코드를 작성하기의외로 간단합니다. 바로 보도록 하시죠. import tomotopy as tp # 먼저 모듈을 불러와야겠죠 model = tp.LDAModel(k=2..

프로그래밍/NLP 2019. 5. 22. 17:06

Python용 토픽 모델링 패키지 - tomotopy 개발

최근 몇 년 여 간 토픽 모델링이라는 자연언어처리 기법을 접하고 이를 통해서 다양한 실험 및 논문 작업을 진행했었는데요, 연구 목적으로 편하게 자주 사용하는 Python에는 토픽 모델링을 제공하는 패키지가 gensim을 제외하고는 크게 많지 않더라구요. Java 기반 라이브러리(Mallet 등)를 종종 이용해오다가, Java로 코딩하기가 너무 귀찮아서 Python에는 왜 이런 라이브러리가 없을까 한탄도 자주 했었습니다.공부할 겸 깁스 샘플링 기반의 토픽 모델링 코드를 개인적으로 c++로 개발했던 적이 있습니다. 최근에 Python C API를 공부하며 겸사겸사 그 동안 개발해뒀던 토픽 모델링 툴을 Python 패키지화시키면 파이썬 유저들도 편하게 토픽 모델링을 할 수 있겠다 싶어서 용기를 내어 토픽 모델..

프로그래밍/NLP 2019. 5. 19. 20:32

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

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

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

[Tensorflow] 문자 인식용 신경망 Python3 코드

고문헌의 textualis로 쓰인 글자를 인식하기 위해서 사용한 신경망입니다. https://medium.com/@akashg/character-recognition-using-tensorflow-a93dbbdf4af 코드를 참고하여 작성하였구요, tensorflow와 scikit-learn이 설치되어 있어야 작동합니다. 신경망의 구조는 다음과 같습니다. INPUT (크기: nImgSize * nImgSize) ↓ activation: sigmoid LAYER1 (크기: layer1) ↓ activation: sigmoid LAYER2 (크기: layer2) ↓ activation: softmaxOUTPUT (크기: nClasses) 고문헌 라틴어를 인식하는 작업에 imgSize = 32, layer1 ..

프로그래밍/NLP 2018. 11. 14. 18:28

AdaGram : 동음이의어를 구분하는 Word2Vec

2013년 등장한 Word2Vec은 강력한 단어 임베딩 기법입니다. 의미적으로 유사한 단어를 벡터 공간 상에 가까운 위치에 배치시키도록 학습하는 신경망을 이용해서 성공적으로 단어를 임베딩시켰습니다. 유사한 단어가 유사한 위치에 배치된다는 특징 덕분에 여러 자연언어처리 기법에서 이미 널리 쓰이고 있는데요, 사실 이 기법에는 한가지 약점이 있습니다. 오직 단어의 형태로만 단어를 구분하기 때문에 형태가 같아도 의미가 전혀 다른 단어를 구분해내지 못한다는 것입니다. 예를 들어 한국어 단어 '밤'을 생각해봅시다. 해 진 이후의 시간대를 뜻하는 '밤'과 견과류의 일종인 '밤'이 같은 형태로 적히기 때문에 Word2Vec은 학습과정에서 두 단어를 동일한 단어로 간주하고 처리합니다. 실제로 두 단어는 다른 단어인데 말..

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

Word2Vec을 이용한 한국어 관련어 네트워크 보기

Word2Vec이 단어 간의 의미론적인 관계를 잘 잡아준다는 것은 이미 널리 알려진 사실이지요. 신기해서 작년에 실제로 실험도 돌려보았었구요 (https://bab2min.tistory.com/545), 당시에는 세종 말뭉치의 데이터만 가지고 Word2Vec을 학습했었는데, 꽤나 그럴싸한 결과가 나와서 놀랐던게 기억에 남네요. 한동안 잊고 지냈었는데, 최근 Kiwi 0.5 버전을 준비하면서 코퍼스에서 사전에 등록되지 않은 단어를 발견하는 기법에 대해서 알게 되었고, 이가 적용된 Kiwi 0.5버전을 이용해 실제로 나무위키의 수 몇 백만건의 문헌을 형태소 분석을 진행하여 약 20여만건의 단어를 추출해보았습니다. 하는 김에 이 단어들을 가지고 Word2Vec을 돌려보았는데요(gensim 라이브러리를 사용했고..

프로그래밍/NLP 2018. 9. 17. 17:28

Kneser-Ney 언어 모형을 활용한 한국어 초성체 해석기 개발

사실 초성체 해석기에 대한 생각은 말년 병장 때 할일 없어서 처음 떠올렸었습니다. 세종 말뭉치 통계 자료가 때마침 있었고, (사지방 시간도 꽤 있었고) PHP를 굴릴 수 있는 웹 서버도 하나 가지고 있었기에, 간단하게 단어의 초성을 추출해서 P(단어 | 초성) 을 계산하는 방식을 선택하기로 했죠. 각각의 단어가 다 독립이므로, 문장을 추론하는데에는 하나도 도움이 안되는 단순 멍청한 모델이었다고 할 수 있겠죠. (열악한 환경에서 하루만에 만드려니 어쩔수 없었다고 변명을 대어봅니다.) 최근 Modified Kneser Ney Smoothing을 적용한 N-gram Language Model를 공부하면서 이를 초성체 해석에 사용할 수 있다는 걸 깨달았습니다. 시험 삼아 초성체를 해독하는 도구를 짜보았는데, 이..

프로그래밍/NLP 2018. 6. 17. 03:01

추가 정보

인기글

최신글

글쓴이 ∫2tdt=t²+c

블로그 이미지

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

댓글

태그

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

방문자

오늘
어제
전체

페이징

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

티스토리툴바