Link Analysis Web Search Engine 20001148 KLE lab

Link Analysis를 적용한 Web Search Engine 구현 컴공 20001148 김보현 KLE lab

Sequence

Class Implementation 역할: 1. Web crawler가 모아온 문서를 입력으로 받아서 2 -gram term으로 parsing하고 DB에 저장 2. 각각의 term에 대해 TF(Term Frequency) 계산 3. 각각의 term에 대해 IDF(Inverse Document Frequency), Document weight을 계산하여 table에 저장하도록 시킴 4. 각 문서의 Rank를 갱신하도록 시킴 Methods: 1. Index : Doc. Id와 filename을 받아서 Bigram을 만들고 DB에 저장 2. Set. Term. Table: Index에 의해 호출됨 : Term table에 Term. Id와 Term저장 3. Set. TFTable: Index에 의해 호출됨: TF계산하고 DB에 저장 덜 구현된 부분: 하나의 term에 대해 IDF를 계산하는 함수 각 문서의 Rank를 계산하는 함수

Class Implementation 역할: 1. string을 2 -gram으로 parsing 2. Parsing하다가 hyper link가 나오면 link table update 3. 주어진 index에 대한 bigram을 return Methods: 1. 2. 3. 4. Add. Doc : 해당 file을 string 단위로 읽어서 data에 추가, Doc의 URL 리턴 Add. String : 주어진 string을 data에 추가 Parse : data를 2음절 단위로 잘라서 output에 저장 Get. Bigram : 주어진 index 위치의 output return 수정된 사항: Link parsing하는 부분을 HTML_Parcer class로 분리

Class Implementation 역할: 1. Database를 관리 2. DB open/close, Data put/get 3. 각각의 table당 하나씩 DBManager가 필요 Methods: 1. 2. 3. 4. 5. 6. 7. make_dbname : Doc. Id를 DB 이름에 삽입하여 리턴 create_db : 주어진 이름으로 DB를 생성 open_db : DB open ropen_db : Read-Only open close_db : DB close put_db : key값과 data를 받아서 DB에 삽입 get_db: key값을 받아서 data를 return

Database (Modified) Rank Table Term. Id(uint) Term(string) Rank(float) Doc Table TF Table Term. Id(uint) TF(float) Link Table Doc. Id(uint) Link. Num(uint) Link. Doc. Id(uint) URL(string)

Class Implementation 역할: 1. 문서를 받아서 HTML tag에 따라 parcing 2. < a href = “address“ > 부분에서 address만 추 출 3. Doc. Id 와 그 문서가 포함하는 Link 정보를 Link. Table에 저장 Methods: 1. Parce: HTML 문서를 tag에 따라 parcing, 링크만 추출 2. Set. Link. Table: Parce에 의해 호출됨, Doc. ID와 Link. Info를 db에 저장 3. Find. URL: Doc table에서 주어진 URL을 가지는 문서의 Doc. Id를 찾음 만약 없으면, 새로 추가하고 Doc. Id를 return

Class Design (미구현) 역할: 1. 사용자로부터 query를 입력받아서 2 -gram으로 분해한다 2. query weight을 계산한다 3. document weight과 query weight으로 similarity를 계산한다. 4. rank와 similarity를 가지고 결과에 포함될 문서 를 결정한다. Methods: 1. Accpet. Query : 사용자가 입력한 query를 string으로 받음 2. Make. Bigram : Bigram class의 Add. Doc, Parce, Get. Bigram 함수를 차례로 호 출 3. Cal. Query. Weight : query string의 weight을 계산 4. Cal. Similarity : 문서 weight과 query weight을 가지고 문서의 similarity를 계산 5. Decide. Relevant. Set : similarity와 rank를 가지고 relevant set 포함 여부를 결정
- Slides: 8