T-SNE, PCA and other dimensionality reduction algorithms have always been a good way to visualize high-dimensionality datasets. Unfortunately, most of the time, the visualization stops there. If another view of the data is needed, a new chart needs to be computed, projected and displayed.
Toolkits like Bokeh have been a great help to build interactive charts, but the analysis dimension has always been a bit neglected. Last week-end, I took a few hours to glue some Bokeh components together and built an interactive visualization explorer: Chart Miner. Continue reading “Chart Miner – Exploring 2d Projections”
By extracting several topics from our news corpus, we gained a 10,000 feet view of corpus. We were able to outline many trends and events, but it took a bit of digging. This article will illustrate how the topics relate each to one another. We’ll even throw a bit of animation to take a look back the last 15 years.
When we extracted the topics from the corpus, we also found another way to describe all the news snippets and words. Instead of seeing a document as a collection of words, we could see it as a mixture of topics. We could also do the same thing with topics: every topics is a mixture of words used in its associated fragments. Continue reading “15 Years of News – Analyzing CNN Transcripts: Visualizing Topics”
As we saw in the previous article, temporal analysis of individual keywords can be very interesting and uncover interesting trends, but it can be difficult to get an overview of a whole corpus. There’s just too much data.
One solution would be to group similar subjects together. This way, we could scale down a corpus of 500,000 keywords to a handful of topics. Of course, we’ll be losing some definition, but we’ll be gaining a 10,000 feet view of the corpus. In all cases, we can always refer to the individual keywords if we want to take a closer look. Continue reading “15 Years of News – Analyzing CNN Transcripts: Topics”
With 15 years of CNN transcripts loaded a database, I could now run queries to visualize the occurrences of words – like names – across time. Since I used a textual database name ElasticSearch, I could use Kibana to chart the keywords. Kibana is a good tool to build dashboards, but it’s not really suited to analyze extensively time series because it lacks an easy way to add several search terms on the same chart. Also, it doesn’t easily show percentages of occurrences in a corpus for a giving time period instead of absolute occurrences. This makes Kibana a good tool for a quick look at the data or to debug an issue with our transcript scrapper.
A while back, I saw that the Internet Archive hosted an archive of CNN transcripts from 2000 to 2012. The first thing that came to my mind was that this was an amazing corpus to study. It contained the last 12 years of news in textual form at the same place. I felt that it would be an amazing project to retrieve all the transcript from 2000 to today and someone went already to the trouble of downloading this corpus.
Unfortunately, the data was basically a dump of the transcripts pages from CNN. This isn’t a problem for archival purposes, but for analysis, it would make things a bit difficult. For my new project, it meant that I would need to find a way to download all the transcripts from CNN, parse them and dump them to a database. To make things even more difficult, the HTML from the early 2000s was more about form that function. In other words, the CNN webmasters (in the 2000, web designers or developers didn’t exist, they were webmasters!) would throw something that would render in Internet Explorer or Netscape Navigator and call it a day. There was no effort in making the layout and content organized. Continue reading “15 Years of News – Analyzing CNN Transcripts: Retrieving & Parsing”
Several years ago, I wrote a python script to notify me when my asterisk server got an incoming call. I programmed this out of pure laziness: I wanted to know who was calling me without having to look at my phone.
This script would show a pop-up on my laptop whenever I got a call and the notification would show who was calling and for whom. This was very useful since I was traveling a lot during that time, so I would know if somebody was trying to reach me at home.
I’m still using this script, but I’m finding myself using my cellphone more often than my laptop when I’m out of the house. So, I modified my script to send a notification to my smart phone instead of my laptop. Continue reading “Asterisk Call Notifications to PushBullet”
Several years ago, I created a map of scientific collaborations. The attention this map obtained surpassed my wildest expectations; it got published in the scientific and popular press all around the world! I had mainly forgotten about it until I received an email that rekindled my interest in this visualization and I thought it was high time to revisit this visualization.
Unfortunately, scientific papers (and associated data) are closely guarded and only a handful of firms have full access to them. I now work in a very different field, so I lost access to this dataset. But while perusing my Twitter feed, I came across the very active feed of Scimago Lab. Their social media presence and their incredible interactive visualizations convinced me that they might be interested in collaborating. I sent off an email to their founder, Félix de Moya and, lo and behold, he was interested in collaborating. Cool! Read on for more maps and an overview of the methodology >> Continue reading “Map of scientific collaboration (Redux!)”
Suite à la visualisation des tweets publiés durant la grève étudiante, le professeur Frédérick Bastien de l’Université de Montréal m’a approché afin de participer à l’ouvrage Les Québécois aux urnes.
J’ai donc rédigé un chapitre traitant des thèmes abordés sur les médias sociaux. L’élément central du chapitre était une visualisation de tous les tweets publiés durant la campagne électorale. Continue reading “Thèmes abordés sur Twitter durant l’élection provinciale de 2012”
Comme lors des années précédentes, La Presse a conçu une carte du financement politique à Montréal. Les responsables de ces cartes (Cédric Sam, Pierre-André Normandin et Thomas de Lorimier) ont dû composer avec l’absence de données gouvernementales standardisées et contacter chaque parti politique pour obtenir ces données.
Le résultat est très intéressant et ils font preuve d’une très grande générosité en partageant les données recueillies. Les données ouvertes comprennent la latitude et la longitude de chaque don ce qui facilite leur utilisation dans les logiciels GIS comme ArcGIS et Quantum GIS. Je me suis donc amusé ce dimanche à analyser et créer des cartes illustrant la distribution des dons. La carte à gauche illustre les concentrations de financement pour chaque parti. Par exemple, il y a une concentration de financement pour Projet Montréal sur le Plateau, Villeray et Hochelaga. Cliquez sur le lien à droite pour lire (et voir!) la suite >> Continue reading “Distribution du financement politique à Montréal”
There are a lot of Wikipedia visualizations. Some concentrate on article contents, others on the links between articles and some use the geocoded content (like in my previous blog post).
This new visualization is novel because it uses the geographical content of Wikipedia in conjunction with the links between articles. In other words, if a geocoded article (that is, an article associated with a location like a city) links to another geocoded article, a line will be drawn between these two points. The result can be found on the map on the left.