Data labeling with LLMs, validating with humans

This notebook provides example EDSL code for conducting a data labeling task with large language models and validating responses with humans. The example below consists of the following steps, which can be conducted entirely in EDSL code or interactively at your Coop account:

  • 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!

Before running the code below please see instructions on getting started using Expected Parrot tools for AI research.

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]:
from edsl import ScenarioList, QuestionList, QuestionNumerical, Survey

q1 = QuestionList(
    question_name = "characters",
    question_text = "Name all of the characters in this show: {{ scenario.show }}"
)

q2 = QuestionNumerical(
    question_name = "years",
    question_text = "Identify the year this show first aired: {{ scenario.show }}"
)

scenarios = ScenarioList.from_source("list", "show", ["The Simpsons", "South Park", "I Love Lucy"])

questions = q1.loop(scenarios) + q2.loop(scenarios)

survey = Survey(questions)

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 the run() method. This generates a formatted dataset of Results that we can analyze with built-in methods for working with results.

[2]:
from edsl import Agent, AgentList, Model, ModelList

agents = AgentList([
    Agent(traits = {"persona":"You watch a lot of TV."})
])

models = ModelList([
    Model("gemini-1.5-flash", service_name = "google"),
    Model("gpt-4o", service_name = "openai")
])

results = survey.by(scenarios).by(agents).by(models).run()
Job Status 🦜
Completed (6 completed, 0 failed)
Identifiers
Results UUID:
964a459b...a492
Use Results.pull(uuid) to fetch results.
Job UUID:
e9fc9270...bbff
Use Jobs.pull(uuid) to fetch job.
Status: Completed
Last updated: 2025-05-27 17:25:28
17:25:28
Job completed and Results stored on Coop. View Results
17:25:22
Job status: running - last update: 2025-05-27 05:25:22 PM
17:25:18
Job status: running - last update: 2025-05-27 05:25:18 PM
17:25:14
Job status: queued - last update: 2025-05-27 05:25:14 PM
17:25:13
View job progress here
17:25:13
Job details are available at your Coop account. Go to Remote Inference page
17:25:13
Job sent to server. (Job uuid=e9fc9270-b411-4fb3-a855-fb020446bbff).
17:25:13
Your survey is running at the Expected Parrot server...
17:25:13
Remote inference activated. Sending job to server...
Model Costs ($0.0197 / 1.97 credits total)
Service Model Input Tokens Input Cost Output Tokens Output Cost Total Cost Total Credits
google gemini-1.5-flash 1,995 $0.0002 1,854 $0.0006 $0.0008 0.08
openai gpt-4o 2,112 $0.0053 1,353 $0.0136 $0.0189 1.89
Totals 4,107 $0.0055 3,207 $0.0142 $0.0197 1.97

You can obtain the total credit cost by multiplying the total USD cost by 100. A lower credit cost indicates that you saved money by retrieving responses from the universal remote cache.

Results are accessible at your Coop account (see link above ^) and at your workspace. We can inspect a list of all the components of the results:

[3]:
results.columns
[3]:
  0
0 agent.agent_index
1 agent.agent_instruction
2 agent.agent_name
3 agent.persona
4 answer.characters_0
5 answer.characters_1
6 answer.characters_2
7 answer.years_0
8 answer.years_1
9 answer.years_2
10 cache_keys.characters_0_cache_key
11 cache_keys.characters_1_cache_key
12 cache_keys.characters_2_cache_key
13 cache_keys.years_0_cache_key
14 cache_keys.years_1_cache_key
15 cache_keys.years_2_cache_key
16 cache_used.characters_0_cache_used
17 cache_used.characters_1_cache_used
18 cache_used.characters_2_cache_used
19 cache_used.years_0_cache_used
20 cache_used.years_1_cache_used
21 cache_used.years_2_cache_used
22 comment.characters_0_comment
23 comment.characters_1_comment
24 comment.characters_2_comment
25 comment.years_0_comment
26 comment.years_1_comment
27 comment.years_2_comment
28 generated_tokens.characters_0_generated_tokens
29 generated_tokens.characters_1_generated_tokens
30 generated_tokens.characters_2_generated_tokens
31 generated_tokens.years_0_generated_tokens
32 generated_tokens.years_1_generated_tokens
33 generated_tokens.years_2_generated_tokens
34 iteration.iteration
35 model.frequency_penalty
36 model.inference_service
37 model.logprobs
38 model.maxOutputTokens
39 model.max_tokens
40 model.model
41 model.model_index
42 model.presence_penalty
43 model.stopSequences
44 model.temperature
45 model.topK
46 model.topP
47 model.top_logprobs
48 model.top_p
49 prompt.characters_0_system_prompt
50 prompt.characters_0_user_prompt
51 prompt.characters_1_system_prompt
52 prompt.characters_1_user_prompt
53 prompt.characters_2_system_prompt
54 prompt.characters_2_user_prompt
55 prompt.years_0_system_prompt
56 prompt.years_0_user_prompt
57 prompt.years_1_system_prompt
58 prompt.years_1_user_prompt
59 prompt.years_2_system_prompt
60 prompt.years_2_user_prompt
61 question_options.characters_0_question_options
62 question_options.characters_1_question_options
63 question_options.characters_2_question_options
64 question_options.years_0_question_options
65 question_options.years_1_question_options
66 question_options.years_2_question_options
67 question_text.characters_0_question_text
68 question_text.characters_1_question_text
69 question_text.characters_2_question_text
70 question_text.years_0_question_text
71 question_text.years_1_question_text
72 question_text.years_2_question_text
73 question_type.characters_0_question_type
74 question_type.characters_1_question_type
75 question_type.characters_2_question_type
76 question_type.years_0_question_type
77 question_type.years_1_question_type
78 question_type.years_2_question_type
79 raw_model_response.characters_0_cost
80 raw_model_response.characters_0_input_price_per_million_tokens
81 raw_model_response.characters_0_input_tokens
82 raw_model_response.characters_0_one_usd_buys
83 raw_model_response.characters_0_output_price_per_million_tokens
84 raw_model_response.characters_0_output_tokens
85 raw_model_response.characters_0_raw_model_response
86 raw_model_response.characters_1_cost
87 raw_model_response.characters_1_input_price_per_million_tokens
88 raw_model_response.characters_1_input_tokens
89 raw_model_response.characters_1_one_usd_buys
90 raw_model_response.characters_1_output_price_per_million_tokens
91 raw_model_response.characters_1_output_tokens
92 raw_model_response.characters_1_raw_model_response
93 raw_model_response.characters_2_cost
94 raw_model_response.characters_2_input_price_per_million_tokens
95 raw_model_response.characters_2_input_tokens
96 raw_model_response.characters_2_one_usd_buys
97 raw_model_response.characters_2_output_price_per_million_tokens
98 raw_model_response.characters_2_output_tokens
99 raw_model_response.characters_2_raw_model_response
100 raw_model_response.years_0_cost
101 raw_model_response.years_0_input_price_per_million_tokens
102 raw_model_response.years_0_input_tokens
103 raw_model_response.years_0_one_usd_buys
104 raw_model_response.years_0_output_price_per_million_tokens
105 raw_model_response.years_0_output_tokens
106 raw_model_response.years_0_raw_model_response
107 raw_model_response.years_1_cost
108 raw_model_response.years_1_input_price_per_million_tokens
109 raw_model_response.years_1_input_tokens
110 raw_model_response.years_1_one_usd_buys
111 raw_model_response.years_1_output_price_per_million_tokens
112 raw_model_response.years_1_output_tokens
113 raw_model_response.years_1_raw_model_response
114 raw_model_response.years_2_cost
115 raw_model_response.years_2_input_price_per_million_tokens
116 raw_model_response.years_2_input_tokens
117 raw_model_response.years_2_one_usd_buys
118 raw_model_response.years_2_output_price_per_million_tokens
119 raw_model_response.years_2_output_tokens
120 raw_model_response.years_2_raw_model_response
121 reasoning_summary.characters_0_reasoning_summary
122 reasoning_summary.characters_1_reasoning_summary
123 reasoning_summary.characters_2_reasoning_summary
124 reasoning_summary.years_0_reasoning_summary
125 reasoning_summary.years_1_reasoning_summary
126 reasoning_summary.years_2_reasoning_summary
127 scenario.scenario_index
128 scenario.show

Here we select components to display in a table:

[4]:
results.select("model", "persona", "characters_0", "years_0", "characters_1", "years_1", "characters_2", "years_2")
[4]:
  model.model agent.persona answer.characters_0 answer.years_0 answer.characters_1 answer.years_1 answer.characters_2 answer.years_2
0 gemini-1.5-flash You watch a lot of TV. ['Homer Simpson', 'Marge Simpson', 'Bart Simpson', 'Lisa Simpson', 'Maggie Simpson', 'Grandpa Simpson', 'Apu Nahasapeemapetilon', 'Ned Flanders', 'Moe Szyslak', 'Barney Gumble', 'Chief Wiggum', 'Krusty the Clown', 'Milhouse Van Houten', 'Nelson Muntz', 'Lenny Leonard', 'Carl Carlson', 'Smithers', 'Burns', 'Sideshow Bob', 'Ralph Wiggum'] 1989 ['Stan Marsh', 'Kyle Broflovski', 'Eric Cartman', 'Kenny McCormick', 'Randy Marsh', 'Sharon Marsh', 'Gerald Broflovski', 'Sheila Broflovski', 'Butters Stotch', 'Chef', 'Mr. Garrison', 'Mr. Mackey', 'Jimbo Kern', 'Ned Gerblansky', 'Officer Barbrady', 'Liane Cartman', 'Scott Tenorman', 'Wendy Testaburger', 'Heidi Turner', 'Token Black', 'Clyde Donovan', 'Craig Tucker', 'Tweek Tweak', 'Timmy Burch', 'Kevin Stoley', 'Ike Broflovski', 'Leopold Stotch'] 1997 ['Lucy Ricardo', 'Ricky Ricardo', 'Fred Mertz', 'Ethel Mertz', 'Little Ricky Ricardo', 'Mr. and Mrs. Howard'] 1951
1 gpt-4o You watch a lot of TV. ['Homer Simpson', 'Marge Simpson', 'Bart Simpson', 'Lisa Simpson', 'Maggie Simpson', 'Abe Simpson', 'Ned Flanders', 'Milhouse Van Houten', 'Mr. Burns', 'Waylon Smithers', 'Krusty the Clown', 'Principal Skinner', 'Moe Szyslak', 'Barney Gumble', 'Chief Wiggum', 'Ralph Wiggum', 'Apu Nahasapeemapetilon', 'Sideshow Bob', 'Edna Krabappel', 'Patty Bouvier', 'Selma Bouvier', 'Comic Book Guy', 'Nelson Muntz', 'Groundskeeper Willie', 'Lenny Leonard', 'Carl Carlson', 'Dr. Hibbert', 'Reverend Lovejoy', 'Mayor Quimby', 'Martin Prince'] 1989 ['Eric Cartman', 'Stan Marsh', 'Kyle Broflovski', 'Kenny McCormick', 'Randy Marsh', 'Butters Stotch', 'Mr. Garrison', 'Chef', 'Wendy Testaburger', 'Mr. Mackey'] 1997 ['Lucy Ricardo', 'Ricky Ricardo', 'Ethel Mertz', 'Fred Mertz'] 1951
2 gemini-1.5-flash You watch a lot of TV. ['Homer Simpson', 'Marge Simpson', 'Bart Simpson', 'Lisa Simpson', 'Maggie Simpson', 'Abe Simpson', 'Clancy Wiggum', 'Ned Flanders', 'Moe Szyslak', 'Apu Nahasapeemapetilon', 'Krusty the Clown', 'Milhouse Van Houten', 'Barney Gumble', 'Lenny Leonard', 'Carl Carlson'] 1989 ['Stan Marsh', 'Kyle Broflovski', 'Eric Cartman', 'Kenny McCormick', 'Randy Marsh', 'Sharon Marsh', 'Gerald Broflovski', 'Sheila Broflovski', 'Butters Stotch', 'Chef', 'Mr. Garrison', 'Mr. Mackey', 'Jimbo Kern', 'Ned Gerblansky', 'Officer Barbrady', 'Liane Cartman', 'Scott Tenorman', 'Wendy Testaburger', 'Heidi Turner', 'Token Black', 'Clyde Donovan', 'Craig Tucker', 'Tweek Tweak', 'Timmy Burch', 'Kevin Stoley', 'Ike Broflovski', 'Leopold Stotch'] 1997 ['Lucy Ricardo', 'Ricky Ricardo', 'Fred Mertz', 'Ethel Mertz', 'Little Ricky Ricardo', 'Mr. Mooney'] 1951
3 gpt-4o You watch a lot of TV. ['Homer Simpson', 'Marge Simpson', 'Bart Simpson', 'Lisa Simpson', 'Maggie Simpson', 'Abe Simpson', 'Ned Flanders', 'Mr. Burns', 'Waylon Smithers', 'Moe Szyslak', 'Barney Gumble', 'Seymour Skinner', 'Edna Krabappel', 'Nelson Muntz', 'Milhouse Van Houten', 'Ralph Wiggum', 'Chief Wiggum', 'Apu Nahasapeemapetilon', 'Krusty the Clown', 'Sideshow Bob'] 1989 ['Eric Cartman', 'Stan Marsh', 'Kyle Broflovski', 'Kenny McCormick', 'Butters Stotch', 'Randy Marsh', 'Mr. Garrison', 'Chef', 'Mr. Mackey', 'Wendy Testaburger', 'Jimmy Valmer', 'Timmy Burch', 'Terrance', 'Phillip', 'Token Black', 'Tweek Tweak', 'Craig Tucker', 'Clyde Donovan', 'Bebe Stevens', 'Ike Broflovski', 'Shelley Marsh', 'Gerald Broflovski', 'Sheila Broflovski', 'Sharon Marsh', 'Liane Cartman', 'Principal Victoria', 'Officer Barbrady'] 1997 ['Lucy Ricardo', 'Ricky Ricardo', 'Ethel Mertz', 'Fred Mertz'] 1951
4 gemini-1.5-flash You watch a lot of TV. ['Homer Simpson', 'Marge Simpson', 'Bart Simpson', 'Lisa Simpson', 'Maggie Simpson', 'Grandpa Simpson', 'Apu Nahasapeemapetilon', 'Ned Flanders', 'Moe Szyslak', 'Barney Gumble', 'Chief Wiggum', 'Krusty the Clown', 'Milhouse Van Houten', 'Nelson Muntz', 'Principal Skinner', 'Superintendent Chalmers', 'Lenny Leonard', 'Carl Carlson', 'Smithers', 'Burns'] 1989 ['Stan Marsh', 'Kyle Broflovski', 'Eric Cartman', 'Kenny McCormick', 'Randy Marsh', 'Sharon Marsh', 'Gerald Broflovski', 'Sheila Broflovski', 'Butters Stotch', 'Chef', 'Mr. Garrison', 'Mr. Mackey', 'Jimbo Kern', 'Ned Gerblansky', 'Officer Barbrady', 'Terrance', 'Phillip', 'Satan', 'Jesus', 'God'] 1997 ['Lucy Ricardo', 'Ricky Ricardo', 'Ethel Mertz', 'Fred Mertz', 'Little Ricky Ricardo', 'Mr. and Mrs. Howard'] 1951
5 gpt-4o You watch a lot of TV. ['Homer Simpson', 'Marge Simpson', 'Bart Simpson', 'Lisa Simpson', 'Maggie Simpson', 'Ned Flanders', 'Mr. Burns', 'Waylon Smithers', 'Apu Nahasapeemapetilon', 'Moe Szyslak', 'Krusty the Clown', 'Chief Wiggum', 'Milhouse Van Houten', 'Seymour Skinner', 'Edna Krabappel', 'Barney Gumble', 'Ralph Wiggum', 'Nelson Muntz', 'Comic Book Guy', 'Groundskeeper Willie', 'Patty Bouvier', 'Selma Bouvier', 'Sideshow Bob', 'Lenny Leonard', 'Carl Carlson', 'Dr. Hibbert', 'Reverend Lovejoy', 'Mayor Quimby'] 1989 ['Stan Marsh', 'Kyle Broflovski', 'Eric Cartman', 'Kenny McCormick', 'Butters Stotch', 'Randy Marsh', 'Mr. Garrison', 'Mr. Mackey', 'Chef', 'Wendy Testaburger', 'Token Black', 'Tweek Tweak', 'Jimmy Valmer', 'Timmy Burch', 'Bebe Stevens'] 1997 ['Lucy Ricardo', 'Ricky Ricardo', 'Ethel Mertz', 'Fred Mertz'] 1951

Run the survey with human respondents

We can validate some of all of the responses with human respondents by calling the humanize() 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]:
from edsl import QuestionLinearScale

q3 = QuestionLinearScale(
    question_name = "tv_viewing",
    question_text = "On a scale from 1 to 5, how much tv would you say that you've watched in your life?",
    question_options = [1,2,3,4,5],
    option_labels = {
        1:"None at all",
        5:"A ton"
    }
)

q4 = QuestionNumerical(
    question_name = "age",
    question_text = "How old are you (in years)?"
)

new_questions = [q3, q4]

human_survey = Survey(questions + new_questions)
[6]:
human_survey.humanize()
[6]:
{'project_name': 'Project',
 'uuid': 'bbb84776-3364-4bc9-b028-0119cd84d480',
 'admin_url': 'https://www.expectedparrot.com/home/projects/bbb84776-3364-4bc9-b028-0119cd84d480',
 'respondent_url': 'https://www.expectedparrot.com/respond/bbb84776-3364-4bc9-b028-0119cd84d480'}

Responses automatically appear at your Coop account, and you can import them into your workspace using Coop methods:

[7]:
from edsl import Coop

human_results = Coop().get_project_human_responses("bbb84776-3364-4bc9-b028-0119cd84d480")
human_results
[7]:

Results observations: 2; agents: 2; models: 1; scenarios: 1; questions: 8; Survey question names: ['characters_0', 'characters_1', 'characters_2', 'years_0', 'years_1', 'years_2', ...];

  characters_1 age years_1 tv_viewing years_0 characters_0 years_2 characters_2 scenario_index agent_index agent_instruction agent_name model temperature inference_service model_index characters_2_user_prompt characters_2_system_prompt years_1_system_prompt years_2_user_prompt years_2_system_prompt years_1_user_prompt characters_0_user_prompt years_0_user_prompt characters_1_system_prompt characters_0_system_prompt years_0_system_prompt characters_1_user_prompt tv_viewing_user_prompt tv_viewing_system_prompt age_user_prompt age_system_prompt characters_2_input_tokens years_1_one_usd_buys age_output_price_per_million_tokens tv_viewing_cost years_1_input_tokens years_1_output_price_per_million_tokens characters_1_output_tokens years_2_one_usd_buys years_1_cost characters_2_output_price_per_million_tokens characters_0_one_usd_buys years_2_input_price_per_million_tokens years_1_raw_model_response years_0_input_tokens characters_1_output_price_per_million_tokens characters_0_input_tokens years_2_raw_model_response tv_viewing_one_usd_buys characters_1_input_price_per_million_tokens characters_2_input_price_per_million_tokens age_input_tokens years_2_input_tokens tv_viewing_raw_model_response years_2_output_tokens characters_2_raw_model_response age_input_price_per_million_tokens years_0_one_usd_buys characters_1_raw_model_response years_2_output_price_per_million_tokens years_0_output_tokens tv_viewing_input_tokens years_0_cost age_cost characters_2_output_tokens characters_1_input_tokens age_one_usd_buys tv_viewing_output_tokens characters_2_cost characters_0_output_price_per_million_tokens characters_0_output_tokens years_1_input_price_per_million_tokens years_1_output_tokens characters_0_input_price_per_million_tokens age_output_tokens characters_1_cost years_0_input_price_per_million_tokens characters_1_one_usd_buys characters_0_cost characters_0_raw_model_response years_0_raw_model_response tv_viewing_output_price_per_million_tokens age_raw_model_response years_2_cost years_0_output_price_per_million_tokens characters_2_one_usd_buys tv_viewing_input_price_per_million_tokens iteration characters_1_question_text characters_2_question_text tv_viewing_question_text years_1_question_text years_2_question_text characters_0_question_text years_0_question_text age_question_text characters_0_question_options years_1_question_options characters_2_question_options tv_viewing_question_options characters_1_question_options years_0_question_options years_2_question_options age_question_options characters_1_question_type characters_2_question_type age_question_type tv_viewing_question_type characters_0_question_type years_1_question_type years_2_question_type years_0_question_type age_comment tv_viewing_comment characters_2_comment characters_0_comment years_0_comment characters_1_comment years_1_comment years_2_comment characters_1_generated_tokens years_0_generated_tokens tv_viewing_generated_tokens characters_2_generated_tokens characters_0_generated_tokens years_1_generated_tokens age_generated_tokens years_2_generated_tokens characters_2_cache_used tv_viewing_cache_used characters_1_cache_used years_0_cache_used years_1_cache_used characters_0_cache_used age_cache_used years_2_cache_used characters_2_cache_key years_0_cache_key age_cache_key years_2_cache_key characters_0_cache_key characters_1_cache_key years_1_cache_key tv_viewing_cache_key characters_2_reasoning_summary tv_viewing_reasoning_summary years_1_reasoning_summary years_2_reasoning_summary years_0_reasoning_summary characters_1_reasoning_summary characters_0_reasoning_summary age_reasoning_summary
0 ['Cartman', 'Stewie'] 46 1998 5 1989 ['Homer', 'Marge', 'Randall', 'Bort'] 1953 ['Lucy ', 'Dezi'] 0 0 nan a782895b-e5dc-41cb-80e8-8a956db1ee18 test 0.500000 test 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Not Applicable nan nan nan Not Applicable nan nan nan nan nan Not Applicable nan Not Applicable nan nan Not Applicable nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Not Applicable Not Applicable nan Not Applicable nan nan nan nan 0 Name all of the characters in this show: South Park Name all of the characters in this show: I Love Lucy On a scale from 1 to 5, how much tv would you say that you've watched in your life? Identify the year this show first aired: South Park Identify the year this show first aired: I Love Lucy Name all of the characters in this show: The Simpsons Identify the year this show first aired: The Simpsons How old are you (in years)? nan nan nan [1, 2, 3, 4, 5] nan nan nan nan list list numerical linear_scale list numerical numerical numerical This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable nan nan nan nan nan nan nan nan
1 ["I don't know"] 11 2000 4 1989 ['Homer', 'Marge', 'Bart', 'Lisa', 'Maggie', 'Grandpa', 'Mr. Burns', 'Apu', 'Snake', 'Moe', 'Krusty', 'Lenny', 'Carl', 'Barney', 'Smithers', 'Sideshow Mel', 'Patty', 'Selma', 'Martin', 'Nelson', 'Ralph', 'Chief Wiggum', 'Reverend Lovejoy', "Santa's Little Helper", 'Snowball II', 'Miss Crabapple', 'Miss Hoover', 'Principal Skinner', 'Willie', 'Superintendent Chalmers', 'Lou', 'Comic Book Guy', 'Sherry', 'Terry', 'Fat Tony', 'Johnny Tightlips', 'Jimmy the Squealer', 'Mayor Quimby', 'Sideshow Bob', 'Luigi', 'Spiderpig', 'Duffman', 'Larry', 'Grandma', 'Mr. Teasy'] 2010 ['Uhhhhh no'] 0 1 nan 083d74cb-64c6-4560-809c-1a09cc9d8955 test 0.500000 test 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Not Applicable nan nan nan Not Applicable nan nan nan nan nan Not Applicable nan Not Applicable nan nan Not Applicable nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Not Applicable Not Applicable nan Not Applicable nan nan nan nan 0 Name all of the characters in this show: South Park Name all of the characters in this show: I Love Lucy On a scale from 1 to 5, how much tv would you say that you've watched in your life? Identify the year this show first aired: South Park Identify the year this show first aired: I Love Lucy Name all of the characters in this show: The Simpsons Identify the year this show first aired: The Simpsons How old are you (in years)? nan nan nan [1, 2, 3, 4, 5] nan nan nan nan list list numerical linear_scale list numerical numerical numerical This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. This is a real survey response from a human. Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable Not Applicable nan nan nan nan nan nan nan nan
[8]:
human_results.select("age", "tv_viewing", "characters_0", "years_0", "characters_1", "years_1", "characters_2", "years_2")
[8]:
  answer.age answer.tv_viewing answer.characters_0 answer.years_0 answer.characters_1 answer.years_1 answer.characters_2 answer.years_2
0 46 5 ['Homer', 'Marge', 'Randall', 'Bort'] 1989 ['Cartman', 'Stewie'] 1998 ['Lucy ', 'Dezi'] 1953
1 11 4 ['Homer', 'Marge', 'Bart', 'Lisa', 'Maggie', 'Grandpa', 'Mr. Burns', 'Apu', 'Snake', 'Moe', 'Krusty', 'Lenny', 'Carl', 'Barney', 'Smithers', 'Sideshow Mel', 'Patty', 'Selma', 'Martin', 'Nelson', 'Ralph', 'Chief Wiggum', 'Reverend Lovejoy', "Santa's Little Helper", 'Snowball II', 'Miss Crabapple', 'Miss Hoover', 'Principal Skinner', 'Willie', 'Superintendent Chalmers', 'Lou', 'Comic Book Guy', 'Sherry', 'Terry', 'Fat Tony', 'Johnny Tightlips', 'Jimmy the Squealer', 'Mayor Quimby', 'Sideshow Bob', 'Luigi', 'Spiderpig', 'Duffman', 'Larry', 'Grandma', 'Mr. Teasy'] 1989 ["I don't know"] 2000 ['Uhhhhh no'] 2010