Data Mining 04 - 검색과 Ranking 


  • (p3) 검색엔진
    • 검색엔진의 동작 순서
      • 웹 크롤링(Web crawling) – 웹 로봇
      • 인덱싱(Indexing)
      • 검색(Searching) 
  • (p4) 검색엔진 : 웹로봇
    • 웹 로봇의 정의
      • 지정된 URL 리스트에서 시작하여 웹 문서를 수집하고, 수집된 웹 문서에 포함된 URL들의 추출과정과 새롭게 발견된 URL에 대한 웹 문서 수집 과정을 반복하는 소프트 웨어
      • 웹 Web Robot, Spider, Crawler, Wanderer 


  • (p9) 단순 Crawler 구현
    • urllib2를 이용한 구현
    • 지정한 url을 다운로드하여 저장할 수 있도록 해주는 라이브러리 
  • (p13) 색인하기
    • 색인 데이터의 저장
    • SQLite를 이용하여 저장 – Pysqlite
    • 스키마 설정하기  


  • (p19) 검색하기 
    • 검색어를 포함한 URL 찾기 
  • (p23) 내용기반 랭킹
    • 내용기반 랭킹의 점수 지표(traditional approach) 
    • 단어빈도 – 검색어 안에 있는 단어들이 문서에 출현하는 횟수 – 문서의 적합도를 결정
    • 문서내 위치 – 다양한 단어의 위치에 대한 가정을 이용 
      • 한 문서의 핵심주제는 문서 도입부에 있을 가능섶이 높다
      • 중요한 단어일수록 글자체가 크다
      • Keyword 또는 head에 사용된 단어는 중요하다 
    • 단어거리 – 검색어 안에 여러 단어가 있을 경우 문서에서 근접해서 출현해야 한다


  • (p25) 내용기반 랭킹 : 정규화 함수
    • 숫자 점수의 정규화
    • 랭킹을 위해 다양한 점수화 factor를 도입
    • 다양한 factor들간의 통합을 위해 모든 점수를 동일한 범위와 방향으로 정규화함
      • 단어빈도, 문서내위치, 단어거리 등등의 factor 각각을 0..1의 값으로 변환
      • 정규화 방법- 최적 결과를 1로 가정하고 정규화 


  • (p34) 유입링크 사용하기 : 페이지랭크 알고리즘
    • 페이지랭크(PageRank)의 의미
      • PageRank 알고리즘을 이용하여 웹 페이지의 랭킹을 부여(래리 페이지)  
        • 웹 페이지의 중요성을 외부에서 그 웹 페이지를 가르키는 링크(역링크)를 기반으로 계산하는 알고리즘
        • 즉, 역링크를 많이 가지고 있는 웹페이지 일수록 중요하다는 전제하에 페이지의 순위를 계산
    • 페이지의 중요도
      • 그 페이지에 대한 링크를 가진 다른 페이지의 중요도와 각각의 다른 페이지들이 가지고 있는 링크 수로 계산


  • (p41) 클릭 학습 : 클릭 추적 네트워크의 설계
    • 사용자 선택의 Feedback
    • 검색엔진이 제공한 검색결과에 대한 선호도 정보(검색 결과중 어떤 것을 클릭했는가?)를 이용하여 검색엔진의 검색결과 ranking에 이용
    • Perception Network 기반의 클릭추적 네트워크
      • MLP(MultiLayer Perception) : 다층적 인식망 – 은닉층(hidden layer)과 쿼리층(query layer) Query layer hidden layer output layer 
  • (p47) 클릭 학습 : 전방전파
    • 전방 전파
      •  단어를 입력으로 취해 네트워크 내에 연결들을 활성화 시키고 URL에 대한 출력 집합을 제공하는 함수
      •  각 노드가 입력에 반응하는 정도를 표시하는 함수 선택 • 쌍곡선 탄젠트(hyperbolic tangent) 함수 사용 Tangent 함
  • (p50)  클릭 학습 : 전방전파
    • 전방전파 알고리즘 
    • 은닉층에 있는 모든 노드들마다 루프를 돌면서 입력층의 모든 출력들과 링크들의 연결강도를 곱한후 더하며 동작


Posted by Name_null