본문 바로가기

파이썬

(14)
[python] 함수 오버로딩(overloading)? python에서 클래스를 만들고 오버로딩(overloading)을 해볼려고 했더니.. 응? 'Duplicated signature' 라고 뜬다. (현재 python 2.7 + eclipse 사용) 오버로딩이 안되나보다 방법은? 오버로딩은 아니지만, 함수의 argument를 다양한 타입으로 여러개를 받을 수 있도록 할 수 있다. class test: def function(self, *arglist): print arglist print arglist[0] 사용할 때는 function('a',1.0, (1,2)) 그냥 함수 호출하면 된다. arglist[0] = 'a' arglist[1] = 1.0 arglist[2] = (1,2) 로 들어가 있을 것이다. 좀더 advanced하게 사용하려면.. def f..
[python]numpy에서 표준분포로 random 수 생성 다차원 랜덤 배열 생성을 위해서 numpy를 이용. numpy에서는 다양한 분포함수를 제공하고 있다. (http://docs.scipy.org/doc/numpy/reference/routines.random.html) 아래에 예로 적어놓은 standard_normal은 표준분포이다. 원하는 분포함수를 위 레퍼런스를 보고 결정하면 된다. 만들어지는 데이터의 타입은 일단 1차원의 경우에는 >>> from numpy import * >>> random.standard_normal(5) array([ 0.19178306, 1.29379677, 0.38624875, -0.62396755, 0.88241794]) 2차원의 경우에는 >>> from numpy import * >>> random.standard_nor..
python for windows에 igraph 설치시 pycairo 설치방법 이전에 python에서 그래프로 데이터를 표현할 때 networkx를 썼었는데, networkx도 괜찮은데, igraph가 더 괜찮다고 해서 설치를 해봤다. 매뉴얼만 보면 어렵지 않다. installer를 이용해서 한큐에 딱 설치되면 좋겠지만.. 누군가 조금만 고생해주면 좋겠는데 말이지..ㅋㅋ 이 package가 다양한 package와 연동되서 돌아가기 때문에 좀 그런가보다.. 어쨌든.. 설치는 아래와 같이.. igraph가 그래프를 그리는데 cario라는 라이브러리를 사용하는데 1. http://ftp.acc.umu.se/pub/gnome/binaries/win32/pycairo/1.8/ 에서 python 2.6 또는 2.7 버젼용 installer를 다운받아서 설치한다. 2. pycairo를 설치한 ..
python을 이용한 google 검색 데이터 수집 글쎄.. 잘은 모르겠다. 이렇게 접근하고 있는 것이 과연 적절한 방법인지. 어떤 로봇이든 agent든.. 사람이 아닌 기계가 어떤 객체를 이해한다는 것은 무엇을 의미하는가. 영상이든 음성이든 인식을 한다는 것과 이해를 한다는 것은 다르다. 영상을 인식한다는 것은 영상에 나타난 어떤 객체의 특징을 보고 이 객체의 이름이 무엇인지를 기존에 학습한 데이터에서 분류를 하는 것이다. 학습하지 않은것은 당연히 무엇인지 알 수 없다. 지금 하고자 하는 것은 인식의 문제가 아니라, 인식이 이루어지고 난뒤에 그 객체가 가지는 특성, 개념들을 우리가 임의로 정의하지 않고 얻을 수 있는 방법이 무엇이 있을까를 고민하다가, 매일 접하는 웹에서 데이터를 일단 얻어보기로 했다. 아무래도, 객체의 특성이나 객체들이 개념들이 for..
python으로 구현한 google crawling and lexical semantics를 통한 어휘간 관계 그래프 표현 (위 이미지는 아래글과 관계가 없음) 최근에 간단한(?) 실험을 하나 해보려고 하는게 하나 있다. 간단하게 설명하면 특정사물을 지칭하는 단어와 그 단어와 이웃하는 단어들간의 관계를 Web에서 크롤링한 데이터로부터 확률적인 값으로 위의 그림과 같이 네트워크를 구축한 뒤에, 입력으로 어떤 두 사물의 이름을 넣었을때 그 사물이름간의 관계를 확률적인 값으로 얻을 수 있을까이다. 복잡한 구조는 아니다. 단순히 단어간의 근접도와 빈도만으로 네트워크를 형성하는 것이니. 실험은 Google 검색엔진에 특정 keyword로 query를 던지고, 나오는 결과의 URL을 Parsing하여 모두 모은뒤에, 각 URL을 방문하여 해당 페이지의 Text 데이터를 긁어온다. 그 Text 데이터에서 html및 script, css등..
A.I.와 워드넷(WordNet) 요즘에 한창 관심을 가지고 연구하고 있는것이 있다. 집단 지성(collective intelligence), 사회적 지성(social intelligence)과 온톨로지, 그리고 인공지능이다. 사람은 시각과 청각으로부터 대부분의 정보를 수집한다. 물론 이것외에 오감을 이용하지만, 사실 상대적으로 저 두가지에 크게 편중되어 있다고 한다. 저런 감각정보는 다른 감각정보보다 전달속도가 빠르기때문에, 우리가 촉감을 느끼고, 맛을 보고, 냄새를 맡기 전에 받아들여진다. 수많은 객체들이 놓여있는 어떤 한 특정공간에서 우리가 잠시 그 공간을 들여다보고 난뒤에 얼마의 시간이 지나고, 다시 그 공간을 기억을 했을때 정확히 그 공간상에 놓여있는 객체를 정확히 얼마나 기억할까? 언젠가 EBS 다큐멘터리에서 이런상황을 실험을..