Web Mining - anuradhasrinivas

Report
Web Mining
G.Anuradha
References from Dunham
Objective
•
•
•
•
•
What is web mining?
Taxonomy of web mining?
Web content mining
Web structure mining
Web usage mining
What is web mining?
• Mining of data related to WWW
– Data present in Web pages or data related to web
activity
• Web data is classified
– Content of web pages
– Intrapage structure which include code and actual
linkage
– Usage data – how used by visitors
– User profiles
Taxonomy of Web Mining
Web Content Mining
• Extension of basic search engines
• Search engines are keyword-based
• Traditional search engines use crawlers
– to search the Web
– gather information
– indexing techniques to store the information
– query processing to provide fast and accurate
information to users
Taxonomy of Web content mining
WEB CONTENT MINING
AGENT BASED APPROACH
USE SOFTWARE SYSTEMS TO
PERFORM THE CONTENT
MINING
EG. SEARCH ENGINES
DATABASE APPROACH
VIEWS WEB DATA AS
BELONGING TO DATABASE
WEB IS A MULTILEVEL DATABASE
AND QUERY LANGUAGES ARE
USED FOR QUERYING THE DATA
CONTENT MINING IS A TYPE OF TEXT MINING
Text mining hierarchy
Keyword
Simple
Term
Association
Similarity Search
Classification and
Clustering
Natural Language processing
Complex
Crawlers
How do crawlers work?
• Robot, spider, crawler is a program that traverses
the hypertext structure in the web
• Page that the crawler starts is referred to as seed
URL
• All links from that page are recorded and saved in
a queue
• The new pages are in turn searched and their
links are saved
• The crawlers collect information about each
page, extract keywords, store indices for users
Types of crawlers
• Periodic crawlers: activated periodically; every
time it is activated it replaces the existing
index
• Incremental crawler: updates the index
incrementally instead of replacing it
• Focused crawler: visits pages related to topics
of interest
Focused crawling
Architecture of focused crawler
• Has 3 components:
– Crawler: Performs the actual crawling on the Web.
It visits pages based on priority-based structure
associated with pages by classifier and distiller
– Classifier: Associates a relevance score for each
document with respect to the crawl topic.
Determines the resource rating
– Distiller: Determines which pages contain links to
many relevant pages. These are called hub pages.
Harvest Rate
• Harvest rate is the performance objective for focused
crawler
• The seed documents are used to begin the focused
crawling
• The relevant documents are found using
– Hard focus: Follows links if there is an ancestor of that
node which is marked as good
– Soft focus: identifies the relevant page with a probability
  = () (|)
c- is a page and good(c) is an indication that the page is a
relevant page
Context focused crawler
• Crawling takes place in two phases
– Training phase: context graphs and classifiers are
constructed using a set of seed documents as training
set
– Classifiers are used for crawling and context graphs
are updated.
• Context crawler overcomes the problems of
focused crawler
– Follows links from those pages which point to relevant
pages but they themselves are not relevant
– Helps in backward crawling
Context graph
• Rooted graph in which root represents seed
document and nodes at each level represent
pages that have links to node at higher level
• Context graph created for all seed documents
are merged to create a merged context graph
Harvest system
• Based on use of caching, indexing, crawling
• Harvest is centered around the use of
– Gatherers: obtain information for indexing from
Internet Service Provider
– Brokers: provides index and query interface
– Brokers may directly or indirectly interface with
gatherers
Virtual Web View
• Large amount of unstructured data can be
handled using multiple layered
database(MLDB) on top of the web data
• Every layer of this dbase is more generalized
then the preceding layer
• The upper layer are structured and can be
accessed using SQL
• View of MLDB- Virtual Web View(VWV)
WebML
• Query language which supports data mining
operations on MLDB
• Four primitive operations in WebML are
– COVERS
– COVERED BY
– LIKE
– CLOSE TO
SELECT *
FROM document in “www.engr.smu.edu”\\
WHERE ONE OF keywords COVERS “cat”
Personalization
• Contents of a web page are modified to fit the
desires of the user
• Advertisements are sent to a potential customer
based on his specific knowledge
• Personalization is performed on target web page
• Targeting is different from personalization
– In targeting businesses display advertisements at
other sites visited by their users
– In personalization when a person visits a Web site, the
advertising can be designed specifically for that
person
Personalization Contd….
• Personalization is a combination of clustering,
classification and prediction
• Types of personalization are
– Manual techniques – user registration details
– Collaborative filtering
– Content-based filtering
• Eg. My Yahoo
Web Structure Mining
• Creating a model of the web organization
• Used to classify Web pages or to create
similarity measures between documents
Page Rank
• Designed to increase the effectiveness of
search engines and improve their efficiency
• Used to
– Measure the importance of a page
– Prioritize the pages returned from a traditional
search engine using keyword searching
• Page Rank is calculated based on the number
of pages that point to it
Page Rank Contd…
  = 
∈
()

Where c between 0 to 1 used for
normalization;
Bp=Set of pages that point to p
Fp=set of links out of p
Nq=|Fq|
Rank Sink
• When there is a cyclic reference a rank sink
problem occurs
• Eliminated using an additional term cE(v) to
the page rank formula
• E(v)- is a vector that adds an artificial link.
Hyperlink-induced topic search(HITS)
• Finds hubs and authoritative pages
• HITS has two components
– Based on a given set of keywords relevant pages
are found
– Hubs and authority measures are associated with
these pages. Pages with highest values are
returned
Authorities and hubs
• The algorithm produces two types of pages:
- Authority: pages that provide an important,
trustworthy information on a given topic
- Hub: pages that contain links to authorities
• Authorities and hubs exhibit a mutually
reinforcing relationship: a better hub points to
many good authorities, and a better authority
is pointed to by many good hubs
Selime Işık-Büşra İpek
26
Authorities and hubs (2)
5
5
2
1 1
3
1
6
7
7
4
a(1) = h(2) + h(3) + h(4)
6
h(1) = a(5) + a(6) + a(7)
Selime Işık-Büşra İpek
27
Definitions
• Authority: pages that provide an important, trustworthy
information on a given topic
• Hubs: pages that contain links to authorities
• Indegree: number of incoming links to a given node, used
to measure the authoritativeness
• Outdegree: number of outgoing links from a given node,
here it is used to measure the hubness
Selime Işık-Büşra İpek
28
HITS Algorithm
• Hubs point to lots of authorities.
• Authorities are pointed to by lots of hubs.
• Together they form a bipartite graph:
• Hubs
Authorities
29
Step By Step HITS-1
• determines a base set S
• let set of documents returned by a standard
search engine be called the root set R
• Initialize S to R
Selime Işık-Büşra İpek
30
Step By Step HITS - 2
 Add to S all pages pointed to by any page in R.
 Add to S all pages that point to any page in R
 Maintain for each page p in S:
Authority score: ap (vector a)
Hub score: hp (vector h)
Selime Işık-Büşra İpek
31
Step By Step HITS - 3
• For each node initiliaze the ap and hp to 1/n
• In each iteration calculate the authority
weight for each node in S
Selime Işık-Büşra İpek
32
Step By Step HITS - 4
• In each iteration calculate the hub weight for
each node in S
• Note: The hub weights are computed from the current authority
weights, which were computed from the previous hub weights.
Selime Işık-Büşra İpek
33
Step By Step HITS - 5
• After new weights are computed for all nodes,
the weights are normalized:
Selime Işık-Büşra İpek
34
The Pseudocode of HITS
Selime Işık-Büşra İpek
37
HITS Example
• Root Set R {1,2,3,4}
• Extend it to form the base set S
38
Selime Işık-Büşra İpek
HITS Example Results
Authority
Hubness
• Authority and Hubness
Weight
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Selime Işık-Büşra İpek
39
HITS vs PageRank
• HITS emphasizes mutual reinforcement between authority
and hub webpages, while PageRank does not attempt to
capture the distinction between hubs and authorities. It ranks
pages just by authority.
• HITS is applied to the local neighborhood of pages
surrounding the results of a query whereas PageRank is
applied to the entire web
• HITS is query dependent but PageRank is query-independent
Selime Işık-Büşra İpek
40
HITS vs PageRank (2)
• Both HITS and PageRank correspond to matrix
computations.
• Both can be unstable: changing a few links can
lead to quite different rankings.
• PageRank doesn't handle pages with no
outedges very well, because they decrease the
PageRank overall
Selime Işık-Büşra İpek
41
Conclusion
• HITS is a general algorithm used for calculating
the authority and hubs in order to rank the
retrieved data
• The basic aim of that algorithm is to induce
the Web graph by finding set of pages with a
search on a given topic (query).
Selime Işık-Büşra İpek
42
INPUT
W
///WWW viewed as a directed graph
q
//Query
s
//support
OUTPUT
A
//Set of authority pages
H
//Set of hub paged
HITS Algorithm
R=SE(W,q)
//SEARCH ENGINE SE IS USED TO FIND A SMALL SET ROOT R
B=RU{pages linked to from R}U{pages that link to pages in R};
G(B,L)=Subgraph of W induced in B;//B –vertices or pages in G and L is links
G(B,L1)=Delete links in G within same site;
Xp=∑yq //authority weights
Yp= ∑xp //hub weights
A={p|p has one of the higest xp};
H={p|p has one of the highest yp};
Web usage mining
• Mining on web usage data, or web logs
• Web log is a listing of page reference data
(clickstream data)
• Logs are examined at client or server perspective
– Server perspective-mining uncovers information
about the sites where the server resides
– Client perspective- information about a user is
detected
• Aids in personalization
Web usage mining applications
• Personalization for a user
• From frequent access behavior of user, overall
performance can be improved
• Caching of frequently accessed pages
• Modifications of linkage structure, common
access behavior are accessed.
• Gather business intelligence to improve sales
and advertisements
Issues related with web log
• Identification of exact user is not possible
from log
• With web client cache, sequence of pages a
user visits is difficult to uncover from server
site
• Legal, privacy and security issues to be
resolved
Preprocessing
• The preprocessing phase includes
– cleansing
– User identification
– Session identification
– Path completion
– Formatting
What is log?
• Log ={(u1,p1,t1),….,(un,pn,tn)}
•  ∈ ,  ∈ ,   
• Ppages; UUsers;
What is session?
• Ordered list of pages accessed by a user
{<p1,t1>,,p2,t2>….<pn,tn>}
• Each session has a unique identifier called as
session ID.
• The length of session is number of pages in it
denoted by len(S)
• D be a database having all sessions and length
of D is total len(S)
Recap of networking
•
•
•
•
What is ISP?
Internet Service Provider
What are cookies?
Cookies are used in identifying a single user
regardless of machine used to access the WEB
Trie
• Data structure that is used to keep track of
patterns during web usage mining
• Path from root to leaf represents a sequence
• Tries are used to store strings fro patternmatching applications
• Each character in the string is stored on the
edge to the node and common prefixes of
strings are shared
Sample tries
A
C
N
A
Y
R
$
TRIE
C
A
R
A
N
Y
T
$
SUFFIX
TRIE
C
A
R
T
Characteristics of suffix trie
• Each internal node except the rot has atleast
two children
• Each edge represents a nonempty
subsequence
• Subsequences begin with different symbols
• Suffix tree build for multiple sessions is called
a generalized suffix tree (GST)
Pattern Discovery
• For clickstream data the common DM technique is
uncovering traversal pattern
• Traversal pattern is a set of pages visited by a user in a
session
• There are different traversal patterns having the
following features
– Duplicate page references
– Pattern may have contiguous page references or pages
referenced in the same session
– A pattern may or may not be maximal
– Frequent pattern may or may not be maximal if it has no
subpattern that is also frequent
Association rules
• Can be used to find what pages are accessed
together
• In this case a page is regarded as an item and
a session is regarded as a transaction with
duplicates and ordering ignored
• Support=No: of occurrences of itemset
-------------------------------------------------------------
No. of transactions or sessions
Sequential Patterns
• Sequential pattern is an ordered set of pages
that satisfies a given support and is maximal
• Support is the percentage of customers who
have the pattern
• Users can span many sessions, hence
sequential patterns can also span many
sessions
Algorithm to find sequential patterns
INPUT
D={S1,S2,…,Sk} //Database of sessions
s
//Support
Output :Sequential patterns
Sequential pattern algorithm:
D=sort D on user-id and tie of first page
reference in each session;
Find L1 in D;
L=ApprioriAll(D,s,L1);
Find maximal reference sequences from L;
The Apriori Property of Sequential Patterns
• A basic property: Apriori (Agrawal & Sirkant’94)
– If a sequence S is not frequent, then none of the
super-sequences of S is frequent
– E.g, <hb> is infrequent so do <hab> and <(ah)b>
Seq. ID
10
20
30
40
50
Sequence
<(bd)cb(ac)>
<(bf)(ce)b(fg)>
<(ah)(bf)abf>
<(be)(ce)d>
<a(bd)bcb(ade)>
Given support threshold
min_sup =2
58
GSP—Generalized Sequential Pattern Mining
• GSP (Generalized Sequential Pattern) mining
algorithm
• Outline of the method
– Initially, every item in DB is a candidate of length-1
– for each level (i.e., sequences of length-k) do
• scan database to collect support count for each candidate
sequence
• generate candidate length-(k+1) sequences from length-k frequent
sequences using Apriori
– repeat until no frequent sequence or no candidate can be
found
• Major strength: Candidate pruning by Apriori
59
Finding Length-1 Sequential Patterns
• Initial candidates:
– <a>, <b>, <c>, <d>, <e>, <f>, <g>, <h>
• Scan database once, count support for
candidates
min_sup =2
Seq. ID
10
20
30
40
50
Sequence
<(bd)cb(ac)>
<(bf)(ce)b(fg)>
<(ah)(bf)abf>
<(be)(ce)d>
<a(bd)bcb(ade)>
Cand Sup
<a>
3
<b>
5
<c>
4
<d>
3
<e>
3
<f>
2
<g>
1
<h>
1
60
Generating Length-2 Candidates
51 length-2
Candidates
<a>
<a>
<b>
<c>
<d>
<e>
<f>
<a>
<b>
<c>
<d>
<e>
<f>
<a>
<aa>
<ab>
<ac>
<ad>
<ae>
<af>
<b>
<ba>
<bb>
<bc>
<bd>
<be>
<bf>
<c>
<ca>
<cb>
<cc>
<cd>
<ce>
<cf>
<d>
<da>
<db>
<dc>
<dd>
<de>
<df>
<e>
<ea>
<eb>
<ec>
<ed>
<ee>
<ef>
<f>
<fa>
<fb>
<fc>
<fd>
<fe>
<ff>
<b>
<c>
<d>
<e>
<f>
<(ab)>
<(ac)>
<(ad)>
<(ae)>
<(af)>
<(bc)>
<(bd)>
<(be)>
<(bf)>
<(cd)>
<(ce)>
<(cf)>
<(de)>
<(df)>
<(ef)>
Without Apriori
property,
8*8+8*7/2=92
candidates
Apriori prunes
61
44.57% candidates
Finding Lenth-2 Sequential Patterns
• Scan database one more time, collect support count
for each length-2 candidate
• There are 19 length-2 candidates which pass the
minimum support threshold
– They are length-2 sequential patterns
62
The GSP Mining Process
5th scan: 1 cand. 1 length-5 seq.
pat.
Cand. cannot pass
sup. threshold
<(bd)cba>
Cand. not in DB at all
4th scan: 8 cand. 6 length-4 seq. <abba> <(bd)bc> …
pat.
3rd scan: 46 cand. 19 length-3 seq. <abb> <aab> <aba> <baa> <bab> …
pat. 20 cand. not in DB at all
2nd scan: 51 cand. 19 length-2 seq.
<aa> <ab> … <af> <ba> <bb> … <ff> <(ab)> … <(ef)>
pat. 10 cand. not in DB at all
1st scan: 8 cand. 6 length-1 seq.
<a> <b> <c> <d> <e> <f> <g> <h>
pat.
Seq. ID
Sequence
min_sup =2
10
<(bd)cb(ac)>
20
<(bf)(ce)b(fg)>
30
<(ah)(bf)abf>
40
<(be)(ce)d>
50
<a(bd)bcb(ade)>
63
The GSP Algorithm
• Take sequences in form of <x> as length-1 candidates
• Scan database once, find F1, the set of length-1
sequential patterns
• Let k=1; while Fk is not empty do
– Form Ck+1, the set of length-(k+1) candidates from Fk;
– If Ck+1 is not empty, scan database once, find Fk+1, the set of
length-(k+1) sequential patterns
– Let k=k+1;
64
The GSP Algorithm
• Benefits from the Apriori pruning
– Reduces search space
• Bottlenecks
– Scans the database multiple times
– Generates a huge set of candidate sequences
There is a need for more
efficient mining methods
65

similar documents