Notes for vision-oriented me

WoC 2007 수행 계획서

December 26, 2007 by mcpanic  
Filed under 컴퓨터이야기

Google Summer of Code를 보고 재밌겠다는 생각을 많이 했었는데, 우리나라에서도 WoC 2007라는 멋진 행사가 작년부터 열려 2회째를 맞고 있다. 때마침 학생 모니터링 요원으로 활동하고 있는 IBM developerWorks에서 후원도 하네 :)

올해는 총 18건의 프로젝트가 제안되었고, 그 중 평소부터 생각해 오던 흥미로운 주제와 맞물리는 프로젝트를 발견해서 학생 멘티로 지원해 볼까 한다. 이제 여기부터는 공식 수행 계획서.

프로젝트명
마인드맵 기반의 지식DB 및 검색시스템 구축

프로젝트 수행방법

  1. 마인드맵 드로잉 클라이언트 개발 or 분석,도입
    -> 데스크탑 어플리케이션 형태뿐 아니라 RIA (Rich Internet Application) 혹은 Web 상에서의 구현도 가능하리라 생각한다. 오픈되어있는 그래픽 관련 API를 적극 활용하면 좋을 것 같다.
    -> Firefox extension 형태로 개발하면 브라우저 검색 history 정보와의 연동을 통해 데이터 수집과 구조화가 더욱 용이하지는 않을까 하는 생각도 든다.
  2. 마인드맵 형식의 지식DB 설계
    -> 지식을 효율적으로 표현할 수 있는 ‘구조적’ 부분과 ‘시각화’ 부분을 균등하게 고려한다. 마인드맵의 특징은 조각조각의 지식을 표현하는 것이 아니라 지식 간의 관계를 시각적으로 나타낸다는 것이다. 이러한 점에 초점을 두고 DB를 설계할 필요가 있다.
  3. 지식DB 구축
    -> 구조화된 형태를 상세하게 define하고, 확장성이 있으면서도 검색이 용이한 포맷으로 만든다.
  4. 구조화된 지식DB 검색엔진 개발
    -> 지식 조각 (노드)에 대한 정보뿐 아니라 지식 간의 관계 (링크)까지 고려한 Tagging 등의 지식 표현 구조를 활용하여 효율적인 검색이 가능하도록 한다.

예상 일정

  • 1주: 개발 내용과 범위에 대해 구체적으로 결정
  • 2주: 마인드맵 드로잉 클라이언트 설계
  • 3주: 마인드맵 드로잉 클라이언트 개발
  • 4주: 구조화된 정보형태 뽑아내기 / 지식 DB 설계
  • 5주: 지식 DB 구현
  • 6주: 지식 DB 검색 알고리즘 개발
  • 7주: 테스트 및 디버깅
  • 8주: 문서화 및 마무리

예상 결과

  • 마인드맵 드로잉 클라이언트
  • 지식 DB 구축 형태 제안
  • 지식 DB 검색 알고리즘
  • 지식 구조화 API 를 통해 향후 확장 가능한 오픈소스 프로젝트로 발전

관련 경력

  • 간단한 SQL parser 개발 (2003)
  • PHP + MySQL 기반 간단한 음반 사이트 구축 (2인 팀 프로젝트, 2003)
  • Medical Image Viewer DiView 개발 참여 (4인 팀 프로젝트, 2004)
  • 임베디드 통신 모듈용 API, 이클립스 개발툴 개발 (시스템베이스, 2004~2007)

지원 사유
저는 지식과 정보를 다양한 형태로 시각화, 구조화함으로써 인간의 창조적인 활동을 도울 수 있는 Creativity Support Tool (CST) 에 관심이 많습니다. 마인드맵은 CST 의 훌륭한 구현 사례로, 컴퓨터라는 가상공간에 사람의 생각을 효율적으로 표현하기에 좋은 구조라고 생각합니다. 사람의 지식을 DB화하고 검색 / 구조화하는 데에 관심이 많아서 Brain DB 아이디어 노트를 통해 이러한 생각을 정리하기도 했고,  OpenCyc 등의 프로젝트에도 관심을 가지고 있습니다.

저의 학문적인 관심분야인 Knowledge representation 과 Information visualization 에 대한 아이디어를 실질적으로 구현하려는 생각은 전부터 가지고 있었지만 방향 설정의 어려움 등으로 진행하지 못하였는데, 마인드맵 기반의 지식DB 및 검색시스템 구축 프로젝트가 이러한 생각을 구현하는 데에 있어 적격인 프로젝트라고 생각하여 지원하였습니다.

이 프로젝트를 통해 지식의 DB화에 대한 실질적인 구현과 오픈소스 프로젝트 참여경험을 쌓고 싶습니다. 멘토 분과의 긴밀한 관계를 통해 프로젝트에 임하는 자세와 관련 지식을 배우는 좋은 기회가 될 것 같아서 지원하였습니다.

좋은 학교에 가고 싶은 이유

November 21, 2007 by mcpanic  
Filed under 유학가이드

내가 생각하는 학문적 연구의 핵심 요소는 창의성 (Creativity)이다. 이 단어에 대한 나의 애정은 남달라서, 창의성에 대해 학문적인 연구를 하고 싶다. 컴퓨터라는 도구를 전공으로 택한 것도 창의성을 극대화시키기에 적합한 도구라고 생각했기 때문이니.. Mihaly Csikszentmihalyi 나 Ben Shneiderman 같이 창의성에 대해 전문적으로 연구하는 분들을 보면서 함께 연구하고 싶다는 소박한 원대한 꿈을 꾸곤 한다.

그렇다면 창의성이란 대체 무엇일까? 새로운 것? 기발한 것? Thinking out of the box? 물론 ‘새로움’이 중요한 요소기는 하지만 창의성이란 새로움만으로 달성되는 것은 아니라고 생각한다. 자신이 속해있는 domain 에서의 권위로부터의 인정이 필요하다. 전대미문의 뛰어난 아이디어도 깊이 있는 domain knowledge와 language로 기술되지 않고 정형화된 형태로 배포되지 않는다면 도태되고 만다. 그렇기 때문에 창의성은 공부 한자도 안하면서 불현듯 머리를 스치는 기발한 아이디어로 승부하는 천재에게서 나오는 것이 아니다. Domain knowledge를 얻기 위해 죽어라 현재의 지식을 공부하고 다른 사람을 설득하기 위해 그 domain에서 요구하는 언어와 소통 방식을 깨우친 사람 (이걸 깨우쳤으면 천재라 할 수 있겠지?) 이 비로소 창의적인 연구를 할 수 있는 것이다. 새로운 생각 +  분야 내의 해박한 지식 + 생각을 풀어내는 communication skill 등이 종합적으로 갖추어진 사람이 바로 ‘창의적 인재’ 아닐까.

여기에서 중요한 것이 ‘권위’다. 권위에 기대는 것은 일반적으로 사람들이 범하는 오류이기도 하지만, 학문적 권위에 기대는 것은 나름의 근거가 분명하다. 아무리 성격이 거지같은 학자라도 연구능력을 인정받아 우수한 연구대학의 tenure 직을 보장받으면 마음껏 연구를 할 수 있다. 사람의 능력을 평가하기가 쉽지 않기 때문에 그 사람이 속해있는 연구조직 자체가 하나의 평가지표가 되는 것 같다. 그리고 이렇게 갖추어진 환경에서는 ‘눈덩이 효과’가 발생해서 시너지도 더 잘 발생하고 우수한 연구도 나오기가 더 쉬운 것 같다. 학계의 보수성이 깨질 기미가 보이기는 커녕 시대가 지날수록 더해가는 것은 이렇게 지식과 노하우가 축적되면서 더욱 성숙해가는 지식조직의 특성 때문이 아닐까.

여기까지의 이야기를 종합해 보면, 창의적인 연구를 할 수 있는 곳은 바로 유명하고 또 사람들이 좋다고 이야기하는 그런 대학들이라는 것이다.

‘좋은 학교’는 안정적이면서도 새로운 기회가 많다. 학부생 정도의 지식으로, 더군다나 이역만리 떨어진 한국 땅에서 미국 학교의 속사정을 알기란 쉽지 않다. 그러니 여러 면에서 좋은 환경을 갖춘 학교에 가는 것이 risk를 줄이는 일이 된다. A라는 분야만을 보고 다른 면은 좀 부족하지만 A에서는(만) 뛰어난 학교에 갔는데 이 분야가 내 분야가 아니다는 걸 깨닫거나 해당 교수들이 이직이라도 하면 감당하기가 어렵다. 그래서 다양한 분야가 두루두루 뛰어난 학교에 사람들이 몰리는 것 같다.

Interactive Computers

February 1, 2007 by mcpanic  
Filed under HCI

Rather than passively and receptively calculating numbers and processing given inputs that are provided by humans, computers should understand human intentions and purposes of his or her computer usage. Through this interactive and communicating two-way process, computers can provide customized interface and eventually help us figure out what to do and how to do certain things. The ultimate goal of computers is to provide insights for humans to focus on more productive and creative activities rather than time-consuming and repetitive drudgeries.

Next Page »