'공부'에 해당되는 글 13건

  1. 2009.12.06 Block-based Web Search
  2. 2009.11.04 오토 레포트 (3)
  3. 2009.09.22 Constructive Logic (3)

Block-based Web Search

공부 2009.12.06 15:41
며칠전 ADM수업시간에 MSRA에서 오신 분이 웹서치에 대한 강연을 해주셨는데,
그중에서 Block-base 서치라는 개념이 참 맘에 들었다.

기존의 페이지랭크 알고리즘을 directed weighted graph로 본다면
그 그래프에서의 노드는 페이지 단위였는데
block-base서치에서는 노드를 페이지 단위가 아니라, 페이지를 몇개의 블록으로 나눠서
블록단위로 처리를 하는것이다.

(왼쪽의 페이지를 오른쪽과 같이 블록단위로 나눈다.)


이렇게 블록으로 나누면 각 블록이 있는 위치에 따라서 그 블록의 중요도를 어느정도 책정할 수 있으며, 중요한 블록에서 링크된 블록은 더 중요한 블록으로 취급되게 된다.

기존의 페이지단위 검색에서는 블로그에 올려진 서로 다른 주제의 글이 한 페이지에 나와있다는 이유만으로 연관이 되거나, header또는 footer에 있는 내용이 본문과 섞여서 검색결과에 나오는 경우가 있었는데, 그러한 노이즈를 제거할 수 있는 비교적 간단하면서도 실용적인 방법인것 같다.

그런 극단적인 노이즈의 제거 뿐만이 아니라 일반적인 검색결과의 랭킹에도 좀 더 좋은 영향을 미칠 수 있지 않을까 하는 생각도 들고.

최대 이슈중 하나는 저 블록을 어떻게 나누고, 그 나뉜 블록에 어떻게 가중치를 줄까인데,
그 부분에서는 머신러닝쪽 테크닉들을 활용하는것 같더라.


ref: http://research.microsoft.com/en-us/people/jrwen/block-based_search.pdf

'공부' 카테고리의 다른 글

Google Summer of Code2010 & CGAL  (0) 2010.03.30
O/R mapping  (0) 2010.02.26
Laplacian Pyramid on GPU  (1) 2010.01.13
Block-based Web Search  (0) 2009.12.06
오토 레포트  (3) 2009.11.04
Constructive Logic  (3) 2009.09.22
Posted by youknow04
TAG 강연, 검색

오토 레포트

공부 2009.11.04 14:20
단순히 출석체크를 위해 매번 세미나마다 A4용지 한장을 만큼 보고서를 써가야하는데,
맨날 비슷한 내용 또 쓰는게 귀찮아서 파이썬으로 오토 레포트 빌더를 만들었다.

만들어놓고 보니 꽤나 쓸만하다 ㅋㅋ

실행화면(처음)


이정도만 입력해주면

완료만 누르면 바로 메모장이 뜨면서 결과를 보여주게 해놨다.

워드 등에 복사해서 붙이고 제목을 가운데 정렬하는 정도의 간단한 서식만 입히면 완료!


저정도 시드로 만들어낸 글이지만, 읽어보면 제법 그럴싸하다 ㅋㅋㅋㅋ

다짜는데 한시간정도 걸렸으니, 좀만 쓰다보면 금방 본전 시간 뽑을듯.

'공부' 카테고리의 다른 글

Google Summer of Code2010 & CGAL  (0) 2010.03.30
O/R mapping  (0) 2010.02.26
Laplacian Pyramid on GPU  (1) 2010.01.13
Block-based Web Search  (0) 2009.12.06
오토 레포트  (3) 2009.11.04
Constructive Logic  (3) 2009.09.22
Posted by youknow04

Constructive Logic

공부 2009.09.22 14:57
일반적인 classical logic에서는 not not A가 A라는게 성립하는데

constructive logic에서는 그게 성립하지 않는다.

그러한 '사실' 은 알고있었는데 왜 그런지는 모르고 있다가

오늘 전산논리 수업덕분에 알게 되었다. 늦게라도 가길 잘한듯.


이유는 '∃'(어떤) 와 'V'(disjunction, or) 때문인데

constructive logic에서는 ∃x 가 존재하는것이 참임을 증명할때

그 x 를 명확히 지정해야하고

A or B 가 참이라는것을 증명하려면

A와 B중에 어떤게 참인지 지정해야 하기 때문이다.


예를들면 (not A) or A 는 classical logic에서는 항상 참이지만

constructive logic에서는 A를 모를 수도 있기 때문에 참이 아니다.


이런 설정은 기존의 classical logic에 비해 상당히 귀찮은 문제들을 만들어내는데,

그럼에도 불구하고 이렇게 하는 이유는

1. constructive logic을 이용한 proof으로부터 program을 추출할 수 있고

2. constructive logic이 classical logic보다 강력(포함)하기 때문이라네.


함수형 프로그래밍 언어에서 보여주는 독특하고 강력한 기능들이

전산논리 수업과 어떻게 연관이 되는지 조금씩 느낌이 오는것 같다.

'공부' 카테고리의 다른 글

Google Summer of Code2010 & CGAL  (0) 2010.03.30
O/R mapping  (0) 2010.02.26
Laplacian Pyramid on GPU  (1) 2010.01.13
Block-based Web Search  (0) 2009.12.06
오토 레포트  (3) 2009.11.04
Constructive Logic  (3) 2009.09.22
Posted by youknow04