--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/topiclabels.json Wed Mar 27 17:42:35 2013 +0100
@@ -0,0 +1,162 @@
+[
+ {
+ "topic_id": 13,
+ "words": {
+ "(perspective transversale)": 1
+ }
+ }, {
+ "topic_id": 11,
+ "words": {
+ "président de la justice": 0.022813688212927757,
+ "entrée en matière": 0.019011406844106463,
+ "détermination": 0.019011406844106463,
+ "rassemblement des français": 0.015209125475285171,
+ "programme": 0.015209125475285171
+ }
+ }, {
+ "topic_id": 8,
+ "words": {
+ "début de débat": 0.02197802197802198,
+ "président du redressement": 0.01978021978021978,
+ "millions de grévistes": 0.015384615384615385,
+ "conseil constitutionnel": 0.015384615384615385,
+ "sarkozy depuis 5 ans": 0.013186813186813187,
+ "face à des manifestations": 0.013186813186813187
+ }
+ }, {
+ "topic_id": 16,
+ "words": {
+ "contrat de génération": 0.023529411764705882,
+ "million de chômeurs": 0.023529411764705882,
+ "faute aux 35h": 0.0196078431372549,
+ "exonérations": 0.0196078431372549,
+ "charges sociales": 0.0196078431372549,
+ "hausse du chômage": 0.0196078431372549,
+ "droit à la formation": 0.01568627450980392
+ }
+ }, {
+ "topic_id": 12,
+ "words": {
+ "commerce extérieur": 0.028720626631853787,
+ "recession": 0.02349869451697128,
+ "confiance": 0.020887728459530026,
+ "délocalisations": 0.018276762402088774,
+ "investissements": 0.018276762402088774,
+ "innovation": 0.018276762402088774,
+ "taux de croissance": 0.015665796344647518
+ }
+ }, {
+ "topic_id": 1,
+ "words": {
+ "tarifs": 0.024853801169590642,
+ "carburants": 0.023391812865497075,
+ "électricité": 0.02046783625730994,
+ "tipp flottante": 0.023391812865497075,
+ "blocage des prix": 0.021929824561403508,
+ "prix du pétrole": 0.021929824561403508,
+ "énergies": 0.017543859649122806
+ }
+ }, {
+ "topic_id": 2,
+ "words": {
+ "droits de succession": 0.017676767676767676,
+ "impôt sur la fortune": 0.022727272727272728,
+ "familles aisées": 0.022727272727272728,
+ "cadeaux aux riches": 0.020202020202020204,
+ "milliards de dette": 0.020202020202020204,
+ "impot": 0.020202020202020204,
+ "bouclier fiscale": 0.017676767676767676
+ }
+ }, {
+ "topic_id": 4,
+ "words": {
+ "infographie de la france": 0.026217228464419477,
+ "sarkozy président": 0.02247191011235955,
+ "justice fiscale": 0.02247191011235955,
+ "trimestre de récession": 0.020599250936329586,
+ "chèques au trésor": 0.018726591760299626,
+ "postes de fonctionnaires": 0.018726591760299626,
+ "education": 0.0149812734082397,
+ "débat sur la dette": 0.013108614232209739
+ }
+ }, {
+ "topic_id": 14,
+ "words": {
+ "enseignement": 0.022764227642276424,
+ "professeurs": 0.022764227642276424,
+ "formation des enseignants": 0.02113821138211382,
+ "réforme des retraites": 0.016260162601626018,
+ "pénibilité du travail": 0.014634146341463415,
+ "invalibilité": 0.013008130081300813
+ }
+ }, {
+ "topic_id": 7,
+ "words": {
+ "eurobonds": 0.02491103202846975,
+ "austérité": 0.02491103202846975,
+ "transactions financières": 0.023131672597864767,
+ "bce": 0.023131672597864767,
+ "européens": 0.021352313167259787,
+ "rigueur en france": 0.01601423487544484
+ }
+ }, {
+ "topic_id": 10,
+ "words": {
+ "centres de rétentions": 0.01592356,
+ "immigration légale": 0.022292993630573247,
+ "prestations sociales": 0.020700636942675158,
+ "circulaire guéant": 0.020700636942675158,
+ "asile": 0.01910828025477707,
+ "étudiants étrangers": 0.01751592356687898
+ }
+ }, {
+ "topic_id": 5,
+ "words": {
+ "vote des étrangers": 0.023628048780487805,
+ "islam de france": 0.022103658536585365,
+ "religion": 0.021341463414634148,
+ "communautarisme": 0.020579268292682928,
+ "élections locales": 0.018292682926829267,
+ "loi sur la burqa": 0.01753048780487805
+ }
+ }, {
+ "topic_id": 15,
+ "words": {
+ "centrales nucléaires": 0.02581261950286807,
+ "zone sismique": 0.02390057361376673,
+ "sûreté nucléaire": 0.022944550669216062,
+ "alsace": 0.021032504780114723,
+ "démantèlement": 0.020076481835564052,
+ "énergies renouvelables": 0.020076481835564052,
+ "tsunami": 0.019120458891013385,
+ "fermeture de fessenheim": 0.017208413001912046
+ }
+ }, {
+ "topic_id": 9,
+ "words": {
+ "president de la republique": 0.01393188854489164,
+ "hauteur des enjeux": 0.02321981424148607,
+ "anaphore": 0.020123839009287926,
+ "homme de rassemblement": 0.020123839009287926,
+ "président normal": 0.017027863777089782,
+ "fin de débat": 0.015479876160990712
+ }
+ }, {
+ "topic_id": 0,
+ "words": {
+ "politique étrangère": 0.022653721682847898,
+ "retrait": 0.021035598705501618,
+ "afghanistan": 0.019417475728155338,
+ "troupes": 0.019417475728155338,
+ "talibans": 0.01779935275080906
+ }
+ }, {
+ "topic_id": 3,
+ "words": {
+ "hollande vainqueur": 0.030434782608695653,
+ "conclusion de hollande": 0.021739130434782608,
+ "valeurs de la république": 0.017391304347826087,
+ "mot de la fin": 0.017391304347826087
+ }
+ }
+]
\ No newline at end of file
--- a/js/playscreen.js Fri Mar 22 17:54:46 2013 +0100
+++ b/js/playscreen.js Wed Mar 27 17:42:35 2013 +0100
@@ -5,7 +5,9 @@
var deltaT = new Date("Wed, 02 May 2012 19:00:00 +0000") / 1000 + adjust;
function solrUrl(table, params) {
- return "http://159.217.144.101:8050/sia-solr/" + table + "/select?" + $.param(params) + "&wt=json&json.wrf=?";
+ var u = "http://159.217.144.101:8050/sia-solr/" + table + "/select?" + $.param(params) + "&wt=json&json.wrf=?";
+ console.log(u);
+ return u;
}
function showData() {
@@ -541,6 +543,17 @@
return b.topic.weight - a.topic.weight;
});
+ if (tweetstoshow.length < 8) {
+ var randtweets = data.randomtweets.filter(function(tw) {
+ return (tw.timestamp > (localpos - localduration / 2)) && (tw.timestamp < (localpos + localduration / 2))
+ });
+ var mod = Math.ceil(randtweets.length / 8);
+ randtweets = randtweets.filter(function(v,k) {
+ return !(k % mod);
+ });
+ tweetstoshow = tweetstoshow.concat(randtweets);
+ }
+
tweetstoshow = tweetstoshow.slice(0,10);
if (selectedWord) {
@@ -903,6 +916,48 @@
loadJson("data/minutes.json", "minutes");
loadJson("data/5secs.json", "fiveseconds");
+ var t = Math.floor(30*Math.random());
+
+ function pad(n) {
+ var r = n.toString();
+ while (r.length < 2) {
+ r = "0" + r;
+ }
+ return r;
+ }
+
+ loadJson(
+ solrUrl(
+ "twitter",
+ {
+ q: "created_at:(*\\:*\\:"
+ + pad(t)
+ + "* OR *\\:*\\:"
+ + (30+t)
+ + "*)",
+ group: "true",
+ "group.field": "created_at",
+ "fl": "id_str,created_at,from_user_name,text,profile_image_url",
+ "rows": 800
+ }
+ ),
+ "randomtweets",
+ function(d) {
+ var randtweets = d.grouped.created_at.groups.map(function(g) {
+ var tweet = g.doclist.docs[0];
+ return {
+ topic: { topic: -1, weight: 0 },
+ timestamp: (new Date(tweet.created_at).valueOf() / 1000 - deltaT),
+ data: tweet
+ }
+ });
+ randtweets.sort(function(a,b) {
+ return a.timestamp - b.timestamp;
+ });
+ return randtweets;
+ }
+ )
+
loadJson(
solrUrl("MMSO", {q: "*:*", fl: "topic*,MMSO_id,multimediaSegment,keywordsFromSocial", rows: 250 }),
"segments",
--- a/js/startscreen.js Fri Mar 22 17:54:46 2013 +0100
+++ b/js/startscreen.js Wed Mar 27 17:42:35 2013 +0100
@@ -1,6 +1,21 @@
var topicPoubelle = -13;
function showData() {
+
+ data.topiclabels.forEach(function(v) {
+ var words = _(v.words).map(function(v, k) {
+ return {
+ word: k,
+ weight: v
+ }
+ });
+ words.sort(function(a,b) {
+ return b.weight - a.weight;
+ })
+ data.topics[v.topic_id].words = words;
+ });
+
+ console.log(data.topics);
var ordertag = 0;
@@ -90,7 +105,7 @@
return w.replace(/(\W)/g,'\\$1')
}).join("|") + ')', "gim");
topiclist.forEach(function(topic,i) {
- var wordsToShow = topic.words.slice(0,8),
+ var wordsToShow = topic.words.slice(),
max = wordsToShow[0].weight,
min = Math.min(wordsToShow[wordsToShow.length - 1].weight, max - .01),
scale = 10 / (max - min);
@@ -358,6 +373,7 @@
}
loadJson("data/minutes.json", "minutes");
+ loadJson("data/topiclabels.json", "topiclabels");
loadJson(
solrUrl("MMSO", {q: "*:*", fl: "topic*,MMSO_id,multimediaSegment", rows: 250 }),
@@ -400,25 +416,8 @@
loadFromTopicsBean("getTopicsNumber",false,false,function(topic_count) {
for (var i = 0; i < topic_count; i++) {
- data.topics.push(null);
+ data.topics.push({ index: i, words: [ { word: "(no label)", weight: 1 }] });
}
- data.topics.forEach(function(v, k) {
- loadFromTopicsBean("getTopicDistribution",false,[k, 50, false],function(topic) {
- var words = topic.match(/[^=,{]+=0.\d{0,8}/g);
- data.topics[k] = {
- index: k,
- words: words.map(function(w) {
- var parts = w.split("=");
- return {
- word: parts[0].trim(),
- weight: parseFloat(parts[1])
- }
- })
- }
- });
-
- });
-
});
loadFromTopicsBean("getTopWords","topwords",[200]);