« StatBot » : différence entre les versions

De Wikipast
Aller à la navigation Aller à la recherche
Ligne 21 : Ligne 21 :
:::Pour obtenir la distance max parcourue par une personne, on extrait tous les lieu d'évenement présent sur la page, puis on prend la max de la distance entre tous ces lieu et le lieu de naissance. Cette distance est calculée sur la base de grand arc autour de la terre.
:::Pour obtenir la distance max parcourue par une personne, on extrait tous les lieu d'évenement présent sur la page, puis on prend la max de la distance entre tous ces lieu et le lieu de naissance. Cette distance est calculée sur la base de grand arc autour de la terre.


===Exemples de résultats===
===Exemples de résultats et analyse des performances===
Tous les graphs sont visibles sur la page [[Statbot stats]].
Tous les graphs sont visibles sur la page [[Statbot stats]].
La distribution temporelle nous donnes des histogrammes comme le suivant.
La distribution temporelle nous donnes des histogrammes comme le suivant.

Version du 7 mai 2019 à 11:22

Déscription

Introduction

L'objectif de StatBot est de fournir calculer et mettre à dispositions des statistiques sur les entités només présents dans Wikipast. Dans un premiers temps, le StatBot ne se préoccupe que des points de données suivantes pour chaque entité nomée.

  1. Naissance
    1. Date
    2. Lieu
  2. Distance voyagée

Ces points de données préliminaires, nous permette de visualiser la tenure de Wikipast. Le bot s'occupera donc de présenter la distribution temporelle des entités nommée, basé sur la date de naissance. Ainsi que la distribution spactiale de ses entités nomée à la base de leur lieu de naissance. De ces analyses, on peu décider à quel points des statistiques effectuées sur wikipast peuvent être extrapolée sur la population générale. Par la suite, StatBot effectue une première étude statistique, en regardant l'évolution de la distance moyenne voyagée, par les entités nomée, dans le temps. Les statistiques de StatBot sont sur la page Statbot stats.

Points de donnée en détail

  1. Naissance
La date est éxtrait de la date standard stipulée dans les événements ex. *1943.04.01 / Mendrisio. Naissance de Mario Botta
Le Lieu est lui aussi extrait du même évémenement, puis il est désambiguisé en utilisant l'API de Nominatim de OpenStreetMap pour obtenir ses coordonées en (lattitude, longitude)
  1. Distance parcouru
Pour obtenir la distance max parcourue par une personne, on extrait tous les lieu d'évenement présent sur la page, puis on prend la max de la distance entre tous ces lieu et le lieu de naissance. Cette distance est calculée sur la base de grand arc autour de la terre.

Exemples de résultats et analyse des performances

Tous les graphs sont visibles sur la page Statbot stats. La distribution temporelle nous donnes des histogrammes comme le suivant.


Birthyear histogram recent.png


Le bot à étudié un échantillon de 50 entités només fournies sur la page Biographies, les dates de naissances ont été extrait avec un taux d'echec de 8%.

La distribution Spatiale nous donne des cartes comme la suivante.


Birthmap europe.png


Le bot à étudié un échantillon de 50 entités només fournies sur la page Biographies, les dates et lieu de naissances ont été extrait avec des taux d'echec de 8% et 10% respectivement.

Code

Le code est disponible sur git https://github.com/ThereWasALlama/Wikipast_StatBot

Work in progress

Datapoints on named entities

  1. Life span
    1. Add to entity page?
  2. Gender (maybe gender probability)
    1. Use name-gender bias
    2. Add to the entity page?
  3. Travel distance
    1. Solid angle encomposing all locations?
    2. Shortest path distance summed between locations specified in chronological order?
    3. Correlate location data with actual points in google maps?
  4. Profession
    1. Where can this information be retrieved?

Correlated Datapoints

  1. Relation score between two entities
    1. Using life time span, location overlap, referenced pages

Analysis

  1. life expectancy of members in Wikipast
  2. Life expectancy at birth from Wikipast data
  3. Travel radius as function of Birth year
  4. Mean degrees of seperation between entities of Wikipast

Technicalities

Should a biometrics section be added to the pages in order to store this gender data and other parameters?

Work Plan

Get Naissance from page

Argument (page_name), Returns (Name, birthplace, birth day , month, year) use 0 if not present
Load up the page of the entity
Get "Naissance" event date (use first hyperword for name)
Return error code if the naissance event does not follow the correct syntaxe

Exists entry page_name

Arguments(page_name), returns (true or false)

Database write

Arguments (page_name , dictionary('parameter', value)), Returns (success or failure)
Columns for each variable name
Check if the entry for page_name already exists and overwrite it

Database Load column

Arguments (Column name list), Returns nd list consisting of all the data in the order specified in column name list argument

Plot image of birthyear distribution in database

Check out numpy maybe to generate plots Return image or save directly ?

Statbot Stats graph page update

Take graph png and update existing Statbot Stats page (Create beforehand) Add section for the given graph at the end of the page with a specific title as well as caption commentary Maybe figure out a way to add extra numerical data such as means and stuff in an easy way.

Database Read entry

Arguments (page_name), returns dictionary of all properties from the entry number

Entity Page Write

In Statbot section of the entity page

Arguments(page_name, property:value)
Check if existing and modify
If section as a whole does not exist then create it