analysis of link structures on the world wide web and classified improvements
DESCRIPTION
Analysis of Link Structures on the World Wide Web and Classified Improvements. Greg Nilsen University of Pittsburgh April 2003. The Problem. The web is a complex, unorganized structure. Search engines can be fooled: Search Engine Designers v. Advertisers - PowerPoint PPT PresentationTRANSCRIPT
Analysis of Link Structures on the World Wide Web and
Classified Improvements
Greg Nilsen
University of Pittsburgh
April 2003
The Problem
The web is a complex, unorganized structure. Search engines can be fooled:
Search Engine Designers v. Advertisers User feedback rarely used to quantify results.
Outline
Background Kleinberg’s Algorithm
The Idea Implementation Results and Conclusions References
Background – Kleinberg’s Algorithm
Basic Idea: Create a Focused Subgraph of the Web Iteratively Compute Hub and Authority Scores Filter Out The Top Hubs and Authorities
Extended Ideas: Similar Page Queries Non-Principal Eigenvectors
Background – Kleinberg’s Algorithm
Create a focused subgraph of the web (a base set of pages) Why? We need a set that is:
Relatively Small Rich in Relevant Pages Contains Most of the Strongest Authorities
Background – Kleinberg’s Algorithm
Start with a root set: In our case we are using a data set that started
with the first 200 results of a text-based search on AltaVista.
Create our base set: Add in all pages that link to and from any page in
the root set.
Background – Kleinberg’s Algorithm
Root
Background – Kleinberg’s Algorithm
Root
Background – Kleinberg’s Algorithm
Root
Background – Kleinberg’s Algorithm
Root
Background – Kleinberg’s Algorithm
Root
Base
Background – Kleinberg’s Algorithm
Now that we have a focused subgraph, we need to compute hub and authority scores. Start by initializing all pages to have a hub and
authority weights of 1. Compute new hub and authority scores:
Hub Score = Σ (Authority Scores of All Pages The Hub Points At)
Authority Score = Σ (Hub Scores of All Pages That Point to the Authority)
Background – Kleinberg’s Algorithm
Normalize the new weights (hubs and authorities separately) so that the sum of their squares is equal to one.
Repeat the computing of weights and their normalization until the scores converge (usually 20 iterations).
When we have completed computing the hub and authority scores, we then take the top authority scores as our top results.
Background – Kleinberg’s Algorithm
Similar page queries Once we produce results, a searcher may wish to
find pages similar to a given result. In order to do this, we can use the algorithm that
we have discussed above. This time, we build a root set of the pages that
point to the given page. We then grow this into a base set and determine
the hubs and authorities for the new set. This will result in pages similar to the initial page.
Background – Kleinberg’s Algorithm
Non-Principal Eigenvectors An eigenvector is a densely linked collection of
hubs and authorities within the subgraph. In the Kleinberg algorithm, we produce the
principal eigenvector by iteratively computing hub and authority scores until convergence.
However, the principal eigenvector may not contain all of the information desired by the search.
Background – Kleinberg’s Algorithm
Example: A search for “jaguar” This search will produce 3 strong eigenvectors
due to different meanings of the word:1. Jaguar – the car2. Jaguar – the cat3. The Jacksonville Jaguars NFL team
Which one of these will be returned as the principal eigenvector depends heavily on the initial set of pages.
We cannot determine which of the three meanings that the searcher meant.
Background – Kleinberg’s Algorithm
Therefore, we can produce results that come from “strong” eigenvectors.
However, we can still miss relevant pages. For example, the search for “WWW conferences”
produces the most pertinent results on the 11th non-principal eigenvector.
How to determine relevant eigenvectors is a topic that is still currently under research.
The Idea
Kleinberg’s algorithm produces “good” results, but subject to a phenomena known as “topic drift”. The hub weights of some sites such as yahoo.com or eBay.com cause irrelevant clusters to be identified as major eigenvectors.
So, while structural information provides us with much information about a query, additional information seems necessary.
The Idea
Kleinberg’s algorithm also uses only the top authority scores, but there may be useful pages that rank strongly as hubs.
Since web queries are an application driven towards maximizing user satisfaction, we can use user feedback to try and weight hub and authority scores so that we can classify “better” results using SVMs.
The Idea
A plot of hub vs. authority scores.
Hubs
Authorities
The Idea
Hubs
Authorities
the dividing hyperplane
The Idea
We can then compile data from different types of searches, we may be able to generalize this hyperplane so that we pull more relevant results from the result of Kleinberg’s algorithm.
Implementation
Start with data from the University of Toronto’s Link Analysis Ranking Algorithm repository. Getting results for a text-based search engine is
very difficult any more now that search engines have gotten smarter.
Contains data for 8 distinct types of searches.
Implementation
Next, we implement Kleinberg’s algorithm in C++ that reads in the datasets and outputs a web page with the top 50 hubs and top 50 authorities on the page.
Compile a survey in which participants are asked if a result is useful for a mixture of the top 25 hubs and top 25 authorities for the search on “abortion” (a search that tends to produce two distinct groups) and “genetic” (a search that is more generic in nature).
Implementation
Using the results of the survey, determine a class label (1 or 0) for each result.
With the resulting labels, perform learning via SVMs in Matlab using the hub and authority scores as input and the class label as output.
Implementation
Using the weights resulting from the SVM learning and plug them into our initial program to compute SVMscores for all web pages.
Sort the web pages based on their SVMscores and output the top 50 results to a web page.
Results
Mean Misclassification Rates For Entire Dataset of “genetic” and “abortion” Terms: Training = 0.3922 Testing = 0.4063
Mean Misclassification Rates for the Same Dataset Renormalized Against Largest Value in the Vector: Training = 0.3418 Testing = 0.3345
Results
Mean Misclassification Rates for the “abortion” Dataset: Training = 0.1862 Testing = 0.1888
Mean Misclassification Rates for the Renormalized “abortion” Dataset : Training = 0.1878 Testing = 0.1850
Results
Mean Misclassification Rates for the “genetic” Dataset: Training = 0.3530 Testing = 0.3566
Mean Misclassification Rates for the Renormalized “genetic” Dataset : Training = 0.3548 Testing = 0.3463
Results
Mean Misclassification Rates for Individuals:
Results
Mean Misclassification Rates Overall Dataset Expanded To Include (Auth/Hub, Auth2, Hub2, Auth*Hub): Training = 0.2886 Testing = 0.2903
Mean Misclassification Rates for the Renormalized “genetic” Dataset : Training = 0.2848 Testing = 0.2861
Conclusions
While the current results provide significant improvement on some searches in our datasets, for some searches the results are not much of an improvement. This may be due to the fact that user feedback
was limited.
Conclusions
We have shown that generalization in terms of the entire dataset and on a per person basis do not provide good results. Too many factors being combined with too few
features. We have also demonstrated that
generalization on a per search basis and the use of expanded datasets may provide for better learning of user preferences of results.
References J. Kleinberg. Authoritative sources in a hyperlinked environment. Journal of
ACM (JASM), 46, 1999. A. Borodin, G. Roberts, J. Rosenthal, P. Tsaparas. Finding authorities and
hubs from link structures on the world wide web. Proceedings of the 10th International World Wide Web Conference, 2001.
S. Brin and L. Page. The anatomy of a large-scale hypertextual Web search engine. Proc. 7th WWW Conf., 1998.
R.A. Botafogo, E. Rivlin, and B. Shneiderman: Structural Analysis of Hypertexts: Identifying Hierarchies and Useful Metrics. ACM Transactions on Information Systems, Vol. 10, No. 2. ACM, 1992. pp. 142-180
J. Carrire and R. Kazman. WebQuery: Searching and Visualizing the Web through Connectivity, in Proceedings of WWW6 (Santa Clara CA, April 1997).
E. Garfield. Citation analysis as a tool in journal evaluation. Science,
178:471--479, 1972.
References L. Katz. A new status index derived from sociometric analysis.
Psychometrika, 18:39-43, 1953. G. Pinski and F. Narin. Citation influence for journal aggregates of scientific
publications: Theory with application to literature of physics. Information Processing & Management, 12:297--312, 1976.
C.H. Hubbell. An input-output approach to clique identification. Sciometry 28, 377-399, 1965.