| 1 |
Lim_T_2017 |
Endotracheal Intubation Using a Direct Laryngoscope and the Protective Performances of Respirators: A Randomized Trial |
Lim, Taeho; Lee, Sanghyun; Oh, Jaehoon; Kang, Hyunggoo; Ahn, Chiwon; Song, Yeongtak; Lee, Juncheol; Shin, Hyungoo |
2017 |
2017-04-27 |
COMM-USE |
N |
PMC5425829 |
28536701.0 |
10.1155/2017/7565706 |
c4o8s6yv |
0.952599 |
|
Kang_2018, Shin_2017 |
| 2 |
Kang_2018 |
Protection afforded by respirators when performing endotracheal intubation using a direct laryngoscope, GlideScope®, and i-gel® device: A randomized trial |
Kang, Hyunggoo; Lee, Yoonje; Lee, Sanghyun; Song, Yeongtak; Lim, Tae Ho; Oh, Jaehoon; Lee, Juncheol; Shin, Hyungoo |
2018 |
2018-04-19 |
COMM-USE |
N |
PMC5909605 |
29672533.0 |
10.1371/journal.pone.0195745 |
d2c3tavy |
0.903642 |
Loeb_2004 |
Lim_T_2017, Shin_2017 |
| 3 |
Shin_2017 |
Comparing the protective performances of 3 types of N95 filtering facepiece respirators during chest compressions: A randomized simulation study |
Shin, Hyungoo; Oh, Jaehoon; Lim, Tae Ho; Kang, Hyunggoo; Song, Yeongtak; Lee, Sanghyun |
2017 |
2017-10-20 |
COMM-USE |
N |
PMC5662401 |
29049235.0 |
10.1097/md.0000000000008308 |
hsbn1ndv |
0.757141 |
|
Lim_T_2017, Kang_2018, Hwang_2020 |
| 4 |
Kim_H_2019 |
Comparison of fit factors among healthcare providers working in the Emergency Department Center before and after training with three types of N95 and higher filter respirators |
Kim, Hongjung; Lee, Juncheol; Lee, Sanghyun; Oh, Jaehoon; Kang, Boseung; Lim, Tae Ho; Kang, Hyunggoo |
2019 |
2019-02-08 |
None |
N |
PMC6380834 |
30732139.0 |
10.1097/md.0000000000014250 |
dwwsr9bb |
0.710060 |
|
Shin_2017, Lim_T_2017 |
| 5 |
SHAW_2005 |
4 Steps in the selection of protective clothing materials |
SHAW, A |
2005 |
2005-12-31 |
PMC |
N |
PMC7171460 |
|
10.1533/9781845690977.1.90 |
dylg7nes |
0.708449 |
|
SHIMASAKI_2017, Hao_L_2019, Sakaguchi_2010, Benson_2013 |
| 6 |
Park_2020 |
Are loose-fitting powered air-purifying respirators safe during chest compression? A simulation study |
Park, Soo Hyun; Hwang, Sung Yeon; Lee, Guntak; Park, Jong Eun; Kim, Taerim; Shin, Tae Gun; Sim, Min Seob; Jo, Ik Joon; Kim, Seonwoo; Yoon, Hee |
2020 |
2020-03-31 |
PMC |
N |
|
|
10.1016/j.ajem.2020.03.054 |
baat9464 |
0.629728 |
|
Shin_2017, Benson_2013 |
| 7 |
Greenland_2007 |
Personal protection equipment for biological hazards: Does it affect tracheal intubation performance? |
Greenland, K.B.; Tsui, D.; Goodyear, P.; Irwin, M.G. |
2007 |
2007-07-31 |
PMC |
N |
PMC7115758 |
17353076.0 |
10.1016/j.resuscitation.2006.11.011 |
3xfr83mz |
0.544429 |
|
Lim_T_2017, Chughtai_2020, Chughtai_2019 |
| 8 |
Källestedt_2012 |
The impact of CPR and AED training on healthcare professionals' self-perceived attitudes to performing resuscitation |
Källestedt, Marie-Louise Södersved; Berglund, Anders; Herlitz, Johan; Leppert, Jerzy; Enlund, Mats |
2012 |
2012-04-05 |
COMM-USE |
N |
PMC3352321 |
22480164.0 |
10.1186/1757-7241-20-26 |
t9hufrj0 |
0.478364 |
|
|
| 9 |
Chahal_2020 |
A Rapidly Deployable Negative Pressure Enclosure for Aerosol-Generating Medical Procedures |
Anthony M. Chahal; Kenneth Van Dewark; Robert Gooch; Erin Fukushima; Zachary M. Hudson |
2020 |
2020-04-18 |
BioRxiv |
Y |
|
|
10.1101/2<IP_ADDRESS>63958 |
f05lu9hr |
0.467815 |
Liu_X_2014 |
|
| 10 |
Hao_L_2019 |
Establishment of the key Technical Indicators of Positive Pressure Biological Protective Clothing |
Hao, Limei; Zhang, Zongxing; Yi, Ying; Qi, Jiancheng; Zhou, Yongyun; Wu, Jinhui |
2019 |
2019-09-30 |
PMC |
N |
|
|
10.1016/j.jobb.2019.08.003 |
0j4ot2rn |
0.459196 |
|
SHIMASAKI_2017, SHAW_2005, Chughtai_2019, Chughtai_2020 |
| 11 |
Sun_G_2011 |
8 Disposable and reusable medical textiles |
Sun, G. |
2011 |
2011-12-31 |
PMC |
N |
PMC7151877 |
|
10.1533/9780857093707.2.125 |
bl326c8n |
0.452093 |
Dawes_2007, Carling_2016 |
Rajendran_2016 |
| 12 |
Bhattacharjee_2019 |
Graphene Modified Multifunctional Personal Protective Clothing |
Bhattacharjee, Shovon; Joshi, Rakesh; Chughtai, Abrar Ahmad; Macintyre, Chandini Raina |
2019 |
2019-08-20 |
PMC |
N |
PMC7161773 |
|
10.1002/admi.201900622 |
r4tr88q1 |
0.425850 |
|
|
| 13 |
Sapoval_2020 |
3D-printed face protective shield in interventional radiology: evaluation of an immediate solution in the era of COVID-19 pandemic |
Sapoval, M; Gaultier, AL; Del Giudice, C; Pellerin, O; Kassis-Chikhani, N; Lemarteleur, V; Fouquet, V; Tapie, L; Morenton, P; Tavitian, B; Attal, JP |
2020 |
2020-04-18 |
PMC |
Y |
|
|
10.1016/j.diii.2020.04.004 |
bslv5sqv |
0.389480 |
|
|
| 14 |
Hwang_2020 |
N95 filtering facepiece respirators do not reliably afford respiratory protection during chest compression: A simulation study |
Hwang, Sung Yeon; Yoon, Hee; Yoon, Aerin; Kim, Taerim; Lee, Guntak; Jung, Kwang Yul; Park, Joo Hyun; Shin, Tae Gun; Cha, Won Chul; Sim, Min Seob; Kim, Seonwoo |
2020 |
2020-01-31 |
PMC |
N |
PMC7125572 |
30955924.0 |
10.1016/j.ajem.2019.03.041 |
gh9sy7sl |
0.358434 |
|
Shin_2017, Lim_T_2017, Patel_2016 |
| 15 |
KHOO_2005 |
The changing face of healthcare worker perceptions on powered air‐purifying respirators during the SARS outbreak |
KHOO, Kay‐Leong; LENG, Poh‐Hock; IBRAHIM, Irwani Bte; LIM, TK |
2005 |
2005-02-03 |
PMC |
N |
PMC7169158 |
15691247.0 |
10.1111/j.1440-1843.2005.00634.x |
kgsrnqew |
0.343672 |
|
|
| 16 |
Couper_2020 |
COVID-19 in cardiac arrest and infection risk to rescuers: a systematic review |
Couper, Keith; Taylor-Phillips, Sian; Grove, Amy; Freeman, Karoline; Osokogu, Osemeke; Court, Rachel; Mehrabian, Amin; Morley, Peter T.; Nolan, Jerry P.; Soar, Jasmeet; Perkins, Gavin D. |
2020 |
2020-04-20 |
PMC |
Y |
|
|
10.1016/j.resuscitation.2020.04.022 |
y18nru1d |
0.316938 |
|
|


Liverpool to consult locals over Anfield Road stand expansion
Liverpool have sent out 5,000 leaflets to local residents inviting them to the first stage of a public consultation on the proposed expansion of the stadium’s Anfield Road stand.
The European champions will be announcing further details of the proposed designs ahead of the first consultation event on November 29.
The events will be a chance for Liverpool to communicate their plans to local residents, businesses and fans, who will also have the opportunity to feedback their views to the club.
A club statement said: "Our vision is to create a bigger Anfield which would allow more fans to watch some of Europe's best football in a world-class facility in the heart of Liverpool.
"We invite you to a series of drop-ins to find out more about our progress so far. We want to hear from local residents, businesses and fans as we develop and shape our proposals."
Liverpool's owners, Fenway Sports Group, spent £115m on the new Main Stand in 2016 and are continuing their redevelopment of Anfield.
The club scrapped a proposal to expand Anfield back in August to work on this "larger" planning application.


This chapter is an introduction to the basic concepts of probability theory.
In this chapter, we will talk about Chance Events, Expectation and Variance.
Randomness is all around us. Probability theory is the mathematical framework that allows us to analyze chance events in a logically sound manner. The probability of an event is a number indicating how likely that event will occur. This number is always between 0 and 1, where 0 indicates impossibility and 1 indicates certainty. A classic example of a random experiment is a fair coin toss, in which the two possible outcomes are heads or tails. In this case, the probability of flipping a head or a tail is 1/2. In an actual series of coin tosses, however, we may get more or less than exactly 50% heads.
For an unfair or weighted coin, the two outcomes are not equally likely. You can change the weight of the coin by dragging the true probability bars (on the right in blue) up or down.
The expectation is a statistic that attempts to summarize the average of a random experiment. It can be interpreted as the long term average outcome of repeating the experiment many times. Mathematically, it is defined as the probability weighted sum of all outcomes in the sample space, denoted,
$$E[X] = \sum_{x \in \Omega}xP(x)$$Consider the random experiment of rolling a fair die and watch as the running average converges to the expectation of 3.5.
Make the die unfair by adjusting the blue bars below and observe how this changes the expectation.
The variance is a statistic that summarizes the spread of an experiment. Mathematically, it is defined in terms of an expectation. It is the average value of the squared difference between the outcome and the mean, denoted,
$$Var(X) = E[(X - E[X])^2]$$Draw cards randomly from a deck of ten cards. As you continue drawing cards, observe that the running average of squared differences (in green) begins to resemble the true average squared difference (in blue).
Toggle which cards you want to include in the deck by clicking on them below.


{{ partial "head.html" . }} {{ partial "nav.html" . }} {{ partial "intro.html" . }} {{ partial "partners.html" . }} {{ partial "services.html" . }} {{ partial "footer.html" . }}


/**
* Copyright 2016 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
const request = require('request');
const encrypt = require('./encrypt');
const GCM_URL = 'https://android.googleapis.com/gcm/send';
const TEMP_GCM_URL = 'https://gcm-http.googleapis.com/gcm';
let gcmAuthToken;
/**
* Set the key to use in the Authentication header for GCM requests
* @param {String} key The API key to use
*/
function setGCMAPIKey(key) {
gcmAuthToken = key;
}
/**
* URL safe Base64 encoder
*
* @private
* @param {Buffer} buffer The data to encode
* @return {String} URL safe base 64 encoded string
*/
function ub64(buffer) {
return buffer.toString('base64').replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/\=/g, '');
}
/**
* Sends a message using the Web Push protocol
*
* @memberof web-push-encryption
* @param {String} message The message to send
* @param {Object} subscription The subscription details for the client we
* are sending to
* @param {Number} paddingLength The number of bytes of padding to add to the
* message before encrypting it.
* @return {Promise} A promise that resolves if the push was sent successfully
* with status and body.
*/
function sendWebPush(message, subscription, paddingLength) {
if (!subscription || !subscription.endpoint) {
throw new Error('sendWebPush() expects a subscription endpoint with ' +
'an endpoint parameter.');
}
// If the endpoint is GCM then we temporarily need to rewrite it, as not all
// GCM servers support the Web Push protocol. This should go away in the
// future.
const endpoint = subscription.endpoint.replace(GCM_URL, TEMP_GCM_URL);
const headers = {
// TODO: Make TTL variable
TTL: '0'
};
let body;
if (message && message.length > 0) {
const payload = encrypt(message, subscription, paddingLength);
headers['Content-Encoding'] = 'aesgcm';
headers.Encryption = `salt=${ub64(payload.salt)}`;
headers['Crypto-Key'] = `dh=${ub64(payload.serverPublicKey)}`;
body = payload.ciphertext;
}
if (endpoint.indexOf(TEMP_GCM_URL) !== -1) {
if (gcmAuthToken) {
headers.Authorization = `key=${gcmAuthToken}`;
} else {
throw new Error('GCM requires an Auth Token parameter');
}
}
return new Promise(function(resolve, reject) {
request.post(endpoint, {
body: body,
headers: headers
}, function(error, response, body) {
if (error) {
reject(error);
} else {
if (response.statusCode >= 400 && response.statusCode < 500) {
// Subscription is invalid:
// https://tools.ietf.org/html/draft-ietf-webpush-protocol-04#section-8.3
return reject({
code: 'expired-subscription',
statusCode: response.statusCode,
statusMessage: response.statusMessage,
body: body
});
}
resolve({
statusCode: response.statusCode,
statusMessage: response.statusMessage,
body: body
});
}
});
});
}
module.exports = {sendWebPush, setGCMAPIKey};


JSON Editor Select2 Integration Example
This example demonstrates JSONEditor's integration with Select2
Submit (console.log)


This email was sent to<EMAIL_ADDRESS>Please add<EMAIL_ADDRESS>to your address book to ensure that our emails reach your inbox.
If you'd prefer not to receive any news from us, here is the link to unsubscribe.
To change your communication preferences, use this link.
Kromtech Alliance Corp, Richmondstrasse 6, 50667 Cologne, Germany.


class: center, middle, inverse, title-slide # Data Science Bootcamp ## Day 2 : digging into OpenFoodFacts ### Mathieu Morey & Sylvain Lapoix
Datactivist ### August, 24rd 2021 --- layout: true
Data Science Bootcamp

 --- class: center, middle This presentation is available at : http://datactivist.coop/scpo-data-science-bootcamp/day_2/introduction Sources : https://github.com/datactivist/scpo-data-science-bootcamp/day_2/introduction All Datactivist productions are freely usable under the terms of [Creative Commons 4.0 BY-SA](https://creativecommons.org/licenses/by-sa/4.0/legalcode.fr) licence.

 ![](https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-sa.png) --- class: center, top background-image: url(https://upload.wikimedia.org/wikipedia/commons/7/75/Open_Food_Facts_logo.svg) # How do you make a citizen-led food database ? --- class: inverse, center, top ## Easy, just crowdsource
the data ! -- .center[ ![](https://media.giphy.com/media/eRqxSA8uc2yas/giphy.gif?cid=790b7611f0c3aff0c96a475c8a299d2b0d357753a1ce2cff&rid=giphy.gif&ct=g) ### But what does it mean exactly ?] --- class: inverse, center, top background-image: url(https://media.giphy.com/media/uWzDsAsRm2X9qULHLs/giphy.gif?cid=ecf05e47fhenkcrdy6acg90xjgsh82xc3s744kehn24gh0vv&rid=giphy.gif&ct=g) ## 1. Defining input format --- ### "What you see is what you get" First difficulty : as a citizen-led project, Open Food Facts should be accessible to anyone willing to contribute. Hence, the required data must be easy to find. As easy as **back-of-pack** food labelling is. Off Food Facts maps its categories on the food labelling : ![](./img/off_prince_lu.png) --- ### No prior knowledge .pull-left[To stay as accessible as possible, OFF sticks to the labels : no transformation or interpretation of the data is required. The database wiki offers guidance on the way to fill the data fields : how to name packaging shapes ? How to spell product's name ? But, most of the time, the advices goes : > The best way to fill it is to enter the value as indicated on the product. Don't forget the units! ] .pull-right[Data fields as listed in [the OFF Wiki](https://wiki.openfoodfacts.org/Data_fields) : ![](./img/off_datafields.png) ] --- ### A food data conondrum : labels One specific issue with food products is the endless variety of labels and mentions they can be tagged with. Apart from their basic meaning, the scope is too wide to sort in an ordered fashion : from agricultural method used to diet compatibility or ecological impact, the diversity of themes is multiplied by the languages and countries they are distributed in. OFF's choice on this matter is, yet again, based on accessibility : one open field to gather labels and a ridiculously long list of the known ones to structure a taxonomy ([16606 labels in different languages to date](https://github.com/openfoodfacts/openfoodfacts-server/blob/main/taxonomies/labels.txt)). ![](./img/off_labels.png) --- ### Automated data fields .pull-left[#### Metadata Every entry in the database should be documented by itself : to follow the evolution of the database, it must contain the information on who modified what and when. Those data are called **metadata** as they document the data itself. Those entries are always automated and can't be modified manually as they ensure the integrity of the database (and the tracability of the modification, as we'll see in part 3). ] .pull-right[#### Calculated fields Some data *can* be automated based on input data from the community and most of the time *is* (as it can be missing frmo the package) : ![](./img/off_nutriscore_automated.png) ] --- class: center, top background-image: url(https://media.giphy.com/media/jn7ma87aWgWXiI9D0N/giphy.gif?cid=ecf05e47a5lfonw95oa7254m297vmo8t54r66c5e9ichapa7&rid=giphy.gif&ct=g) ### Bulk and fresh :
OFF's dead angle .footnote[As OFF focuses on packaged product, bulk and fresh food products and beverages are absent from the database.] --- class: inverse, center, top background-image: url(https://media.giphy.com/media/pxByU4o4jZu3XrOxct/giphy.gif?cid=ecf05e47d3l1toydqhkr977ae2bdj4ft7z1112r98gtr7jl5&rid=giphy.gif&ct=g) ## 2. Gathering contributions --- ### The OFF technologie(s) OpenFoodFacts is made of [several layers of software](https://wiki.openfoodfacts.org/Software_Development) dedicated to each part of the project : * **the database** itself (Perl and MongoDB) ; * the website (HTML5, JS, Foundation) * the various phone apps (Swift, Java) ; * the data processing features (machine learning, annotation, etc.) ; * the software developpment kits for external reuse ; * etc. All of which is open source, freely available and open to contribution [on Github](https://github.com/openfoodfacts). The tool used to allow contribution is MediaWiki, widely known as the *"Wikipedia interface"*. --- class: inverse, center, top background-image: url(https://media.giphy.com/media/20zfQZZc54UNje9qQw/giphy.gif?cid=790b76119179b92f50d6b8ffa9c23840537361588e3c9101&rid=giphy.gif&ct=g) ### But you all have already contributed to Wikipedia, right ? --- class: inverse, center, top background-image: url(https://media.giphy.com/media/xUOxeRVBTkYT2yOC5y/giphy.gif?cid=790b7611dcc23b1a1bfe22b1720d0a8ee97469752648cc6f&rid=giphy.gif&ct=g) ### ... right ? --- ### How MediaWiki works in oFF At the top-right corner of each product page, a **Edit the page** button allows anyone to access the editing interface : ![](./img/off_edit_the_page.png) --- #### Editing a product page .pull-left[ .center[ ![](./img/off_editing_interface.png) ] ] .pull-right[Once you identified yourself with an OFF account, you access the **editing interface** consisting in the list of the data fields with each variable open to editing : * **free field variables** you can complete with simple text ; * **drop down menues** when possible values are limited (such as units) ; * **upload fields** to add pictures of the product and its label. Each field can be documented in a specific language. Examples are given to help contribution. ] --- ### OFF's API .pull-left[ Contributing through the wiki can be a hastle (especially when walking down supermarket isles). The OFF projects allowed other apps to contribute to the project in their own interface by making available an application programming interface, or **API**. This programs works as an intermediate between the OFF database and external apps. In practice, the API is a two-way-door : * as an **entry point** it can receive data from the outside ; * as an **exit point** it can make data available from the inside. ] .pull-right[The best know app for contributing via your phone, we already mentionned, is Yuka. But there's [a wide array of reuses through the OFF API](https://wiki.openfoodfacts.org/Reuses_of_Open_Food_Facts) : * [fraise ou bacon](https://www.fraiseoubacon.com/) : an app taking your dietary preferences and food urges into account to give Nutri-Score rated recipes ; * [c'est meballé près de chez vous](https://cestemballepresdechezvous.fr/) : to find locally packaged products ; * [Allergobox](https://www.allergobox.com/) : to help you find food products compatible with you allergies ; * etc. ] --- ### Brands contributions Since 2020, food manufacturers can also contribute by sharing data on their products manually through a Pro interface or [automatically via the platoform of the company Equadis](https://fr.blog.openfoodfacts.org/news/des-donnees-produits-sur-open-food-facts-en-direct-des-fabricants-et-en-temps-reel-avec-equadis). OFF promotes this features with 3 main arguments : 1. the visibility of the data ; 2. the automation of nutrition score calculation ; 3. the possibility to improve the products based on the platform's data. .pull-left-narrow[The Italian pasta manufacturer [Barilla edited this way 236 products from his various brands](https://world.openfoodfacts.org/editor/barilla) (including industrial bread Harrys). ] .pull-right-wide[ .center[ ![](./img/off_barilla.png) ] ] --- class: inverse, center, top background-image: url(https://media.giphy.com/media/CmFMWpEa4IFtS/giphy.gif?cid=790b7611a25b3bc07900688e1b7f80b5fd297693eea77d89&rid=giphy.gif&ct=g) ## 3. Controlling data quality --- .quote[As with all computer stuff, following what's going on boiles down to knowing three things:

.center[.red[who] did .red[what] and .red[when] ?]] In *computer person language* (or, *"technical English"*), the documents compiling those informations are called **"logs"**. And, as in all MediaWiki plateform, OFF's logs are entirely public : you can access them by clicking **Edit** on a product's page and scroll down. -- For example, here are the last modification to [the all wheat crustless sliced bread from Harrys](https://world.openfoodfacts.org/cgi/product.pl?type=edit&code=3228857000166) : ![](./img/off_harrys_logs.png) --- class: inverse, center, top background-image: url(https://media.giphy.com/media/KHfidaIqN0Sqc/giphy.gif?cid=ecf05e47rb3vt9446mtch88zkol9hrhu4mts311lrfogwr6m&rid=giphy.gif&ct=g) ## Quick trivia !!!!! -- ### Why do we feature the device people modified the database with ? --- class: inverse, center, top background-image: url(https://media.giphy.com/media/kfvlYOjwdzd8nkRjku/giphy.gif?cid=ecf05e4795j1kul47dvreaaz8st4w71vl90cp3u0bl298xcq&rid=giphy.gif&ct=g) ## ... and the answer is ... --- ### ... because it helps pointing OS version specific bugs ! For example : in an old Android bug, the name of the product was systematically replaced with *"Loading ..."*. Most of the phones were patched ... but some still have this issue. -- As you can see [here](https://world.openfoodfacts.org/cgi/search.pl?action=process&search_terms=chargement%E2%80%A6&sort_by=unique_scans_n&page_size=24&page=1&sort_by=unique_scans_n) : .center[ ![](./img/off_loading_bug.png) ] --- ### Contributions method means verification method By opening up its database to contribution by anyone, OFF exposes it to several issues with data consistency. We'll focus on 3 of those : 1. **variability in channel of contribution** : mainly a technical issue as we saw earlier, it can partly be automated but requires human scrutiny ; 2. **quality of input data** : for one, nutrition information is a hard topic to dig in, and its term can be confusing at times. Then, OFF uses its own taxonomy and standards to make things coherent and it's easy to deviate when you're a rookie ; 3. **completion of the product pages** : OFF contributions can be partial and often are. Editors can just fix a quantity or add a label ... leaving entire sections of the product page empty. Hence, data completion can vary greatly from one product to another, making comparison harder if possible. --- ### Data quality : human scrutiny Most of the work of looking at data quality is performed via human observation and manual correction. As a collaborative database, OFF verification is fueled by the same energy as the contribution : the will to help out making it better. [Quality](https://wiki.openfoodfacts.org/Quality) page in the OFF Wiki lists some of the most frequent issues encountered. -- ** What kind of issue do you think are the most common and looked after ?** --- ### Data quality : AI at the rescue ! OFF harnesses the potential of [artificial intelligence](https://wiki.openfoodfacts.org/Artificial_Intelligence) to automate tedious tasks (in short : making computer job). It works on two main tools : 1. [robotoff](https://github.com/openfoodfacts/robotoff) : the OFF AI service, per say, calling machine learning models to make prediction about sections of product pages and suggesting corrections for common flaws (abusive pictures, spellchecking, bad labelling, etc.) ; 2. [Hunger Games](https://hunger.openfoodfacts.org/) is the robotoff's annotation system. In practice, it provides an interface for human to assess the relevance of robotoff's suggestions. ![](.img/off_hungergames.png) --- #### robotoff's issues Because AI always needs human scrutiny [not to mess things up itself](https://github.com/openfoodfacts/robotoff/issues/355) ! .center[ ![](./img/robotoff_messingup.png) ] --- ### Data quality : verifications .pull-left[ ![](./img/off_verification.png) ] .pull-right[Another project was launched to oversee a specific part of human scrutiny : [verifications](https://wiki.openfoodfacts.org/Verification). Aside from the way fields are filled by users, verification intends to create a taxonomy to *"label"* issues regarding the way data are inputed : * doubtful accounts (bots, massive edits ...) ; * data consistency (additives for organic products, presence of pork in products claimed *"halal"*) ; * [noteworthy products](https://wiki.openfoodfacts.org/Verification/Noteworthy_Products) (strange ingredients, same barcodes, etc.).] --- ### Data completion : state labels .pull-left-wide[ OFF community also uses the MediaWiki features to organise human scrutiny. To follow on the level of completion of the product page and facilitate the contribution, OFF taxonomy added a specific type of label to product pages : [the state labels](https://wiki.openfoodfacts.org/State). By tagging the level of completion of each part of a product page or specific issues, OFF makes it possible to technically sort together pages needing the same kind of human intervention. #### What kind of issues do you expect to appear in the list of the state labels ? ] -- .pull-right-narrow[ ![](./img/off_state_labels.png) ] --- ### Data completion : nudges Example : [trout](https://world.openfoodfacts.org/product/4334035448558/paves-de-truite) ! ![](./img/off_please_add_it.png) -- .footnote[You may have guessed the photo also needs to be validated.] --- class: inverse, center, middle # Questions ? Contact : [mathieu<EMAIL_ADDRESS>& [sylvain@datactivist.coop](mailto:sylvain@datactivist.coop)


Lorem ipsum dolor sit amet, big group of colleagues consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident.
Despite the finger-wagging modern etiquette pieces, the obligation to provide your full attention to any one person or thing for a sustained period of time is becoming more difficult to meet. The phone, and the constellation of diversions that live inside it — emails, texts, Facebook, Twitter, Instagram, Reddit, Timehop, Google Hangouts, all of which can sprout badges of fire-red notifications demanding to be addressed are just too compelling.
Despite the finger-wagging modern etiquette pieces, the obligation to provide your full attention to any one person or thing for a sustained period of time is becoming more difficult to meet. The phone, and the constellation of diversions that live inside it — emails, texts, Facebook, Twitter, Instagram, Reddit, Timehop, Google Hangouts, all of which can sprout badges of fire-red notifications demanding to be addressed are just too compelling.
Despite the finger-wagging modern etiquette pieces, the obligation to provide your full attention to any one person or thing for a sustained period of time is becoming more difficult to meet. The phone, and the constellation of diversions that live inside it — emails, texts, Facebook, Twitter, Instagram, Reddit, Timehop, Google Hangouts, all of which can sprout badges of fire-red notifications demanding to be addressed are just too compelling.
Despite the finger-wagging modern etiquette pieces, the obligation to provide your full attention to any one person or thing for a sustained period of time is becoming more difficult to meet. The phone, and the constellation of diversions that live inside it — emails, texts, Facebook, Twitter, Instagram, Reddit, Timehop, Google Hangouts, all of which can sprout badges of fire-red notifications demanding to be addressed are just too compelling.
My dear, here we must run as fast as we can, just to stay in place. And if you wish to go anywhere you must run twice as fast as that.
Despite the finger-wagging modern etiquette pieces, the obligation to provide your full attention to any one person or thing for a sustained period of time is becoming more difficult to meet. The phone, and the constellation of diversions that live inside it — emails, texts, Facebook, Twitter, Instagram, Reddit, Timehop, Google Hangouts, all of which can sprout badges of fire-red notifications demanding to be addressed are just too compelling.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.