Big Idea 5.4: Crowd-sourcing
What is Crowd-sourcing?
Crowd-sourcing is a way of getting help, ideas, or contributions from a large group of people, often through the internet. Instead of relying on a few experts or individuals, crowd-sourcing taps into the collective knowledge, skills, and efforts of a diverse crowd to solve problems, gather information, or create content. This is one way of preventing Computer Bias.
Types of Crowd-sourcing
There are several different types of crowd-sourcing:
- Idea Crowdsourcing: Idea crowdsourcing is a collaborative approach to generating creative solutions or innovations by soliciting ideas from a large group of individuals. ex. Companies might host idea competitions where employees or the public submit ideas for new products or process improvements. Online suggestion boxes allow users to contribute ideas and feedback for website improvements or feature enhancements.
- Data Crowdsourcing: Data crowdsourcing involves harnessing the power of a crowd to collect, process, or validate large sets of data. ex. Image labeling projects, where contributors tag and describe images to train machine learning models. Crowdsourced mapping platforms like OpenStreetMap, where volunteers contribute to creating and updating maps.
- Microtask Crowdsourcing: Microtask crowdsourcing breaks down complex tasks into small, manageable units and distributes them among contributors to achieve rapid results. ex. Amazon Mechanical Turk, where workers perform small tasks like data entry, image recognition, or sentiment analysis for a fee.Captcha solving, where users help decipher distorted text to prove they are human, indirectly contributing to digitizing books.
- Knowledge Crowdsourcing: Knowledge crowdsourcing involves tapping into the collective intelligence of a group to answer questions, solve problems, or provide expertise. ex. Online forums like Stack Exchange or Reddit, where users ask questions and receive answers from a community of experts.Collaborative wikis like Wikipedia, where contributors collectively create and edit content on a wide range of topics.
- Open Source Development: Open source development refers to the collaborative creation and improvement of software, with the source code being made freely available to the public. ex. GitHub is a platform where developers contribute to open-source projects by submitting code, reporting issues, and collaborating with others. The Linux operating system is a notable example of a successful open-source project with contributions from a global community. We will be mainly focusing on Data Crowd-sourcing and Open Source Development
Popcorn Hack
Can you think of other uses for the different types of crowd-sourcing?
Data Crowdsourcing:
Data crowdsourcing is a collaborative approach that outsources the collection, processing, or validation of data to a large and diverse group of contributors. This method is particularly advantageous when tasks require substantial data processing within a short timeframe.
- Image Labeling Projects: Contributors annotate images with relevant labels, aiding in the training and improvement of machine learning models.
- Mapping and Geospatial Data: Projects like OpenStreetMap leverage global contributors to create and update detailed maps.
- Sentiment Analysis Tasks: Contributors label text data with positive, negative, or neutral sentiments, providing valuable insights for sentiment analysis models.
- Data Verification: Tasks involve contributors checking and correcting information, ensuring the accuracy and reliability of datasets.
The scale, speed, and cost-effectiveness of data crowdsourcing make it a powerful tool, with the diversity of contributors enhancing the richness of the collected data. However, challenges include maintaining quality control, designing clear tasks, and addressing privacy concerns when handling sensitive information.
Open Source Development:
Open source development is a collaborative software development approach where the source code is made freely available to the public, allowing contributors worldwide to modify, enhance, and distribute the software. GitHub serves as a prominent platform for hosting and collaborating on open-source projects, enabling developers to contribute through code submissions, issue reporting, and discussions.
Examples of Successful Open-Source Projects:
- Linux Operating System, Developed and maintained by a global community of contributors.
- Apache HTTP Server: A foundational web server on the internet.
- WordPress:A widely used content management system.
The benefits of open source development include fostering community collaboration, rapid innovation through contributions, and promoting transparency as users can inspect, modify, and distribute the source code. Challenges include coordinating contributions from a diverse community, addressing maintainer burnout, and ensuring compliance with project licensing terms. Despite these challenges, open source development remains a powerful model for creating and maintaining software that is both innovative and openly accessible.
Public Data Sets:
Public data sets are raw data that governments, academic institutions, and other organizations make freely available to the public. By providing open access to massive stores of data, public data sets power innovation through crowdsourcing. Essentially, they present an opportunity for crowd wisdom to uncover insights and solutions that large organizations cannot achieve alone.
For example, Google Public Datasets offers the public access to high-value data sets on Google Cloud. This includes data covering genetics, weather patterns, demographics, economics, and more. By enabling any developer or analyst to access and experiment with the same rich data sources, Google crowdsources new discoveries across industries. Public competitions on platforms like Kaggle further demonstrate the model of giving crowds access to key data to drive breakthroughs. Kaggle hosts public competitions where data scientists compete to uncover the best predictive models and data visualizations for real-world problems posed by organizations. They also offer courses in visualizations, tensor flow AI (google’s platform for AI), machine learning, and more. By providing universal access to raw data, public datasets create the essential information for crowdsourced innovation.
Distributed Computing:
Distributed computing platforms allow the public to donate their spare computing power to advance scientific research through crowdsourcing. An example is Folding@Home, created by Stanford University, which focuses on simulating protein folding to better understand diseases like cancer. The project sends out small computational protein folding simulations to volunteers’ personal devices. Results get sent back to contribute toward a massive aggregated analysis. At its peak, Folding@Home even utilized PlayStation 3 consoles toward this goal. A similar initiative is BOINC, coordinated by UC Berkeley, which crowdsources simulations for projects ranging from math to astrophysics. For example, BOINC’s Minecraft@Home sends out Minecraft world seeds to volunteers, who develop simulated versions of those worlds on their computers to send back data. While more of an experimental endeavor, Minecraft@Home demonstrates how crowdsourced computing can be leveraged creatively. By using collective resources, these platforms enable complex problems to be tackled that would not be feasible by any single system.
Innovations:
Crowdsourcing, with its power to gather different perspectives and resources, has fueled innovative new products and services. For example, Spotify taps into collective intelligence to improve music recommendations through user-curated collaborative playlists. By allowing groups to jointly create playlists, such as at a party, Spotify crowdsources data on music preferences. It analyzes patterns in what audiences stream and like to share new song suggestions personalized to each listener’s taste. Spotify also crowdsources descriptive metadata about songs through user-submitted information that undergoes a consensus-based review. Crowdfunding platforms like Kickstarter utilize the power of crowdsourcing to turn creative ideas into reality. By allowing entrepreneurs to pitch ideas to an enormous audience, promising innovations can get democratically funded by many small supporters rather than relying on a few large investors. This facilitates inventors and creators accessing the capital they need to initiate projects that may otherwise never materialize without public support. In short, crowdsourcing mechanisms enable innovations like algorithm-personalized music libraries and creator-owned projects that can uniquely serve user needs
Popcorn Hacks
Can you think of any drawbacks of crowdsourcing?
Malicious users may give inaccurate data which effectively destroys the purpose of crowdsourcing.
Homework:
Please answer in complete sentences and explain in detail.
- Explain the role of data crowdsourcing in machine learning projects. Provide an example of an application where image labeling by a crowd contributes to the improvement of machine learning models.
With data crowdsourcing, data from users can be used as training data to enhance the machine learning project. An obvious example would be ChatGPT, which uses input from its millions of users to improve on its models with every next version.
An example of an application that uses image labeling is Flickr, which gets data from whatever users search for and click on to label its countless images accordingly to improve its search function.
- Compare and contrast the benefits and challenges of data crowdsourcing with regard to tasks like sentiment analysis and data verification. How does the diversity of contributors enhance the overall quality of the collected data?
With tasks like sentiment analysis and data verification, it is hard for machines to fully interpret data, given only a small sample size, which is why crowdsourcing is very important in such cases. However, some challenges may include getting input from users all over the world due to geographical and language barriers. It may be hard to be completely unbiased and representative of the population of the whole planet.
- Choose an open-source project mentioned in the examples, such as the Linux operating system or WordPress. Discuss the significance of global collaboration in the development of open-source software. Highlight one specific advantage and one challenge faced by open-source projects.
In the Linux OS, there are thousands of different open-source packages (software) that can be installed on the system, all created by a diverse array of developers and testers. Only with such diversity from global collaboration could so much functionality and innovation be input on a single OS. However, a challenge faced by such open-source projects is the insurmountable digital divide. Because a lot of people and areas of the world lack access to modern computing technologies, these people and their interests won’t necessarily be represented in the open-source projects.
- In microtask crowdsourcing, tasks are broken down into small units for contributors to complete. Explain how platforms like Amazon Mechanical Turk utilize microtask crowdsourcing. Discuss one advantage and one challenge associated with the microtask approach.
On MTurk, requests will first define the tasks they need to be completed. They create Human Intelligence Tasks (HIT), where each HIT represents a single microtask. The workers from around the world (thus, crowdsourcing) will complete the task for certain amounts of money.
One advantage of the microtask approach is its efficiency. Because of the amount of parallel computing and the workload being distributed across the globe, the microtask approach is very fast and allows for many different perspectives on solutions.
A challenge to microtask crowdsourcing is because of how small the microtasks may be, the people working on each of those small tasks may not understand what is going on as a whole, and as a result may write solutions that are too lengthy or may not be optimized.
- Explore Kaggle and find a database that would be useful for a CPT Project idea you have. Briefly discuss its potential purpose in your project.
I found a “HTML Recipes” database. We are planning on making a CPT Project involving the usage of HTML and CSS styling to create something like Wix with a lot of different potential blog/website designs. With the “HTML Recipes” database, we could sample some of the code in it and create more interesting designs to put on out Wix-like website.