본문 바로가기

[Konlpy|Mecab] Ubuntu 에서 Mecab-ko를 설치했으나, Mecab이 설치되었는지를 다시 묻는다. Mecab 형태소 분석기를 이용해 보기 위해서, Ubuntu 환경에서 konlpy 와 Mecab-ko 설치를 진행해 보았다. http://konlpy.org/ko/latest/install/ 의 가이드를 따라 mecab 설치까지 진행하였으나, mecab 은 구동되지만, Mecab 클래스 인스턴스를 만드는 부분에서 mecab 설치가 안 되었다는 에러가 발생했다. 환경은 Ubuntu 18.x 이고, 다른 파이썬 패키지와의 꼬임을 방지하기 위해서, python3 venv 를 이용해 가상환경(virtual env)를 따로 만들어 진행했다. 문제는 가이드에서 제공하는 스크립트는 가상환경에 대한 고려가 되어 있지 않았기 때문에, 가상환경에 수동으로 추가적으로 패키지를 깔아주어야 했던 것이다. 진행한 순서는 다음과 ..
[Python|Numpy|Matplotlib] 푸리에 시리즈 사각파 10년전 포스팅에 C로 사각파 푸리에 시리즈를 구현한 것이 있었다. 이걸 파이썬, numpy, matplotlib 를 이용해 다시 구현해 본다. import numpy as np import matplotlib.pyplot as plt def F(n, X): """ 1 F (t) = ------- sin ( (2n+1) t ) n 2n + 1 """ return np.sin((2*n+1)*X)/(2*n+1) def RectWave(n, X): """ n Sigma F (t) k=1 """ y = np.zeros(X.shape) for k in range(n+1): y = F(k, X) + y return y X = np.linspace(-5, 5, 1000) for i in (1, 5, 50, 100):..
VBox, Ubuntu 공유폴더 설정하였지만, 권한문제로 파일을 볼 수 없을 때 windows 10 위의 VirtualBox 에 ubuntu 를 설치하여 사용하였다. windows 호스트와 파일을 공유하기 위해 virtualbox 의 공유폴더 설정을 하였다. 하지만 공유폴더를 접근하지 못했다. 이에 대해 검색하여 다음과 같은 해법을 찾았다. https://unix.stackexchange.com/questions/52667/file-permission-issues-with-shared-folders-under-virtual-box-ubuntu-guest-wind 파일 접근권한을 얻는 일반적인 방법은 VirtualBox 로 공유폴더를 자동마운트시키고, (그렇게 하면 /media/sh_디렉토리명 으로 보일 것) 사용하는 우분투 사용자를 vboxsf 그룹에 추가하는 것입니다. (명령은 루..
[Python] 이항분포 그래프 그리기 import sys from functools import lru_cache import math import numpy as np import matplotlib.pyplot as plt @lru_cache(None) def ncr(n, r): """조합. 재귀식을 이용함. n이 커지면 스택오버플로우 발생. """ if r in (0, n): return 1 return ncr(n - 1, r) + ncr(n - 1, r - 1) def bidist(n, p): """이항분포""" q = 1 - p dist = np.array([ncr(n, k) * (p ** k) * (q ** (n - k)) for k in range(n + 1)]) return dist def bicoeff(n): """이항계수...
[Python] pandas read_csv issue regarding non-ascii filename (textanal3664) D:\Users\daewon\Downloads\crime>python ana.pyTraceback (most recent call last): File "ana.py", line 5, in df = pd.read_csv('2000년.csv', encoding='euc-kr') File "D:\PythonEnvs\textanal3664\lib\site-packages\pandas\io\parsers.py", line 678, in parser_f return _read(filepath_or_buffer, kwds) File "D:\PythonEnvs\textanal3664\lib\site-packages\pandas\io\parsers.py", line 440, in _read ..
[Win32] CharLowerA(utf8str) 은 문제가 생길 수 있다. utf-8 인코딩된 한글 문자열에 대해서 CharLowerA 를 적용하면, 문자가 깨질 수 있다. char utf8str[200];WCHAR s1[200] = L"제공호";WCHAR s2[200]; // s1 을 utf8 인코딩으로 변환하여 utf8str 을 채운다. (WideCharToMultiByte 등을 사용.) CharLowerA(utf8str); // utf8str 중에서 알파벳만 모두 소문자로 바꾸려 한다. // 변경된 utf8str 을 unicode 로 변환하여, s2 에 저장한다. (MultiByteToWideChar 등을 사용.) cmp = wcscmp(CharLowerW(s1), s2); 위 코드에서 두가지 경로로 문자를 소문자화하여 비교한다.1. s1 -> utf8로 인코딩 -> Ch..
fasttext, word2vec, pretrained word vector 평가 인터넷에서 찾을 수 있는 한국어 fasttext 와 word2vec 의 pretrained vector 들이 얼마나 쓸만한 것인지 궁금했다. gensim KeyedVecor 에는 accuracy, evaluate_word_analogies 메소드로 그 성능을 측정해 볼 수 있다.측정을 위한 아날로기 데이터는 영문의 경우에는 gensim 패키지에 들어 있지만, 한국어는 패키지에 포함되어 있지 않고, https://github.com/SungjoonPark/KoreanWordVectors 에서 받을 수 있다. github fasttext 에 있는 fasttext wiki pretrained model, github kyubyong 에 있는 word2vec 과 fasttext pretrained model 로..
[gensim|fasttext] KeyError: 'all ngrams for word absent from model' gensim 의 FastText 모델을 이용하여, pretrained 된 fasttext word vector 를 이용해 보려 했다. github.com/Kyubyong 의 pretrained model 을 다운받아서, fasttext word vector 를 구하려고 해봤다. fasttext 는 word2vec 과는 달리 train 시에 없었던 단어에 대한 word vector 도 구해준다고 알고 있었기 때문에, 단어가 아닌 단어로 테스트를 해 보았다. 그런데, 에러가 발생했다. 아래를 보자. from gensim.models import FastTextmodel = FastText.load_fasttext_format('kyubyong_pretrained/fasttext/ko.bin')model.wv..