Natural language processing with Python 이라는 책을 보다가 3.8절에 Word segmentation 프로그램을 simulated annealing 방법으로 예제를 올려 놓았길래.. 호기심이 발동해 이것을 유전(Genetic) 알고리즘으로 해찾기를 코드를 작성해 봤다. “doyouseethekittyseethedoggydoyoulikethekittylikethedoggy” 위 문자열을 제대로 자른다면… “do you see the kitty see the doggy do you like the kitty like the doggy” 뭐 이런식으로 될 것이다. 이런 세그먼트를 표현하기 위해 [...]
사용자 입력 문자열에서 문장부호나 쓸데없는 문자들을 필터링 해서 필요한 문자열로만 만들고 싶을 경우가 있다. 뭐 이 작업을 정규화 작업이라고 한다면 아래의 간단한 처리 만으로 숫자와 다양한 언어 문자열들만 포함하게끔 만들어줄 수 있다. 유니코드 카테고리중에서 숫자(Number)인것들과 문자(Letter)인것들만 허용해 string을 만들어 주는 함수이다. 물론 인자는 유니코드 문자열이여야만 한다. from unicodedata import category def norm(word): return u"".join( [...]
주말에 faebook 퍼즐을 풀어 봤다. 연습문제로 평가 로봇이 어떻게 동작하는지 확인 한 다음에… 한문제 한문제씩 풀고 있는 찰라… 정확한 계산값이 나왔는데도 로봇이 reject을 하는 경우가 발생했다. 문제는 바로 아래의 문제인데.. http://www.facebook.com/careers/puzzles.php?puzzle_id=17 뭐 문제를 읽어보면 알겠지만 사전 하나 주어지고, 이 사전을 가지고 최소의 edit distance를 구하는 문제였다. edit distance 구하는건 눈 감고도 하는 경지가 다다른 바.. [...]
Python으로 심비안 프로그래밍 하다거 거북이 구동속도 때문에 좌절… , 이후 Symbian C++ 공부를 하면서 다시한번 UI 컴포넌트의 부족으로 인해 좌절…. 게다가 코딩은 C++인데도 공부할게 좀 많고… 이러다 심비안이 결국 Qt를 지원하게 된다는 이야기를 듣고서 바로 Qt에 대한 공부를 시작 했는데. Qt이거 완전 물건이다. C++을 이용해 이렇게 편하고 완벽한 객체지향적인 GUI 프로그래밍을 할 수 있다는 것에 [...]
내 폰은 Nokia express music 5800 이다. 사람들이 다들 아이폰을 구매할 때 혼자서 이거 구매해서 뽀대는 안나지만 나름 헝그리 정신으로 컴팩트 하게 쓰고 있다. 너무 잘 쓰고 있어서 야후! 본사 모바일 담당 PM이 인터뷰도 해갔다. ㅋ~ Symbian s60 v5 버전의 OS를 탑재 하고 있는데, 재밋겠도.. 심비안 개발은 Java, C++, Python 그리고 웹 프로그래밍으로도 모두 가능하다. [...]