http://www.edegan.com/mediawiki/api.php?action=feedcontributions&user=GunnyLiu&feedformat=atomedegan.com - User contributions [en]2021-06-20T18:44:59ZUser contributionsMediaWiki 1.34.2http://www.edegan.com/mediawiki/index.php?title=Property:Group/Administrators&diff=7987Property:Group/Administrators2016-08-05T19:56:16Z<p>GunnyLiu: </p>
<hr />
<div>{{#member: members = User:Alex Jiang, User:Ed, User:RavaliKruthiventi, User:GunnyLiu, User:ShoebMohammed, User:ToddR, User:Amirkp, User:JChen, User:Yael, User:Dayton, User:JamesB, User:MyTornado}}<br />
{{#manage group: assigned to = Group/Administrators}}</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7747Twitterverse Exploration2016-07-28T20:30:51Z<p>GunnyLiu: /* Field Notes */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Report=<br />
''After 3 days+ of reconnaissance, herein lies a comprehensive update on the Twitterverse, Twitter mining and the dream case that we seek from Twitter here at McNair.''<br />
<br />
==Beliefs Update==<br />
===Most importantly, Twitter Mining for McNair should be an aggregate of three approaches.===<br />
<br />
*'''Network Visualization'''<br />
**Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group, and community structures of a given interest group.</blockquote> <br />
<br />
*'''Tweet Analytics'''<br />
**Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. Combined with the '''Network Visualization''', we can learn about events that are unfolding in different parts of the entrepreneurship world, as well as new organizations and topics that appear in the conversation. These new organizations and topics will, in turn, generate the beginnings of new interest networks. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.</blockquote><br />
<br />
*'''Geo Visualization'''<br />
**On a physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have an understanding of the geographical dimension of entrepreneurship activities in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project.</blockquote><br />
<br />
For simplicity, I will refer to the above aggregate as '''Viz&Ana'''<br />
<br />
===Key Ideas===<br />
*'''Viz&Ana: DaaS'''<br />
**While exploring the web, I realized that DaaS firms focus on providing Twitter Viz&Ana services to businesses and individuals to enable data-driven decision-making. In other words, the twitter data they mine offer an user interface for the client to interpret Twitter as an observable phenomenon. Clients exercise their own judgment as to whether a marketing campaign or event organization is successful, and make decisions based on these Viz&Ana.<br />
**To contribute to the research work at McNair, I would propose that we assemble tools and software in the spirit of a DaaS. In other words, Twitter Mining per se is not meaningful. Constructing a working system where researchers can observe the twitterverse, as if interpreting a primary source of data, is meaningful. For data scientists, running statistical analyses on outputs from this working system is meaningful. <br />
<br />
*'''Portability & Flexibility'''<br />
**This is the '''bit''' where we distinguish ourselves dream bigger than a run-of-the-mill SAAS, whose work ends when the Viz&Ana is delivered to the hands of the clients. <br />
**Since the Viz&Ana is for research consumption, further research and analysis must be carried out on the graphs, maps and tables produced by the Viz&Ana. We therefore should do well to avoid blackbox scenarios where beautiful but inflexible graphs are produced but cannot proceed further in the hands of the researchers. Open-source tools, a stronger backend and a good data management system is therefore important considerations when building our Viz&Ana system.<br />
**In other words, I want data structures that can move between softwares, not just a poster to hang on the walls.<br />
<br />
*'''"When measured over time..."'''<br />
**Since twitter represents the movement of trends, it is best interpreted as an organic body of knowledge that is contingent on the passage of time. Any Viz&Ana that we conduct on the twitterverse must be able to be viewed and extracted (and further processed) as a function of '''time'''.<br />
<br />
==Mining Tools==<br />
===Blackboxes===<br />
Before the www revolution, legacy Viz&Ana software started '''in the past''' such as Pajek tend to be blackboxes whose functionality are developed by a dedicated team of commissioned engineers who knew that their target audience are not likely to know code. Many Viz&Ana software, as you will see below, fall into this category.<br />
<br />
===Modules and Scripts===<br />
There is a large community of developers and researchers who are actively involved in developing open-source, free-to-use modules and scripts. Most of the work done by them lie in one of the three aforementioned Twitter Mining approaches. I have not yet explored time-based or webhook-styled modules that we can harness, but am pretty sure that they exist. <br />
<br />
The resources can all be built upon each other, with the help of intermediaries, to create a form of aggregate Viz&Ana that McNair needs. Having limited lived experience with different programming languages and joining modules, I cannot offer optimal advice on how exactly to build them together efficiently. However, they all possess the capability. ''To be further inspected''<br />
<br />
===='''Network Visualization'''====<br />
*[https://pypi.python.org/pypi/sentiment_classifier Collection of R Packages] - see [[Field Notes]] for detail<br />
*[https://sunlightfoundation.com/blog/2012/05/24/tools-for-transparency-a-how-to-guide-for-social-network-analysis-with-nodexl/ Intro to NodeXL] - see [[Field Notes]] for detail<br />
*[http://nodexl.codeplex.com/ NodeXL Canon] - see [[Field Notes]] for detail<br />
*[http://www.smrfoundation.org/scholarship/ Academic Scholarship on NodeXL] - see [[Field Notes]] for detail<br />
<br />
===='''Tweet Analytics'''====<br />
*[https://github.com/mayank93/Twitter-Sentiment-Analysis mayank93's Twitter Sentiment Analysis in python]<br />
*[http://www.nltk.org/ Natural Language Processing Toolkit in python]<br />
*[https://pypi.python.org/pypi/sentiment_classifier Sentiment Classifier in python]<br />
<br />
===='''Geo Visualization'''====<br />
*[https://github.com/ericfischer/datamaps ericfischer's Datamap in C] - see [[Field Notes]] for detail<br />
*[https://www.mapbox.com/blog/visualizing-3-billion-tweets/ Geo Visualization on Mapbox] - see [[Field Notes]] for detail<br />
<br />
==Dream Case==<br />
Picture this: a query into, for instance, <code>#ycombinator at a 7/28/2016 1527hours CST</code> will yield a '''geo-visualized''' world map at the bottom-most layer, indicating activities of tweets associated with #ycombinator. Above the world map, there will be neatly separated communities of nodes and edges '''network-visualized''' to indicate the interest groups talking about this topic. There will also be lists of reports done by '''tweet analytics'''. Each part of the Viz&Ana can then be converted into other data structures and processed by other analysis software.<br />
<br />
=Field Notes=<br />
Developmental<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7746Twitterverse Exploration2016-07-28T20:30:16Z<p>GunnyLiu: /* The Report */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Report=<br />
''After 3 days+ of reconnaissance, herein lies a comprehensive update on the Twitterverse, Twitter mining and the dream case that we seek from Twitter here at McNair.''<br />
<br />
==Beliefs Update==<br />
===Most importantly, Twitter Mining for McNair should be an aggregate of three approaches.===<br />
<br />
*'''Network Visualization'''<br />
**Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group, and community structures of a given interest group.</blockquote> <br />
<br />
*'''Tweet Analytics'''<br />
**Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. Combined with the '''Network Visualization''', we can learn about events that are unfolding in different parts of the entrepreneurship world, as well as new organizations and topics that appear in the conversation. These new organizations and topics will, in turn, generate the beginnings of new interest networks. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.</blockquote><br />
<br />
*'''Geo Visualization'''<br />
**On a physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have an understanding of the geographical dimension of entrepreneurship activities in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project.</blockquote><br />
<br />
For simplicity, I will refer to the above aggregate as '''Viz&Ana'''<br />
<br />
===Key Ideas===<br />
*'''Viz&Ana: DaaS'''<br />
**While exploring the web, I realized that DaaS firms focus on providing Twitter Viz&Ana services to businesses and individuals to enable data-driven decision-making. In other words, the twitter data they mine offer an user interface for the client to interpret Twitter as an observable phenomenon. Clients exercise their own judgment as to whether a marketing campaign or event organization is successful, and make decisions based on these Viz&Ana.<br />
**To contribute to the research work at McNair, I would propose that we assemble tools and software in the spirit of a DaaS. In other words, Twitter Mining per se is not meaningful. Constructing a working system where researchers can observe the twitterverse, as if interpreting a primary source of data, is meaningful. For data scientists, running statistical analyses on outputs from this working system is meaningful. <br />
<br />
*'''Portability & Flexibility'''<br />
**This is the '''bit''' where we distinguish ourselves dream bigger than a run-of-the-mill SAAS, whose work ends when the Viz&Ana is delivered to the hands of the clients. <br />
**Since the Viz&Ana is for research consumption, further research and analysis must be carried out on the graphs, maps and tables produced by the Viz&Ana. We therefore should do well to avoid blackbox scenarios where beautiful but inflexible graphs are produced but cannot proceed further in the hands of the researchers. Open-source tools, a stronger backend and a good data management system is therefore important considerations when building our Viz&Ana system.<br />
**In other words, I want data structures that can move between softwares, not just a poster to hang on the walls.<br />
<br />
*'''"When measured over time..."'''<br />
**Since twitter represents the movement of trends, it is best interpreted as an organic body of knowledge that is contingent on the passage of time. Any Viz&Ana that we conduct on the twitterverse must be able to be viewed and extracted (and further processed) as a function of '''time'''.<br />
<br />
==Mining Tools==<br />
===Blackboxes===<br />
Before the www revolution, legacy Viz&Ana software started '''in the past''' such as Pajek tend to be blackboxes whose functionality are developed by a dedicated team of commissioned engineers who knew that their target audience are not likely to know code. Many Viz&Ana software, as you will see below, fall into this category.<br />
<br />
===Modules and Scripts===<br />
There is a large community of developers and researchers who are actively involved in developing open-source, free-to-use modules and scripts. Most of the work done by them lie in one of the three aforementioned Twitter Mining approaches. I have not yet explored time-based or webhook-styled modules that we can harness, but am pretty sure that they exist. <br />
<br />
The resources can all be built upon each other, with the help of intermediaries, to create a form of aggregate Viz&Ana that McNair needs. Having limited lived experience with different programming languages and joining modules, I cannot offer optimal advice on how exactly to build them together efficiently. However, they all possess the capability. ''To be further inspected''<br />
<br />
===='''Network Visualization'''====<br />
*[https://pypi.python.org/pypi/sentiment_classifier Collection of R Packages] - see [[Field Notes]] for detail<br />
*[https://sunlightfoundation.com/blog/2012/05/24/tools-for-transparency-a-how-to-guide-for-social-network-analysis-with-nodexl/ Intro to NodeXL] - see [[Field Notes]] for detail<br />
*[http://nodexl.codeplex.com/ NodeXL Canon] - see [[Field Notes]] for detail<br />
*[http://www.smrfoundation.org/scholarship/ Academic Scholarship on NodeXL] - see [[Field Notes]] for detail<br />
<br />
===='''Tweet Analytics'''====<br />
*[https://github.com/mayank93/Twitter-Sentiment-Analysis mayank93's Twitter Sentiment Analysis in python]<br />
*[http://www.nltk.org/ Natural Language Processing Toolkit in python]<br />
*[https://pypi.python.org/pypi/sentiment_classifier Sentiment Classifier in python]<br />
<br />
===='''Geo Visualization'''====<br />
*[https://github.com/ericfischer/datamaps ericfischer's Datamap in C] - see [[Field Notes]] for detail<br />
*[https://www.mapbox.com/blog/visualizing-3-billion-tweets/ Geo Visualization on Mapbox] - see [[Field Notes]] for detail<br />
<br />
==Dream Case==<br />
Picture this: a query into, for instance, <code>#ycombinator at a 7/28/2016 1527hours CST</code> will yield a '''geo-visualized''' world map at the bottom-most layer, indicating activities of tweets associated with #ycombinator. Above the world map, there will be neatly separated communities of nodes and edges '''network-visualized''' to indicate the interest groups talking about this topic. There will also be lists of reports done by '''tweet analytics'''. Each part of the Viz&Ana can then be converted into other data structures and processed by other analysis software.<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7745Twitterverse Exploration2016-07-28T20:29:10Z<p>GunnyLiu: /* Dream Case */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Report=<br />
''After 3 days+ of ungoverned reconnaissance, herein lies a comprehensive update of my beliefs regarding the Twitterverse, Twitter mining and the dream case that we seek from Twitter, here at McNair.''<br />
<br />
==Beliefs Update==<br />
===Most importantly, Twitter Mining for McNair should be an aggregate of three approaches.===<br />
<br />
*'''Network Visualization'''<br />
**Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group, and community structures of a given interest group.</blockquote> <br />
<br />
*'''Tweet Analytics'''<br />
**Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. Combined with the '''Network Visualization''', we can learn about events that are unfolding in different parts of the entrepreneurship world, as well as new organizations and topics that appear in the conversation. These new organizations and topics will, in turn, generate the beginnings of new interest networks. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.</blockquote><br />
<br />
*'''Geo Visualization'''<br />
**On a physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have an understanding of the geographical dimension of entrepreneurship activities in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project.</blockquote><br />
<br />
For simplicity, I will refer to the above aggregate as '''Viz&Ana'''<br />
<br />
===Key Ideas===<br />
*'''Viz&Ana: DaaS'''<br />
**While exploring the web, I realized that DaaS firms focus on providing Twitter Viz&Ana services to businesses and individuals to enable data-driven decision-making. In other words, the twitter data they mine offer an user interface for the client to interpret Twitter as an observable phenomenon. Clients exercise their own judgment as to whether a marketing campaign or event organization is successful, and make decisions based on these Viz&Ana.<br />
**To contribute to the research work at McNair, I would propose that we assemble tools and software in the spirit of a DaaS. In other words, Twitter Mining per se is not meaningful. Constructing a working system where researchers can observe the twitterverse, as if interpreting a primary source of data, is meaningful. For data scientists, running statistical analyses on outputs from this working system is meaningful. <br />
<br />
*'''Portability & Flexibility'''<br />
**This is the '''bit''' where we distinguish ourselves dream bigger than a run-of-the-mill SAAS, whose work ends when the Viz&Ana is delivered to the hands of the clients. <br />
**Since the Viz&Ana is for research consumption, further research and analysis must be carried out on the graphs, maps and tables produced by the Viz&Ana. We therefore should do well to avoid blackbox scenarios where beautiful but inflexible graphs are produced but cannot proceed further in the hands of the researchers. Open-source tools, a stronger backend and a good data management system is therefore important considerations when building our Viz&Ana system.<br />
**In other words, I want data structures that can move between softwares, not just a poster to hang on the walls.<br />
<br />
*'''"When measured over time..."'''<br />
**Since twitter represents the movement of trends, it is best interpreted as an organic body of knowledge that is contingent on the passage of time. Any Viz&Ana that we conduct on the twitterverse must be able to be viewed and extracted (and further processed) as a function of '''time'''.<br />
<br />
==Mining Tools==<br />
===Blackboxes===<br />
Before the www revolution, legacy Viz&Ana software started '''in the past''' such as Pajek tend to be blackboxes whose functionality are developed by a dedicated team of commissioned engineers who knew that their target audience are not likely to know code. Many Viz&Ana software, as you will see below, fall into this category.<br />
<br />
===Modules and Scripts===<br />
There is a large community of developers and researchers who are actively involved in developing open-source, free-to-use modules and scripts. Most of the work done by them lie in one of the three aforementioned Twitter Mining approaches. I have not yet explored time-based or webhook-styled modules that we can harness, but am pretty sure that they exist. <br />
<br />
The resources can all be built upon each other, with the help of intermediaries, to create a form of aggregate Viz&Ana that McNair needs. Having limited lived experience with different programming languages and joining modules, I cannot offer optimal advice on how exactly to build them together efficiently. However, they all possess the capability. ''To be further inspected''<br />
<br />
===='''Network Visualization'''====<br />
*[https://pypi.python.org/pypi/sentiment_classifier Collection of R Packages] - see [[Field Notes]] for detail<br />
*[https://sunlightfoundation.com/blog/2012/05/24/tools-for-transparency-a-how-to-guide-for-social-network-analysis-with-nodexl/ Intro to NodeXL] - see [[Field Notes]] for detail<br />
*[http://nodexl.codeplex.com/ NodeXL Canon] - see [[Field Notes]] for detail<br />
*[http://www.smrfoundation.org/scholarship/ Academic Scholarship on NodeXL] - see [[Field Notes]] for detail<br />
<br />
===='''Tweet Analytics'''====<br />
*[https://github.com/mayank93/Twitter-Sentiment-Analysis mayank93's Twitter Sentiment Analysis in python]<br />
*[http://www.nltk.org/ Natural Language Processing Toolkit in python]<br />
*[https://pypi.python.org/pypi/sentiment_classifier Sentiment Classifier in python]<br />
<br />
===='''Geo Visualization'''====<br />
*[https://github.com/ericfischer/datamaps ericfischer's Datamap in C] - see [[Field Notes]] for detail<br />
*[https://www.mapbox.com/blog/visualizing-3-billion-tweets/ Geo Visualization on Mapbox] - see [[Field Notes]] for detail<br />
<br />
==Dream Case==<br />
Picture this: a query into, for instance, <code>#ycombinator at a 7/28/2016 1527hours CST</code> will yield a '''geo-visualized''' world map at the bottom-most layer, indicating activities of tweets associated with #ycombinator. Above the world map, there will be neatly separated communities of nodes and edges '''network-visualized''' to indicate the interest groups talking about this topic. There will also be lists of reports done by '''tweet analytics'''. Each part of the Viz&Ana can then be converted into other data structures and processed by other analysis software.<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7744Twitterverse Exploration2016-07-28T20:27:21Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Report=<br />
''After 3 days+ of ungoverned reconnaissance, herein lies a comprehensive update of my beliefs regarding the Twitterverse, Twitter mining and the dream case that we seek from Twitter, here at McNair.''<br />
<br />
==Beliefs Update==<br />
===Most importantly, Twitter Mining for McNair should be an aggregate of three approaches.===<br />
<br />
*'''Network Visualization'''<br />
**Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group, and community structures of a given interest group.</blockquote> <br />
<br />
*'''Tweet Analytics'''<br />
**Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. Combined with the '''Network Visualization''', we can learn about events that are unfolding in different parts of the entrepreneurship world, as well as new organizations and topics that appear in the conversation. These new organizations and topics will, in turn, generate the beginnings of new interest networks. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.</blockquote><br />
<br />
*'''Geo Visualization'''<br />
**On a physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have an understanding of the geographical dimension of entrepreneurship activities in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project.</blockquote><br />
<br />
For simplicity, I will refer to the above aggregate as '''Viz&Ana'''<br />
<br />
===Key Ideas===<br />
*'''Viz&Ana: DaaS'''<br />
**While exploring the web, I realized that DaaS firms focus on providing Twitter Viz&Ana services to businesses and individuals to enable data-driven decision-making. In other words, the twitter data they mine offer an user interface for the client to interpret Twitter as an observable phenomenon. Clients exercise their own judgment as to whether a marketing campaign or event organization is successful, and make decisions based on these Viz&Ana.<br />
**To contribute to the research work at McNair, I would propose that we assemble tools and software in the spirit of a DaaS. In other words, Twitter Mining per se is not meaningful. Constructing a working system where researchers can observe the twitterverse, as if interpreting a primary source of data, is meaningful. For data scientists, running statistical analyses on outputs from this working system is meaningful. <br />
<br />
*'''Portability & Flexibility'''<br />
**This is the '''bit''' where we distinguish ourselves dream bigger than a run-of-the-mill SAAS, whose work ends when the Viz&Ana is delivered to the hands of the clients. <br />
**Since the Viz&Ana is for research consumption, further research and analysis must be carried out on the graphs, maps and tables produced by the Viz&Ana. We therefore should do well to avoid blackbox scenarios where beautiful but inflexible graphs are produced but cannot proceed further in the hands of the researchers. Open-source tools, a stronger backend and a good data management system is therefore important considerations when building our Viz&Ana system.<br />
**In other words, I want data structures that can move between softwares, not just a poster to hang on the walls.<br />
<br />
*'''"When measured over time..."'''<br />
**Since twitter represents the movement of trends, it is best interpreted as an organic body of knowledge that is contingent on the passage of time. Any Viz&Ana that we conduct on the twitterverse must be able to be viewed and extracted (and further processed) as a function of '''time'''.<br />
<br />
==Mining Tools==<br />
===Blackboxes===<br />
Before the www revolution, legacy Viz&Ana software started '''in the past''' such as Pajek tend to be blackboxes whose functionality are developed by a dedicated team of commissioned engineers who knew that their target audience are not likely to know code. Many Viz&Ana software, as you will see below, fall into this category.<br />
<br />
===Modules and Scripts===<br />
There is a large community of developers and researchers who are actively involved in developing open-source, free-to-use modules and scripts. Most of the work done by them lie in one of the three aforementioned Twitter Mining approaches. I have not yet explored time-based or webhook-styled modules that we can harness, but am pretty sure that they exist. <br />
<br />
The resources can all be built upon each other, with the help of intermediaries, to create a form of aggregate Viz&Ana that McNair needs. Having limited lived experience with different programming languages and joining modules, I cannot offer optimal advice on how exactly to build them together efficiently. However, they all possess the capability. ''To be further inspected''<br />
<br />
===='''Network Visualization'''====<br />
*[https://pypi.python.org/pypi/sentiment_classifier Collection of R Packages] - see [[Field Notes]] for detail<br />
*[https://sunlightfoundation.com/blog/2012/05/24/tools-for-transparency-a-how-to-guide-for-social-network-analysis-with-nodexl/ Intro to NodeXL] - see [[Field Notes]] for detail<br />
*[http://nodexl.codeplex.com/ NodeXL Canon] - see [[Field Notes]] for detail<br />
*[http://www.smrfoundation.org/scholarship/ Academic Scholarship on NodeXL] - see [[Field Notes]] for detail<br />
<br />
===='''Tweet Analytics'''====<br />
*[https://github.com/mayank93/Twitter-Sentiment-Analysis mayank93's Twitter Sentiment Analysis in python]<br />
*[http://www.nltk.org/ Natural Language Processing Toolkit in python]<br />
*[https://pypi.python.org/pypi/sentiment_classifier Sentiment Classifier in python]<br />
<br />
===='''Geo Visualization'''====<br />
*[https://github.com/ericfischer/datamaps ericfischer's Datamap in C] - see [[Field Notes]] for detail<br />
*[https://www.mapbox.com/blog/visualizing-3-billion-tweets/ Geo Visualization on Mapbox] - see [[Field Notes]] for detail<br />
<br />
==Dream Case==<br />
===Picture this: a query into, for instance, <code>#ycombinator at a 7/28/2016 1527hours CST</code> will yield a '''geo-visualized''' world map at the bottom-most layer, indicating activities of tweets associated with #ycombinator. Above the world map, there will be neatly separated communities of nodes and edges '''network-visualized''' to indicate the interest groups talking about this topic. There will also be lists of reports done by '''tweet analytics'''. Each part of the Viz&Ana can then be converted into other data structures and processed by other analysis software. ===<br />
Imagine that.<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7742Twitterverse Exploration2016-07-28T20:16:44Z<p>GunnyLiu: /* The Coming-of-age */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Report=<br />
''After 3 days+ of ungoverned reconnaissance, herein lies a comprehensive update of my beliefs regarding the Twitterverse, Twitter mining and the dream case that we seek from Twitter, here at McNair.''<br />
<br />
==Beliefs Update==<br />
===Most importantly, Twitter Mining for McNair should be an aggregate of three approaches.===<br />
<br />
*'''Network Visualization'''<br />
**Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group, and community structures of a given interest group.</blockquote> <br />
<br />
*'''Tweet Analytics'''<br />
**Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. Combined with the '''Network Visualization''', we can learn about events that are unfolding in different parts of the entrepreneurship world, as well as new organizations and topics that appear in the conversation. These new organizations and topics will, in turn, generate the beginnings of new interest networks. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.</blockquote><br />
<br />
*'''Geo Visualization'''<br />
**On a physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have an understanding of the geographical dimension of entrepreneurship activities in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project.</blockquote><br />
<br />
For simplicity, I will refer to the above aggregate as '''Viz&Ana'''<br />
<br />
===Key Ideas===<br />
*'''Viz&Ana: DaaS'''<br />
**While exploring the web, I realized that DaaS firms focus on providing Twitter Viz&Ana services to businesses and individuals to enable data-driven decision-making. In other words, the twitter data they mine offer an user interface for the client to interpret Twitter as an observable phenomenon. Clients exercise their own judgment as to whether a marketing campaign or event organization is successful, and make decisions based on these Viz&Ana.<br />
**To contribute to the research work at McNair, I would propose that we assemble tools and software in the spirit of a DaaS. In other words, Twitter Mining per se is not meaningful. Constructing a working system where researchers can observe the twitterverse, as if interpreting a primary source of data, is meaningful. For data scientists, running statistical analyses on outputs from this working system is meaningful. <br />
<br />
*'''Portability & Flexibility'''<br />
**This is the '''bit''' where we distinguish ourselves dream bigger than a run-of-the-mill SAAS, whose work ends when the Viz&Ana is delivered to the hands of the clients. <br />
**Since the Viz&Ana is for research consumption, further research and analysis must be carried out on the graphs, maps and tables produced by the Viz&Ana. We therefore should do well to avoid blackbox scenarios where beautiful but inflexible graphs are produced but cannot proceed further in the hands of the researchers. Open-source tools, a stronger backend and a good data management system is therefore important considerations when building our Viz&Ana system.<br />
**In other words, I want data structures that can move between softwares, not just a poster to hang on the walls.<br />
<br />
*'''"When measured over time..."'''<br />
**Since twitter represents the movement of trends, it is best interpreted as an organic body of knowledge that is contingent on the passage of time. Any Viz&Ana that we conduct on the twitterverse must be able to be viewed and extracted (and further processed) as a function of '''time'''.<br />
<br />
==Mining Tools==<br />
===Blackboxes===<br />
Before the www revolution, legacy Viz&Ana software started '''in the past''' such as Pajek tend to be blackboxes whose functionality are developed by a dedicated team of commissioned engineers who knew that their target audience are not likely to know code. Many Viz&Ana software, as you will see below, fall into this category.<br />
<br />
===Modules and Scripts===<br />
There is a large community of developers and researchers who are actively involved in developing open-source, free-to-use modules and scripts. Most of the work done by them lie in one of the three aforementioned Twitter Mining approaches. I have not yet explored time-based or webhook-styled modules that we can harness, but am pretty sure that they exist. <br />
<br />
The resources can all be built upon each other, with the help of intermediaries, to create a form of aggregate Viz&Ana that McNair needs. Having limited lived experience with different programming languages and joining modules, I cannot offer optimal advice on how exactly to build them together efficiently. However, they all possess the capability. ''To be further inspected''<br />
<br />
===='''Network Visualization'''====<br />
*[https://pypi.python.org/pypi/sentiment_classifier Collection of R Packages] - see [[Field Notes]] for detail<br />
*[https://sunlightfoundation.com/blog/2012/05/24/tools-for-transparency-a-how-to-guide-for-social-network-analysis-with-nodexl/ Intro to NodeXL] - see [[Field Notes]] for detail<br />
*[http://nodexl.codeplex.com/ NodeXL Canon] - see [[Field Notes]] for detail<br />
*[http://www.smrfoundation.org/scholarship/ Academic Scholarship on NodeXL] - see [[Field Notes]] for detail<br />
<br />
===='''Tweet Analytics'''====<br />
*[https://github.com/mayank93/Twitter-Sentiment-Analysis mayank93's Twitter Sentiment Analysis in python]<br />
*[http://www.nltk.org/ Natural Language Processing Toolkit in python]<br />
*[https://pypi.python.org/pypi/sentiment_classifier Sentiment Classifier in python]<br />
<br />
===='''Geo Visualization'''====<br />
*[https://github.com/ericfischer/datamaps ericfischer's Datamap in C] - see [[Field Notes]] for detail<br />
*[https://www.mapbox.com/blog/visualizing-3-billion-tweets/ Geo Visualization on Mapbox] - see [[Field Notes]] for detail<br />
<br />
<br />
==Dream Case==<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7738Twitterverse Exploration2016-07-28T19:48:22Z<p>GunnyLiu: /* Beliefs Update */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Coming-of-age=<br />
''After 3 days+ of ungoverned reconnaissance, herein lies a comprehensive update of my beliefs regarding the Twitterverse, Twitter mining and the dream case that we seek from Twitter, here at McNair.''<br />
<br />
==Beliefs Update==<br />
===Most importantly, Twitter Mining for McNair should be an aggregate of three approaches.===<br />
<br />
*'''Network Visualization'''<br />
**Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group, and community structures of a given interest group.</blockquote> <br />
<br />
*'''Tweet Analytics'''<br />
**Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. Combined with the '''Network Visualization''', we can learn about events that are unfolding in different parts of the entrepreneurship world, as well as new organizations and topics that appear in the conversation. These new organizations and topics will, in turn, generate the beginnings of new interest networks. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.</blockquote><br />
<br />
*'''Geo Visualization'''<br />
**On a physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have an understanding of the geographical dimension of entrepreneurship activities in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project.</blockquote><br />
<br />
For simplicity, I will refer to the above aggregate as Viz&Ana<br />
<br />
===Key Ideas===<br />
*'''Visualization and Analytics: DaaS'''<br />
**While exploring the web, I realized that DaaS firms focus on providing Twitter visualization and analytics services to businesses and individuals to enable data-driven decision-making. In other words, the twitter data they mine offer an user interface for the client to interpret Twitter as an observable phenomenon. Clients exercise their own judgment as to whether a marketing campaign or event organization is successful, and make decisions based on these visualization and analytics.<br />
**To contribute to the research work at McNair, I would propose that we assemble tools and software in the spirit of a DaaS. In other words, Twitter Mining per se is not meaningful. Constructing a working system where researchers can observe the twitterverse, as if interpreting a primary source of data, is meaningful. For data scientists, running statistical analyses on outputs from this working system is meaningful. <br />
<br />
*'''Portability & Flexibility'''<br />
**This is the '''bit''' where we distinguish ourselves dream bigger than a run-of-the-mill SAAS, whose work ends when the viz/analy is delivered to the hands of the clients. <br />
**Since the Viz&Ana is for research consumption, further research and analysis must be carried out on the graphs, maps and tables produced by the Viz&Ana. We therefore should do well to avoid blackbox scenarios where beautiful but inflexible graphs are produced but cannot proceed further in the hands of the researchers. Open-source tools, a stronger backend and a good data management system is therefore important considerations when building our Viz&Ana system.<br />
**In other words, I want data structures that can move between softwares, not just a poster to hang on the walls.<br />
<br />
*'''"When measured over time...'''<br />
**Since twitter represents the movement of trends, it is best interpreted as an organic body of knowledge that is contingent on the passage of time. Any Viz&Ana that we conduct on the twitterverse must be able to be viewed as function of '''time'''.<br />
<br />
==Twitter Mining==<br />
<br />
==Dream Case==<br />
<br />
<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7735Twitterverse Exploration2016-07-28T19:20:20Z<p>GunnyLiu: /* Beliefs Update */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Coming-of-age=<br />
''After 3 days+ of ungoverned reconnaissance, herein lies a comprehensive update of my beliefs regarding the Twitterverse, Twitter mining and the dream case that we seek from Twitter, here at McNair.''<br />
<br />
==Beliefs Update==<br />
<br />
*Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group.</blockquote> <br />
<br />
*Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. From tweets, we can learn about events that are unfolding in the entrepreneurship world, as well as new organizations that appear in the conversation. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.</blockquote><br />
<br />
*On a even more physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have a better picture of the ongoings in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project.<br />
<br />
==Twitter Mining==<br />
<br />
==Dream Case==<br />
<br />
<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7734Twitterverse Exploration2016-07-28T19:19:50Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Coming-of-age=<br />
''After 3 days+ of ungoverned reconnaissance, herein lies a comprehensive update of my beliefs regarding the Twitterverse, Twitter mining and the dream case that we seek from Twitter, here at McNair.''<br />
<br />
==Beliefs Update==<br />
<br />
*Fundamentally, one ought to think of Twitter as an interest group, not a bona fide social network. Consider this: Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group.</blockquote> <br />
<br />
*Digging a little deeper beyond this superficial exchange, we come to a point where we need to think qualitatively about tweets. What people care about reflects some material facts about their material selves. Tweets containing hashtags such as #kpceoworkshop, for instance, tells us which people are attending the event physically and which people are passing commentary on it. When a startup has an IPO/Acquisition, it will attract a tremendous volume of mentions. When the presidential candidates talk about their technology policies, the entrepreneurship twitterverse responds. <br />
<blockquote>This is the next level of Twitter mining, often associated with Natural Language Processing techniques: '''Tweet Analytics'''. From tweets, we can learn about events that are unfolding in the entrepreneurship world, as well as new organizations that appear in the conversation. When measured over time, we can get a handle on the up-and-coming stars in the field, and emerging trends that are of note.<br />
<br />
*On a even more physical level, tweets contain geo-information such as @user's home location and the tweet-from location. Through this, we stand to learn about the people's interests stratified by location. When combined with the former two forms of twitter mining, it can enhance what we know about physically-bound social dynamics and physically-bound shifts in interest and opinions.<br />
<blockquote>'''Geo Visualization''' is the process of mapping tweets to a real map of the Earth. Applying '''tweet analytics''' and '''network visualization''' to it, we stand to have a better picture of the ongoings in terms of peoeple, organizations and events in particular places, for instance Palo Alto, CA or Austin, TX. When measured over time, we can observe the crests and troughs of activity in these places. This would be extremely promising especially for the '''HUBS''' research project. <br />
<br />
<br />
==Twitter Mining==<br />
<br />
==Dream Case==<br />
<br />
<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7717Twitterverse Exploration2016-07-28T17:33:21Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=The Coming-of-age=<br />
''After 3 days+ of ungoverned reconnaissance, herein lies a comprehensive update of my beliefs regarding the Twitterverse, Twitter mining and the dream case that we seek from Twitter, here at McNair.''<br />
<br />
==Beliefs Update==<br />
*Fundamentally, one ought to think of Twitter as an interest group, not a social network. Analogously, Twitter represents the degree of interest in, for instance, '''#ycombinator''', not the stable business and personal connections made to and fro '''@ycombinator'''. It also houses everyone from the very important @barackobama to the fictional and frivolous @homersimpson. At the outset, Twitter represent trends than material fact. The following-follower relationship is mono-directional and voyeuristic, representing what people care and think about, instead of who they really are and what they really do. Twitter activity happens at the speed of thought (140 chars) and represents our rapidly-changing minds and perceptions. <br />
<blockquote>At this level, let's consider the classical aspect of Twitting mining: ''Network Visualization''. This is sociological and concerned with the self-organization of interest-based communities. It primarily provides us with a sense of social roles in an interest group; broadcastor vs receiver, influencer vs influenced. We can also learn about the quantity of interest in a social group, and, when measured over time, the delta/changes in this quantity within the group. We gain knowledge about trends that rise and fall, people that move in and out of the interest group.</blockquote> <br />
*Digging a little deeper beyond the superficial exchange, we think qualitatively about tweets. What people care about reflects some material facts about their material selves. , , for instance, which accelerator signed with To mine Twitter, therefore, is to be interested in trends. <br />
*The three most prominent, popular and important forms of Twitter mining can be classified loosely into 3 categories:<br />
#Twitter analytics <br />
<br />
==Twitter Mining==<br />
<br />
==Dream Case==<br />
<br />
<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7711Twitterverse Exploration2016-07-28T16:13:11Z<p>GunnyLiu: /* Inspiration, or the "Dream Case" */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|300px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|300px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7710Twitterverse Exploration2016-07-28T16:12:46Z<p>GunnyLiu: /* Overall graph metrics */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|800px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7709Twitterverse Exploration2016-07-28T16:10:14Z<p>GunnyLiu: /* In a nutshell */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|800px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7708Twitterverse Exploration2016-07-28T16:09:25Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|250px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7707Twitterverse Exploration2016-07-28T16:09:07Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|700px|none]]<br />
[[File:Capture 21.PNG|400px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7706Twitterverse Exploration2016-07-28T16:08:44Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|500px|none]]<br />
[[File:Capture 21.PNG|500px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7705Twitterverse Exploration2016-07-28T16:08:16Z<p>GunnyLiu: /* Geo-Visualization */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
In layman terms, this is known as '''''mapping.'''''<br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]<br />
<br />
====Limitations====<br />
*''aforementioned github tools are written in C''<br />
*''data cleaning and processing for Mapbox was done primarily by data firm [https://gnip.com/ GNIP], a black box.''<br />
*''unsure of the data structures that are used in this suite''</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7703Twitterverse Exploration2016-07-28T16:02:56Z<p>GunnyLiu: /* The Mapbox Suite */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
<blockquote>In layman terms, mapping.</blockquote><br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>"To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group."</blockquote><br />
[[File:Capture 26.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7702Twitterverse Exploration2016-07-28T16:01:55Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
<blockquote>In layman terms, mapping.</blockquote><br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group.</blockquote><br />
[[File:Capture 26.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7701Twitterverse Exploration2016-07-28T16:01:37Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote><br />
<br />
==Geo-Visualization==<br />
<blockquote>In layman terms, mapping.</blockquote><br />
While there are a large collection of geo-visualization tools available on github, I have listed here several collections that stand out in terms of:<br />
*'''Flexibility'''<br />
*'''Portability'''<br />
*'''Aesthetic'''<br />
I imagine that geo-visualizations projects we do at McNair should offer beautiful, accessible graphic outputs as well as launchpad/integration with other analysis tools. <br />
<br />
===The Mapbox Suite===<br />
====In a nutshell====<br />
*Most aesthetically pleasing geo-visualization output I have seen, thus far<br />
*Open-source technology from end-to-end<br />
*Researcher-friendly - i.e. geo-viz built on mapbox creates a information-rich and nuanced UI for researchers to play around with/lookup the data that they seek. CEO Eric Gunderson puts it in some beautiful words: "(mapbox visualizations) let you explore the stories of space, language, and access to technology." <br />
<br />
====How it works====<br />
We need:<br />
*Raw access to the Twitter firehose <br />
*Billions of tweets<br />
*Tweet processor - '''in addition to geo-data, we can visualize the language, mobile device type and other data stored in tweets'''<br />
*De-duplicator [https://github.com/ericfischer/geotools/blob/master/cleanse.c Geotools on github by data artist Eric Fischer] - reduce overlapping geo-data<br />
*Raw map tiles generator [https://github.com/ericfischer/datamaps Datamaps on github by data artist Eric Fischer]<br />
*MB tiles compiler [https://github.com/mapbox/mbutil Mapbox Utilities on github] - formatting sync<br />
*Upload tool [https://www.mapbox.com/tilemill/ Tilemill]<br />
*Mapbox itself, which includes Mapbox.js - creates UI for researchers to view, use and extract information from the maps we built<br />
<br />
====Demo====<br />
The following map identifies locals from tourists who tweets in the Greater NYC<br />
<blockquote>To make this map, Tweets are grouped by user and sorted into locals—who post in one city for one consecutive month—and tourists—whose tweets are center in another city. Relatively inactive users simply don’t appear on the map, since we can’t confidently determine their group.</blockquote><br />
[[File:Capture 27.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=File:Capture_26.PNG&diff=7698File:Capture 26.PNG2016-07-28T15:59:52Z<p>GunnyLiu: </p>
<hr />
<div></div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=File:Capture_30.PNG&diff=7678File:Capture 30.PNG2016-07-28T05:17:33Z<p>GunnyLiu: </p>
<hr />
<div></div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7677Twitterverse Exploration2016-07-28T05:17:01Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?<br />
<br />
==Famous Classic Modelling Tools==<br />
PAJEK and UCINET are two of the most widely-used modelling toolkits on the internet. They are both blackboxes with a GUI, but also portable in the sense that their output can be '''easily converted for further analysis in MSExcel, SPSS and R'''<br />
<br />
===PAJEK===<br />
*Open-source, free and has been the recipient of numerous software awards. Numerous books have been written about this tool.<br />
*Most obvious advantage being:<br />
##Scale-ability - ''handles a billion vertices (more than we will ever need)''<br />
##Speed - ''recent release of PAJEK XXL reduced processing time for 2 or 3 times''<br />
##Algorithms - ''handles classic algorithmic operations such as the shortest-path problem''<br />
##Decomposition - ''(recursive) decomposition of a large network into several smaller networks that can be treated further using more sophisticated methods'' <br />
*Unlike other OOP's, Pajek has some very unique datatypes<br />
<blockquote>network (graph); partition (nominal or ordinal properties of vertices); vector (numerical properties of vertices); cluster (subset of vertices); permutation (reordering of vertices, ordinal properties); and hierarchy (general tree structure on vertices)</blockquote><br />
*Powerful graph theory operations<br />
[[File:Capture 30.PNG|600px|none]]<br />
*Unique network models<br />
**Temporal networks - '''''networks that change over time'''''<br />
**Multirelational networks - '''''different set of relations imposed on the same set of vertices'''''<br />
**Signed networks - '''''networks with positive and negative lines'''''<br />
*Powerful visualization support<br />
<blockquote>Kamada-Kawai optimization, Fruchterman Reingold optimization, VOS mapping, Pivot MDS, drawing in layers, FishEye transformation. Layouts obtained by Pajek can be exported to different 2D or 3D output formats (e.g., SVG, EPS, X3D, VOSViewer, Mage,…). Special viewers and editors for these formats are available (e.g., inkscape, GSView, instantreality, KiNG,…)</blockquote></div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7676Twitterverse Exploration2016-07-28T04:39:39Z<p>GunnyLiu: /* Others */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**'''DREAM CASE''':<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7675Twitterverse Exploration2016-07-28T04:38:38Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
[https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf Herein lies a great introduction to R for programmers already familiar with OOP]<br />
igraph<br />
network<br />
statnet<br />
tnet<br />
rsiena<br />
sna<br />
<br />
===In a nutshell===<br />
*Many R packages include social media analysis functionality<br />
*The advantage of using R, instead of a blackbox nice-UI, is R's portability and flexibility. Data can move easily between packages and into other software such as MSExcel or SPSS (Statistical Package for the Social Sciences).<br />
*According to the R community, it is widely held that despite their difference in specific functionalities, one can achieve all basic operations and visualization needs with any one of these R packages<br />
*For all R-based analysis, we have to use our in-house [[Twitter Webcrawler (Tool)]] to grab raw data and convert them into appropriate structures for R consumption '''(unsure)'''<br />
*Typically, they are all OOP with graphs, nodes and edges as objects<br />
<br />
===Features and Review===<br />
====igraph====<br />
*Powerful, feature-rich library <br />
*https://github.com/igraph/igraph igraph on Github]<br />
*[http://igraph.org/ igraph on its own domain]<br />
*Also available for '''Py''' and '''C'''<br />
*Known for ease of calculating basic graph metrics such as:<br />
**<code>g.edge_betweeness()</code><br />
**<code>g.degree()</code><br />
**<code>g.pagerank()</code><br />
**<code>g.betweenness()</code><br />
**<code>g.select()</code> to enable easy node/edge selection<br />
*Known for possessing community detection algorithm (e.g. Newman-Girvan)<br />
<br />
===statnet===<br />
*Implements recent advances in statistical modelling of networks - ''unsure if we need such high levels of sophistication in graph theory implementation''.<br />
*Focuses on '''statistical modelling''' of network data<br />
*Includes libraries <code>network</code>, <code>sna</code> which stands for naturally, '''Social Media Analysis'''<br />
**3-D graph plot<br />
**Subgraph census routines, including component information, paths/cycles/cliques, removing isolates<br />
**Positional Analysis<br />
*Unlike igraph, statnet is developed by a team of statisticians from the University of Washington. It is thus heavy on the statistical analysis side.<br />
**ERGMs model<br />
***Exponential family Random Graph Models<br />
***Advanced technique associated with analyzing data esp. in social networks<br />
***Statistical model operates on the premise that all alternative networks are to be considered as much as the observed one. Alternative networks are, for e.g., generated through the ''Degree Preserving Randomization'' method.<br />
**Includes tools for model estimation, model evaluation, model-based network simulation, and network visualization. <br />
***Broad functionalities powered by central MCMC (Markov Chain Monte Carlo) algorithm<br />
<br />
===Others===<br />
*'''tnet'''<br />
**Two-mode networks ''(i.e. rows and columns of a two-mode matrix are different entities; e.g. persons vs. organizations)''<br />
*'''RSiena'''<br />
**Actor-oriented model of network dynamics<br />
***Extremely theoretical and, presently, academic discipline.<br />
***Addresses the very realistic question of networks as an evolving system driven by actors (nodes of twitter users, in our case). <br />
***Stochastic; statistical modelling, Markov Chain<br />
**DREAM CASE:<br />
***Could we use this modelling technique to predict future twitter trends of a the entrepreneurship interest group?</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7641Twitterverse Exploration2016-07-27T21:44:04Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]<br />
<br />
==R Packages Galore==<br />
<br />
===In a nutshell===<br />
*There exists many R packages dedicated to mapping twitter networks<br />
*Unlike NodeXL, we have to use our in-house twitter webcrawler to grab data from twitter, and another '''(yet to be found)''' library to process twitter data into lists of nodes and edges, depending on the questions that we want to ask. (e.g. go through 20,000 tweets and form an edge for every mention)<br />
**'''igraph'''<br />
***Powerful, feature-rich library for network analysis<br />
***[https://github.com/igraph/igraph igraph on Github]<br />
***[http://igraph.org/ igraph on its own domain]<br />
***Available for '''R''', '''Py''' and '''C'''<br />
<br />
===Features, from a python POV===<br />
*OOP with graphs, nodes and edges as objects<br />
**Nodes <code>g.vs()</code> and edges <code>g.es()</code> can take on user-assigned attributes, each one easily retrieveable one call away<br />
**Graphs <code>g</code> has graph properties such as:<br />
***<code>g.edge_betweeness()</code><br />
***<code>g.degree()</code><br />
***<code>g.pagerank()</code><br />
***<code>g.betweenness()</code><br />
***<code>g.select()</code> to enable easy node/edge selection<br />
*In-built layout</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7623Twitterverse Exploration2016-07-27T20:54:39Z<p>GunnyLiu: /* Limitations */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a '''black box''' - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's '''unclear how portable our output data is'''<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7618Twitterverse Exploration2016-07-27T20:49:21Z<p>GunnyLiu: /* NodeXL */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|1000px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7616Twitterverse Exploration2016-07-27T20:48:47Z<p>GunnyLiu: /* Features and Review */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1500px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7614Twitterverse Exploration2016-07-27T20:48:30Z<p>GunnyLiu: /* Features and Review */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|1000px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7611Twitterverse Exploration2016-07-27T20:48:08Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7609Twitterverse Exploration2016-07-27T20:47:47Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|900px|none]]<br />
[[File:Capture 21.PNG|300px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7608Twitterverse Exploration2016-07-27T20:47:13Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|left]]<br />
[[File:Capture 21.PNG|400px|right]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=File:Capture_21.PNG&diff=7607File:Capture 21.PNG2016-07-27T20:46:43Z<p>GunnyLiu: </p>
<hr />
<div></div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7606Twitterverse Exploration2016-07-27T20:44:45Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Field Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|left]]<br />
[[File:Capture 21.PNG|600px|right]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7605Twitterverse Exploration2016-07-27T20:43:43Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**Test case by <code>www.pewinternet.org</code><br />
***User attempted to graph the community activity regarding the topic '''"pew internet"'''<br />
***User used search string '''"pew internet"''' over a fixed period of ''58 days''<br />
***Output graph nodes are created for each @shortname on the broadcasting or receiving end of tweets that include '''"pew internet"'''. Output graph edges are created for each mention and reply that appeared over the course of the time bracket. <br />
****Graph edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). <br />
****The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|left]]<br />
[[File:Capture 21.PNG|600px|right]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7604Twitterverse Exploration2016-07-27T20:40:55Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**In the following test case done by <code>www.pewinternet.org</code>, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|left]]<br />
[[File:Capture 21.PNG|600px|right]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7603Twitterverse Exploration2016-07-27T20:40:28Z<p>GunnyLiu: /* Demo */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**In the following test case done by <code>www.pewinternet.org<code>, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|left]]<br />
[[File:Capture 21.PNG|600px|left]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7602Twitterverse Exploration2016-07-27T20:39:04Z<p>GunnyLiu: /* Thoughts */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization''<br />
**''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc''<br />
**''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''<br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7600Twitterverse Exploration2016-07-27T20:38:44Z<p>GunnyLiu: /* Thoughts */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**'''In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization'''<br />
**'''In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc'''<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?'''<br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7599Twitterverse Exploration2016-07-27T20:37:52Z<p>GunnyLiu: /* Inspiration, or the "Dream Case" */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. '''@jflomenb''' is constantly mentioned by '''@redpointvc''' and '''@accel''', and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7598Twitterverse Exploration2016-07-27T20:37:11Z<p>GunnyLiu: /* Features and Review */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**'''''This being a clean-up process for the input data before analysis and display in the form of a graph'''''<br />
**Group vertices by cluster '''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges '''''(and therefore scale the resultant edge by width proportional to the number of edges merged)'''''<br />
**Layout method - '''''e.g. the Harel-Koren Fast Multiscale Layout algorithm'''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - '''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends '''''<br />
**Closeness centrality - '''''related to clustering coefficient. Identification of strong communities within a larger network'''''<br />
**Eigenvector centrality - '''''unclear'''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''''Highly customizable'''''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - '''''can be a function of number of merged edges, etc'''''<br />
**Node size/color - '''''can be a function of node's degree, centrality measures, etc'''''<br />
**Egonet - '''''user can look at each node as the "center of the network universe"'''''<br />
***Pagerank - '''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood'''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, '''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)'''''<br />
***Graph density - '''''2*|E|/(|V|*(|V|-1))'''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7596Twitterverse Exploration2016-07-27T20:32:27Z<p>GunnyLiu: /* Inspiration, or the "Dream Case" */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**''''clean-up before analysis and display''''<br />
**Group vertices by cluster ''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges ''''(and therefore scale the resultant edge by width proportional to the number of edges merged)''''<br />
**Layout method - ''''e.g. the Harel-Koren Fast Multiscale Layout algorithm''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - ''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends ''''<br />
**Closeness centrality - ''''related to clustering coefficient. Identification of strong communities within a larger network''''<br />
**Eigenvector centrality - ''''unclear''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''Highly customizable'''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - ''''can be a function of number of merged edges, etc''''<br />
**Node size/color - ''''can be a function of node's degree, centrality measures, etc''''<br />
**Egonet - ''''user can look at each node as the "center of the network universe"''''<br />
***Pagerank - ''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, ''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)''''<br />
***Graph density - ''''2*|E|/(|V|*(|V|-1))''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''WHAT IF WE''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''WHAT IF WE''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7595Twitterverse Exploration2016-07-27T20:31:48Z<p>GunnyLiu: /* Inspiration, or the "Dream Case" */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**''''clean-up before analysis and display''''<br />
**Group vertices by cluster ''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges ''''(and therefore scale the resultant edge by width proportional to the number of edges merged)''''<br />
**Layout method - ''''e.g. the Harel-Koren Fast Multiscale Layout algorithm''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - ''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends ''''<br />
**Closeness centrality - ''''related to clustering coefficient. Identification of strong communities within a larger network''''<br />
**Eigenvector centrality - ''''unclear''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''Highly customizable'''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - ''''can be a function of number of merged edges, etc''''<br />
**Node size/color - ''''can be a function of node's degree, centrality measures, etc''''<br />
**Egonet - ''''user can look at each node as the "center of the network universe"''''<br />
***Pagerank - ''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, ''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)''''<br />
***Graph density - ''''2*|E|/(|V|*(|V|-1))''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Our question will be: '''What is going on with startup XYZ?'''<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
<br />
[[File:Capture 25.PNG|600px|none]] <br />
<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
<br />
[[File:Capture 22.PNG|600px|none]]<br />
<br />
**'''What if we''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''What if we''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7594Twitterverse Exploration2016-07-27T20:30:32Z<p>GunnyLiu: /* Inspiration, or the "Dream Case" */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**''''clean-up before analysis and display''''<br />
**Group vertices by cluster ''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges ''''(and therefore scale the resultant edge by width proportional to the number of edges merged)''''<br />
**Layout method - ''''e.g. the Harel-Koren Fast Multiscale Layout algorithm''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - ''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends ''''<br />
**Closeness centrality - ''''related to clustering coefficient. Identification of strong communities within a larger network''''<br />
**Eigenvector centrality - ''''unclear''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''Highly customizable'''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - ''''can be a function of number of merged edges, etc''''<br />
**Node size/color - ''''can be a function of node's degree, centrality measures, etc''''<br />
**Egonet - ''''user can look at each node as the "center of the network universe"''''<br />
***Pagerank - ''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, ''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)''''<br />
***Graph density - ''''2*|E|/(|V|*(|V|-1))''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as '''@techcrunch''', '''@redpointvc''' and '''@accel'''. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***'''@aminohealth''' itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
[[File:Capture 25.PNG|600px|none]] <br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
[[File:Capture 22.PNG|600px|none]]<br />
**'''What if we''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. '''@redpointvc''', we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''What if we''' track ongoing events such as '''#kpceoworkshop'''<br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about follow-up events that occur after the events themselves conclude.<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=File:Capture_25.PNG&diff=7593File:Capture 25.PNG2016-07-27T20:27:56Z<p>GunnyLiu: </p>
<hr />
<div></div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7592Twitterverse Exploration2016-07-27T20:27:43Z<p>GunnyLiu: /* Inspiration, or the "Dream Case" */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**''''clean-up before analysis and display''''<br />
**Group vertices by cluster ''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges ''''(and therefore scale the resultant edge by width proportional to the number of edges merged)''''<br />
**Layout method - ''''e.g. the Harel-Koren Fast Multiscale Layout algorithm''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - ''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends ''''<br />
**Closeness centrality - ''''related to clustering coefficient. Identification of strong communities within a larger network''''<br />
**Eigenvector centrality - ''''unclear''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''Highly customizable'''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - ''''can be a function of number of merged edges, etc''''<br />
**Node size/color - ''''can be a function of node's degree, centrality measures, etc''''<br />
**Egonet - ''''user can look at each node as the "center of the network universe"''''<br />
***Pagerank - ''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, ''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)''''<br />
***Graph density - ''''2*|E|/(|V|*(|V|-1))''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''WHAT IF WE''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new '''mentions''' and rising new '''hashtags'''. Using this feed, we can populate and update graphs constantly, measuring ''''delta'''' instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' [https://twitter.com/aminohealth @aminohealth] (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as @techcrunch, @redpointvc and @accel. It has just received a ''''huge launch'''' but is relatively unknown in the bigger twitter picture. There is also nothing conclusive about what this launch entailed, and what kind of funding it received. Using the NodeXL tool, we can conceivably find out everyone that's involved in @aminohealth's recent activities, and systematically mine knowledge from this network. <br />
***@aminohealth itself possesses only around 1,000 followers, despite having 700+ tweets. '''Delta''' is far more important than what-is for rising startups as such.<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial.<br />
[[File:Capture 25.PNG|600px|none]] <br />
[[File:Capture 22.PNG|600px|none]]<br />
**'''What if we''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. @redpointvc, we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''What if we''' track ongoing events such as #kpceoworkshop <br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about events that happen after the events conclude. (hmm..)<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7590Twitterverse Exploration2016-07-27T20:21:43Z<p>GunnyLiu: /* In a nutshell */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
**MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**''''clean-up before analysis and display''''<br />
**Group vertices by cluster ''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges ''''(and therefore scale the resultant edge by width proportional to the number of edges merged)''''<br />
**Layout method - ''''e.g. the Harel-Koren Fast Multiscale Layout algorithm''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - ''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends ''''<br />
**Closeness centrality - ''''related to clustering coefficient. Identification of strong communities within a larger network''''<br />
**Eigenvector centrality - ''''unclear''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''Highly customizable'''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - ''''can be a function of number of merged edges, etc''''<br />
**Node size/color - ''''can be a function of node's degree, centrality measures, etc''''<br />
**Egonet - ''''user can look at each node as the "center of the network universe"''''<br />
***Pagerank - ''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, ''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)''''<br />
***Graph density - ''''2*|E|/(|V|*(|V|-1))''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''What if we''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new mentions and rising new hashtags. Using this feed, we can populate and update graphs constantly, measuring delta instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as @techcrunch, @redpointvc and @accel. It has just received a funding round (I'm writing this in 7/27) but is relatively unknown in the bigger twitter picture. In fact, Aminohealth does not have a twitter handle, nor is its hashtag populated. Delta is far more important than what-is for rising startups as such.<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial. <br />
[[File:Capture 22.PNG|600px|none]]<br />
**'''What if we''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. @redpointvc, we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''What if we''' track ongoing events such as #kpceoworkshop <br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about events that happen after the events conclude. (hmm..)<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7589Twitterverse Exploration2016-07-27T20:21:00Z<p>GunnyLiu: /* Inspiration, or the "Dream Case" */</p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
*MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**''''clean-up before analysis and display''''<br />
**Group vertices by cluster ''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges ''''(and therefore scale the resultant edge by width proportional to the number of edges merged)''''<br />
**Layout method - ''''e.g. the Harel-Koren Fast Multiscale Layout algorithm''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - ''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends ''''<br />
**Closeness centrality - ''''related to clustering coefficient. Identification of strong communities within a larger network''''<br />
**Eigenvector centrality - ''''unclear''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''Highly customizable'''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - ''''can be a function of number of merged edges, etc''''<br />
**Node size/color - ''''can be a function of node's degree, centrality measures, etc''''<br />
**Egonet - ''''user can look at each node as the "center of the network universe"''''<br />
***Pagerank - ''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, ''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)''''<br />
***Graph density - ''''2*|E|/(|V|*(|V|-1))''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''What if we''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new mentions and rising new hashtags. Using this feed, we can populate and update graphs constantly, measuring delta instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as @techcrunch, @redpointvc and @accel. It has just received a funding round (I'm writing this in 7/27) but is relatively unknown in the bigger twitter picture. In fact, Aminohealth does not have a twitter handle, nor is its hashtag populated. Delta is far more important than what-is for rising startups as such.<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial. <br />
[[File:Capture 22.PNG|600px|none]]<br />
**'''What if we''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. @redpointvc, we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''What if we''' track ongoing events such as #kpceoworkshop <br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about events that happen after the events conclude. (hmm..)<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiuhttp://www.edegan.com/mediawiki/index.php?title=Twitterverse_Exploration&diff=7588Twitterverse Exploration2016-07-27T20:20:12Z<p>GunnyLiu: </p>
<hr />
<div>{{McNair Projects<br />
|Project Title=Twitterverse Exploration (Tool)<br />
|Topic Area=Resources and Tools<br />
|Owner=Gunny Liu<br />
|Start Term=Summer 2016<br />
|Status=Active<br />
|Deliverable=Tool<br />
|Audience=McNair Staff<br />
|Keywords=Twitter, Visualization, Analysis, Natural Language Processing, Graph, Social Network Analysis<br />
|Primary Billing=AccNBER01<br />
}}<br />
<br />
=Exploration Notes=<br />
<br />
==NodeXL==<br />
<br />
===In a nutshell===<br />
**'''Enclosed system that auto-pulls, auto-cleans and auto-graphs Twitter networks revolving around input SEARCH TERM (read: this is important).'''<br />
*MSExcel-based (thus unsure of its portability, i.e. can we port the graph and its data structure to other softwares and development environments for further processing/analysis?<br />
**Highly mathematical, formal graph theory <br />
**Highly customizable <br />
**Vertices being (@twitterhandles) and edges being (follower/following relationship, mentions, replies, favroites, etc).<br />
**Operates on Twitter's Streaming API, requires user authentication<br />
**GUI; very user-friendly and accessible to even <br />
**Requires background in graph theory to understand mathematical concepts <br />
**Developed open-source by the [http://nodexl.codeplex.com/ Social Media Research Foundation], with help from academics from Cornell to Cambridge.<br />
<br />
[[File:Capture 24.PNG|600px|none]]<br />
<br />
===Features and Review===<br />
====Automation====<br />
**''''clean-up before analysis and display''''<br />
**Group vertices by cluster ''''(e.g. the Clauset-Newman-Moore algorithm to identify community structures) and calculate clustering coefficient'''''<br />
**Count and merge duplicate edges ''''(and therefore scale the resultant edge by width proportional to the number of edges merged)''''<br />
**Layout method - ''''e.g. the Harel-Koren Fast Multiscale Layout algorithm''''<br />
<br />
====Centrality measures====<br />
**Betweenness centrality - ''''identification of corridor/ambassador nodes that are important links between adjacent network communities. In other words, identification of the most BROADLY CONNECTED nodes in the network. Think: few friends in high places, as opposed to an abundance of low-level friends ''''<br />
**Closeness centrality - ''''related to clustering coefficient. Identification of strong communities within a larger network''''<br />
**Eigenvector centrality - ''''unclear''''<br />
**Clustering coefficient - as above<br />
<br />
====Overall graph metrics====<br />
**In a nutshell: '''Highly customizable'''<br />
**Vertices and edge count<br />
**Unique edges<br />
**Edge width - ''''can be a function of number of merged edges, etc''''<br />
**Node size/color - ''''can be a function of node's degree, centrality measures, etc''''<br />
**Egonet - ''''user can look at each node as the "center of the network universe"''''<br />
***Pagerank - ''''useful google coefficient that measures how good one node's IN-FLOW is, i.e. the tendency to end up at subject node as agent travels around its neighborhood''''<br />
***Number of tweets ever created<br />
***Number of tweets favorited<br />
***Other common "user data"<br />
***User can view egonets in a matrix, ''''and apply "sort by" such that he can easily identify those nodes with the highest e.g. in/out-degree, centrality, pagerank etc)''''<br />
***Graph density - ''''2*|E|/(|V|*(|V|-1))''''<br />
***Connected Components calculation<br />
[[File:Capture 23.PNG|600px|none]]<br />
<br />
<br />
===Inspiration, or the "Dream Case"===<br />
**'''What if we''' tap on NLP capabilities to monitor twitter handles that are known to be important, and have a constant feed of important rising new '''words''', rising new mentions and <br />
rising new hashtags. Using this feed, we can populate and update graphs constantly, measuring delta instead of using graph data per se, and thus develop a good grasp of rising organizations, events and startups in the twitterverse. We would know things before other people do. Value.<br />
***Empirically, and in a micro way, I have observed that a new startup known as '''Aminohealth''' (enables end-users to shop around for doctors based on price range; seems very novel and in-demand) has been appearing very constantly on important feeds such as @techcrunch, @redpointvc and @accel. It has just received a funding round (I'm writing this in 7/27) but is relatively unknown in the bigger twitter picture. In fact, Aminohealth does not have a twitter handle, nor is its hashtag populated. Delta is far more important than what-is for rising startups as such.<br />
***Empirically, the twitterverse is populated by important organizations as well as, we often forget, their staff. @jflomenb is constantly mentioned by @redpointvc and @accel, and has interesting exposes information about the entrepreneur scene, as shown. Again, delta is crucial. <br />
[[File:Capture 22.PNG|600px|none]]<br />
**'''What if we''' compare social networks against themselves over time? <br />
***If we generate useful network graphs and data '''OVER TIME''' that revolves around a single entity e.g. @redpointvc, we would be able to do a few pretty amazing statistical analyses:<br />
****The mean number of mentions before a startup gets signed to a VC<br />
****What are the quantitative tweet indicators that a startup is succeeding/failing?<br />
****All the startups a VC has signed since the VC obtained a twitter handle<br />
****The average pace at which a VC signs startups<br />
****What are the qualitatively trendy topics that are mentioned in the history of a VC? Does this influence their activity, if at all?<br />
****Any regression for the above, and more<br />
**'''What if we''' track ongoing events such as #kpceoworkshop <br />
***It'll be easy to find out who are the people that are attending the workshop, and add them to our watchlist of important people<br />
***Also, how important or impactful are these events? We can track their mentioners and likers and followers to identify and think about events that happen after the events conclude. (hmm..)<br />
<br />
<br />
===Limitations===<br />
**A input query is ''''necessary''''. I don't think the user can simply ask for a graph of all the followers of @xxx, for instance.<br />
**It's a black box - this tool is designed for end-users that want to study contingent trends and discrete events, instead of a comprehensive and stable picture of a certain "scene" (i.e. the entrepreneur scene, in our case). <br />
***We can, of course, run the tool continuously for all trends that we identify. But would we be able to join them all up in an aggregate fashion?<br />
**Unsure of the usefulness of output<br />
***Sure, it will be nice to generate graphs and knowledge about upcoming events and organizations, but will we be able harness this information and use it to do other stuff?<br />
***In other words, it's unclear how portable our output data is<br />
<br />
===Thoughts===<br />
**In my recent days of interacting with the twitterverse, it has come to pass that Twitter is spectacular because of its malleability, flexibility and decentralized nature. All forms of social organization on Twitter is explicitly time-contingent and user-contingent. This is the why it is such an important hotbed for sociological research - it provides wonderful material for the study of social dynamics and social organization<br />
**In this vein, what we think of as the "Entrepreneurship Twitterverse" can be, more clearly, thought of as a time-contingent and very specific community shaped by its own trends, influencers, and cultural values, all of which are in turn shaped by the very specific people that are interested and involved in the same ideas/things. In our case, investments, foundings, IPOs, acquisitions etc<br />
**'''In light of this, does it make more sense for us to study deltas instead of things as-they-are?''' <br />
<br />
===Demo===<br />
**In the following test case done by www.pewinternet.org, where user attempted to graph the community activity regarding the topic "pew internet", he entered a list of search strings all including the keywords "pew internet" over a fixed period of 58 days and some misc hours. His edges are created for each mention and reply that appeared in the time bracket. His edge colors and widths are proportional to the number of mentions/replies that occurred between two nodes (users). The color and transparency of his nodes are related to follower values, i.e. how many followers does each node have..<br />
[[File:Capture 20.PNG|600px|none]]<br />
[[File:Capture 21.PNG|600px|none]]</div>GunnyLiu