project:chparlscraping

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
project:chparlscraping [2015/09/04 16:54] nico_rayproject:chparlscraping [2015/09/07 16:23] (current) yrochat
Line 1: Line 1:
 ==== Swiss parliament minutes scraping ==== ==== Swiss parliament minutes scraping ====
-Is the Swiss parliament really useful ? Once elected, what are our councilors talking about ? Who is answering to who ?+ 
 +[[http://parlement.letemps.ch]] 
 + 
 +Is the Swiss parliament really useful ? Once elected, what are our councilors talking about ? Who is answering to whom ?
  
 Goal of this project is to answer some of these questions and many more. To do this, we are planning to: Goal of this project is to answer some of these questions and many more. To do this, we are planning to:
Line 8: Line 11:
  
 In order to perform some analysis, as  In order to perform some analysis, as 
 +    -  from keywords, who talks about what, by parties, cantons and people
     - person vs. vocabulary     - person vs. vocabulary
     - dialogue order     - dialogue order
     - gender     - gender
  
-Our [[https://github.com/fabricehong/parl-scraping|github]].+Our NEW [[https://github.com/douglas-watson/parl-scraping|github]] (careful, we had to fork it at the beginning of day 2).
  
 === Data === === Data ===
-Raw data are available as one single JSON files, covering all sessions from 1919+Raw data are available as one single JSON file, and its .csv counterpart. We had size problems, thus exploring ways to produce several .csv. 
-Format of the file is the following <todo>+**The [[https://github.com/douglas-watson/parl-scraping/tree/master/data|final folder for our data is on github]], the [[https://github.com/douglas-watson/parl-scraping/blob/master/data/with-bio-split-csv.zip|.csv files split by session are here]].** 
 + 
 +== Structure of the main JSON (on Giovanni's sidecomplement with the bio data from the Parliament API) == 
 + 
 +list of interventions, with the following fields: 
 + 
 +  * Link_subject: link to the page of the subject under discussion (cfCuriaVista) 
 +  * Surname: of the person speaking 
 +  * Description: of the subject under discussion 
 +  * Bio: link to the page of the person speaking 
 +  * Canton: of provenance 
 +  * Subject_id: of the subject under discussion (still to be understood: typology) 
 +  * Date: of the intervention (DD.MM.YY) 
 +  * Group: political group of the person speaking at the moment of the intervention 
 +  * Session_title: title of the session (Séance) 
 +  * Data: transcript of the intervention 
 +  * Name: of the person speaking 
 + 
 +== Structure of the Parliament API data via Yannick == 
 + 
 +  * [[http://ws.parlament.ch/councillors/823?format=json|Very rich example fields-wise]] (thus almost complete) for one councillor 
 +  * [[http://ws.parlament.ch/councillors|All councillors]] 
 +  * [[http://www.parlament.ch/e/dokumentation/webservices-opendata/Documents/webservices-info-dritte-e.pdf|API's doc]] 
 +  * [[https://github.com/douglas-watson/parl-scraping/tree/master/biography_retrieval|Code on github]] 
 +  * From those data, building of a file (light one) describing members of parliament ([[https://github.com/douglas-watson/parl-scraping/tree/master/biography_csv_extract|script on github in the same folder]]) 
 + 
 +Fields are: id cantonName council firstName lastName party active birthDate gender language maritalStatus militaryGrade partyId salutationLetter workLanguage 
 + 
 +== Structure of the final files from Jérémie == 
 + 
 +1 JSON file + its .csv counterpart for each Parliament session of the National Council from 1995. 
 +The same datasets are also available split as one JSON/CSV file per legislative session. 
 + 
 +== Graph data for Yannick == 
 + 
 +graph.csv: edgeless with Source (bio url as id of person replying to) - Destination (bio url as id of person talking before) - Subject (id of subject under discussion) - Date (of intervention, YY.MM.DD) 
 +nodes.csvnodelist with bio id - name - surname - canton - political group
  
 === Results visualization === === Results visualization ===
-<todo> 
  
 +  * Kibana Dashboard iframe:
 +<code><iframe src="http://178.62.236.56:3335/#/dashboard/Swiss-parliament-minutes-scraping?embed&_a=(filters:!(),panels:!((col:1,id:Total-count,row:1,size_x:3,size_y:2,type:visualization),(col:9,id:Who,row:3,size_x:4,size_y:4,type:visualization),(col:1,id:Parties,row:3,size_x:4,size_y:4,type:visualization),(col:4,id:Members,row:1,size_x:9,size_y:2,type:visualization),(col:5,id:County,row:3,size_x:4,size_y:4,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:'Swiss%20parliament%20minutes%20scraping')&_g=()" height="600" width="800"></iframe></code>
 +
 +  * [[http://178.62.236.56:3335/#/dashboard/Swiss-parliament-minutes-scraping?_a=(filters:!(),panels:!((col:1,id:Total-count,row:1,size_x:3,size_y:2,type:visualization),(col:9,id:Who,row:3,size_x:4,size_y:4,type:visualization),(col:1,id:Parties,row:3,size_x:4,size_y:4,type:visualization),(col:4,id:Members,row:1,size_x:9,size_y:2,type:visualization),(col:5,id:County,row:3,size_x:4,size_y:4,type:visualization)),query:(query_string:(analyze_wildcard:!t,query:'*')),title:'Swiss%20parliament%20minutes%20scraping')&_g=()|Example of a Kibana Dashboard]]:
 +<pic sylvain>
 +
 +  * Example viz graph "who talks to who":
 +<pic yannick>
 +
 +  * Semantic distance between members of parliament: <viz pa>
 +
 +  * A simple gender gap visualization for the current Parliament that kind of summarizes it all: <[[https://docs.google.com/spreadsheets/d/1MiO6w331UMGX4vYTyhsMs5uUAgAUCJfyzPkRqAUSjww/edit?usp=sharing|gsheet shalf]]>
 ===== Team ===== ===== Team =====
-  * Giovanni Colavizza +  * Giovanni Colavizza, [[https://github.com/Giovanni1085|github: Giovanni1085]] 
-  * Pierre-Alexandre Fonta +  * Pierre-Alexandre Fonta [[https://twitter.com/pa_fonta|@pa_fonta]], [[https://github.com/pafonta|github: pafonta]] 
-  * [[user:shalf|Yann Heurtaux]] [[https://twitter.com/shalf|@shalf]] +  * [[http://shalf.me|Yann Heurtaux]] [[https://twitter.com/shalf|@shalf]], [[https://github.com/shalf|github: shalf]] 
-  * Fabrice Hong +  * Fabrice Hong, [[https://github.com/fabricehong|github: fabricehong]] 
-  * Jérémie Knüsel +  * Jan Iwaszkiewicz, [[https://github.com/jan44|github: jan44]] 
-  * Sylvain Moeshing+  * Jérémie Knüsel [[https://twitter.com/ambystome|@ambystome]], [[https://github.com/knuesel|github: knuesel]] 
 +  * Sylvain Moesching
   * [[user:nray|Nicolas Ray]]   * [[user:nray|Nicolas Ray]]
-  * [[user:yrochat|Yannick Rochat]] [[https://twitter.com/yrochat|@yrochat]] +  * [[http://yro.ch|Yannick Rochat]] [[https://twitter.com/yrochat|@yrochat]], [[https://github.com/yrochat|github: yrochat]] 
-  * Douglas Watson+  * Douglas Watson, [[https://github.com/douglas-watson|github: douglas-watson]] 
  
 ===== Links ===== ===== Links =====
  • project/chparlscraping.1441378445.txt.gz
  • Last modified: 2015/09/04 16:54
  • by nico_ray