[ieee 2012 international conference on advances in social networks analysis and mining (asonam 2012)...

5
The Geographic Flow of Music Conrad Lee and Pádraig Cunningham Clique Research Cluster University College Dublin 8 Belfield Office Park, Clonskeagh Dublin 4, Ireland Tel: +353 1 716 5346 Email: [email protected], [email protected] Abstract—The social media website last.fm provides a detailed snapshot of what its users in hundreds of cities listen to each week. After suitably normalizing this data, we use it to test one hypothesis related to the geographic flow of music: that some cities are consistently early adopters of new music (and early to snub stale music). To test this hypothesis, we adapt a method previously used to detect the leadership networks present in flocks of birds. We find empirical support for the claim that a similar leadership network exists among cities. I. I NTRODUCTION Here we investigate a hypotheses related to the geographic flow of preferences in music. We formalize and answer the following question: if one considers the month-by-month change in the aggregate musical preferences of cities, are some cities consistently ahead of others? In other words, can we find that some cities are leaders and others are followers? Our enquiry into the geographic distribution of musical preferences is structured as follows. We begin by describing the data, a world-wide log of listening habits recorded by last.fm, as well as various pre-processing and normalization steps in section II. In section III, we adapt a methodology previously used to find leadership in pigeon flocks [1] to detect whether some cities consistently follow others. At a high level, this methodology involves looking at every dyad (pair of nodes) and running a test to see whether the time-lagged correlation is larger in one direction than another. We observe that when we put all of these directed pairs together, the resulting networks are nearly acyclic, which indicates that the geographic flow of music has a clear direction; this direction suggests hierarchical structure [2]. We wrap up our inquiry into the spread of music in section V by discussing the further evaluation that is needed to support or refute the significance of our findings. An extended version of this paper is available at [3]. II. DATA: PREPROCESSING & NORMALIZATION Last.fm is a service based around collecting data on the listening habits of its users. Users install a plug-in on their audio players such as iTunes or Winamp which keeps track of the songs that the user listens to, either on his computer or external device (e.g., an iPod). The plug-in uploads this information to the last.fm database, giving the service a log of what its users listen to. In 2011 alone, last.fm received 11 billion such notifications (called “scrobbles” by last.fm), and since the service began in 2003 it has received 61 billion. 1 Last.fm uses this information in various ways, for example, to compare the similarity of two users’ musical taste, to recommend music, and to create a profile page. Creating listen matrices. Last.fm aggregates this data into weekly charts for over 200 metropolitan areas around the world, and makes the data behind these charts accessible through a public API. For every week and each city, the last.fm API indicates the number of unique listeners that each of that city’s top 500 artists had. Thus, for each week we have a matrix; in this matrix every city is a row vector with 500 non- zero elements, and each column represents an artist. Because not all cities have the same top 500 artists, the matrix has more than 500 columns and a large number of zero-valued elements. Thus, a non-zero entry in this matrix at position i, j is a positive integer indicating the number of unique users from city i who listened to artist j that week. Zero-valued entries indicate that the artist had either no listeners, or that it was not among the 500 most popular artists in the city that week. At the time of data collection in late 2011, these charts were available for 153 weeks. Because not all last.fm users are active every week, a single week’s chart can be thought of as a sample of listening preferences among last.fm users. In cities that have relatively few users, the variance associated with this sample becomes large, indicating noise. We find that we can reduce this noise by summing up the matrices associated with four consecutive weeks together. This effectively increases the sample size for each entry in the city-artist matrix described above. For this reason, in all of the analysis below, we aggregate our data using a “sliding window” where the width of the window is four weeks, and the window slides in one-week steps. We call the matrices associated with these four-week periods listen matrices. 2 Normalizing listen matrices. Consider the toy example presented in fig. 1(A). In this scenario, we imagine there are only two artists, Radiohead and Coldplay, and two cities, Los 1 According to last.fm’s blog post at http://blog.last.fm/2012/01/16/ building-best-of-2011. 2 While last.fm will not permit us to distribute the data, the program used to collect it is available at https://github.com/conradlee/lastfm-charts-reader. 2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining 978-0-7695-4799-2/12 $26.00 © 2012 IEEE DOI 10.1109/ASONAM.2012.237 690 2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining 978-0-7695-4799-2/12 $26.00 © 2012 IEEE DOI 10.1109/ASONAM.2012.237 691

Upload: p

Post on 23-Mar-2017

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [IEEE 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012) - Istanbul (2012.08.26-2012.08.29)] 2012 IEEE/ACM International Conference on Advances

The Geographic Flow of MusicConrad Lee and Pádraig Cunningham

Clique Research ClusterUniversity College Dublin

8 Belfield Office Park, ClonskeaghDublin 4, Ireland

Tel: +353 1 716 5346Email: [email protected], [email protected]

Abstract—The social media website last.fm provides a detailedsnapshot of what its users in hundreds of cities listen to eachweek. After suitably normalizing this data, we use it to test onehypothesis related to the geographic flow of music: that somecities are consistently early adopters of new music (and earlyto snub stale music). To test this hypothesis, we adapt a methodpreviously used to detect the leadership networks present in flocksof birds. We find empirical support for the claim that a similarleadership network exists among cities.

I. INTRODUCTION

Here we investigate a hypotheses related to the geographicflow of preferences in music. We formalize and answer thefollowing question: if one considers the month-by-monthchange in the aggregate musical preferences of cities, are somecities consistently ahead of others? In other words, can we findthat some cities are leaders and others are followers?

Our enquiry into the geographic distribution of musicalpreferences is structured as follows. We begin by describingthe data, a world-wide log of listening habits recorded bylast.fm, as well as various pre-processing and normalizationsteps in section II. In section III, we adapt a methodologypreviously used to find leadership in pigeon flocks [1] todetect whether some cities consistently follow others. At a highlevel, this methodology involves looking at every dyad (pairof nodes) and running a test to see whether the time-laggedcorrelation is larger in one direction than another. We observethat when we put all of these directed pairs together, theresulting networks are nearly acyclic, which indicates that thegeographic flow of music has a clear direction; this directionsuggests hierarchical structure [2]. We wrap up our inquiryinto the spread of music in section V by discussing the furtherevaluation that is needed to support or refute the significanceof our findings.

An extended version of this paper is available at [3].

II. DATA: PREPROCESSING & NORMALIZATION

Last.fm is a service based around collecting data on thelistening habits of its users. Users install a plug-in on theiraudio players such as iTunes or Winamp which keeps trackof the songs that the user listens to, either on his computeror external device (e.g., an iPod). The plug-in uploads thisinformation to the last.fm database, giving the service a logof what its users listen to. In 2011 alone, last.fm received 11

billion such notifications (called “scrobbles” by last.fm), andsince the service began in 2003 it has received 61 billion.1

Last.fm uses this information in various ways, for example,to compare the similarity of two users’ musical taste, torecommend music, and to create a profile page.

Creating listen matrices. Last.fm aggregates this data intoweekly charts for over 200 metropolitan areas around theworld, and makes the data behind these charts accessiblethrough a public API. For every week and each city, the last.fmAPI indicates the number of unique listeners that each of thatcity’s top 500 artists had. Thus, for each week we have amatrix; in this matrix every city is a row vector with 500 non-zero elements, and each column represents an artist. Becausenot all cities have the same top 500 artists, the matrix hasmore than 500 columns and a large number of zero-valuedelements. Thus, a non-zero entry in this matrix at positioni, j is a positive integer indicating the number of unique usersfrom city i who listened to artist j that week. Zero-valuedentries indicate that the artist had either no listeners, or thatit was not among the 500 most popular artists in the city thatweek. At the time of data collection in late 2011, these chartswere available for 153 weeks.

Because not all last.fm users are active every week, asingle week’s chart can be thought of as a sample of listeningpreferences among last.fm users. In cities that have relativelyfew users, the variance associated with this sample becomeslarge, indicating noise. We find that we can reduce this noiseby summing up the matrices associated with four consecutiveweeks together. This effectively increases the sample size foreach entry in the city-artist matrix described above. For thisreason, in all of the analysis below, we aggregate our datausing a “sliding window” where the width of the window isfour weeks, and the window slides in one-week steps. We callthe matrices associated with these four-week periods listenmatrices. 2

Normalizing listen matrices. Consider the toy examplepresented in fig. 1(A). In this scenario, we imagine there areonly two artists, Radiohead and Coldplay, and two cities, Los

1According to last.fm’s blog post at http://blog.last.fm/2012/01/16/building-best-of-2011.

2While last.fm will not permit us to distribute the data, the program usedto collect it is available at https://github.com/conradlee/lastfm-charts-reader.

2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining

978-0-7695-4799-2/12 $26.00 © 2012 IEEE

DOI 10.1109/ASONAM.2012.237

690

2012 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining

978-0-7695-4799-2/12 $26.00 © 2012 IEEE

DOI 10.1109/ASONAM.2012.237

691

Page 2: [IEEE 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012) - Istanbul (2012.08.26-2012.08.29)] 2012 IEEE/ACM International Conference on Advances

Angeles and Seattle. We want to compare how similar LosAngeles’ preferences are to Seattle’s. In one sense, they aresimilar: each city listens to roughly 50% more Radioheadthan Coldplay. However, if we look at the absolute numberof listens in each city, the cities are far apart simply becauseLos Angeles is much larger than Seattle.

In order to compare the similarities of cities regardlessof their size (i.e., last.fm activity level), we always performEuclidean normalization on the rows of each listen matrix,which ensures that each row vector (i.e., each city’s listeningpreference) has the same length. In other words, the Euclideannormalization puts the row vectors of each listen matrix onthe unit circle, as in fig. 1(B). This type of normalization isstandard in the field of Information Retrieval [4].

Genres. In the analysis below, it will be important todistinguish between various genres of music. In order todetermine which genres exist, and which artists belong to eachgenre, we use last.fm’s tag API. Examples of tags includerock, seen live, alternative, indie, electronic, and pop (theseare the 6 most popular tags). For each tag, the last.fm API alsoindicates the one thousand most popular artists that belong tothat tag. We construct the listen matrix associated with a giventag by including only those columns which represent artistsincluded in the list of top thousand artists for that tag. We willsubsequently refer to the term “tag” by the more conventionalterm “genre”. Some tags, e.g. “seen live” are clearly not genres- these are not considered in the analysis presented here.

Missing data. Inspection of the data indicates that fourteenof the weeks are outliers in the sense that around the world,little if any music was listened to. We believe that duringthese weeks the last.fm scrobbling service was not operating asusual. In the analysis below, we omitted from all measurementsthe contributions that involved one or more of the missingweeks.

III. METHODOLOGY: DETECTING LEADERS ANDFOLLOWERS

To detect leader-follower pairs, we adapt the methodologyof Nagy et al. [1], which is based on finding lagged corre-lations, and was previously applied to finding leadership inpigeon flocks. In fig. 1, we display some of the key steps ofthe method we employ to find leaders and followers. Herewe show made-up data for explanation purposes: we depict ascenario with just two cities, Los Angeles (LA) and Seattle,and two artists. We are interested in determining whether

• LA follows Seattle (in this case we draw the directededge LA → Seattle)

• Seattle follows LA (Seattle → LA), or• neither leads the other (no edge)

If an edge exists, we would also like to assign a weightto that edge which determines the strength of the leader-follower relationship. We now explain how we decide on therelationship type and weight.

Calculating lagged correlations. We begin by performingEuclidean normalization on each city’s listening frequency

10000 15000 20000 25000 30000 35000Radiohead Listens

8000

10000

12000

14000

16000

18000

20000

22000

Col

dpla

yLi

sten

s

Apr

May

Jun Jul

Aug

AprMayJun

Jul Aug

A

L.A.Seattle

0.78 0.80 0.82 0.84 0.86 0.88 0.90Euclid. Normalized Radiohead

0.45

0.50

0.55

0.60

Euc

lid.N

orm

aliz

edC

oldp

lay

v(Apr,May)

v(May,Jun)v(Jun,Jul)

v(Jul,Aug)

v(Apr,May)v(May,Jun)

v(Jun,Jul)

v(Jul,Aug)

B

LA v(Apr,May)Seat. v(May,Jun)

−0.036

LA v(May,Jun)Seat. v(Jun,Jul)

−0.383

LA v(Jun,Jul)Seat. v(Jul,Aug)

0.210C =mean( ) = −0.070

C

Correlation of LA’svelocities &

Seattle’s laggedvelocities

Seat. v(Apr,May)LA v(May,Jun)

0.245

Seat. v(May,Jun)LA v(Jun,Jul)

0.193

Seat. v(Jun,Jul)LA v(Jul,Aug)

0.436C =mean( ) = 0.291

Correlation of Seattle’svelocities &LA’s laggedvelocities

Fig. 1. Calculating lagged correlations (here shown with imaginary datafor ease of explanation). (A) First, for each city, we collect from last.fm thenumber of times that each artist was listened to in a given month. (B) Tobe able to compare cities with different levels of last.fm activity, we nextnormalize the number of listens in each city by that city’s Euclidean norm.We focus on the velocity (change in the normalized artist popularity) fromthe previous month i− 1 to the current month i, denoted as vj(i− 1, i) forcity j, and depicted by the arrows in (B). (C) For each pair of cities (j, k),we measure the similarity of vj(i− 1, i) and vk(i− 2, i− 1) by taking thedot product of these velocities. This yields a list of similarities over time; wedefine the lagged correlation to be the mean of these dot products. In this toyexample, it should be clear from glancing at the trajectories of Seattle and LAthat LA is following Seattle, and not the other way; the correlation measurepresented here successfully indicates this tendency.

691692

Page 3: [IEEE 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012) - Istanbul (2012.08.26-2012.08.29)] 2012 IEEE/ACM International Conference on Advances

vector in every listen matrix, as previously described insection II and visualized in the change from fig. 1(A) tofig. 1(B). Each of the blue arrows in fig. 1(B) is a velocityvseattle(t, t + 1) that represents the change that takes placein the listening habits of Seattle from one month t to thenext month t+1. For example, to find Seattle’s velocity fromJune to July vseattle(June, July), we subtract Seattle’s rowin the normalized listen matrix for time-step June from thecorresponding row from the matrix for July.

As mentioned in section II, each listen matrix is based ona four-week window of last.fm data, which means that tocalculate one of these velocities, we use eight consecutiveweeks (two four-week windows). We successively slide thiseight week period one week forward in time, giving us onevelocity associated with each slide. We are left with a sequenceof velocities for each city.

To measure whether Seattle follows LA, we measure thesimilarity of each of Seattle’s velocities with LA’s velocitiesfrom one month earlier, as in the top half of fig. 1(C). Wemeasure the similarity between two velocities using the dotproduct (as in [1]). We call the average of these laggedsimilarities the correlation of LA’s velocities with Seattle’slagged velocities, where the lag size is one month, and werefer to this measure as C.

In the example displayed in fig. 1, the lag size is fixed atone month. However, there is no reason to believe that thislag size should be the same for all dyads and it would bearbitrary to settle on one month. Along the lines of Nagy etal., for each dyad, we consider lag sizes of 1-5 weeks, andwe choose the one which yields the largest correlation. Wetherefore let the data decide how this parameter ought to beset. In practice the lag size which maximizes the correlationtends to be one week, however there are also cases where thestrongest correlation is at four or five weeks (see blue edgesin fig. 2) – in these cases the correlation tends to be weak.

Deciding which edges to accept. Up to now, the methodologydescribed in this section closely resembles the one used byNagy et al. However, we find it necessary to modify theirfinal two steps, which determine

(1) whether a correlation is strong enough to be accepted(2) the direction the relationship if one exists.

For step (1), Nagy et al. accept only those leader-followerrelationships which have a correlation above some threshold,either 0.5 or 0.9. This criterion is inappropriate in our casebecause the magnitude of the dot products are very small, onthe order of 0.01 to 0.001. They are much smaller because,due to the way we normalize data, cities mostly stand still andmove only slightly from week to week; furthermore we are ina much higher dimensional space. For these reasons it is hardto pick a threshold for the lowest admissible correlation size.Instead, we perform one sample t-test on the distribution ofdot products. If we cannot reject the hypothesis that the meanof the distribution equals zero, then we say no leader-followerrelationship exists.

TABLE ILEADER-FOLLOWER NETWORKS HAVE FEW CYCLES

Region Genre % Edge weight removedto make acyclic

N. America

All 0.0%Indie 1.8%Hip hop 0.0%Rock 0.0%Classic Rock 0.0%

Europe

All 0.0%Indie 0.0%Hip hop 2.2%Rock 0.0%Classic Rock 0.0%

It could be the case for a dyad i, j that after performingstep (1), i appears to follow j and j appears to follow i.While in this case Nagy et al. simply choose the directionthat is larger (even if it is just marginally larger), we arguethat in this situation perhaps neither city is really leading theyother, and instead they are moving together. To make surethere is a clear direction to the leader-follower relationship, weperform a second t-test to make sure that the two correlations(which are means of dot products) are not equal; here weuse a two-sided, paired t-test. If a one correlation is larger,then we accept the leader-follower pair associated with thatcorrelation as a directed edge, otherwise we say no leader-follower relationship exists.

In the following results, we set p = 0.01 for all t-tests. Wenote that our use of t-tests here is heuristic; for example, wedo not test to make sure that the distribution of dot productsis Gaussian (although they do appear reasonably symmetricand we obtained qualitatively the same results when outlierswere removed), and we do not correct for our testing ofmultiple hypotheses. We use the t-tests as a selection criterionto identify the more pronounced leader-follower relationships,not because we rely on their validity in a statistical sense.

IV. RESULTS: THE GEOGRAPHIC FLOW OF MUSIC

In the previous section, we described how we determinewhether a leader-follower relationship exists between twonodes. In each study displayed in fig. 2, we take a subset ofcities, find all follower-relationships among them, and plot theresulting network. The edges point from followers to leadersand are weighted by the lagged correlation, as defined above.

To create the networks in fig. 2, we first choose a genre ofmusic. While it is possible to create a network showing theflow of all genres of music, as we have done in fig. 2a andfig. 3a, we find this has a disadvantage: depending upon thegenre that one considers, contradictory relationships may exist.For example, if we consider hip hop music as in fig. 2c, thenwe see that Atlanta has the most prominent position, whereasif we consider indie music as in fig. 2b, Atlanta has one of theleast prominent positions. By considering all genres at once asin fig. 2a, these trends get washed out by the multi-dimensionalaspect that genre brings to the data.

692693

Page 4: [IEEE 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012) - Istanbul (2012.08.26-2012.08.29)] 2012 IEEE/ACM International Conference on Advances

(a) All Music (b) Indie Music (c) Hip HopFig. 2. Leader-follower network for the twenty most active cities in two Canada and the USA. Within each diagram, the height of the nodes corresponds totheir PageRank, their size to their weighted in-degree. Edge width is determined by the correlation, as defined in section III. Gray edges have a lag time of1, 2, or 3 weeks, blue edges have a lag time of 4 or 5 weeks. Visualizations created using the “status” layout algorithm of the network visualization softwareVisone [5].

(a) All music (b) Indie MusicFig. 3. Leader-follower network for the most active cities in Western Europe. Sizes, positions, and colors as in fig. 2. Zoom-able online.

693694

Page 5: [IEEE 2012 International Conference on Advances in Social Networks Analysis and Mining (ASONAM 2012) - Istanbul (2012.08.26-2012.08.29)] 2012 IEEE/ACM International Conference on Advances

In fig. 2, we show the leader-follower relationships between20 cities in the USA and Canada with the largest numberof active last.fm users. We choose this subset because of thenoise associated with small cities that have insufficient data,and because due to space constraints it is hard to visualizelarge networks. The most significant property visible in thesegraphs is that they are nearly acyclic; for example, fig. 2a hasno edges, and by removing only three edges from fig. 2b,the graph becomes acyclic. In table I, we show that thisproperty holds true for the leader-follower networks createdfrom diverse geographic regions and genres. To calculatethe measure displayed in that table, we first computed thecomplete feedback arc (edge) set (not an approximation),which is the smallest set of edges that, when removed froma graph, make the graph acyclic. We measured the percent ofthe graph’s total weight in the feedback arc set.

We believe that this lack of cycles is not an artifact ofour methodology, which focuses only on dyads and does notconsider the network as a whole. Rather, we believe that thelack of cycles is inherent in the data itself, indicating a cleardirection in the flow of music preferences. Others have arguedthat a system with a strong leadership hierarchy ought to benearly acyclic [1], [2] so the lack of cycles in our networks isa clear validation of the methodology.

For us, the most surprising features of fig. 2 are (1) themiddle ranking positions of some of the largest cities, suchas NYC and LA in fig. 2a and NYC and Chicago in fig. 2band (2) the prominent position of Canadian cities, especiallyin fig. 2b. (For an explanation of the layout positions, see thefigure caption.) While Montreal is known for having producedsome popular indie bands (such as Arcade Fire and WolfParade), this does not necessarily mean that last.fm listenersfrom Montreal would be generally leaders in their taste inindie music; in any case, New York City is presumably hometo more prominent indie artists than Montreal.

While the diagrams in fig. 2 display the leader-followerrelations for a relatively homogeneous cultural region, thosein fig. 3 display these relations in Europe, a region moreculturally and linguistically diverse. It is interesting to note thatmany of the most heavily weighted edges are between citiesin different countries and which speak different languages. Forexample, London, Birmingham, Brighton, and Bristol, have amuch stronger follower relationship with Oslo and Stockholmthan with each other (London’s unremarkable position is alsonoteworthy). Similarly, Cracow and Warsaw do not followeach other, rather their strongest edges point to German andScandinavian cities.

Along the lines of this last observation, it is noteworthy thatin general many of the edges with the largest weights connectcities which were not similar to each other in the hierarchicalclustering which we produced in the extended version of thispaper. For example, the Canadian cities are located far awayfrom the US cities in that clustering, yet here there is a strongflow from the former to the latter. Although pairs of citiessuch as Portland and or NYC and San Francisco are verysimilar in the clustering, they are connected in fig. 2b by only

weak edges. One speculative explanation is that cities whichhave very similar listening habits are largely synchronizedwith each other, and therefore there is little potential for novelinformation to flow between them. For example, the leadingcity in fig. 2b, Montreal, is unique in that the language spokenby the majority is not English but French, a difference whichmay provide it with novel information.

V. DISCUSSION AND FUTURE WORK

Why should we believe that our models of flow, as picturedin the network diagrams displayed in this paper, are valid?Our main piece of evidence is that when all of the leader-follower relationships were put together into a graph, theyformed directed acyclic graphs, which indicate a directionof flow in a strict sense. Furthermore, we noted that if weshuffle our data around so that from week to week the rows ofthe listen matrices are shuffled, our method no longer detectsleader-follower relationships. This indicates at least that ourmethod will not always find edges, regardless of the data putinto it.

On the other hand, we should stress that our results re-flect a work in progress. For example, a relationship canbe statistically significant but at the same time have a verysmall magnitude. We would be more confident of our resultsif we could demonstrate that the model that we create ismeaningfully predictive. That is, given our model of leader-follower relationships among cities, and given a record ofpast listening behavior, we should be able to predict thechanges in listening behavior that will occur in the near-termfuture better than a reasonable baseline predictor. We have notyet demonstrated that our models have this predictive power,although we plan to attempt this validation in future work.

ACKNOWLEDGMENT

This material is based upon works supported by the ScienceFoundation Ireland under Grant No. 08/SRC/I1407: Clique:Graph & Network Analysis Cluster.

REFERENCES

[1] M. Nagy, Z. Akos, D. Biro, and T. Vicsek, “Hierarchical group dynamicsin pigeon flocks.” Nature, vol. 464, no. 7290, pp. 890–3, Apr. 2010.[Online]. Available: http://www.ncbi.nlm.nih.gov/pubmed/20376149

[2] E. Mones, L. Vicsek, and T. Vicsek, “Hierarchy measure for complexnetworks,” Arxiv preprint arXiv:1202.0191, 2012.

[3] C. Lee and P. Cunningham, “The geographic flow of music,” Arxivpreprint arXiv:1204.2677, 2012.

[4] C. Manning, P. Raghavan, and H. Schutze, Introduction to informationretrieval. Cambridge University Press Cambridge, 2008, vol. 1.

[5] U. Brandes and D. Wagner, “Analysis and visualization of social net-works,” Graph drawing software, pp. 321–340, 2004.

694695