Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Crawling the Web Discovery and Maintenance of Large-Scale Web Data Junghoo Cho Stanford University.

Similar presentations


Presentation on theme: "1 Crawling the Web Discovery and Maintenance of Large-Scale Web Data Junghoo Cho Stanford University."— Presentation transcript:

1 1 Crawling the Web Discovery and Maintenance of Large-Scale Web Data Junghoo Cho Stanford University

2 2 What is a Crawler? web init get next url get page extract urls initial urls to visit urls visited urls web pages

3 3 Applications Internet Search Engines Internet Search Engines –Google, AltaVista Comparison Shopping Services Comparison Shopping Services –My Simon, BizRate Data mining Data mining –Stanford Web Base, IBM Web Fountain

4 4 WebBase Crawler Web Base Project Web Base Project BackRub Crawler, PageRank BackRub Crawler, PageRank Google Google New Web Base Crawler New Web Base Crawler –20,000 lines in C/C++ –130M pages collected

5 5 Crawling Issues (1) Load at visited web sites Load at visited web sites –Space out requests to a site –Limit number of requests to a site per day –Limit depth of crawl

6 6 Crawling Issues (2) Load at crawler Load at crawler –Parallelize init get next url get page extract urls initial urls to visit urls visited urls web pages init get next url get page extract urls ?

7 7 Crawling Issues (3) Scope of crawl Scope of crawl –Not enough space for “all” pages –Not enough time to visit “all” pages Solution: Visit “important” pages visited pages Intel

8 8 Crawling Issues (4) Replication Replication –Pages mirrored at multiple locations

9 9 Crawling Issues (5) Incremental crawling Incremental crawling –How do we avoid crawling from scratch? –How do we keep pages “fresh”?

10 10 Summary of My Research Load on sites [PAWS00] Load on sites [PAWS00] Parallel crawler [Tech Report 01] Parallel crawler [Tech Report 01] Page selection [WWW7] Page selection [WWW7] Replicated page detection [SIGMOD00] Replicated page detection [SIGMOD00] Page freshness [SIGMOD00] Page freshness [SIGMOD00] Crawler architecture [VLDB00] Crawler architecture [VLDB00]

11 11 Outline of This Talk How can we maintain pages fresh? How does the Web change? How does the Web change? What do we mean by “fresh” pages? What do we mean by “fresh” pages? How should we refresh pages? How should we refresh pages?

12 12 Web Evolution Experiment How often does a Web page change? How often does a Web page change? How long does a page stay on the Web? How long does a page stay on the Web? How long does it take for 50% of the Web to change? How long does it take for 50% of the Web to change? How do we model Web changes? How do we model Web changes?

13 13 Experimental Setup February 17 to June 24, 1999 February 17 to June 24, 1999 270 sites visited (with permission) 270 sites visited (with permission) –identified 400 sites with highest “PageRank” –contacted administrators 720,000 pages collected 720,000 pages collected –3,000 pages from each site daily –start at root, visit breadth first (get new & old pages) –ran only 9pm - 6am, 10 seconds between site requests

14 14 Average Change Interval fraction of pages  average change interval 

15 15 Change Interval – By Domain fraction of pages   average change interval

16 16 Modeling Web Evolution Poisson process with rate Poisson process with rate T is time to next event T is time to next event f T (t) = e - t (t > 0) f T (t) = e - t (t > 0)

17 17 Change Interval of Pages for pages that change every 10 days on average interval in days fraction of changes with given interval Poisson model

18 18 Change Metrics Freshness Freshness –Freshness of element e i at time t is F ( e i ; t ) = 1 if e i is up-to-date at time t 0 otherwise eiei eiei... webdatabase Freshness of the database S at time t is F( S ; t ) = F( e i ; t ) (Assume “equal importance” of pages)  N 1 N i=1

19 19 Change Metrics Age Age –Age of element e i at time t is A( e i ; t ) = 0 if e i is up-to-date at time t t - (modification e i time) otherwise eiei eiei... webdatabase Age of the database S at time t is A( S ; t ) = A( e i ; t ) (Assume “equal importance” of pages)  N 1 N i=1

20 20 Change Metrics F(e i ) A(e i ) 0 0 1 time update refresh Time averages:

21 21 Refresh Order Fixed order Fixed order –Explicit list of URLs to visit Random order Random order –Start from seed URLs & follow links Purely random Purely random –Refresh pages on demand, as requested by user as requested by user eiei eiei... webdatabase

22 22 Freshness vs. Revisit Frequency r = / f = average change frequency / average visit frequency

23 23 Age vs. Revisit Frequency r = / f = average change frequency / average visit frequency = Age / time to refresh all N elements

24 24 Trick Question Two page database Two page database changes daily e 1 changes daily changes once a week e 2 changes once a week Can visit one page per week Can visit one page per week How should we visit pages? How should we visit pages? –... [uniform] –e 1 e 2 e 1 e 2 e 1 e 2 e 1 e 2... [uniform] – … [proportional] –e 1 e 1 e 1 e 1 e 1 e 1 e 1 e 2 e 1 e 1 … [proportional] –... –e 1 e 1 e 1 e 1 e 1 e 1... –... –e 2 e 2 e 2 e 2 e 2 e 2... –? e1e1 e2e2 e1e1 e2e2 web database

25 25 Proportional Often Not Good! Visit fast changing Visit fast changing e 1  get 1/2 day of freshness  get 1/2 day of freshness Visit slow changing Visit slow changing e 2  get 1/2 week of freshness Visiting is a better deal! Visiting e 2 is a better deal!

26 26 Optimal Refresh Frequency Problem Given and f, find find that maximize that maximize

27 27 Solution Compute Compute Lagrange multiplier method Lagrange multiplier method All All

28 28 Optimal Refresh Frequency Shape of curve is the same in all cases Holds for any change frequency distribution

29 29 Optimal Refresh for Age Shape of curve is the same in all cases Holds for any change frequency distribution

30 30 Comparing Policies Based on Statistics from experiment and revisit frequency of every month

31 31 Topics to Follow Weighted Freshness Weighted Freshness Non-Poisson Model Non-Poisson Model Change Frequency Estimation Change Frequency Estimation

32 32 Not Every Page is Equal! In general, e1e1 e2e2 Accessed by users 20 times/day Accessed by users 10 times/day Some pages are “more important” Some pages are “more important”

33 33 Weighted Freshness w = 1 w = 2 f

34 34 Non-Poisson Model interval in days fraction of changes with given interval Poisson model Heavy-tail distribution

35 35 Optimal Revisit Frequency for Heavy-Tail Distribution f

36 36 Principle of Diminishing Return T: time to next change T: time to next change : continuous, differentiable : continuous, differentiable Every page changes Every page changes Definition of change rate Definition of change rate

37 37 Change Frequency Estimation How to estimate change frequency? How to estimate change frequency? –Naïve Estimator: X/T –X: number of detected changes –T: monitoring period –2 changes in 10 days: 0.2 times/day Change detected 1 day Page visited Page changed Incomplete change history Incomplete change history

38 38 Improved Estimator Based on the Poisson model Based on the Poisson model –X: number of detected changes –N: number of accesses –f : access frequency 3 changes in 10 days: 0.36 times/day  Accounts for “missed” changes

39 39 Improved Estimator Bias Bias Efficiency Efficiency Consistency Consistency

40 40 Improvement Significant? Application to a Web crawler Application to a Web crawler –Visit pages once every week for 5 weeks –Estimate change frequency –Adjust revisit frequency based on the estimate »Uniform: do not adjust »Naïve: based on the naïve estimator »Ours: based on our improved estimator

41 41 Improvement from Our Estimator Detected changes Ratio to uniform Uniform2,147,589 100% 100% Naïve4,145,582193% Ours4,892,116228% (9,200,000 visits in total)

42 42 Other Estimators Irregular access interval Irregular access interval Last-modified date Last-modified date Categorization Categorization

43 43 Summary Web evolution experiment Web evolution experiment Change metric Change metric Refresh policy Refresh policy Frequency estimator Frequency estimator

44 44 Contribution Freshness [SIGMOD00] Freshness [SIGMOD00] Page selection [WWW7] Page selection [WWW7] Replicated page detection [SIGMOD00] Replicated page detection [SIGMOD00] Load on sites [PAWS00] Load on sites [PAWS00] Parallel crawler [Tech Report 01] Parallel crawler [Tech Report 01] Crawler architecture [VLDB00] Crawler architecture [VLDB00]

45 45 The End Thank you for your attention Thank you for your attention For more information visit For more information visithttp://www-db.stanford.edu/~cho/


Download ppt "1 Crawling the Web Discovery and Maintenance of Large-Scale Web Data Junghoo Cho Stanford University."

Similar presentations


Ads by Google