Machine Learning Library

Design patterns for incorporating human feedback into AI products

OVERVIEW

These days you'll be hard pressed to find an app or service that doesn’t rely on machine learning to serve up recommendations, make intelligent decisions, or optimize resources. Traditionally, these systems have been managed by data scientists who monitor the information used to improve the model — but there's often a missed opportunity for ingesting human feedback. Integrating human-in-the-loop feedback into the model's algorithms can drive improvements in accuracy over time. While working as a UX Design intern at Expero, I developed a design library that captures mechanisms of incorporating human feedback into ML-driven products

ROLE

UX Design Intern at Expero

TEAM

UX Design Mentor, UX Design Lead, Data Scientist

TIMELINE

2 months (March - May 2020)

PROBLEM STATEMENT

There aren't existing design libraries that explore mechanisms for collecting human feedback.

Identifying Use Cases

The first stage of my project involved identifying the different ways that analysis from machine learning models could be presented to end users. Pinpointing these use cases revealed areas of overlap as well as different contexts for which feedback collection mechanisms could be designed.

After collecting hundreds of screens and grouping (and regrouping), I identified 7 key use cases:

Recommendations

• Provides suggested actions for user to take 

• Often accompanied with rationale that justifies how the decision was made

• Users accept, reject, or modify recommendation

Alerts & Anomalies

• Warns user about unusual behavior

• Users accept or dismiss (immediately or temporarily)

Forecasting

• Predicts a future state

• Visual or graphic displays, reliant on historical data

• Often does not require an explicit user response

Score Reporting

• Assigns score to a particular variable

• Tends to be discrete or categorical variables

• Often does not require an explicit user response

Insights

• Provides user with info that might not be immediately actionable

• Users rate usefulness or relevancy

Image Processing

• Processes and analyzes images (e.g. image recognition, bounding box identification, transformation, spatial analysis, etc.)

• Users rate accuracy or directly modify classification

Conversational UI

• Utilizes NLP to process text inputs and present analysis

• Presentation and feedback occur in rapid succession

• Feedback not provided directly to NLP but to system for which it is an intermediary

For each of these use cases, how might we collect human feedback to improve the accuracy of the model?

Ideation & Sketching

For each of the 7 use cases, I sketched different patterns to capture general feedback mechanisms that could be customized for specific contexts. Our team frequently had checkpoints to discuss and iterate.

we made a day trip to Austin and discussed machine learning theory (this drawing made more sense at the time 😂)

kitchen table brainstorming sesh - sketching patterns for each use case

in the 2020 pandemic-panic, we had frequent Zoom design reviews

through our iterations, we came up with many design variations!

Final Design Library

After finalizing the design concepts, I made high-fidelity mockups demonstrating specific interactions. Some of my work is confidential under NDA, but I've selected some screens below to highlight a few designs from the library :)

line/bar graph

route map

face recognition

object recognition

insights

conversation

Line/Bar Graph

Users can directly manipulate a line or bar graph displaying a recommendation or forecast. This way, users can provide feedback about the model’s accuracy by modifying either (1) an entire line or bar, or (2) a particular data point. With each adjustment, the model intakes the degree and direction of the change and combines this information over time to improve its recommendations.

Route Map

Users can provide feedback by directly dragging different steps in the process to reorder or selecting pins/paths on the map. One unique feature of this map-based mechanism is that users can select the Draw New Path feature to pull up a vector drawing tool that allows the user to make granular alterations by drawing in new paths.

Face Recognition

Face recognition is a key use case of ML image processing. In this example, the model has incorrectly identified the woman on the left. When the user corrects the model, they're prompted to match the face with a gallery of other unidentified images. Thus, while users correct and give feedback on the original image, they're also providing valuable image-matching information about unclassified images (two birds with one stone)!

Object Identification

Users can identify missed objects by drawing bounding boxes to classify items within an image. For incorrect classifications, the user can modify the existing identification, change the dimensions of the bounding box, or delete an erroneous object.

Insights

Feedback on the relevancy of insights can be collected implicitly (left), based on the insights users choose to follow, dismiss, favorite, or filter. Explicit feedback (right) can be collected if users choose to Edit Insight Preferences, where they can rate the relevancy of past insights or select topics of interest.

Conversational UI

Feedback is collected implicitly based on the information viewed or actions taken by a user after interacting with the chatbot. In this example, the user gives explicit feedback by disliking the recommendation. In response to the user's concerns, the bot prompts the user to provide more detail, suggests changing a particular threshold, and provides a new recommendation.

I made summary cards to document each pattern’s attributes, use cases, and contributions to ML models:

heya, you made it to the end of this page! thanks for reading 🌼

keep explorin'