Monday, October 24, 2011

Demystifying the PageRank and HITS Algorithms


Demystifying the PageRank and HITS Algorithms...
Or just enough linear algebra to master network-based ranking methods


There is a ton of information on the internet about how search engines work. One important aspect of of the final ranking in any given search is based on webpage ranking algorithms that run 'under the hood'. The hyperlink, network-based algorithms known as PageRank and HITS are the two most prominent examples of such methods. However, much of the information on these methods is either misleading or confusing, and really does require only a little bit of mathematics to understand well.  The main idea is that the rank of any page is dependent on the number of backlinks (or in-links) to that page, and the importance or quality of the pages that contain those backlinks. Unfortunately, most explanations of how this is precisely computed uses the language of linear algebra and "eigenvalues", which often obscures the relatively simply ideas underlying them. Here is an attempt to make these algorithms more accessible by boiling down the math to the essential details.

Let G be a directed graph. We think of the nodes of G as webpages and the directed arcs as hyperlinks. Let A(G)=A be the adjacency matrix where A[i,j] = 1 if (i,j) is an arc, is 0 otherwise. The ith row of A is the (characteristic) vector representing all the out-neighbors of the ith node, and the jth column of A is the vector representing the in-neighbors of the jth node. The transpose matrix A' has the roles reversed, where the ith row of A' is the vector representing all the in-neighbors of the ith node, and the jth column of A' is the vector representing the out-neighbors of the jth node.

Matrix multiplication can give simple algebraic representations of graph structures. For example, the square of the adjacency matrix A^2 has as its [i,j]th entry the number of 2-hop paths from ith node to jth node. And the product A'A has as its [i,j]th entry the number of nodes that are common in-neighbors to both the ith and jth node. Note how A'A is a symmetric matrix, likewise AA' is also symmetric. Symmetric matrices have the property that the [i,j]th entry matches the [j,i]th entry for all pairs i,j.


Stochastic Matrices


Let us place a probability distribution on the out-neighborhood of each node – that is, we give a positive weight (between 0 and 1) to each arc, with the property that the sum of weights out of each node is exactly 1. We call such a matrix a stochastic matrix. 



 


Figure 1. Stochastic matrix obtained from a digraph where a uniform distribution is used at every node.


Markov Chains and PageRank

Given a stochastic matrix P we consider each entry as a transition probability of a random walk, or equivalently, the transition probability matrix of the Markov chain. A stationary distribution of a Markov chain is a probability distribution d on the nodes, so that P'd =d, i.e., d is a fixed point under the action of the transition matrix. For such matrices we can apply the fundamental theorem of Markov chains, which says that, under certain conditions,  stationary distributions always exist and are unique.
PageRank associates this unique stationary distribution is with a ranking of the nodes of a web-graph.


The proof of the existence of the stationary distribution or fixed point,  relies on a result called the Perron-Frobenius Theorem for non-negative, irreducible matrices, which essentially states that any such Markov chains has a left eigenvector of P with eigenvalue 1. We can simplify matters significantly by considering the restriction to positive matrices, which indeed what PageRank does in practice.

The Perron-Frobenius Theorem for positive matrices:
Let A = [a(i,j)] be an n × n positive matrix: a(i,j) > 0 for 1 ≤ i, j ≤ n. Then there is a positive real number r, such that r is an eigenvalue of A and any other eigenvalue λ (possibly, complex) is strictly smaller than r in absolute value, |λ| < r. T



An Algorithm for PageRank

A simple consequence of the Perron-Frobenius Theorem for positive matrices gives us an algorithm for computing the PageRank (the unique stationary distribution) for graphs to which it applies. Namely, by simply powering up or iteratively updating a distribution vector, starting from an arbitrary initial state (usually taken as the uniform distribution). Each iteration of this algorithm takes time O(|V| + |E|), and will often converge very quickly.


Determinants and Eigenvalues of Matrices

A determinant is a function that associates a scalar value to a square matrix. The value of the determinant can tell you if the matrix has an inverse or not. A matrix with a nonzero determinant is called regular or an invertible matrix (and, we can calculate its inverse matrix). If the determinant is zero the matrix is called a singular matrix and it does not have an inverse.

Formally, a determinant is computed by a sum of products over all permutations of numbers 1 to n, and therefore has n! terms in the sum. Determinants over 2 by 2 matrices, that is where n = 2, have only two terms (a11 * a22) – (a12 * a21) and are simple to calculate by hand. For larger values n>2, the number of terms start to get out of hand. 

All regular matrices can be transformed into singular matrices by subtracting common value from the diagonal entries of the matrix. The problem of transforming a regular matrix into a singular matrix is referred to as the eigenvalue problem. The Eigenvalue Problem is determined by subtracting c*I from A and setting the determinant to 0, and then solving for c. Given a solution c to the eigenvalue problem we can find a vector (a class of vectors) X such that AX=cX. Any such X is called the associated eigenvector for eigenvalue c. 

One of the simplest methods for finding the largest magnitude eigenvalue and an associated eigenvector is called the Power Method. Given a matrix A and an initial vector b0 that is a linear combination (that is, a weighted sum) of eigenvectors, we can see that by repeatedly multiplying each vector bi by A, we are reinforcing (the direction) of the eigenvector with the largest magnitude eigenvalue (relative to the direction of the other eigenvectors in the sum). Hence, the power method is applicable in cases where the the following technical conditions hold:

1) A has an eigenvalue that is strictly greater in magnitude than its other eigenvalues.

2) The starting vector b0 has a nonzero component in the direction of an eigenvector associated with the dominant eigenvalue, i.e., b0 is not orthogonal to the eigenvector.


The Power Method for Principal Eigenvector



The power method algorithm starts with an initial vector b0, and is described by the following iteration to compute successive vectors:
for k = 0,1,2,3,...
  b(k+1) = A(bk) / || A(bk)||

Convergence is guaranteed when above conditions 1)  and 2) hold.

The HITS Algorithm for Ranking Webpages

The HITS algorithm is a conceptually simply link based ranking algorithm based on the power method, which posits two parameters for each webpage: an authority value a_i and a hub value h_i. Authority values are simply the sum of the in-neighbor hub values, and similarly the hub values are the sum of the out-neighbor authority values. So hubs and authority values are mutually dependent. In matrix form we have the following two matrix-vector equations:
a= A'h and h = Aa

Plugging back in for h and a leads to the following equations yielding an pair of eigenvector problems:

a= A'Aa and h = AA'h


a= A'Aa and h = AA'h

Looking at these equations we can see that we seek eigenvectors associated with eigenvalue 1 for each of the pair of matrices A'A and AA'. We cannot in general assume that such eigenvalue/eigenvector pairs exists, but we can find other eigenvectors associated with the largest eigenvalue using the normalized Power Method described above, so long as technical conditions are satisfied. To wit, as noted both A'A and AA' are positive, symmetric matrices. Such matrices have the property that all the eigenvalues are positive reals, and the associated eigenvectors form a basis, that is every vector is a linear combination of eigenvectors. Hence, we can be assured that the HITS algorithm will converge to the (normalized) sum of eigenvectors associated with the largest eigenvalue (for which the starting vectors a_0 and h_0 have non-zero component). We are in good shape if these vectors are real-valued, so that we can interpret the components as ranking values. The theory says that as long as the matrices in question are "irreducible" then we are in business.




Wednesday, May 25, 2011

Reflections on Teaching Parallel Computing

My Reflections on Teaching Parallel Computing using GPU Programming in a Large Class Format

I recently read with great interest the blog post “My reflections on teaching GPU Programming and Architecture http://bit.ly/k5XDZQ by @pjcozzi. The excellent post inspired me to write my own version based on my CS668 Parallel Computing class of Spring 2011 at the University of Cincinnati. This year I have redesigned the class around the revolutionary architecture of the GPU (graphics processing unit) for executing parallel programs.

GPU Programming in Large Class Format

My CS668 Parallel Computing course, unlike the graduate class taught by @pjcozzi, is primarily an undergraduate CS elective taught in the setting of a large class. This term’s CS668 class has 49 students enrolled, and the students span computing majors in CS, CE, and EE.

I really enjoy the format of the large class, as it provides a setting of a more interactive learning environment, and it provides students with excellent networking and group learning opportunities. The course is designed so that students work throughout the term in small groups doing lab homework projects and design and execute a large-scale final project. Students put many hours of group effort into their final project designs, final presentations and final reports. At the end of this post I will display the schedule of all the project presentations, so that the reader can note the diversity and creativity of the project groups.

Curating Great Numerical Ideas

A number of Computer Science Programs run a “Great Ideas”-style course as a way to introduce Freshman to the discipline of Computer Science. I have considered this in the past, but often shied away, since such great ideas usually require quite a bit of mathematical sophistication before students can really appreciate the depth and beauty of the results.

Near the beginning of the term, I made the decision that my CS668 Parallel Computing class would be an excellent vehicle to expose students to a variety of such “great ideas”. My goal was to present these ideas so that advanced undergraduates could grasp them with more appreciation.

One critical component to making this a success is the CUDA SDK Demo Programs that NVidia has made freely available. The SDK contains a large set of demo programs that students can play and interact with, and use as templates for their own projects. This is a wonderful way for students to work and experience the numerical ideas talked about in lecture.

Here are a sampling of some of the Great Numerical Ideas I used and some supplementary reading material that I encouraged students to explore more deeply.

Idea1. Modeling Vibration Waves

In Ian Stewart’s Book Nature's Numbers: The Unreal Reality Of Mathematics (Science Masters Series) there is an essay entitled "Violins to Videos" which recalls the history of the development of the wave equation and the significance of this type of modeling on the history of science and engineering. In lecture we develop some simple parallel codes for modeling the position in space of particles on a vibrating violin string.

Idea 2. The Heat Equation

I really like to use the heat equation as an example numerical problem. The reasoning of its correctness is beautifully simple, yet the math has the feel of sophistication in the expression of the Poisson PDE. And as big bonus, the code in the SDK produces lovely graphics to experiment with such as the one at the top of this post.

Idea3. Monte Carlo Method of Statistical Sampling

High-performance GPU-style computing can really unleash very simple methods for solving complex math problems, and are very useful when estimated values are sufficient. The idea is to use the Monte Carlo Method of Statistical Sampling invented and popularized by Stanislaw Ulam, John Von Neumann, and Nicholas Metropolis. The story I have heard is that Ulam first came up with the idea when challenged to compute the probability of winning a game of solitaire.

The CUDA SDK contains a few demos demonstrating the application of the idea of Monte Carlo Sampling from the point of view of financial modeling of stock prices, termed the Black-Scholes Model (see for example, Basic Black-Scholes: Option Pricing and Trading). This is a simple random-walk type of model in which the Monte Carlo sampling can be seen to produce an estimate that is clearly useful:

1. Collect standard normal samples
2. Use GPU to compute expected value of option payoff
3. ???
4. PROFIT!

Thanks to @theg4cubepro for pointing me toward this algorithm video.

Idea 4. Fractals and Chaos

No surprise here that the SDK includes a version of Mandelbrot set generation. Although, unfortunately, the version that is distributed is a bit heavy on bells and whistles. In lecture I discussed the relationship between Chaotic functions and fractals, and we talked about the use of such mathematical modeling in bio-medical applications. I referred back to an old blog post in which students explored visualizations of the orbit diagram of the logistic function and Robert May's discovery of its chaotic nature.

Textbooks

There is a growing list of textbooks available to students and teachers in GPU-style parallel computing. There are two valuable textbooks that I considered for this course, although in the end I did not require the students to purchase of either one. The first one is a great resource for students just starting out with GPUs and CUDA programming. The second one is more advanced architecture-oriented.

CUDA by Example: An Introduction to General-Purpose GPU Programming contains many simple programs that are freely available, which demostrate the power and versatility of CUDA-style programs. The code sample seem to all compile easily and are very cleanly written. A very nice introduction to CUDA programming.

Programming Massively Parallel Processors: A Hands-on Approach (Applications of GPU Computing Series) is more of a textbook. This book gives a more in depth treatment of the architectural design issues. However, there are not many good example programs. The book, although well written, did not suit my style or strengths, as it is not strong on parallel programming design.


Student Groups Final Presentation Schedule

I hope that students will be able to have their presentations and demos recorded for podcasts. I will try to make links to them available on this blog.

THURSDAY, MAY 26

1. OCLWN
Eric Roth, Richard Klafter, Eric Swanson

2. RAY TRACING
Jun Zhou, Sam McCoucha, Daniel Owusu-Kesseh

3.
BRUTE FORCE CRYPTANALYSIS
Andrew Tefft, Adam Brandes

4. COMPUTING PI
Stephen Zeisler

TUESDAY, MAY 31

1. MOLECULAR DYNAMICS
Jiayang Guo, Matthew Jackson, Yuan Jiang, Hasso Pape

2. BALL COLLISION SIMULATION

Raymond Cox, Keith Wentzel, Chelsea Chase, Ben List

3. DEFORMABLE IMAGE REGISTRATIONS
Lirong Tan, Minzhe Guo

4. PRIME NUMBER GENERATION FOR RSA
Nicholas Sampanis, Thomas Bachmann, Chris Romano, Christian Denholm

5. STRING MATCHING
Cheng Zhu, Qiang Han, Mingyang Wang

THURSDAY, JUNE 2

1. GAUSSIAN ELIMINATION
Ryan Anderson, Matt Fuller, Nathan Loyer, Christopher Welch

2. SOLVING SYSTEMS AX=0
Britney Bogard, Nicholas Foltz, Jorge Moscat

3. ITEMSET MINING
Dan Lautzenheiser, Nathan Sommer, Vic Halpin

4. RAINBOW TABLES
Edward Kimball, Benjamin Jones, Adam Stylinski, Kate Khazanova

5. GROESTL HASHING
Jeff Farris, Jeremy Lavergne, Alex Padgett, Jon Wedaman

Sunday, May 1, 2011

The Real People of Steve Martin's "An Object of Beauty"


I can highly recommend Steve Martin's new novel "An Object of Beauty."

The book is an inside look at the art world, mixing up the real and the imagined artists, dealers, collectors, side players and personalities. As I read the book, I kept thinking about wanting to see the paintings of the artists and learn more about their works and lives.

In one vivid scene, the narrator, Daniel Franks, attends a lecture at Boulud and describes the high-minded "way the art world was supposed to be: sophisticated, dressed, with a British accent and raconteur’s tongue." The lecture and reception afterward was for John Richardson the renowned biographer of Picasso (John Richardson's Picasso Biographies).

I enjoyed the book so much so that I was inspired to compile a list of wikipedia links to the real world people who populate this terrific and interesting book.

Ivan Aivazovsky
Milton Avery
Francis Bacon
Bernard Berenson
Joseph Beuys
Mary Boone
Georges Braque
Bernard Buffet
Daniel Chester
Chuck Close
Arthur Dove
Marcel Duchamp
Max Ernst
Alfred Frankenstein
Tom Friedman
Larry Gagosian
Isabella Stewart Gardner
Stuart Gardner
Robert Gober
Vincent Van Gogh
Marian Goodman
Sally Gorton
Nancy Grossman
William Harnett
Robert Henri
John Hooker
Edward Hopper
James Joseph
Wassily Kandinsky
Donna Karan
Jeff Koons
Roy Lichtenstein
Matthew Marks
Robert Miller
Yue Minjun
Robert Motherwell
Maxfield Parrish
John Peto
Picasso
Jackson Pollock
Max Protetch
John Richardson
Norman Rockwell
Andrea Rosen
Ed Ruscha
Charles Saatchi
Anatoly Sapronenkov
Peter Schjeldahl
Richard Serra
Larry Shar
John Singer Sargent
John Singleton Copley
Jan Steen
Baron Thyssen
James Tissot
John Updike
Andy Warhol
Frank Lloyd Wright
Feng Zhenj-Jie

Friday, April 8, 2011

Wikipedia versus Amazon Round 2: Biography of Miles Davis


I have been considering the question of how well Wikipedia biography-style articles cover the relevant life aspects of cultural figures. Of particular interest is how Wikipedia covers the social network of cultural figures. Such issues of coverage are critical to investigators seeking to understand the people who most influence important figures.

Today's blog post considers the legendary jazz musician Miles Davis. "Miles Davis: The Autobiography", was published by Simon & Schuster (448 pages, published September 15, 1990). The book is indeed very well reviewed and available on Amazon for $12
Miles: The Autobiography

The Wikipedia article on Miles does a somewhat better job at covering the social network of Miles, compared to the page on Grace Slick that I analyzed in yesterday's post. The stats are as follows: "Miles Davis: The Autobiography" contains the names of 534 contacts with Miles, and Wikipedia article contains the names of 138 contacts. There are 95 names that are in the intersection of the two sets, and hence there are 534-95=439 names in the book that are not mentioned in the Wikipedia article, and there are 138-95= 43 names in Wikipedia not mentioned in the book. Below is the full list of these three sets. In the case of Grace Slick, Wikipedia had a coverage rate of less than 5%. We see here that for Miles Davis, Wikipedia has a coverage rate of about 20%. This coverage relationship is reflected in the graphic at right.

The Social Network of Miles Davis from the Wikipedia article (http://en.wikipedia.org/wiki/Miles_Davis) and the book "Miles Davis: The Autobiography" by Miles Davis and Quincy Troupe.





Names in Intersection of both Miles Autobiography and Wikipedia Article

George Avakian
Bill Barber
Gary Bartz
Walter Bishop
Art Blakey
Billy Boy
Clifford Brown
James Brown
Dave Brubeck
Elwood Buchanan
Paul Buckmaster
Donald Byrd
Ron Carter
Paul Chambers
Don Cherry
Jimmy Cobb
Billy Cobham
George Coleman
John Coltrane
Will Come
Pete Cosey
Betty Davis
Gregory Davis
Miles Dewey Davis
Jack DeJohnette
George Duke
Billy Eckstine
Duke Ellington
Bill Evans
Gil Evans
Leonard Feather
Avery Fisher
Tommy Flanagan
Sonny Fortune
Al Foster
Jerry Garcia
Carlos Garnett
Leonard Gaskin
Al Haig
Barry Harris
Jimmy Heath
Michael Henderson
Jimi Hendrix
Johnny Hodges
Dave Holland
Robert Irving
Michael Jackson
Keith Jarrett
Jack Johnson
Darryl Jones
Joe Jones
Duke Jordan
Lee Konitz
Michel Legrand
John Lewis
Dave Liebman
Betty Mabry
Louis Malle
Hugh Masekela
Howard McGhee
Al McKibbon
John McLaughlin
Pierre Michelot
Steve Miller
Billy Mitchell
Hank Mobley
James Moody
Charlie Parker
Tommy Potter
Eddie Randle
Sam Rivers
Max Roach
Sonny Rollins
George Russell
Carlos Santana
John Scofield
Sonny Sharrock
Wayne Shorter
Sandy Siegelstein
Miles Smiles
Mike Stern
Sonny Stitt
Art Taylor
Sir Charles Thompson
Claude Thornhill
George Wallington
Ralph Watkins
Bob Weinstock
Barney Wilen
Harold Williams
Tony Williams
Larry Young
Joe Zawinul
Michael Zwerin

Names in Miles Autobiography and not in Wikipedia Article

Joe Albany
Irving Alexander
Billie Alien
Steve Alien
Sid All
Mark Allison
Herb Alpert
Gene Ammons
Marian Anderson
Sheila Anderson
Henry Armstrong
Louis Armstrong
Nick Ashford
Fred Astaire
Clarence Avon
Albert Ayler
Ann Baker
Chet Baker
Harold Baker
David Baldwin
James Baldwin
Anthony Barboza
Ellen Barkin
Tom Barney
Mickey Bass
Sidney Bechet
Joe Beck
Harry Belafonte
Julie Belafonte
Fay Bellamy
Tony Bennett
George Benson
Billy Berg
Bob Berg
Leonard Bernstein
Chuck Berry
John Bigham
Larry Bird
Rudy Bird
Fred Birth
Larry Blackmon
Sally Blair
Jimmy Blanton
Max Boach
Jerome Bobbins
Paul Bobeson
Willie Bobo
Jean Bock
Angela Bofill
Sonny Bollins
Lester Bowie
Peter Bradley
Marion Brando
Leo Branton
Johnny Bratton
David Brinkley
Duke Brooks
Harvey Brooks
Richard Brooks
Chuck Brown
Ray Brown
Lee Browne
Bart Bull
Ralph Bunche
William Burroughs
Richard Burton
Barbara Bush
George Butler
Calvin Butts
Don Byas
John Cage
Roy Campanella
Steve Cannon
Johnny Carisi
Charlie Carpenter
Joe Carroll
Johnny Carson
Betty Carter
Dick Cavett
Jack Chambers
Jordan Chambers
Charlie Chan
Charlie Chaplin
Ray Charles
Sir Charles
Dorothy Cherry
Jesus Christ
Stanley Clarke
Adam Clayton
Gil Coggins
Al Cohn
Bobby Colomby
Eddie Condon
Aaron Cop
Bill Cosby
Marc Crawford
Sonny Criss
Pat Cruz
Mario Cuomo
Dorothy Dandridge
Bobby Danzig
Dorothy Davis
Henry Davis
Richard Davis
Susan DeSandes
James Dean
Billy Dee
Page Definitions
Miles Dewey
Larry Doby
Bill Doggett
Eric Dolphy
Lou Donaldson
Bob Dorough
Jimmy Dorsey
Tommy Dorsey
Alan Douglas
Frederick Douglass
Charles Duckworth
Marie Dutton
Bob Dylan
Greg Edwards
Roy Eldridge
Don Elliott
Eric Engles
Marguerite Eskridge
John Eubanks
Jon Faddis
George Faison
Art Farmer
Joel Fbcelrad
Victor Feldman
Barry Finnerty
James Finney
Roberta Flack
Joseph Foley
Jimmy Forrest
David Franklin
Richard Franklin
Leonard Fraser
Bud Freeman
Morgan Freeman
Walter Gil Fuller
Peter Gabriel
David Gahr
Mark Gardner
Jimmy Garrison
Dave Garroway
Susan Garvin
Marvin Gaye
Rudy Van Gelder
Stan Getz
Paula Giddings
Gary Giddins
John Gilmore
Allen Ginsberg
Ira Gitler
Ralph Gleason
Lester Glossner
Danny Glover
Oscar Goodstein
Joe Gordon
Max Gordon
Teresa Gordon
Bill Graham
Billy Graham
Gary Grant
Norman Granz
Dick Gregory
Al Grey
Steve Grossman
Bob Guccione
Frank Gully
Joe Guy
Bobby Hackett
Charlie Haden
Marvin Hagler
Alex Haley
Jim Hall
Randy Hall
John Hammond
Eddie Handle
Josephine Hanes
Ben Harris
Donald Harrison
Billy Hart
Laurence Harvey
Leonard Hawkins
Lance Hay
Roy Haynes
Marion Hazel
Neil Hefti
Ernest Hemingway
Fletcher Henderson
Connie Henry
Woody Herman
John Hicks
Clyde Higgins
Beverly Hills
Andre Hodeir
Adam Hoizman
Billie Holiday
Bob Holman
John Hoskins
Johnny Hoskins
Fred Hudson
George Hudson
Janet Jackson
Oliver Jackson
Russell Jacquet
Harry James
Tom Jefferson
Ted Joans
Howard John
Don Johnson
Howard Johnson
Hank Jones
Jimmy Jones
Thad Jones
Connie Kay
Ted Kelly
Robert Kennedy
Jack Kerouac
Dorothy Kilgallen
Andy Kirk
Deborah Kirk
Julia Knickerbocker
King Kolax
David Kuhn
Scott LaFaro
Adam Lambert
Rudy Langlais
Gilles Larrain
Willie Leaps
Carl Lee
Donna Lee
Ray Leonard
Stan Levey
Stewart Levine
Jerry Lewis
Jerry Lee Lewis
Tommy LiPuma
Alfred Lion
Charles Llovd
Elaine Lorillard
Ron Lorman
Joe Louis
Harold Lovett
Bruce Lundvall
Martin Luther
Curtis Lyie
Harold Mabern
Fred MacMurray
Judith Mallin
Jane Mandy
Chuck Mangione
Anna Maria
Allan Marshall
Karl Mays
Willie Mays
Marilyn Mazur
Howard McGee
Vic McMillan
Terry McMillen
Bobby McQuillen
Jay McShann
Thomas Medina
Lester Meets
Gordon Meltzer
Harold Melvin
Jason Miles
Ron Milner
Charlie Mingus
Arthur Mitchell
Hank Mob
Marilyn Monroe
Joe Montdragon
Archie Moore
Rudy Ray Moore
Lee Morgan
Sam Morrison
George Morrow
Paul Motian
Fred Muggs
Chris Murphy
Eddie Murphy
Stan Musial
Leon Ndugu
Willie Nelson
Don Newcombe
Joe Newman
Paul Newman
Eric Nisenson
Kim Novak
Laura Nyro
Joe Overstreet
Harry Parch
Irving Penn
Oscar Pettiford
Pablo Picasso
William Pickens
Jane Pittman
Eugene Porter
Margaret Porter
Roy Porter
Adam Clayton Powell
Bud Powell
Elvis Presley
Richard Pryor
Bernard Purdee
Michael Putland
Paul Quinechette
Boyd Raeburn
George Raft
Eddie Randie
Steve Ratner
Ronald Reagan
David Redfern
Eugene Redmond
Christopher Reeve
Steve Reid
Carol Reiff
Carole Reiff
Robert Reisner
Frank Reliak
Neil Reshen
Charlie Rice
Evelyn Rice
Spencer Richards
Benjamin Rietveld
Ray Robin
James Robinson
John Robinson
Ray Robinson
Jim Rose
Annie Ross
Mark Rothbaum
Charlie Rouse
Steve Rowland
Ernie Royal
Pete Rugolo
Howard Rumsey
Robert Russell
Ross Russell
Jimmy Ryan
Diana Sands
Ben Shapiro
Billy Shaw
Woody Shaw
George Shearing
Archie Shepp
Peter Shukat
George Shultz
Cynthia Simmons
Paul Simon
Valerie Simpson
Frank Sinatra
Jimmy Smith
Willie Smith
Yvonne Smith
John Philip Sousa
Michael Spinks
Bruce Springsteen
Dewey Square
Chip Stern
Isaac Stern
Jon Stevens
John Stobblefield
Billy Strayhorn
Barbra Streisand
Frank Strozier
Paul Stuart
John Stubblefield
Donald Suggs
Art Tatum
Billy Taylor
Clyde Taylor
Elizabeth Taylor
Frances Taylor
Connie Theresa
Angus Thomas
Gary Thomas
Leon Thomas
Michael Thomas
Charles Thompson
Steven Thornton
Emmett Till
Irving Townsend
Sonny Truitt
Mike Tyson
Barry Ulanov
William Vachiano
Sarah Vaughan
Vincent Virgo
Derek Walcott
Mike Warren
George Washington
Ralph Wat
Ben Webster
George Wein
Karen Weitzman
Lawrence Welk
Ricky Wellman
Paul Whiteman
Jack Whittemore
Vince Wilburn
Vincent Wilburn
Ernie Wilkins
Ed Williams
Joe Williams
Pamela Williams
Robin Williams
Larry Willis
Phillip Wilson
Russ Wilson
Shadow Wilson
Bernard Wright
Judge Bruce Wright
Andrew Young
Ann Young
Charlie Young
Lester Young

Names in Wikipedia Article and not in Autobiography

Duane Allman
Joe Bonner
Earl Bostic
Julie Christensen
Earl Coleman
John Conyers
Richard Cook
David Creamer
King Crimson
Miles Henry Davis
Michael Franks
George Gershwin
David Grisman
Tim Hagans
Bill Hardman
Ann Hathaway
Harold Ivory
Gerald Kilduff
Bill Laswell
Charles Lloyd
Alan Lomax
John Lydon
Charles Mingus
Brian Morton
Frances Munkissa
Bill Murray
Tom Palumbo
Paul Quinichette
Harry Reasoner
Don Rolker
Christian Scott
Joe Shulman
Cristopher Smith
Dennis Stock
Les Sussman
Clark Terry
Louis Walk
Neil Young

Thursday, April 7, 2011

Judging Wikipedia Quality Using Social Networks


Wikipedia has been simultaneously touted and derided for its quality standards. I decided to run an experiment to test each hypothesis using my computer program that extracts names from documents. I wanted to see how well Wikipedia does at capturing the social connections of cultural icons, relative to a standard biography written by an individual. I ran an experiment that extracted all the names from the Wikipedia page for the great 1960's rock singer Grace Slick, and compared that to the list of names from the book (out-of-print, approx. 175 pages) "Grace Slick - The Biography". The results are not so favorable to Wikipedia. Of the 434 names extracted from the text of the book, 402 of the names do not appear on Wikipedia. So the Grace Slick Wikipedia page only lists 32 names of contacts. Some obvious omissions in Wikipedia article include Slick's band members of Jefferson Airplane, Marty Balin, John Barbata, Spencer Dryden, Jerry Peloquin, Skip Spence, as well as other influential musicians Slick had contacts with including, Graham Nash, Neil Young, and Frank Zappa.

Here is a full list of the names of Grace Slick social network that do not appear on current Wikipedia page for the artist. From the book Grace Slick: The biography, ISBN: 0-385-13390-1, Library of Congress Catalog Card Number 78-22351 copyright 1980 by Barbara Bowes and Grace Slick Johnson. A related memoir by Grace Slick can be found at Somebody to Love?: A Rock-and-Roll Memoir




Peter Abrahm
Lou Adler
Jerry Aiello
Herb Alpert
Paul Anka
Marty Balin
John Barbata
Susan Barnett
Scott Beach
James Beard
Harry Belafonte
Jean Bennent
Martin Bernheimer
Leonard Bernstein
John Birchers
Gary Blackman
Molly Bloom
Mike Bloomfield
Jack Bonus
Emily Bronte
David Brown
Lenny Bruce
Eric Burdon
David Busby
Mary Beth Busby
John Cabell
Herb Caen
Laurel Canyon
Lewis Carroll
Bob Carter
Ron Carter
Craig Chaquico
Julia Child
John Cipollina
Eric Clapton
Del Close
Bill Coblentz
Judy Collins
Larry Cox
Miles Davis
Stephen Dedalus
Tom Donahue
John Donne
Spencer Dryden
Pat Dugan
Will Durant
Bob Dylan
T.S. Eliot
Duke Ellington
Steve Elvin
Phil Elwood
Gil Evans
Leonard Feather
Jose Feliciano
Eddie Fisher
Ben Fong
Dale Franklin
Ron Galella
Al Garimasu
Peter Van Gelder
Stu Ginsburg
Ralph Gleason
Sally Goes
John Goodman
Bob Gordon
Bill Graham
Albert Grossman
Carol Guardino
Bill Haigwood
Bob Harvey
Leonard Haufman
Don Heckman
Herb Helman
Vladimir Horowitz
Heidi Howell
Lynne Hughes
George Hunter
Maurice Ieraci
Mick Jagger
Rick Jarrard
Thomas Jefferson
Harry Jenkins
Ed Johnson
Grace Johnson
Howard Johnson
Lyndon Johnson
Brian Jones
James Joyce
Scott Kaleko
Matthew Katz
Peter Kaukonen
Lenny Kaye
John Kennedy
Ken Kesey
Roland Kirk
Richard Kleindienst
Al Kooper
Michael Korda
Gordon Lassar
Bill Laudner
Timothy Leary
Phil Lesh
Beth Lester
Raymond Lewenthal
Eric Van Lustbader
Larry Magid
Sally Mann
Dave Mason
Tom Mastin
Bob Mathews
Paula Matter
Joe McCarthy
Paul McCartney
Glenn McKay
James Michener
Steve Miller
David Miner
David Minor
Chip Monck
Marilyn Monroe
Jim Morrison
Graham Nash
Harry Nilsson
Jack Nitzsche
Jeremy Nussbaum
Annie Oakley
Walter Ong
Augustus Owsley
Earl Palmer
Charlie Parker
Jerry Peloquin
Sergeant Pepper
John Phillips
Edgar Allan Poe
Elvis Presley
Billy Preston
Lou Rawls
Robert Redford
Carolyn Reiff
Marguerite Renz
Roger Ressmeyer
Billy Roberts
Craig Rolie
Henry Rothblatt
Pierre Salinger
Arthur Schatz
Al Schmitt
Steven Schuster
Neil Sedaka
Pete Seeger
Charles Seton
Chuck Seton
Celeste Shane
Ravi Shankar
Neil Simon
Paul Simon
Gerald Slick
Jerry Slick
Patrick Snyder
Terry Southern
Sidney Spacepig
Phil Spector
Skip Spence
Stephen Stills
Richard Stolley
Ed Sullivan
Richard Talbot
Steve Talbot
Jack Tar
Elizabeth Taylor
James Taylor
Mickey Thomas
Bill Thompson
Pete Townshend
Peter Townshend
Arnold Toynbee
Spencer Tracy
Mary Travis
Andy Warhol
John Wasserman
Alan Watts
Daniel Webster
John Whitman
Paul Williams
Grace Wing
Howard Wolfe
Max Yasgur
Lester Young
Neil Young
Frank Zappa