- Construct questions about a dataset, using a placeholder in each question for the individual piece of data to be labeled (each answer is a “label” for a piece of data)
- Combine the questions in a survey to administer them together
- Optionally create AI agent personas to answer the questions (e.g., if there is relevant expertise or background for the task)
- Select language models to generate the answers (for the agents, or without referencing any AI personas)
- Run the survey with the data, agents and models to generate a formatted dataset of results
- Select questions and data that you want to validate with humans to create a subset of your survey (or leave it unchanged to run the entire survey with humans)
- Send a web-based version of the survey to human respondents
- Compare LLM and human answers, and iterate on the data labeling survey as needed!
Construct questions about a dataset
We start by creating questions about a dataset, where each answer will provide a “label” for each piece of data. EDSL comes with many common question types that we can choose from based on the form of the response that we want to get back from a model (multiple choice, linear scale, matrix, etc.). We use a “scenario” placeholder in each question text for data that we want to add to it. This method allows us to efficiently readminister a question for each piece of data. Scenarios can be created from many types of data, including PNG, PDF, CSV, docs, lists, tables, videos, and other types. We combine the questions in a survey in order to administer them together, asynchronously by default, or else according to any logic or rules that we want to add (e.g., skip/stop rules). [1]:Generate data “labels” using LLMs
EDSL allows us to specify the models that we want to use to answer the questions, and optionally design AI agent personas for the models to reference in answering the questions. This can be useful if you want to reference specific expertise that is relevant to the labeling task. We administer the questions by adding the scenarios, agents and models to the survey and calling therun() method. This generates a formatted dataset of Results that we can analyze with built-in methods for working with results.
[2]:
Run the survey with human respondents
We can validate some of all of the responses with human respondents by calling thehumanize() method on the version of the survey that we want to validate with humans. This method generates a shareable URL for a web-based version of the survey that you can distribute, together with a URL for tracking the responses at your Coop account.
Here we create a new version of the survey to add some screening/information questions of the humans that answer it:
[5]:
Coop methods:
[7]:
