scieee AI-readable full text Open interactive document viewer

From data to journalism

Barret, Nelly

Abstract

This presentation was in the frame of the CPES ("Cycle pluridisciplinaire d'études supérieures" in French) in the international highschool of Palaiseau. The goal was to provide them an overview of current problems in data management, as well as make them learn few new topics (such as databases, graphs, etc). In this presentation, I detail two projects. The former is ConnectionStudio which integrates and visualize various hetergoeneous sources; the latter is StatCheck which integrates statistical data to create a consolidated journalistic database.

Full text

From data to journalism Nelly Barret 4th year PhD student Supervised by Ioana Manolescu Inria Saclay and Institut Polytechnique de Paris January 31, 2024 Nelly Barret (Inria) From data to journalism January 31, 2024 1 / 47 Personal (small) presentation My background: CS Bachelor @ University of Lyon CS Master, AI track @ University of Lyon CS PhD student @ Inria and Ecole Polytechnique My thesis is about user-oriented exploration of semi-structured data. It is not only about me: ...and many others! Nelly Barret (Inria) From data to journalism January 31, 2024 2 / 47 Context: data is the new gold (1/2) Nelly Barret (Inria) From data to journalism January 31, 2024 3 / 47 Context: data is the new gold (2/2) Our digital world comes with various contexts, needs, actors, ... We are overwhelmed by (raw) data, we need to bring order Very large and heterogeneous data: Tables, text, databases, ... Detection of entities of interest: People names, places, company names, dates, ... Nelly Barret (Inria) From data to journalism January 31, 2024 4 / 47 Data + journalism = data journalism On one hand, we have: Facts Data In the middle, we have: Computers Programs On the other hand, we have: Journalists Data investigation Fact-checking Nelly Barret (Inria) From data to journalism January 31, 2024 5 / 47 New user needs, especially in data-journalism With heterogeneous data, users need: 1Auniform/integrated view over the data 2Efficient and intuitive ways to: Get a global understanding, description of the data Get interesting entity connections Query and search for information in the system 3Produce insights/tangible results to share But: They have few or no CS skills They do not know what they are exactly looking for Their data may be messy/dirty Nelly Barret (Inria) From data to journalism January 31, 2024 6 / 47 Vocabulary introduction: dataset, schema, model Dataset A file reporting data on a precise topic Data model How data is represented (table, text, database, ...) Schema How data objects are designed and relate Data heterogeneity At the model and/or schema level Nelly Barret (Inria) From data to journalism January 31, 2024 7 / 47 Problem statement efficient and expressive integration of heterogeneous data = Provide a unified access (= put in the same “box”) Nelly Barret (Inria) From data to journalism January 31, 2024 8 / 47 Problem statement efficient and expressive integration of heterogeneous data = Provide a unified access (= put in the same “box”) to a set of datasets (whatever their provenance, model, schema) Nelly Barret (Inria) From data to journalism January 31, 2024 9 / 47 ConnectionStudio Nelly Barret (Inria) From data to journalism January 31, 2024 16 / 47 ConnectionStudio problem statement Question: How to work with heterogeneous (journalistic) data? Nelly Barret (Inria) From data to journalism January 31, 2024 17 / 47 ConnectionStudio problem statement Question: How to work with heterogeneous (journalistic) data? Nelly Barret (Inria) From data to journalism January 31, 2024 17 / 47 ConnectionStudio problem statement Question: How to work with heterogeneous (journalistic) data? Nelly Barret (Inria) From data to journalism January 31, 2024 18 / 47 ConnectionStudio problem statement Question: How to work with heterogeneous (journalistic) data? Nelly Barret (Inria) From data to journalism January 31, 2024 18 / 47 ConnectionStudio solution in a nutshell Our answer: Auser-friendly data lake for: 1Loading heterogeneous datasets →uniform/integrated view over the data 2Statistics and data summaries →global description of the data 3Keyword search →query and search for information 4Data paths →interesting entity connections 5Querying the data lake →query and search for information 6Tabular-looking results →produce insights/tangible results to share Nelly Barret (Inria) From data to journalism January 31, 2024 19 / 47 ConnectionStudio solution in a nutshell Our answer: Auser-friendly data lake for: 1Loading heterogeneous datasets →uniform/integrated view over the data 2Statistics and data summaries →global description of the data 3Keyword search →query and search for information 4Data paths →interesting entity connections 5Querying the data lake →query and search for information 6Tabular-looking results →produce insights/tangible results to share Nelly Barret (Inria) From data to journalism January 31, 2024 19 / 47 ConnectionStudio solution in a nutshell Our answer: Auser-friendly data lake for: 1Loading heterogeneous datasets →uniform/integrated view over the data 2Statistics and data summaries →global description of the data 3Keyword search →query and search for information 4Data paths →interesting entity connections 5Querying the data lake →query and search for information 6Tabular-looking results →produce insights/tangible results to share Nelly Barret (Inria) From data to journalism January 31, 2024 19 / 47 ConnectionStudio solution in a nutshell Our answer: Auser-friendly data lake for: 1Loading heterogeneous datasets →uniform/integrated view over the data 2Statistics and data summaries →global description of the data 3Keyword search →query and search for information 4Data paths →interesting entity connections 5Querying the data lake →query and search for information 6Tabular-looking results →produce insights/tangible results to share Nelly Barret (Inria) From data to journalism January 31, 2024 19 / 47 ConnectionStudio solution in a nutshell Our answer: Auser-friendly data lake for: 1Loading heterogeneous datasets →uniform/integrated view over the data 2Statistics and data summaries →global description of the data 3Keyword search →query and search for information 4Data paths →interesting entity connections 5Querying the data lake →query and search for information 6Tabular-looking results →produce insights/tangible results to share Nelly Barret (Inria) From data to journalism January 31, 2024 19 / 47 1 Unified data view: a graph Question: What if the data graph is huge? Our answer: Build its compact representation (summary) →We build a summary graph, with small information loss →Efficient algorithms and applications Nelly Barret (Inria) From data to journalism January 31, 2024 22 / 47 1 Unified data view: a graph Question: What if the data graph is huge? Our answer: Build its compact representation (summary) →We build a summary graph, with small information loss →Efficient algorithms and applications Nelly Barret (Inria) From data to journalism January 31, 2024 22 / 47 1 Unified data view: a graph Question: What if the data graph is huge? Our answer: Build its compact representation (summary) →We build a summary graph, with small information loss →Efficient algorithms and applications Nelly Barret (Inria) From data to journalism January 31, 2024 22 / 47 2 Statistics and data summaries Question: How to get a quick overview of the datasets? Our answer: Show Named Entities stats in charts, tables and tag clouds Nelly Barret (Inria) From data to journalism January 31, 2024 23 / 47 2 Statistics and data summaries Question: How to get a quick overview of the datasets? Our answer: Show Named Entities stats in charts, tables and tag clouds Nelly Barret (Inria) From data to journalism January 31, 2024 23 / 47 2 Statistics and data summaries Question: How to get a quick overview of the datasets? Our answer: Show Named Entities stats in charts, tables and tag clouds Nelly Barret (Inria) From data to journalism January 31, 2024 23 / 47 2 Statistics and data summaries Question: How to get a quick overview of the datasets? Our answer: Draw an Entity-Relationship diagram representing “important” nodes Nelly Barret (Inria) From data to journalism January 31, 2024 24 / 47 2 Statistics and data summaries Question: How to get a quick overview of the datasets? Our answer: Draw an Entity-Relationship diagram representing “important” nodes Nelly Barret (Inria) From data to journalism January 31, 2024 24 / 47 2 Statistics and data summaries Question: How to get a quick overview of the datasets? Our answer: Draw an Entity-Relationship diagram representing “important” nodes Nelly Barret (Inria) From data to journalism January 31, 2024 24 / 47 2 Statistics and data summaries Nelly Barret (Inria) From data to journalism January 31, 2024 25 / 47 5 Querying the data lake Our answer: Get rid of the “SQL writing part”, keep tables as output 1Enumerate a set of paths in the summary graph: p={n0,e0,n1,e1, ..., ei,ni+1} 2Each selected path pis associated to: A source variable s(the first element in p) A target variable t(the last element in p) 3Select join predicates (LEFT JOIN or INNER JOIN) 4Conversion to a SQL query: Each path leads to a SQL query, reusing sand t Path SQL queries are joined using join predicates p0={ s z }| { declaration, , general, , declarer, , name, , t z }| { #val} ./ p1={declaration | {z } s , , financialInterest, , items, , item |{z} t } Nelly Barret (Inria) From data to journalism January 31, 2024 28 / 47 5 Querying the data lake Our answer: Get rid of the “SQL writing part”, keep tables as output 1Enumerate a set of paths in the summary graph: p={n0,e0,n1,e1, ..., ei,ni+1} 2Each selected path pis associated to: A source variable s(the first element in p) A target variable t(the last element in p) 3Select join predicates (LEFT JOIN or INNER JOIN) 4Conversion to a SQL query: Each path leads to a SQL query, reusing sand t Path SQL queries are joined using join predicates p0={ s z }| { declaration, , general, , declarer, , name, , t z }| { #val} ./ p1={declaration | {z } s , , financialInterest, , items, , item |{z} t } Nelly Barret (Inria) From data to journalism January 31, 2024 28 / 47 6 Concrete results Question: How to share results found/created in the data lake? Our answer: They can be exported (statistics, tables, queries, ...) Nelly Barret (Inria) From data to journalism January 31, 2024 29 / 47 6 Concrete results Question: How to share results found/created in the data lake? Our answer: They can be exported (statistics, tables, queries, ...) Nelly Barret (Inria) From data to journalism January 31, 2024 29 / 47 6 Concrete results Question: How to share results found/created in the data lake? Our answer: They can be exported (statistics, tables, queries, ...) Nelly Barret (Inria) From data to journalism January 31, 2024 29 / 47 StatCheck Nelly Barret (Inria) From data to journalism January 31, 2024 30 / 47 StatCheck problem statement Question: How to ease/automate part of the fact-checking process? Nelly Barret (Inria) From data to journalism January 31, 2024 31 / 47 StatCheck problem statement Question: How to ease/automate part of the fact-checking process? Nelly Barret (Inria) From data to journalism January 31, 2024 31 / 47 ConnectionStudio problem statement Question: How to ease/automate part of the fact-checking process? Nelly Barret (Inria) From data to journalism January 31, 2024 32 / 47 ConnectionStudio problem statement Question: How to ease/automate part of the fact-checking process? Nelly Barret (Inria) From data to journalism January 31, 2024 32 / 47 1 Consolidated data for French statistics Question: how to create consolidated data for French statistics? Our answer: crawling of reference/trusted websites for French statistics (Open Data): 1INSEE: Institut National de la Statistique et des ´ Etudes ´ Economiques 2EuroStat: European statistical database Knowing that: Data is in different models (tables, text, ...) Data is huge ... and many other concerns that we will not cover today Nelly Barret (Inria) From data to journalism January 31, 2024 34 / 47 1 Consolidated data for French statistics Question: how to create consolidated data for French statistics? Our answer: crawling of reference/trusted websites for French statistics (Open Data): 1INSEE: Institut National de la Statistique et des ´ Etudes ´ Economiques 2EuroStat: European statistical database Knowing that: Data is in different models (tables, text, ...) Data is huge ... and many other concerns that we will not cover today Nelly Barret (Inria) From data to journalism January 31, 2024 34 / 47 1 Consolidated data for French statistics Question: how to create consolidated data for French statistics? Our answer: crawling of reference/trusted websites for French statistics (Open Data): 1INSEE: Institut National de la Statistique et des ´ Etudes ´ Economiques 2EuroStat: European statistical database Knowing that: Data is in different models (tables, text, ...) Data is huge ... and many other concerns that we will not cover today Nelly Barret (Inria) From data to journalism January 31, 2024 34 / 47 1 Consolidated data for French statistics Initial approach: convert all data into a graph Yes, but: High cost of storage (graph size: 3Tb) Searching the graph was expensive (1/3 of queries were very long) Nelly Barret (Inria) From data to journalism January 31, 2024 35 / 47 1 Consolidated data for French statistics Initial approach: convert all data into a graph Yes, but: High cost of storage (graph size: 3Tb) Searching the graph was expensive (1/3 of queries were very long) Nelly Barret (Inria) From data to journalism January 31, 2024 35 / 47 1 Consolidated data for French statistics Our answer: convert data tables as “areas” Nelly Barret (Inria) From data to journalism January 31, 2024 36 / 47 1 Consolidated data for French statistics Our answer: convert data tables as “areas” Nelly Barret (Inria) From data to journalism January 31, 2024 36 / 47 1 Consolidated data for French statistics Our answer: convert data tables as “areas” Nelly Barret (Inria) From data to journalism January 31, 2024 37 / 47 1 Consolidated data for French statistics Our answer: convert data tables as “areas” Nelly Barret (Inria) From data to journalism January 31, 2024 37 / 47 1 Consolidated data for French statistics Question: How much more efficient is the novel approach? Our answer: Type INSEE EuroStat Total Files 96 207 7 094 103 301 Tables 112 966 7 003 119 969 Areas 1 286 603 12 179 533 13 488 136 Graph (Mb) 1 864 766 120 425 - Areas (Mb) 577 8 055 - Compression ×3 266 ×14 - Lesson learned: the storage should be chosen based on the data/usage Nelly Barret (Inria) From data to journalism January 31, 2024 38 / 47 2 Searching for statistics in the warehouse Question: How to retrieve information from textual questions? Our answer: Given a query Qcomposed of nkeywords kn: Q= Taux | {z } k1 de chˆomage | {z } k2 2022 | {z } k3 Find the 20 most relevant tables, and possibly the value: Nelly Barret (Inria) From data to journalism January 31, 2024 39 / 47 3 Automated text analysis Question: Can we learn things from political discourses? Our answer: Yes, e.g., in tweets Recognize/extract statistical claims Identify well-known persuasion techniques Number of followed politicians 63 Number of gathered tweets 77 081 Claims detected (since 01/2022) 61 207 Nelly Barret (Inria) From data to journalism January 31, 2024 40 / 47 3 Automated text analysis Question: Can we learn things from political discourses? Our answer: Yes, e.g., in tweets Recognize/extract statistical claims Identify well-known persuasion techniques Number of followed politicians 63 Number of gathered tweets 77 081 Claims detected (since 01/2022) 61 207 Nelly Barret (Inria) From data to journalism January 31, 2024 40 / 47 3 Automated text analysis Question: Can we learn things from political discourses? Our answer: Yes, e.g., in tweets Recognize/extract statistical claims Identify well-known persuasion techniques Number of followed politicians 63 Number of gathered tweets 77 081 Claims detected (since 01/2022) 61 207 Nelly Barret (Inria) From data to journalism January 31, 2024 40 / 47 3 Statistical claim detection in political discourses Question: How to identify statistics used in political discourses? Our answer: Use a Machine Learning model trained on political debates (from 1950 to 2024) statistical claim = a statistical entity + a value + a date Taux de chˆomage en Guadeloupe |{z } statistical entity + 27% |{z} value + 2023 | {z } date Nelly Barret (Inria) From data to journalism January 31, 2024 41 / 47 3 Statistical claim detection in political discourses Question: How to identify statistics used in political discourses? Our answer: Use a Machine Learning model trained on political debates (from 1950 to 2024) statistical claim = a statistical entity + a value + a date Taux de chˆomage en Guadeloupe |{z } statistical entity + 27% |{z} value + 2023 | {z } date Nelly Barret (Inria) From data to journalism January 31, 2024 41 / 47 3 Statistical claim detection in political discourses Question: How to identify statistics used in political discourses? Our answer: Use a Machine Learning model trained on political debates (from 1950 to 2024) statistical claim = a statistical entity + a value + a date Taux de chˆomage en Guadeloupe |{z } statistical entity + 27% |{z} value + 2023 | {z } date Nelly Barret (Inria) From data to journalism January 31, 2024 41 / 47 3 Persuasion techniques detection in political discourses Question: Can we detect persuasion techniques in political discourses? Our answer: Use ML classifiers to detect those techniques and assign them a category Emmanuel Macron on Nov 28, 2023: Le cap que je porte a toujours ´et´e le mˆeme: | {z } affirmation r´eindustrialiser la France | {z } flag-waving ,gagner la bataille du plein-emploi | {z } war term , ˆetre une Nation plus souveraine, industrielle et d´ecarbon´ee. | {z } flag-waving, hopes Soyons des optimistes d´etermin´es. | {z } loaded language Nelly Barret (Inria) From data to journalism January 31, 2024 42 / 47 3 Persuasion techniques detection in political discourses Question: Can we detect persuasion techniques in political discourses? Our answer: Use ML classifiers to detect those techniques and assign them a category Emmanuel Macron on Nov 28, 2023: Le cap que je porte a toujours ´et´e le mˆeme: | {z } affirmation r´eindustrialiser la France | {z } flag-waving ,gagner la bataille du plein-emploi | {z } war term , ˆetre une Nation plus souveraine, industrielle et d´ecarbon´ee. | {z } flag-waving, hopes Soyons des optimistes d´etermin´es. | {z } loaded language Nelly Barret (Inria) From data to journalism January 31, 2024 42 / 47 3 Persuasion techniques detection in political discourses Question: Can we detect persuasion techniques in political discourses? Our answer: Use ML classifiers to detect those techniques and assign them a category Emmanuel Macron on Nov 28, 2023: Le cap que je porte a toujours ´et´e le mˆeme: | {z } affirmation r´eindustrialiser la France | {z } flag-waving ,gagner la bataille du plein-emploi | {z } war term , ˆetre une Nation plus souveraine, industrielle et d´ecarbon´ee. | {z } flag-waving, hopes Soyons des optimistes d´etermin´es. | {z } loaded language Nelly Barret (Inria) From data to journalism January 31, 2024 42 / 47