Ici archive

I originally wrote this article to be published on Dataiku’s blog here.

Data Science, From Enthusiastic Commitment to Frustrating Results

A growing interest in data science and artificial intelligence (AI) has been observed over the past decade, both in professional and private spheres. A variety of uses have appeared, such as selecting sitcom scenarios to gain viewers, writing articles for the press automatically, developing stronger-than-human AI for particularly difficult games, or creating smart chatbots to assist customers. Furthermore, numerous influential actors in the technology space demonstrate strong enthusiasm towards AI:

  • AI is going to be the next big shift in technology.
    Satya Nadella, Microsoft CEO
  • It is a renaissance, it is a golden age.
    Jeff Bezos, Amazon CEO
  • AI […] is more profound than […] fire or electricity.
    Sundar Pichai, Google CEO

Beyond these promises, there are significant investments being made in data science and AI. Both retrospective and prospective figures are massive: the market was worth $20.7 billion in 2018 and the compound growth is expected to reach 33% by 2026, according to this study. The report “Data and Innovation: Leveraging Big Data and AI to Accelerate Business Transformation” by NewVantage Partners in 2019 showed that the majority of the 65 companies investigated react proactively and positively to data science and AI (see Figure 1 below, left panel).

Furthermore, numerous countries are investing significant resources to develop AI initiatives: the Digital Europe funding program dedicated 2.5 billion euros to AI research, the DARPA funding campaign raised two billion dollars to fund the next wave of AI technologies, and China declared its goal to lead the world in AI by 2030. Altogether, these observations argue that most stakeholders are aware of the importance of data science and AI, and commit to its development in their activities.

Despite these dynamic trends of investment and constructive attitudes from companies, there are also some alarming — sometimes even shocking — observations regarding the deployment of data science and AI. Indeed, the rate of data science projects which do not succeed may be as high as 85% or 87%. This low performance does not only affect young companies — it can also be observed within data-mature businesses.

The study “Artificial Intelligence Global Adoption Trends & Strategies” conducted by the IDC in 2019 among 2,473 organizations exploiting AI in their operations reported that one-fourth of them have a failure rate of AI projects higher than 50%, while another one-fourth of them consider having developed an AI strategy at scale.

The report of NewVantage Partners mentioned above has also studied the nature of the obstacles met by companies while deploying data science and AI programs: the main limitations appear to be cultural rather than technological (see Figure 1 above, right panel). In this sense, this study reports that 77.1% of consulted companies have identified AI adoption by business experts as a major challenge.

To sum up, many have high expectations for data science and AI, given the media coverage and the level of investment. However, in practice, its performance is low and restrained by cultural obstacles. This contradictory gap between expectations and the “reality” is not rare in the technology sector, and can lead to a “trough of disillusionment” as described by Gartner in “hype cycles” (see Figure 2 above, panel A). In fact, AI has already fluctuated between such highs and lows three times. In the history of AI, hype periods of intense investment and development were followed by an “AI winter”, with no activity in the field (see Figure 2 above, panel B).

Then, the next question we should ask ourselves is: are we about to live a fourth “AI winter” with a “data science bubble burst”, or will the field continue to flourish? The answer will depend on us, and we firmly believe that adoption will be a key ingredient in the success or the failure of AI in the coming decade. This article describes the different cultural obstacles to successful data science and AI, and, in light of this analysis, presents a systemic and organizational lever to address these obstacles and foster adoption at scale: a new position named the “Data Adoption Officer.”

The Cultural Pains of Data Science

In the following sections, we will look at a variety of cultural obstacles met during the deployment at scale of data science and AI. To simplify the complex landscape, the limitations listed below are grouped along four main dimensions: the data scientists, the resources, the hermeticism of data science and AI, and MLOps.

Pain 1 – Data Scientist, The Sexiest Trickiest Job of the 21st Century

While the data scientist has been advertised as the sexiest job of the 21st century by an article in the Harvard Business Review, it may also be one of the trickiest positions for many reasons described below, including skill shortages, heterogenous profiles, an ill-defined job description, and significant turnover.

Skill Shortages

In their study Artificial Intelligence Global Adoption Trends & Strategies, the IDC reports that skill shortages are identified by companies as a major cause of AI project failure. Although numerous graduate programs in data science and AI have appeared in the last few years, the need for skillful data scientists is not fulfilled. In August 2018, LinkedIn stated that there was a shortage of 151,000 data scientists in the U.S.

Aside from this quantitative shortage, there is also a qualitative one. Since the data science discipline is fairly young, most senior data scientists come from other fields. Thus, while there are more and more juniors arriving on the labor market, companies struggle to find experienced profiles to drive a dynamic vision and strategy and enable skill transfer.

Heterogeneous Profiles

One of the consequences of having many reconverted data scientists on the labor market is the strong heterogeneity of profiles, both in terms of educational background (see Figure 3 below, panel A) and previous experience (see Figure 3 below, panel B). Every field has its own culture, made of distinct methodologies and knowledge bases. Similarly, the other job titles have their own roadmap, scope and goals.

Furthermore, a Kaggle poll showed that 66% of the participants learned data science on their own (likely overestimated due to selection bias), which contributes to the diverse nature of this discipline. Without a doubt, this diversity may generate interesting synergies and values. However, it also slows down the composition and acquisition of a common frame of reference. The data science community has a vital need of social cohesion to consolidate its unity.

Data Scientist, an Ill-Defined Position

Data scientists are expected to have numerous talents, from hard sciences to soft skills through business expertise. Altogether, the ideal data scientist endowed with all these abilities rather looks like a “five-legged sheep” (see Figure 4 below). Such a mix of objectives, roles, and functions makes it difficult for data scientists to handle all these aspects at once. And if data scientists are five-legged sheep, then a lead data scientist and a Chief Data Officer (CDO) may perhaps be a chimera. Indeed, NewVantage Partners reported in their 2019 study “Data and Innovation: Leveraging Big Data and AI to Accelerate Business Transformation” that the CDO’s role is changing gradually and is not well described, leaving the CDO rather helpless.

Significant Turnover

According to a study published in the Training Industry Quarterly, an employee needs one to two years to be fully productive when starting a new job. Given the numerous challenges that data scientists face in their duties, as presented earlier, this may rather be two years. In 2015, a global poll realized by KDNuggets among data scientists revealed that half of the participants stayed at their previous role for less than 18 months. Such a turnover in data teams is a productivity killer. However, the participants stated that they were willing to stay longer in their current position.

Since KDNuggets’ survey, however, it seems that the length of a data scientist position has increased: the average tenure at a previous data science job is 2.6 years for data scientists who took part in a survey conducted by Burtch Works and who changed jobs in 2018 (representing 17.6% of the participants). Even if there is a clear improvement since 2015, the average tenure for a data scientist seems still neatly below those of other jobs in the US (4.6 years according to the Bureau of Labor Statistics). Below is a non-exhaustive list of some reasons that data scientists change jobs:

  • Mismatch between expectation and reality
  • Company politics
  • Overloaded by data duties, which most of the time are not machine learning-related
  • Working in isolation
  • Lack of macroscopic vision concerning the roadmap
  • Infrastructure and/or data not sufficiently mature (cold start in ML)

Losing an asset on which a company has invested negatively impacts a data team’s activity. Thus, retaining data scientists should be a major concern for companies. To help retain talent, companies may want to consider Happiness Management, which is closely related to adoption and the points listed above, since:

“One is not happy because one succeeds, one succeeds because one is happy.”

Pain 2 — Suboptimal Usage of Resources

Resources have different origins, and can be split into three types: tools, data and humans. All of these resources suffer from suboptimal usages as described below.

A Multiplicity of Tools Penalizing Quality

The data lifecycle is not a long, quiet river and is, rather, composed of numerous stages. Each of them can be categorized into different perimeters, either functionally, technologically, or thematically. And for each perimeter of each stage, numerous solutions exist. Therefore, the data and AI landscape in 2019 in terms of tools was fairly crowded (see Figure 5 below).

This multiplicity of tools obliges data teams to include in their pipeline a diversity of technologies, each of them having their own complex functioning. It requires a great discipline and expertise to consolidate the best practices across space and time for each technology to reach a utopian “generalized best practices.” The reality is often far from this, inducing decreased performance and even hazards.

The Data Management Bottleneck

Greg Hanson from Informatica has a great (overstated) sentence which summarizes the following paragraph:

“The hardest part of AI and analytics is not AI, it is data management.”

As a matter of fact, data science and AI do not escape the GIGO constraint: Garbage In, Garbage Out. In other words, the quality of the information coming out cannot be better than the quality of information that went in. The inputs that AI models receive come from a long sequence of actions (see Figure 6 below, panel A), with possible alterations of quality at each step, justifying Greg Hanson’s slogan.

Data quality is precisely a great matter of concerns among data scientists. In the Kaggle survey from 2017 named “The State of Data Science & Machine Learning,” three of the top five obstacles encountered by data scientists are related to data management (see Figure 6 below, panel B). Finally, data management can sometimes be overflowed by short-term compelling duties, blocking any attempt to develop a long-term vision/program to widen the data horizon. Since most of the work of a data scientist depends greatly on efficient data management, its inertia can be an import limitation.

Blindfold Human Resources

Knowing quantitatively what oneself knows is not easy and requires rare metacognitive skills. Therefore, knowing what a team knows, through its individuals and as a group is even more difficult. This is particularly true for data science, which involves a vast knowledge grounded in many fields (statistics, computer science, mathematics, machine learning, etc.) and completed by the need of a business expertise. Skills management may greatly benefit the data science activity of an entity.

Besides, it is echoing the observations of section A with regards to happiness management, since it may facilitate and optimize the upskilling track of each data scientist. It may also stimulate the R&D activities by identifying blind spots to investigate, improve recruitment by matching candidates with existing assets, and identify the priority needs in terms of external services providers (consulting, expertise, etc.).

Pain 3 — A Hermetic Field Preventing Global Adoption

Since data science and AI are complex subjects, there is a risk of rejection by the population and business experts. This hermetic field may either generate fears or a disinterested posture. Sometimes, it is the structure of companies made of silos which slow down collaboration possibilities. Because of this, it is important that the data community tries to include everyone in its activity, to prevent any inequalities enhancement. These ideas are discussed below.

Fear of the Unknown

Change can be frightening, a fortiori when it is not intelligible. Because AI is complex, and sometimes suffers from a black-box effect, the related new technologies generate fear as observed in a survey ordered by Saegus, in which 60% of the participants reported such worries. Beyond the “unknown” factor, many other characteristics may create anxiety in the population. For instance, people dread robots which may replace them at work, similarly to the mechanization of agriculture (50% of the working force was working in agriculture in 1870, when it is 2% nowadays). This is not just a delusion: 47% of jobs may potentially be replaced (or augmented) by AI in the U.S. according to this report.

Another source of fear is related to possible dysfunctional AI, as advertised by numerous bad buzz: an autonomous vehicle that kills a pedestrian in Arizona in 2018, the inability of almost all the models to predict the victory of France at the soccer World Cup in 2018, some smart speakers which get activated loudly in the middle of the night, etc. In addition, when AI models are not dysfunctional, they might just escape our control: biased algorithms favoring male candidates in Amazon’s recruitment process, two chatbots collaborating to trade goods which build their own non-human language, or Microsoft’s chatbot Tay which published violent content on Twitter.

If the models survive also these downsides, another risk is the misuse of these technologies: autonomous weapons such as the Google’s Maven project, social manipulation during elections, mass surveillance and privacy violation, etc. Some of these concerns are legitimate, and many scientists have shared them, such as when Stephen Hawking said:

Success in creating effective AI could be the biggest event in the history of our civilization. Or the worst.

There is still a lot of progress to be made to protect users and people from these risks since there is a legal vacuum on most of the related topics (see Figure 7 below). It is a duty of the data community to take part in the legal framing of AI. The corresponding protection may facilitate the global adoption of AI.

The Clash of Cultures

It is essential that data teams and business experts collaborate fluidly, which is currently not always the case. A survey by Spiceworks showed that seven in ten IT professionals considered collaboration as a major priority. In the worst-case scenario, data scientists miss the ability to take advice from business experts while the former does not take into consideration data-driven elements provided by the latter to take a decision (see Figure 8 below, Panel A).

Most of the time, there is some good will from both sides, but the difficulties to collaborate can still emerge from existing silos in the company which is often the case. Statistics and consequences are presented in the panel B of Figure 8 below: silos are often harmful for developing at scale AI solution. Breaking these silos is the main solution to this constraint.

Data Science and Inequalities

Digital inequalities tend to replicate social inequality in terms of socio-economic status (education, gender, age, place of residence, professional situation, etc.). For instance, in France, the Insee reports in a study that:

  • 15% of the active population has had no connection to internet in a year.
  • 38% of users lack at least one digital skill (search, communication, software manipulation, problem solving).
  • 25% of the population does not know how to get information online.

With such skills gaps on digital basics, the risk that AI will strengthen inequalities is real. Having two “parallel worlds”, with data-aware people on one side, and the others on the other one, can only be detrimental to data science. AI inequalities would be particularly strong on the following dimensions:

  • Level of education
  • Access to work
  • Access to information
  • Access to technologies
  • Biased AI favoring a ruling minority

In business, such inequality may appear with regards to transgenerational issues, as young people become more fluent in these technologies. Generally speaking, it is critical to advocate for an inclusive data science, serving everyone, with no one left behind.

Pain 4 — The Long Path Full of Risks Towards Value Generation Along Project’s Lifecycle

The integration of the DevOps culture into data science and AI projects definitely deserves to be briefly mentioned here, but the gigantic technical aspect of MLOps will not be explicitly covered. Below, only general and cultural factors constraining data science from blooming and associated with MLOps are presented: the peculiarities of machine learning which render DevOps adaptation to AI not that simple, the youthfulness of the MLOps tools, and the difficult cohabitation of agile methodologies and data science.

Machine Learning and DevOps

As mentioned previously, an AI project is a succession of numerous stages, from ideation to industrialization through POC. It is beneficial to manage systematically and automatically projects throughout its entire lifecycle, and in this line of idea, DevOps may be inspiring. However, the specificities of machine learning complicate the application of DevOps principles in an AI project. The peculiarities of ML with regards to DevOps are presented in the table below (see Figure 9 below).

MLOps Tools on Track of Development Paths

Because of the AI and ML specificities presented in the previous paragraph, dedicated methodologies and tools are needed, called MLOps. This discipline is even younger than data science. As a consequence, the existing MLOps tools — even if really promising — are still on track of development paths. For instance, corresponding tools may be notable: ModelDB, Kubeflow, MLflow, Pachyderm, DVC.

Because of their youthfulness, they would benefit from longer-term testing. From a general point of view, most of these tools were the results of local initiatives (sometimes redundant). Up until now, no methodological standards have been agreed upon in the community. One effect is that there is often a lack of interoperability between these technologies.

Agile Methodology and “Clumsy” Data Science

Agile methodologies are essential in many cases to facilitate collaboration, to converge to a solution satisfying everybody, while improving the productivity of the team. They are particularly used in the IT sector. However, some data scientists consider their work as incompatible with the methods. Indeed, in addition to the specificities of AI and ML presented previously, it is often really difficult to estimate the duration of some tasks — such as data wrangling — and consequently may inactivate the concept of sprint.

Furthermore, some intermediate results that cannot be anticipated may be central to a Go/No-Go decision which may abruptly interrupt a project. Whatever the reasons leading to a non-agile methodology (if any) within a data team, beyond a possible suboptimal way of working, it may impact negatively any attempts to collaborate with other departments.

Conclusion

To sum up, while significant investments are made to develop data science and AI in most business sectors, the rate of successful AI projects is unacceptable. The difficulties met by companies to deploy AI at scale are mainly cultural and can be described along four dimensions.

The first dimension is related to the data scientist population, which is not easy to handle: skill shortages on the labor market, heterogeneous profiles, overly ambitious job descriptions, and high turnover. The second dimension is associated with the suboptimal usage of resources, including tools, data and talent.

The third dimension corresponds to the siloed nature of data science and AI, which generates fears, cultural clashes and inequality, stifling collective data adoption. Finally, the fourth dimension is represented by MLOps issues: the specificities of AI that complicate the application of DevOps principles, young dedicated tools that are still in development, and, sometimes, a lack of agility in AI projects.

This diagnostic is absolutely necessary to anticipate any actions to overcome cultural obstacles. One may employ a specific and stand-alone solution for each obstacle, but this may not be the most efficient approach — low accountability, unbalanced agenda, lack of coordination, etc. This is why at Saegus, we have developed a holistic solution: an ingrained and organizational lever addressing every obstacle and fostering adoption at scale. This is a new job named the “Data Adoption Officer”. Our motto concerning data adoption is:

“Technological evolution must be complemented by cultural progress. Adoption is a major issue, so for individual and collective fulfillment and deployment at scale teams need an efficient, fruitful, inclusive, and humanistic data science practice.”

Contact our experts to make a diagnosis and find solutions fitted to your needs.

Rédigé par Clément Moutard, Consultant Data Driven Business

Notes
[1] Where Do Data Scientists Come From ?

Les transports sont un sujet d’actualité brûlante, que nul habitant, ou visiteur, d’Île-de-France, peut ignorer. Le but ici n’est pas de débattre sur la grève, mais plutôt de la voir comme une opportunité pour repenser nos façons de se déplacer en ville, voire même “une opportunité de changer d’habitudes de transports et choisir des plus vertueux“, selon Frédéric Rodriguez, président de GreenFlex, un cabinet qui favorise l’accélération des transitions environnementale, énergétique et sociétale des entreprises.

Je souhaite aujourd’hui me pencher sur les transformations que vivent les villes en termes de transports, et sur celles à venir. En effet, les changements sont inévitables puisque nous assistons à une croissance toujours plus importante des villes. À ce jour, 80% de la population française est urbaine, impliquant une désertion des campagnes, mais cela pourrait être le sujet d’un prochain article.

L’urbanisation transforme le paysage des villes et nos habitudes de vie, ces mutations créent de nouvelles problématiques qui nécessitent des solutions viables. Voici les principaux axes problématiques qui me viennent à l’esprit :

  • Des villes de plus en plus denses avec un fort trafic — comment choisir son transport ?
  • Des villes de plus en plus étendues — comment faciliter une mobilité multimodale ?
  • Des transports polluants — comment réduire son empreinte écologique ?

L’objectif de cet article est d’aborder diverses solutions avec un regard analytique sur l’expérience utilisateur, particulièrement dans la ville de Paris. Il existe aujourd’hui un large maillage de solutions pour se déplacer en zone urbaine, qu’elles soient à leurs prémices, à la pointe de la technologie, ou ancestrales.

#1 Comment choisir son transport ?

Cette vaste diversité de solutions est le constat duquel partent les plateformes de Mobility as a Service (MaaS) qui regroupent l’ensemble des offres de mobilité d’une ville. MaaS simplifie et améliore l’expérience voyageur afin de favoriser l’utilisation des transports en commun. Il s’agit d’un grand changement pour les voyageurs puisque l’on regroupe les solutions d’une multitude d’acteurs (publics et privés) pour que l’individu puisse construire sa propre mobilité.

Prenons CityMapper par exemple, l’application mobile de déplacements urbains et calculs d’itinéraires, elle a été créée en 2011 et incarne le principe du MaaS. Elle est active dans de nombreuses villes, notamment dans les capitales Londres, Paris, New-York, Berlin et Tokyo. L’application s’adapte à chaque ville en combinant les différents modes de transports existants (RER, métro, bus, taxis, à pied, etc.), mais doit rester à jour en intégrant des événements imprévus (#grève) mais aussi les nouveaux arrivants, notamment les “transports flottants”.

Mobilité urbaine

Les transports flottants, ou free floating, font référence aux véhicules que l’usager géolocalise en libre-service et démarre grâce à une application mobile. Ces transports ont explosé dans les capitales européennes et semblent sans limites, entre trottinettes, vélos et scooters. Ils présentent des avantages certains : les voyageurs utilisent de nouveaux moyens de transport (notamment avec l’électrique), plus besoin de chercher la station la plus proche pour le déposer et pas d’abonnement, donc j’ai la liberté d’utiliser autant de moyens différents que je souhaite. Cependant, ces avantages pour l’utilisateur peuvent se convertir en cauchemar pour les villes, dont certaines comme Londres ou Valence (Espagne) qui ont fait le choix d’interdire les trottinettes électriques, à cause de parkings sauvages, et de circulation dangereuse.

Face à ces nombreuses options, il s’agit ensuite de comprendre comment l’utilisateur va faire son choix de transport. Plusieurs facteurs influencent le choix du transport, certains peuvent paraître assez évidents, notamment : la rapidité (le transport est souvent considéré comme une perte de temps), le prix, le confort, mais aussi la sécurité, la validation sociale (comment je suis perçu(e) par les autres en utilisant ce moyen-là) et les événements de la vie (mon travail, mon domicile, ma situation familiale).

Mobilité urbaine

Actuellement, aucune plateforme ne pourrait considérer absolument tous les moyens de transport possibles sans perdre le voyageur, il s’agit alors de rassembler les plus grands acteurs du marché.

Mais ne serait-il pas possible de rassembler toutes ces solutions et les proposer selon les critères d’importance ? Donc de mettre en place une personnalisation des critères évoqués ci-dessus afin de proposer la meilleure offre à l’utilisateur.

Par exemple, si l’on considère que le critère primordial de Madame X pour choisir sa mobilité c’est “me sentir en sécurité”, on pourra lui proposer un acteur comme Kolett. C’est une plateforme de VTC entre femmes (conductrices et clientes) disponible à Paris et qui a pour ambition de s’étendre à toute l’Île-de-France. Mais d’autres solutions seront également proposées à Madame X, selon ses autres critères d’importance, et le degré d’importance accordé au critère “me sentir en sécurité”. Notamment, des services de covoiturages qui ont intégré une option “entre femmes”, comme BlablaCar et Karos.

#2 Comment faciliter une mobilité multimodale ?

Il est très agréable d’avoir un éventail d’options avant de faire son choix, on peut trouver celui qui nous convient le mieux, le plus adapté à nos attentes et nos envies. Cependant, lorsque l’on choisit son transport on essaie de s’y tenir, car nous nous sommes engagés en payant un abonnement ou titre de transport. Vous conviendrez qu’il est rare de posséder une voiture, un abonnement de métro / bus, un autre de vélib’ et d’utiliser régulièrement des VTC et trottinettes électriques.

Ce constat traduit une frustration assez répandue : le fait de devoir acheter différents types de tickets de transport ou abonnements selon les moyens utilisés. Cela rend le choix et le trajet parfois plus difficiles, particulièrement lorsque l’on est touriste et que l’on ne connaît pas bien une ville. De plus, l’expérience d’achat du titre de transport elle aussi peut être très désagréable : la queue en station, des machines défectueuses, un mauvais titre ou abonnement acheté, etc.

Pour répondre à cet irritant, il faudrait une solution pour se déplacer dans une ville ou zone urbaine grâce à un ticket unique, qui comprend tous les moyens de transport utilisés. Il faudrait également faciliter l’expérience d’achat du ticket et sa conservation durant le voyage.

Dans ma tête, cela pourrait s’articuler autour d’une application de MaaS qui accomplirait les tâches suivantes :

  • (1) on vous demande de renseigner votre heure et lieu de départ & d’arrivée ;
  • (2) on vous propose plusieurs itinéraires et moyens de transport en précisant plusieurs critères que vous pouvez personnaliser (temps de transport, temps de marche, distance, prix, etc.). Voir illustration ci-dessous ;
  • (3) vous choisissez votre moyen de transport qui vous convient le mieux ;
  • (4) on vous fournit un e-billet unique qui couvre tous les transports utilisés (que ce soit voiture, taxi, VTC, covoiturage, scooter, vélo, trottinette), payable et téléchargeable directement depuis votre smartphone ou ordinateur.
Mobilité urbaine

Cette idée n’est pas une illusion, puisque le concept de ticket unique est déjà commercialisé par Whim, considéré comme l’un des précurseurs en matière de MaaS. L’application mobile, développée par MaaS Global, une entreprise finlandaise, propose plusieurs types d’abonnements : du ticket unique pour un voyage unique (pay as you go), à l’utilisation illimitée de tous types de transports pour 499€ par mois. Les adhérents peuvent ainsi planifier, réserver et payer leur trajet en bus, en train, en taxi ou encore en vélo libre-service, et ce, sur une même plateforme. Après avoir validé l’itinéraire, l’application génère des e-billets sous forme de QR code. L’utilisateur a ensuite accès au récapitulatif de son trajet et peut visualiser ses déplacements sur une carte intégrée. Lorsqu’autorisée par l’utilisateur, l’application peut également se synchroniser aux agendas des utilisateurs afin de planifier à l’avance leurs futurs voyages. Si l’application a fait ses débuts à Helsinki, elle s’étend désormais dans de nombreux pays d’Europe, d’Amérique du Nord et d’Asie.

Ce type de service permet de briser les frontières entre différents acteurs du transport, qu’ils soient publics, privés, innovants ou plus traditionnels. C’est une approche qui pourrait se révéler essentielle dans de nombreuses villes pour faciliter les déplacements. Notamment en France, je pense au projet le « Grand Paris Express ». Il s’agit du plus grand projet urbain d’Europe, qui prévoit 200 km de lignes automatiques, soit autant que le métro actuel, et 68 gares. L’objectif est de faciliter les déplacements au sein de la métropole, mais également de faciliter l’accès depuis les périphéries, souvent oubliées dans les grandes villes. Ce projet de développement du réseau des transports publics se présente également comme une alternative à la voiture en zone urbaine, et une occasion de réduire les embouteillages et la pollution.

Mobilité urbaine

#3 Comment réduire son empreinte écologique ?

L’écologie est une préoccupation grandissante chez les utilisateurs et devient donc un critère de plus en plus important lors du choix de la mobilité. Il s’agit maintenant d’un sujet inévitable lorsque l’on parle d’expérience voyageur.

Le covoiturage

La ministre de la Transition écologique et solidaire Elisabeth Borne a annoncé récemment qu’elle voulait faire tripler la part du covoiturage domicile-travail en cinq ans, en multipliant les initiatives pour faire reculer “l’autosolisme”. “Aujourd’hui, nous nous engageons avec une ambition : 3 millions de covoitureurs du quotidien d’ici cinq ans”, a-t-elle relevé, rappelant qu’”ils sont déjà un million chaque matin pour aller travailler”.

Mobilité urbaine

Plusieurs initiatives de covoiturage se développent au sein des villes pour les trajets du quotidien (travail, maison, activités, gare, etc.), on les appelle les courts-voiturages. Ces trajets de moins de 5km représentent 75% des déplacements que l’on fait en ville. Une des applications les plus connues est BlaBlaLines, qui propose des covoiturages domicile-travail partout en France. Et pour continuer à inciter les individus à arrêter “l’autosolisme”, tous les trajets BlaBlaLines en Île-de-France sont offerts par Île-de-France Mobilités !

Prenons un autre exemple : l’application Karos. Ce service de co-voiturage fonctionne grâce à une intelligence artificielle. On vous demande de renseigner les adresses de départ, d’arrivée, ainsi que les horaires, et l’intelligence artificielle analyse les trajets des autres covoitureurs pour vous proposer automatiquement les meilleurs courts-voiturages. Il s’agit d’un service également à destination d’entreprises pour covoiturer entre collaborateurs. Karos peut aussi accompagner l’entreprise dans l’adoption du produit et les changements que cela engendre aux niveaux individuel et collectif.

Mobilité urbaine

Le vélo

Moyen de transport dès le début du 19ème siècle, il n’est pas révolutionnaire, et pourtant l’utilisation du vélo a doublé durant ces 10 dernières années en moyenne dans le monde. Quels sont les facteurs influençant cette explosion ? Une conscience écologique qui se propage, la volonté de se déplacer plus facilement en ville (sans embouteillages, les villes favorisent les pistes cyclables et les points relais vélos à l’entrée des villes) mais également les innovations que connaissent le vélo. Par exemple, le développement du vélo électrique. En effet, les ventes de VAE (Vélo à Assistance Électrique) ne cessent d’augmenter (+ 21% entre 2017 et 2018).

Mais le vélo est en proie à d’autres innovations, comme un guidon intelligent par exemple, notamment celui développé par l’entreprise Velco. L’objectif est de proposer une mobilité sécurisée et personnalisée, grâce à une navigation GPS directement sur votre guidon, des phares automatiques et un système d’alerte et de géolocalisation directement accessible sur votre smartphone en cas de mouvement suspect.

Certains vélos vont encore plus loin dans les fonctionnalités, jusqu’à devenir quasiment un produit de luxe. C’est le cas d’Angell, le smart bike de Marc Simoncini, papa de Meetic (la plateforme de rencontres), de Sensee (les lunettes), d’Heroïn (le vélo) et du fonds d’investissement Jaïna Capital. Sa volonté est de révolutionner la mobilité citadine, et selon lui, “le vélo partagé n’est pas un business model qui peut fonctionner, quand l’objet ne vous appartient pas vous n’êtes pas respectueux. Un service public ne peut pas être piloté par une entreprise privée”.

Pour conclure, il existe beaucoup de solutions afin de se déplacer en ville ainsi que de produits et services pour faciliter ce choix. Mais pour chaque innovation qui répond à certains besoins, d’autres pains ou irritants sont créés. Il faut donc replacer le voyageur au centre de l’innovation, et cela passe par une recherche utilisateur appliquée (quantitative & qualitative), un process de cocréation de la solution en incluant les voyageurs, ainsi que des prototypages rapides afin de pouvoir les tester et les améliorer, les adapter, les affiner, dans un fonctionnement agile.

Rédigé par Cloé Marche, Consultante Acceleration Tactics

Bibliographie
CityMapper
Les Echos
– LinkedIn
Tom Travel
– Maddyness

Inspirée d’une solution développée pour un client dans l’industrie Pharmaceutique, nous avons présenté à la conférence EGG PARIS 2019 une application basée sur le NLP (Natural Language Processing) et développée sur un environnement Dataiku DSS.

Plus précisément, nous avons entrainé un modèle deep learning à reconnaitre les mots clés d’un article blog, Medium en l’occurrence.

Cette solution appliquée aux articles de blogs peut servir à générer automatiquement des tags et/ou des mots-clés afin que les contenus proposés par les plateformes soient personnalisés et répondent aux attentes des lecteurs, tenant ainsi compte de leurs centres d’intérêts.

Au sens large, la détection des entités permet une analyse automatisée et intelligente d’un texte, utile surtout pour les documents longs et complexes comme les documents scientifiques ou juridiques.

Pour en démontrer l’usage, nous avons intégré une commande vocale, basée sur les API cognitive services d’Azure. Le module de speech to text permet de renvoyer le texte de la requête en input de l’algorithme. L’output est représenté sous forme de recommandation d’articles, classés par pertinence en fonction du domaine de recherche. Cet article explique notre démarche pour créer le modèle NLP sous-jacent.

[pour visualiser les commentaires, veuillez activer les sous-titres] Une vidéo qui illustre le fonctionnement de notre application web réalisé pour la conférence EGG Dataiku 2019

#1 Pourquoi extraire les mots clés des articles de blog Medium ?

Medium comporte deux systèmes de catégorisation : tags et topics.

Les topics sont imposés par la plateforme. L’auteur ne peut pas sélectionner son sujet (topic). Ils correspondent à des catégories assez génériques comme data science ou machine learning.

Les tags, au nombre maximum de 5 par article, sont essentiellement des sujets que l’auteur décide d’énumérer sous son post afin de le rendre visible. Ainsi un article peut porter des tags qui peuvent n’avoir aucun rapport avec le contenu de l’article/histoire.

Si vous l’étiquetez avec des termes communs, comme « TECHNOLOGIE » ou « MINDFULNESS » ou « LOVE » ou « LIFE LESSONS », votre article sera plus facile à rechercher. Mais cela rend la vie plus difficile à un lecteur qui cherche un sujet spécifique.

Nous allons donc essayer d’auto-tagguer des articles pour en accroitre la pertinence.

Grace à ces « nouveaux tags », ou « mots clés », nous pourrions rapidement rechercher les articles qui les mentionnent et ainsi accroitre l’efficacité de notre recherche.

Nous pourrions aller encore plus loin et construire un système de recommandation, en conseillant des articles proches de celui que nous sommes en train de lire, ou en nous conseillant de nouveaux articles en lien avec nos habitudes de lecture.

#2 L’approche NER (Named Entity Recognition)

En utilisant l’approche de NER (Named Entity Recognition), il est possible d’extraire les entités de différentes catégories. Il existe plusieurs modèles de base, pré-entraînés, comme en_core_web_md, qui est capable de reconnaître les personnes, les lieux, les dates…

Prenons l’exemple de la phrase I think Barack Obama met founder of Facebook at occasion of a release of a new NLP algorithm. Le modèle en_core_web_md détecte Facebook et Barack Obama comme entités.

Dans notre cas d’usage sur l’extraction de topics d’articles Medium, nous voudrions qu’il reconnaisse une entité supplémentaire dans la catégorie “TOPIC” : “NLP algorithm”.

Avec un peu de données annotées nous pouvons “apprendre” à l’algorithme à détecter un nouveau type d’entités.

L’idée est simple : un article tagué Data Science, IA, Machine Learning, Python peut concerner des technologies très différentes. Notre algorithme serait ainsi capable de détecter une technologie précise citée dans l’article, par exemple GANreinforcement learning, ou encore les noms de librairies python utilisés. Il garde également la capacité d’un modèle de base de reconnaitre les lieux, les noms d’organisations et les noms de personnes.

Lors de l’entraînement, le modèle apprend à reconnaitre les mots clés, sans les connaître a priori. Le modèle pourra reconnaitre par exemple le topic : random forest sans même qu’il ne soit présent dans les données d’apprentissage. En se basant sur des articles qui parlent d’autres algorithmes (par exemple linear regression), le modèle NER pourra reconnaitre la tournure de phrase qui indique que l’on parle d’un algorithme.

#3 Développement du modèle

Framework SpaCy

SpaCy est une librairie open-source pour le traitement avancé du langage naturel en Python. Il est conçu spécifiquement pour une utilisation en production et aide à construire des applications qui traitent de gros volumes de texte. Elle peut être utilisée pour construire des systèmes d’extraction d’information, de compréhension du langage naturel ou de prétraitement de texte en vue d’un apprentissage approfondi. Parmi les fonctions offertes par SpaCy on peut nommer : Tokenization, Parts-of-Speech (PoS) Tagging, Text Classification et Named Entity Recognition.

SpaCy fournit un système statistique exceptionnellement efficace pour NER en python. Outre des entités inclues par défaut, SpaCy nous donne également la liberté d’ajouter des classes arbitraires au modèle NER, en entraînant le modèle à le mettre à jour avec de nouveaux exemples formés.

Le modèle NER de SpaCy est basé sur les CNN (Convolutional Neural Networks).

Pour les curieux les détails de fonctionnement du modèle NER de SpaCy sont expliqués dans le vidéo :

Données d’entraînement

Pour commencer à entrainer le modèle à reconnaitre des mots clés tech, nous avons récupéré quelques articles Medium grâce à du web scrapping.

https://gist.github.com/UrszulaCzerwinska/db0aa37b1cb10ec94205d847f63ddc4f#file-scrappingmedium-py

Le texte de chaque article a été découpé en phrases pour faciliter l’annotation.

Il existe des outils d’annotation pour NER comme Prodigy ou autre, mentionné ici. Nous avons utilisé un simple tableur et dans les colonnes dédiées nous avons marqué les entités.

Pour donner une idée du volume nécessaire, avec une vingtaine d’articles (~600 phrases) notre modèle a commencé à montrer une performance intéressante (>0.78 de précision sur test).

Les données en train et test ont été séparées pour pouvoir évaluer le modèle.

Ensuite, nous avons fine-tuné notre algorithme en jouant sur plusieurs paramètres : nombre d’itérations, drop rate, learning rate et batch size.

Évaluation

En plus de la métrique loss du modèle, nous avons implémenté les indicateurs : precision, recall et F1 score, pour mesurer plus finement la performance de notre modèle.

https://gist.github.com/UrszulaCzerwinska/c23ce9e0edffe6f9790a2bbf8f018a4b#file-test_eval

Une fois entrainé sur l’ensemble des données annotées, la performance du meilleur modèle sur notre jeu de test était assez impressionnante. Notamment si l’on prend en compte la modeste taille des données train : ~3000 phrases.

Dans l’outil Flow de DSS Dataiku le process de déploiement du modèle se résume par ce graphe :

Pour revenir à l’exemple sur Barack Obama, notre algorithme détecte l’entité NLP algorithm comme TOPIC en plus des entités ORG (organisation) et PERSON.

Nous avons réussi ! 🚀

Le modèle finalisé peut être compilé comme une librairie python indépendante (instructions ici) et installé avec “pip”. Ceci est très pratique pour porter le modèle dans un autre environnement et pour la mise en production.

#4 Exploitation du modèle

Analyse d’un article Medium

Dans notre mini webapp, présentée au EGG, il est possible d’afficher les entités les plus fréquentes d’un article Medium.

Ainsi, pour l’article : https://towardsdatascience.com/cat-dog-or-elon-musk-145658489730, les entités les plus fréquentes étaient : model, MobileNet, Transfer learning, network, Python. On a aussi détecté des personnes : Elon Musk, Marshal McLuhan et les organisations : Google, Google Brain.

Inspirés par le post de Xu LIANG, nous avons également utilisé sa façon de représenter la relation entre les mots sous la forme d’un graph de dépendances linguistiques. Contrairement à sa méthode, nous n’avons pas utilisé de TextRank ni de TFIDF pour détecter les mots clés mais uniquement notre model NER pré-entrainé.

Ensuite, comme Xu LIANG, nous avons utilisé la capacité de Parts-of-Speech (PoS) Tagging, hérité par notre modèle du modèle d’origine (en_core_web_md), pour lier les entités entre elles avec les arêtes, ce qui forme le graphe ci-dessous.

Ainsi, nous obtenons un graphe où les mots clés sont placés autour de leur catégorie : Tech topicPerson et Organisation.

Ceci donne un aperçu rapide du contenu d’un article Medium.

Voici comment obtenir le graphique à partir d’un lien url d’article Medium:

https://gist.github.com/UrszulaCzerwinska/cd03ccee2b7d056c65bed7acfbcec1c0#file-dependencygraph-py

Pour aller plus loin

Notre Showroom Saegus vous montrant notre webapp fonctionnelle arrive d’ici peu. N’hésitez pas à suivre notre page https://medium.com/data-by-saegus pour être tenu informé.

Le projet que nous avons exposé ici est facilement transposable dans les différents domaines d’industrie : documents techniques, juridiques, médicaux. Il pourrait être ainsi très intéressant d’analyser le code civil, pénal, le droit du travail… avec cette approche pour une meilleure efficacité dans la recherche que font tous les professionnels du droit.

Si vous voulez en savoir plus, n’hésitez pas à nous contacter !

Rédigé par Urszula Czerwinska, Consultante Data Driven Business

Thanks to Nicolas Risi, Simon Coulet, Eliot Moll, Lucas Leroux, Max Mauray, and Julien AYRAL.

Notes
(1) La plateforme DSS de Dataiku

Introduction

Les réseaux de neurones à convolution profonde sont devenus les méthodes de pointe pour les tâches de classification d’images. Cependant, l’une de leurs plus grandes limites est qu’ils nécessitent beaucoup de données annotées (images dont la classe à prédire est connue). Par exemple, un réseau ayant pour unique tâche de reconnaître des chats, devra être entraîné avec des milliers de photos de chats avant qu’il ne puisse discerner cet animal d’une autre entité avec une bonne précision. Autrement dit, plus le jeu de données d’apprentissage est important, meilleure sera la précision de l’algorithme.

Cette contrainte n’est pas négligeable car il est difficile voire parfois impossible de collecter des quantités aussi importantes de données. Dans de nombreux cas on aimerait que les réseaux de neurones apprennent de nouveaux concepts avec peu de données, c’est à dire, qu’ils aient un comportement proche de l’homme.

Le one-shot learning est le paradigme qui formalise ce problème. Ce dernier, fait référence aux problèmes de deep learning, dans lesquels le modèle ne dispose que d’une instance (image) par classe dans son jeu de données d’apprentissage et doit apprendre à ré-identifier cette instance dans les données de test. Dans la suite, nous présentons deux approches : le deep learning classique et le one-shot learning.

#1 Classification d’images via le deep learning

Dans le cas d’une classification standard, l’image d’entrée est introduite dans une série de couches de convolution, qui génère une distribution de probabilités sur toutes les classes (généralement à l’aide de la fonction softmax). Par exemple, si on essaye de classer une image comme étant un « chat », un « chien », un « cheval » ou un « éléphant », pour chaque image d’entrée appartenant à l’une de ces classes, quatre probabilités seront générées, indiquant le niveau de confiance avec lequel le réseau a étiqueté l’image.

Deux points importants doivent être notés ici.

Tout d’abord, pendant le processus d’apprentissage, le réseau a besoin d’un grand nombre d’images pour chaque classe (chat, chien, cheval et éléphant).

Ensuite, si le réseau est entraîné uniquement sur ces 4 classes, « chat », « chien », « cheval » et « éléphant », comme dans l’exemple ci-dessus, il ne sera pas en mesure d’étiqueter correctement l’image d’un zèbre. En effet lorsque l’image du zèbre sera donnée en entrée au réseau, ce dernier sortira quatre probabilités, chacune exprimant le niveau de confiance avec lequel l’image appartient aux classes « chat », « chien », « cheval » ou « éléphant ». Pour que le réseau reconnaisse également les images de zèbre, il faudra d’abord obtenir un grand nombre d’images de cet animal, puis ré-entraîner le modèle.

Il existe des applications pour lesquelles très peu de données sont disponibles pour un très grand nombre de classes. De plus, il peut être nécessaire de modifier la base de données, en supprimant ou en ajoutant une classe. Le coût de la collecte de données et du ré-entraînement devient donc trop élevé, ce qui est problématique. Un exemple typique est la reconnaissance faciale. Une organisation qui souhaite mettre en place un tel système pour ses employés doit construire une base de données contenant beaucoup d’images de visages différents. Si l’organisation en question se basait sur un modèle de deep learning classique (un réseau ConvNet, par exemple), elle serait aussi obligée de ré-entraîner son modèle de classification à chaque fois qu’un nouvel employé la rejoint. Cela est en pratique impossible, particulièrement pour les grandes organisations où le recrutement est un processus continu quasi quotidien.

#2 Classification via One-shot learning

Reprenons notre exemple de reconnaissance faciale. Au lieu de classer directement une image d’entrée (lors de la phase de test) selon l’une des personnes de l’organisation, un modèle de One-shot learning utilisera une image de référence de la personne en entrée et générera un score de similarité indiquant les probabilités que les deux images d’entrée appartiennent à la même personne. Le score de similarité est typiquement compris entre 0 et 1 et est calculé à l’aide d’une fonction sigmoïde ; où 0 désigne aucune similitude et 1 désigne une similitude complète. Tout nombre compris entre 0 et 1 est interprété en conséquence.

Ainsi, un modèle de One-shot learning n’apprend pas à classer une image directement dans l’une des classes de sortie. Il s’agit plutôt d’apprendre une fonction de similarité, qui prend deux images en entrée et exprime à quel point elles sont similaires. Par conséquent, l’image de test prendra la classe de l’image ayant générée la similarité maximale.

Ce type d’algorithmes possède deux avantages :

  • Pour apprendre le réseau n’a pas besoin d’un grand nombre d’instances par classe.
  • Dans le cas de la reconnaissance faciale, pour un nouvel employé rejoignant l’organisation, le modèle qui détectera l’individu n’aura besoin que d’une seule image de son visage et cette dernière sera stockée dans la base de données des employés. En utilisant ceci comme image de référence, le modèle calcule la similarité pour toute instance qui lui est présentée.

Cas d’usages du One-shot learning

En pratique, plusieurs applications utilisent le One-shot learning :

· Des systèmes de reconnaissances faciales ont été mis en place à grande échelle ces dernières années. En effet, Google, Apple, Facebook, Amazon et Microsoft (GAFAM) ainsi que plusieurs pays en ont implémentéFaceNet, proposé par Google en juin 2015, a atteint un nouveau record de précision de 99,63%. Le gouvernement Français va déployer Alicem, un système de reconnaissance faciale pour smartphone qui sert à se connecter aux services publics. Un autre exemple est le système de reconnaissance faciale pour les employés de Baidu (le principal moteur de recherche chinois), comme montré par Andrew Ng dans cette vidéo.

· La découverte de médicaments où les données sont très rares.

· La vérification de signature offline est très utile pour les banques et autres organismes publics et privés.

Entrainement d’un modèle de One-shot learning

L’entraînement d’un réseau de neurones profonds pour apprendre les patterns utiles au One-shot learning s’effectue en deux étapes.

Premièrement, le modèle est entraîné à réaliser la tâche de vérification. Cette tâche introduit dans le modèle des paires d’images étiquetées qui doivent être classifiées comme appartenant à la même classe (« pareil ») ou à deux classes différentes (« différent »).

Deuxièmement, les prédictions « pareil / différent » sont utilisées dans le cadre du One-shot learning pour identifier de nouvelles images. Ceci est fait en prenant la probabilité « pareil » maximale produite par le modèle après avoir été entraîné à la tâche de vérification.

Implémentation d’un algorithme de One-shot learning

Un algorithme de One-shot learning peut être mis en œuvre à l’aide d’un réseau Siamois. Ce réseau est composé de deux ConvNet identiques entièrement connectés avec les mêmes poids et acceptant deux images différentes. Contrairement à un réseau ConvNet normal qui utilise la fonction softmax pour obtenir la classification, ici, la sortie d’une couche entièrement connectée est considérée comme un codage (vecteurs de caractéristiques) à dimension fixe de l’image d’entrée. Le premier réseau produit le codage de la première image d’entrée et le second réseau produit le codage de la deuxième image d’entrée. En supposant que le modèle soit correctement entraîné, nous pouvons faire l’hypothèse suivante :

Si les deux images d’entrée appartiennent à la même classe, leurs vecteurs de caractéristiques doivent également être similaires, tandis que si les deux images d’entrée appartiennent à des classes différentes, leurs vecteurs de caractéristiques seront également différents.

Ainsi, la différence absolue entre les deux vecteurs de caractéristiques, élément par élément, doit être très différente dans le dernier cas. Et par conséquent, le score de similarité généré par la couche Sigmoïde en sortie doit également être différent dans ce cas. C’est l’idée centrale derrière les réseaux Siamois.

Conclusion

Nous nous sommes focalisés, dans cet article, sur la classification d’images via les techniques de deep learning. Nous avons commencé par présenter le cas classique en utilisant des réseaux ConvNet. Du fait que ces réseaux nécessitent des milliers, voire des millions, d’images pour être entraînés, pose un sérieux problème dans plusieurs des cas pratiques. Le One-shot learning se porte comme solution à ce problème. Au cours de cet article, nous avons présenté comment un tel algorithme est entraîné, implémenté, et dans quelle situation il est utilisé. Cependant, tout comme chaque nouvelle technologie, ce n’est pas un système parfait. Certains facteurs pourraient nuire à la classification ou la reconnaissance, notamment :

  • Manque de résolution (l’image a été prise trop loin)
  • Éblouissement important sur les lunettes ou le port de lunettes de soleil
  • Cheveux longs masquant la partie centrale du visage
  • Mauvais éclairage qui causerait une sur ou une sous-exposition du visage

Ces précautions prises en compte, cette nouvelle approche permet d’ouvrir un champ d’application extrêmement vaste (reconnaissance d’objet, détection de faux, authentification, identification de défauts, maintenance, etc.) qui ne demande qu’à être exploré.

Si vous voulez en savoir plus, n’hésitez pas à nous contacter !

Rédigé par Mohammed Ghesmoune, Consultant Data Driven Business

Thanks to Ula La Paris, Max Mauray, Lucas Leroux, and Julien Ayral. 

Notes
[1] Source

Avertissement : En fonction du site, le webscraping peut amener à ne pas respecter les conditions d’utilisation de celui-ci.

Afin de constituer une base d’apprentissage pour un modèle de machine learning, quoi de mieux que le webscraping lorsqu’il n’existe aucune base déjà constituée pour notre problématique ? Parfois c’est relativement simple, parfois nous pouvons rencontrer quelques difficultés comme le lazy loading.

Le lazy loading est une pratique permettant de différer le chargement des ressources statiques (principalement images et vidéos), qui ne sont visibles à l’internaute qu’après scroll de sa part.

En suivant les tutoriaux de base sur le webscraping, nous n’aurons pas accès à la majorité des éléments (soit rien du tout, soit potentiellement un placeholder pour les images), n’ayant eu aucun scroll lors de notre requête GET. C’est encore pire si le site utilise un scrolling infini.

Ce tutorial a pour but de montrer comment contourner cette problématique en Python.

Note: Ceci ne sert qu’à des fins d’apprentissage seulement.

#1 Packages utilisés

Selenium

Simulera un navigateur et toutes ses interactions (indispensable dans notre cas).

Note : Il sera nécessaire d’installer un webdriver pour que Selenium fonctionne dans notre cas. Voici le lien pour installer le webdriver de Chrome :http://chromedriver.chromium.org/downloads

BeautifulSoup

Parsera le HTML que nous aurons récupéré.

#2 Website avec Lazy Loading

Pour ce tutorial, ne pouvant vous donner quelques sites qui utilisent ce principe… je vous ai créé un exemple de site à l’adresse suivante:

https://nicolasrisi.github.io/scrapping-lazyloading/

Pour le code source de ce site, vous pourrez le trouver :

En regardant les éléments HTML sur ce site via les outils développeurs du navigateur, vous remarquerez que les <div> apparaissent au fur et à mesure du scroll.

#3 Code

Entrons dans le vif du sujet et importons les librairies comme il se doit.

Passons directement à la partie la plus intéressante, créons notre fonction qui récupèrera l’intégralité de la page, après que les images aient été chargées.

Notre fonction est prête à récupérer l’intégralité de la page avec les éléments que nous voulons extraire. Il ne nous reste plus qu’à parser nos pages pour récupérer nos éléments.

Résultat sans Selenium

Nous n’avons rien du tout. Sans navigateur, le lazy-loading n’aurait chargé aucun des éléments.

Résultat avec Selenium

Nos print affichent les 30 titres présents sur la page de démo.

Rédigé par Nicolas Risi, Consultant Data Driven Business

Les couleurs sont des éléments visuels très puissants pouvant faire ou défaire un graphique. Il est donc important de comprendre pourquoi la couleur est une composante aussi utile que risquée. Ces deux thématiques vont donc être abordées, en commençant par l’utilité de la couleur !

#1 Utilité de la couleur

C’est l’un des éléments visuels qui attire le plus le regard. Elle est couramment utilisée dans notre environnement quotidien (signaler les dangers, attirer l’œil sur les affiches publicitaires, distinguer les lignes de métro, etc.). Il est donc naturel de retrouver ce type de distinctions dans des graphiques professionnels.

Nous retiendrons deux utilités principales à la couleur dans les graphiques :

La mise en exergue

L’utilisation de la couleur rouge permet ici d’attirer l’attention de l’auditoire sur l’élément important du graphique. La mise en exergue par la couleur est notamment réalisée dans une optique de storytelling[1].

Dans l’exemple précédent, on pourrait très bien imaginer qu’un directeur souhaite souligner des problèmes d’effectifs en Europe.

Pour optimiser cette mise en exergue, il est conseillé d’utiliser des couleurs vives ou chaudes sur l’élément à mettre en valeur ainsi que des couleurs plus neutres ou froides sur les autres éléments. Cela permet d’attirer et de focaliser le regard du lecteur sur l’élément d’intérêt.

L’ajout d’informations

Les couleurs, tout comme les symboles, permettent d’afficher une dimension supplémentaire sur un graphique. On peut, par exemple, représenter 3 variables sur un graphique en 2 dimensions sans alourdir le visuel.

Le graphique ci-dessous représente la corrélation entre la consommation (axe des ordonnés) et la puissance moteur (axes des abscisses). La couleur permet de rajouter une information concernant le nombre de cylindres dans les moteurs.

Concernant cet ajout de dimension, nous pourrons distinguer 4 types d’échelles de couleurs[2].

– L’échelle binaire utilisable pour distinguer deux états. On cherchera ici à utiliser des couleurs avec de forts contrastes : le noir et le blanc, le jaune et le bleu, le vert et le gris, etc.

– L’échelle nominale pour mettre en avant des différences non-hiérarchisables : départements d’entreprises, lignes de métro, typologie de terrain, etc. Des couleurs ayant de forts contrastes correspondent très bien à cette échelle : bleu, orange et vert.

– L’échelle ordinale (ou séquentielle) permettant de différentier des éléments hiérarchisables (catégories d’âge, niveaux de diplômes, scores, etc.). Pour ce type d’échelle, des dégradés de couleurs permettent de faire la distinction tout en liant les valeurs les plus proches.

– L’échelle divergente pour représenter des écarts par rapport à un état/seuil considéré comme neutre. La notion de satisfaction client peut par exemple être représenté avec ce type d’échelle. L’échelle comportera alors une modalité centrale (intégrée à l’échelle d’évaluation de la satisfaction) ne pouvant être rattachée ni à un sentiment positif ni à un sentiment négatif. Il est important de noter que cette échelle est impaire et possède à minima 3 niveaux. Généralement 3 couleurs sont utilisées : une pour le seuil neutre (couleur plutôt neutre) et deux autres couleurs ayant de forts contrastes (avec leurs dégradés s’il y a 5, 7 ou plus de niveaux) pour les écarts.

Dans l’illustration précédente, une échelle nominale a été sélectionnée alors qu’une échelle ordinale aurait été plus adaptée. Corrigeons cela avec plusieurs valeurs de la couleur bleue !

#2 Les risques associés à la couleur

Les couleurs sont à sélectionner avec la plus grande attention possible. De nombreux biais et contraintes sont à prendre en compte lors de l’élaboration d’un graphique. Les principaux problèmes présentés ci-dessous représentent les principaux risques, sans pour autant rendre cette liste exhaustive.

La lisibilité

Le choix des couleurs doit rester naturel, sans empêcher la lecture ni laisser la place au doute entre deux couleurs ou deux teintes. Pour pallier ce problème, nos yeux et notre attention suffisent (ou ceux de la personne réalisant le test du candide[3]).

Pour nous aider, nous pouvons également mesurer la différence de couleur. Divers calculateurs gratuits sont disponibles sur internet pour nous éviter les calculs manuels.

Limiter le nombre de couleurs utilisées

Un trop grand nombre de couleurs est contraignant pour l’œil, sans compter l’effort visuel qui sera nécessaire pour faire les allers et retours avec la légende.

En conséquence, des palettes restreintes sont à privilégier comprenant au maximum 3 à 5 couleurs différentes. Au besoin, il sera peut-être nécessaire de regrouper des modalités ou changer le type de graphique.

Prendre en compte les biais culturels et psychologiques associés aux couleurs

Dans l’imaginaire collectif, certaines couleurs sont associées à certains éléments au sein de thématiques comme par exemple le cas des partis politiques.

Sans légende il serait possible, dans le cas ci-dessous, d’imaginer quels départements ont été remportés par le Centre/Modem, le FN, le PS ou encore par l’UMP lors d’une élection fictive dans les années 2000.

Il est également possible de citer en exemple le cas des couleurs rouge, orange et verte. Inconsciemment ces couleurs sont associées à l’autorisation et l’interdiction, le bien et le mal.

Dans un contexte plus international, certains sujets ont des couleurs associées différentes. Par exemple, le deuil dans les pays occidentaux est associé à la couleur noire, tandis que les cultures asiatiques y associent le blanc, alors que la culture indienne préfère le marron.

Bien entendu, ces biais sont propres à certains domaines et la couleur rouge, marron ou bleue peuvent être utilisées pour d’autres graphiques décorrélés des sujets évoqués.

Les visualisations peuvent être imprimées

Il est conseillé de vérifier la compatibilité des valeurs des couleurs utilisées pour un passage en noir et blanc. L’exemple ci-dessous montre que des couleurs très différentes visuellement peuvent avoir la même valeur et donc être quasi identiques en noir et blanc.

Le dernier point, et pas des moindres : le cas du daltonisme

Cette anomalie de perception des couleurs ne touche généralement que les hommes et concerne environ 8% d’entre-eux (contre 0,5% des femmes). Cette altération des couleurs peut être pénalisante dans le message qu’une visualisation doit faire ressortir.

Il existe divers outils de simulation gratuits recréant les visions des principaux cas de daltonisme. Il peut être intéressant de vérifier le risque des couleurs utilisées, notamment lors de présentations devant une large audience.

Divers sites permettent d’aider à la création de palettes optimales (en prenant en compte le plus possible les risques présentés ci-dessus). On citera notamment ColorBrewer.com et la Color Wheel d’Adobe.

Il ne vous reste plus qu’à élaborer vos plus belles palettes !

Rédigé par Eliot Moll, Consultant Data Driven Business

Thanks to Max Mauray.

Notes
[1] Le storytelling est une méthode de communication fondée sur une structure narrative du discours permettant de faire passer un message depuis les données le plus facilement possible.
[2] Selon les travaux de Cindy Brewer.
[3] Test du candide expliqué dans cet article (Medium).

Bien que faciles à manipuler et disponibles dans la plupart des outils de manipulation de données (tableurs, outils de data visualization, langages de programmation, etc.) les diagrammes en barres peuvent entièrement perdre leur vocation première de data visualization[1] si certains paramètres sur les axes ne sont pas pris en compte.

#1 Trier les valeurs

Bien que ce premier point semble trivial, beaucoup de présentations utilisent encore des diagrammes en barre non triés ou triés selon un mauvais paramètre ! Outre le fait que les informations sont plus longues à lire, elles peuvent également être faussées par notre esprit.

L’exemple ci-dessous est d’un diagramme en barres (le plus simple possible) représentant l’âge des présidents américains lors de leur première prise de fonction.

L’œil arrive facilement à comparer les éléments proches entre eux. Ainsi il est facile de constater que “Barack Obama a atteint la présidence plus jeune que Bill Clinton”. Quid des autres présidents ?

La loi de la continué, une des lois principales de la Gestalt[2], stipule que notre cerveau interprète les éléments dans leur ensemble et dans leur continuité. Dans le cas du graphique précédent, cela permet de prolonger les extrémités des barres pour les comparer entre elles (ce principe de perception est illustré par la flèche rouge). Cette comparaison naturelle est efficace pour les barres proches, mais beaucoup plus compliquée et moins précise pour les barres éloignées : Qui de Barack Obama, Grover Cleveland ou Ulysses S. Grant a atteint la présidence le plus jeune ? Quels ont été les 5 plus jeunes présidents à prendre leurs fonctions ?

L’intérêt du tri (par ordre croissant ou décroissant, selon le besoin) n’est donc plus à démontrer. Le graphique suivant permet de répondre aux deux questions précédentes bien plus rapidement et sans le moindre effort.

En règle générale, l’analyse de la variable quantitative est la raison d’être du graphique, c’est pourquoi il est donc nécessaire de classer les données selon cette variable.

Quelques exceptions sont quand même notables : lorsque l’autre axe représente des données ordinales, il est de bon ton de classer selon cet axe. Le terme ordinal signifie que la variable qualitative peut être ordonnée, comme par exemple les catégories d’âges, catégories de salaires, les dates, etc.

Ce tri est alors pertinent car il offre au lecteur la possibilité de comparer facilement une modalité de la variable ordinale avec les autres modalités les plus proches. Ce tri permet d’analyser une évolution ou une répartition et a souvent plus de sens que le tri par les valeurs “brutes”.

Cet exemple montre qu’il est plus facile de se représenter la population de cette ville avec le graphique de gauche plutôt qu’avec celui de droite. La lecture du graphique de droite nécessite des allers et retours entre les barres pour reconstruire la vision globale.

Bien entendu, le choix du tri dépendra de la question à laquelle le graphique répond[3].

#2 Couper les axes… ou pas !

Faut-il conserver l’ensemble d’un axe ou est-il possible de le tronquer de son origine (généralement le point “0”) ? Cette question n’a probablement pas de réponse puisque chacun y va de sa préférence. Cette story va cependant en toucher quelques mots !

Bien que les deux graphiques précédents représentent les mêmes données, le fait de tronquer l’axe des ordonnés permet de créer visuellement une forte croissance sur la dernière année. Cependant, une fois ramenée à l’échelle complète cette croissance ne semble pas être si fulgurante (environ 8 à 10% d’augmentation).

Dans ses travaux E. Tufte a introduit le concept de « coefficient de mensonge »[3] représentant un ratio entre l’importance de l’effet visuel et l’importance de l’effet réel. Ainsi, le graphique de gauche ci-dessus aurait un très fort coefficient de mensonge car la barre de 2019 est 300% plus grande que les autres alors que la réalité démontre une augmentation de 8 à 10 % seulement.

L’exemple présenté ci-dessus, ne s’intéresse qu’à la correction du coefficient de mensonge. L’esthétisme de ces barres pleines est discutable et d’autres solutions plus agréables peuvent être utilisées (« Lollipop chart », « dot plot », etc.).

Les graphiques avec de forts coefficients de mensonge sont souvent utilisés par des médias sensationnalistes afin de piéger visuellement les spectateurs/lecteurs novices dans l’analyse de données.

Faut-il pour autant toujours conserver l’ensemble de l’axe ? Non !

A défaut d’avoir des règles prédéfinies quant aux conditions permettant la coupure d’un axe, il est possible de se baser sur le concept du coefficient de mensonge : si la coupure de l’axe n’entraine pas une augmentation du coefficient de mensonge il est alors possible de le couper. Le test du candide[4] peut aider à décider de la conservation de l’axe ou non.

Divers paramètres seront à prendre en compte autant sur la forme que sur le fond du graphique.

  • Le type de graphique est fortement lié à la nécessité de conservation de l’axe. Par exemple, les diagrammes en barres présentent de grands risques d’augmentation du coefficient de mensonge lorsque l’axe est coupé.
  • Si l’intérêt du graphique se porte intégralement sur les variations alors il peut être possible de couper l’axe sans fausser l’interprétation. C’est par exemple le cas des séries temporelles.
  • Les valeurs à afficher sont dé-corrélées de la partie coupée et donc recentrer le graphique apporte une meilleure lisibilité. Par exemple, il est en général de bon ton de recentrer un nuage de point sur les données plutôt que de fixer arbitrairement les valeurs des axes.

Pour ne citer qu’un exemple de graphique pour les points précédents, voici un graphique boursier.

Le cas des graphiques boursiers illustre parfaitement la dé-corrélation entre les données affichées et l’origine du graphique. L’axe principal n’est plus celui des ordonnés mais celui des abscisses : le graphique s’intéresse aux variations entre un point de départ (achat de parts, propre à chaque actionnaire) et le point d’arrivée (moment de la vente ou heure actuelle). Ainsi le “0” de l’axe des ordonnés n’a que peu d’intérêt pour l’auditoire.

En résumé, il faut toujours prêter une attention particulière aux axes, que l’on soit auteur ou lecteur ! Certaines mauvaises pratiques sont délibérément réalisées pour masquer la vérité ou tromper l’auditoire. Prenez garde et ne vous laissez pas avoir !

Rédigé par Eliot Moll, Consultant Data Driven Business

Notes
[1] A savoir, faciliter la compréhension et représenter fidèlement les données.
[2] Plus de détails sur la psychologie de la forme ici.
[3] La notion de “Lie Factor” a été introduit dans son ouvrage “The Visual Display of Quantitative Information”, 1983.
[4] Plus d’information sur cette thématique dans cet article (Medium).

Le tableau est probablement la visualisation la plus utilisée de nos quotidiens. Des rapports financiers aux horaires de bus en passant par les calendriers (Cf. l’image ci-dessous) et même certains menus de restaurants, il est difficile voire même impossible de n’avoir jamais croisé ou créé un tableau.

Professionnellement, les tableaux sont les data visualizations les plus utilisées car ils ne nécessitent aucune connaissance ou maîtrise de logiciels. Pour de nombreuses personnes le tableau n’est pas un graphique, ainsi ils ne les (re)travaillent pas avant de les présenter. Ceci engendre souvent des visuels peu optimaux voire repoussants.

Rien de mieux qu’un bon exemple pour illustrer ce propos.

Dans le cas présent, compte tenu du nombre conséquent de variables à afficher (7 variables), le tableau est bel et bien une solution pertinente [1]. Cependant, le manque de mise en forme (ou mise en forme non-optimale) rend l’assimilation de l’information difficile, ce qui s’oppose donc au but principal de la data visualization.

Il est possible d’améliorer la mise en forme afin d’alléger la lecture et de rendre ce tableau plus plaisant à lire :

#1 Alléger le ratio encre-information

Ce qui n’allait pas dans l’exemple précédent :

Le premier aperçu du tableau renvoie une impression de lourdeur par la mise en forme de l’écriture, l’utilisation d’un quadrillage ainsi que d’un encadrement épais et par le remplissage en nuance de gris. L’ensemble de ces éléments vont être perçus inutilement par notre œil et notre cerveau. Il faut donc les éviter tant que possible.

Ce qui peut être fait :

Retirer le quadrillage par défaut et le conserver uniquement lorsqu’il est nécessaire, comme pour distinguer des parties au sein du tableau.

Éviter d’utiliser le remplissage des cases (les fonds) et encore moins des fonds foncés. Ils ne sont pas nécessaires pour les titres, quant aux totaux, il est préférable d’opter pour une couleur claire (type pastel).

Éviter d’utiliser à outrance les mises en forme de texte (type gras et italique). Trop de mises en forme sur le texte a tendance à plus noyer l’information qu’à la mettre en valeur.

#2 Faciliter la lecture par ligne

Ce qui n’allait pas dans l’exemple précédent :

Le fond uni et/ou quadrillé peut facilement perdre un lecteur. Bien qu’il soit peu probable de se tromper avec un tableau aussi simple (7 lignes, 7 colonnes), la difficulté augmente très rapidement avec l’ajout de ligne ou de colonnes et il devient alors très facile pour le lecteur de se tromper de ligne lors de la lecture du tableau.

Ce qui peut être fait :

Utiliser une alternance entre le blanc et une couleur neutre et claire permet d’aider l’œil à suivre une ligne. Cette technique améliore donc la lisibilité tout en retirant des éléments visuels du tableau (e.g. un quadrillage appuyé).

#3 Arrondir les valeurs et utiliser des abréviations

Ce qui n’allait pas dans l’exemple précédent :

Le tableau précédent exprime clairement des budgets en millions générant ainsi de nombreux chiffres dans ce tableau. Que celui qui n’a pas eu à compter le nombre de « 0 » dans la colonne “Budget” (pour en déterminer l’ordre de grandeur) me jette la première pierre !

Ce qui peut être fait :

Arrondir les valeurs si les décimales n’ont pas d’intérêt.

Utiliser des puissances de mille (milliers, millions, milliards, etc.) pour réduire les chiffres présents dans le tableau. Il est courant d’utiliser des abréviations telles que le « k » pour les milliers, « M » pour les millions, « G/B/T » pour les milliards. Les abréviations pour les milliers et millions restent génériques, cependant les milliards peuvent dépendre de la langue utilisée et du domaine d’application (monétaire, informatique, etc.). Il est donc conseillé de bien se renseigner sur l’auditoire possible du tableau.

#4 Spécifier les échelles et les unités, notamment monétaires

Ce qui n’allait pas dans l’exemple précédent :

La colonne Budget est exprimée en millions, il n’y a pas plus d’informations. Inconsciemment le cerveau reconstruit par déduction les informations manquantes, dans l’étendu du possible : Le Budget relève d’une question d’argent, ainsi les valeurs annoncées sont très probablement des montants monétaires. Quid de la devise utilisée ? La réponse est peut-être claire et évidente pour le créateur du graphique mais rarement pour les lecteurs.

Il en est de même pour l’échelle temporelle des colonnes “Évolution”. La période est manquante et rend donc l’analyse impossible (ou potentiellement fausse). S’agit-il d’une évolution mensuelle, annuelle ou trimestrielle ?

Ce qui peut être fait :

Spécifier l’unité monétaire. S’il s’agit d’une monnaie dont le symbole est connu (on pense notamment aux euros (€), dollars ($), etc.) : spécifier le symbole monétaire (moins de texte à lire, tout en conservant la compréhensibilité du graphique).

Toujours spécifier les périodes d’évolution pour éviter toute confusion.

Ajouter un titre pour préciser la période des chiffres annoncés ! Un graphique sans titre n’est qu’un dessin !

#5 Garder de la consistance dans les mises en forme

Ce qui n’allait pas dans l’exemple précédent :

Bien qu’il y ait une consistance dans l’ordre des colonnes (la colonne évolution se situant toujours à droite de la colonne des chiffres annuels. Dans le cas présent, il pourrait être confusant d’avoir une colonne d’évolution entre 2 colonnes de valeurs.

La consistance peut également s’appliquer sur la mise en forme du texte en particulier sur l’utilisation des couleurs. Dans l’exemple initial il est fort possible que la baisse du budget de l’équipe “Logistique” soit totalement passé inaperçu.

Ce qui peut être fait :

La structure de ce tableau permet de lever le doute en plaçant la colonne “Recrutements” en seconde place pour se retrouver avec un enchaînement valeur-évolution pour les effectifs et le budget.

Alignement des codes couleur pour les colonnes du tableau.

#6 Utiliser des symboles divers

Ce qui n’allait pas dans l’exemple précédent :

Jusqu’à présent le tableau a été traité comme une simple mise à plat de chiffres. Pour améliorer le rendu il est également possible d’ajouter des éléments plus visuels.

Ce qui peut être fait :

Deux éléments facilement implémentables peuvent permettre de rendre la lecture plus agréable : Aérer le tableau et utiliser des couleurs moins vives (Anthracite à la place du noir, rouge à tendance bordeaux à la place du rouge vif classique, etc.).

Ajouter des symboles tels que des flèches, courbes ou barres est également possible afin de diriger l’œil sur les éléments important. Dans l’exemple ci-dessous l’utilisation de barres met en valeur la dernière colonne (“performances”) plus efficacement que l’utilisation du gras (initialement utilisé).

Il ne s’agit là que d’un exemple. D’autres choix visuels auraient pu être réalisé sans pour autant être considéré comme des choix « plus mauvais ».

L’ensemble des solutions apportées sur le tableau initial ont été réalisée avec un tableau classique (Excel™, pour ne pas le citer). Il n’est donc pas nécessaire de s’équiper en outil de data visualization pour retravailler ses tableaux comme des graphiques.

Vous avez à présent les clés pour captiver votre audience lors de vos réunions !

Rédigé par Eliot Moll, Consultant Data Driven Business

Notes
[1] Il se peut qu’un tableau ne soit pas la seule solution mais figure cependant parmi les meilleures.

Chaque sous-partie présente un article, une actualité ou une technologie qui a marqué ce mois de mars.

#1 Prix Alan Turing

Le mois de mars a été marqué par l’annonce du prix Turing 2018, décerné à 3 pionniers de l’intelligence artificielle et des réseaux neuronaux. En effet Yoshua Bengio, Yann LeCun et Geoffrey Hinton ont été récompensés pour leur contribution à l’avénement du deep learning, même quand le domaine n’avait pas le vent en poupe dans les années 1990–2000. Ils occupent maintenant des postes proéminents dans le milieu de l’intelligence artificielle, oscillants entre recherche et industrie. Une rapide présentation des trois compères s’impose ;

Geoffrey Hinton, à la fois membre de Google Brain et chercheur à l’université de Toronto, a par exemple inventé les machines de Boltzmann en 1983 et a travaillé sur l’algorithme de backpropagation en 1986, technique aujourd’hui fondamentale dans l’apprentissage des réseaux neuronaux. Plus récemment, il s’est aussi illustré en 2012 dans la compétition de reconnaissance d’objets ImageNet, en augmentant drastiquement le taux de précision. Ce concours marquera aussi un boom de l’intelligence artificielle dans l’industrie.

Yoshua Bengio, quant à lui, s’est entre autres distingué pour son travail sur la technique du word-embedding dès le début des années 2000 ainsi que ses contributions sur les GANs depuis 2014. Il est aujourd’hui professeur au Département d’informatique et de recherche opérationnelle de l’Université de Montréal et directeur de l’institut québécois d’intelligence artificielle (Mila). En outre, il est aussi fondateur de la start-up Element AI, proposant de multiples applications liant IA et business, qui a par ailleurs réalisé une levée de fonds historique au Canada.

Enfin, le français Yann LeCun, actuellement scientifique en chef de l’IA chez Facebook et professeur à l’université de New York, a développé les réseaux neuronaux de convolutions (CNNs), aujourd’hui piliers dans de nombreux domaines tels que la synthèse d’image, la reconnaissance vocale, ou les traitements automatiques du langage naturel. Il a aussi proposé la première application industrielle des réseaux artificiels de neurones avec la reconnaissance des codes postaux rédigés à la main.

#2 TensorFlow Dev Summit 2019

Google a organisé les 6 et 7 mars dernier le TF Dev Summit 2019 qui a été le théâtre de plusieurs présentations mais surtout d’une multitude d’annonces. Il a été question de la version 2.0 de Tensorflow avec le lancement, le 4 mars dernier, de l’alpha de la célèbre librairie python consacrée au machine learning et énormément populaire pour ses applications en deep learning. Au programme, la simplification et la facilité d’usage passant notamment par une refonte de nombreuses API. TF2.0 introduit en outre le mode “eager execution” qui permet l’execution immédiate des opérations comme le fait traditionnellement Python, au lieu de passer par une construction abstraite de graphe. Enfin, une autre grande nouveauté de la 2.0 réside dans l’utilisation proéminente de l’API Keras.

Des add-ons open-source ont aussi été annoncés, parmi eux figurent TensorFlow Federated qui décentralise l’apprentissage de modèles. Ainsi chacun pourra via son mobile améliorer un modèle en le téléchargeant, en l’améliorant avec ses propres données, sans les uploader ; c’est uniquement le modèle qui est mis à jour via le cloud. TensorFlow Privacy, par la théorie de la confidentialité différentielle, assure le respect de la vie privée lors de l’entraînement des modèles de machine learning. On notera aussi la mise à jour de la solution pour Mobile et appareils IoT, TensorFlow Lite.

#3 Global Skill Index par Coursera for Business

La plateforme de formation en ligne aux 38 millions d’élèves a publié son compte rendu 2019 des compétences liées à la technologie, à l’industrie et à la data science. Ce rapport met en exergue le niveau de qualification des apprenants et permet à chaque pays de se situer au niveau mondial. Certaines tendances se dégagent :

L’Europe offre une grande concentration de profils hautement qualifiés ; la plupart des 24 pays occupent les premières places dans les trois domaines. Aussi la Finlande, la Suisse, l’Autriche, la Suède, l’Allemagne, la Belgique, la Norvège et les Pays-Bas sont constamment dans le premier quartile de chaque domaine. On remarquera la performance de la France qui se hisse à la 8ème place en data science (Israël étant en tête du classement), ainsi que nos bons résultats en ingénierie sécurité et génie logiciel.

Le rapport fait aussi état du niveau de compétence par domaine. Ainsi, la finance surprend par son manque de compétence dans l’ensemble des trois domaines en se classant 9ème en Business, 9ème en Data Science et 5ème en technologie. A contrario, l’industrie manufacturière démontre sa forte capacité d’adaptation à l’ère digitale : elle prend la première place en Technologie et en Business. Le secteur des Telecoms est aussi très solide en étant la seule industrie dans le top3 de chaque domaine.

#4 Levée de fonds pour Sqreen

La start-up française Sqreen réalise une levée de fonds de série A de 14 millions de dollars menée par Greylock Partners. Basée à Paris et incubée à San Francisco, Sqreen souhaite s’imposer dans le milieu de la cybersécurité des applications Web et infrastructures cloud. En effet, leur solution Application Security Management (ASM), qui utilise les micro-agents intégrés dans les applications pour identifier les failles de sécurité et protéger automatiquement contre les menaces en temps réel.

Cette plateforme vise à permettre aux équipes de cybersécurité et de développeurs d’étendre leur sécurité sans impact sur la performance de leurs applications. Aussi, il est à souligner que cette solution ne requiert aucune modification dans le code ni d’installation de firewall. La société cofondée par l’ancien directeur du département de la sécurité d’Apple a notamment pour clients Le Monde, Algolia ou encore Y Combinator.

#5 DeepAugment

Les performances des modèles de Deep Learning sont énormément dépendants des données à leur disposition. Un modèle entraîné sur trop peu de données généralisera mal ses résultats et donnera des résultats bancals. Pour pallier à ce problème sans avoir recours à une campagne de collecte de données, qui peut s’avérer onéreuse, une solution consiste à faire appel à la Data Augmentation. Ce procédé repose sur la transformation des données existantes pour en créer de nouvelles, par exemple en effectuant des rotations ou des changements de couleurs sur des images. La difficulté réside dans le fait de trouver la façon optimale d‘augmenter nos données.

Une première méthode, AutoAugment, a été proposée en 2018 par Google en se basant sur du reinforcement learning. Cependant, en plus de demander une puissance de calcul considérable, il n’est pas possible d’appliquer cet algorithme à ses propres jeux de données. Plus récemment, une autre solution autoML d’augmentation de données a vu le jour ; DeepAugment. Cette dernière permet de corriger les défauts d’AutoAugment à l’aide d’optimisations bayésiennes. DeepAugment affiche des performances nettement meilleures qu’AutoAugment que ce soit en vitesse d’execution ou en précision.

Rédigé par Simon Coulet, Consultant Data Driven Business

Thanks to Nicolas Risi and Clément Moutard.

Notes
[1] Image tirée du livre Deep Learning, par S. Varna et S. Das

Seriez-vous prêts à croire que 98% des graphiques utilisés dans le monde de l’entreprise sont des diagrammes circulaires (camemberts), diagrammes en barres ou courbes d’évolution ?

C’est pourtant ce qu’a révélé un rapport de recherche de l’ICCA sur l’utilisation des graphiques en entreprise [1].

Certes, un graphique aidera toujours à mieux comprendre les données, mais un graphique adapté au besoin est un élément de communication qui se travaille, tel un discours.

Il est donc impératif de ne plus piocher au hasard dans la boîte magique des graphiques par défaut (d’Excel™ ou d’un autre logiciel). Cette boîte à outils ne fournit généralement que ces 3 types de graphiques, ou des dérivés très proches, comme dans l’exemple.

Ndlr: De manière générale, il serait de bon ton d’arrêter d’utiliser les “camemberts”. Ce graphique (effroyable et utilisé à outrance) fera sûrement l’affaire d’une story Medium dédiée car il est très souvent mal exploité.

Exemple des graphiques proposées par ExcelTM pour un jeu de données

Beaucoup de chercheurs (J. Bertin, E. Tufte, F. Rimlinger, etc.) estiment que la puissance d’un graphique est liée au temps nécessaire à l’assimilation des informations pour obtenir une réponse correcte et complète.

L’œil humain est très perfectionné ; il est le canal principal de la prise d’information pour notre cerveau. Il est donc possible de manipuler de nombreux paramètres pour faire ressortir simplement des informations (même complexes) et ainsi coller à la définition d’un graphique efficace.

C’est à l’auteur du graphique d’expérimenter et de déterminer la meilleure façon de représenter ses données.

Cela se fait par le choix du graphique, qui est indéniablement l’élément principal, mais également par l’ensemble des paramètres annexes (titres, légendes, couleurs, formes, valeurs, axes, etc.).

L’image ci-dessous représente quelques éléments visuels perceptibles par la rétine humaine qui permettent de mettre en avant des notions de différences, de séquences ou de similarités au sein de graphiques [2].

Extrait de "Sémiologie Graphique" de Jacques Bertin.

Plusieurs astuces permettent de s’assurer de la pertinence d’un graphique choisi. En voici deux faciles à appliquer sur n’importe quel graphique.

La première est le test des 3 questions.

Lors de l’élaboration d’un graphique il s’agit de se poser les 3 questions suivantes :

  • À quelle question le graphique doit-il répondre ?
  • Que ressort-il des données ?
  • Quelles conclusions puis-je tirer du graphique ?

Si les réponses entre les deux premières questions et la dernière sont trop éloignées, c’est que le graphique choisi n’est pas adapté ! Il faut ensuite déterminer l’élément trompeur du graphique (une couleur portant à confusion, un axe mal renseigné, un graphique pas adapté, besoin de représenter une information supplémentaire, etc.) et réitérer avec ce test des 3 questions.

La seconde est le test du candide.

Il s’agit de tester le graphique réalisé sur une personne n’ayant aucune connaissance des données représentées. Cela permet de vérifier la bonne transmission du message souhaité.

Cette personne peut avoir des connaissances et compétences dans l’univers de la data. Cela ne pose pas de problèmes du moment qu’il ne connaît pas le message que le graphique doit transmettre. Bien entendu, une personne proche de l’auditoire à qui le graphique s’adresse ferait un meilleur « candide ».

Vous n’avez désormais plus d’excuses pour ne pas réaliser des graphiques pertinents et dans les règles de l’art.

Rédigé par Eliot Moll, Consultant Data Driven Business

Thanks to Max Mauray.

Notes
[1] Rapport de recherche de l’ICCA, “L’utilisation des graphiques dans le cadre de l’information d’entreprise”, décembre 2008.
[2] Cette image est tirée de « Sémiologie Graphique » de Jacques Bertin, l’un des pionniers de l’analyse graphique.