PrivacyBench: An open benchmark for de-identifying text that scores synthesis

joewferrara1 pts0 comments

TonicAI/Privacy-Bench · Datasets at Hugging Face

Log In<br>Sign Up

\r\n Dataset Viewer

The dataset viewer is not available for this dataset. Unexpected token '

Need help to make the dataset viewer work? Make sure to review how to configure the dataset viewer, and open a discussion for direct support.

tasks/&lt;dataset&gt;_messages.jsonl — input","children":[],"isValid":true,"title":"tasks/&lt;dataset&gt;_messages.jsonl — input"},{"id":"groundtruth_ground_truthspansjsonl--gold-pii-spans","label":"ground_truth/&lt;set&gt;_ground_truth_spans.jsonl — gold PII spans","children":[],"isValid":true,"title":"ground_truth/&lt;set&gt;_ground_truth_spans.jsonl — gold PII spans"},{"id":"groundtruth_characters_groundtruthjson-character-roster","label":"ground_truth/&lt;set&gt;_characters_ground_truth.json character roster","children":[],"isValid":true,"title":"ground_truth/&lt;set&gt;_characters_ground_truth.json character roster"},{"id":"synthesizer-output-what-you-produce-and-what-example_output-contains","label":"Synthesizer output (what you produce, and what example_output/ contains)","children":[],"isValid":true,"title":"Synthesizer output (what you produce, and what example_output/ contains)"}],"isValid":true,"title":"File schemas"},{"id":"running-the-evaluation","label":"Running the evaluation","children":[{"id":"requirements","label":"Requirements","children":[],"isValid":true,"title":"Requirements"},{"id":"scoring-your-own-synthesizer","label":"Scoring your own synthesizer","children":[],"isValid":true,"title":"Scoring your own synthesizer"}],"isValid":true,"title":"Running the evaluation"},{"id":"synthetic-data-disclaimer","label":"Synthetic data disclaimer","children":[],"isValid":true,"title":"Synthetic data disclaimer"},{"id":"intended-use","label":"Intended use","children":[],"isValid":true,"title":"Intended use"},{"id":"citation","label":"Citation","children":[],"isValid":true,"title":"Citation"},{"id":"contact","label":"Contact","children":[],"isValid":true,"title":"Contact"}],"classNames":"top-6"}">

PrivacyBench

PrivacyBench is a benchmark for de-identifying semi-structured data exports from work tools like email, messaging, calendar, and so forth. The benchmark focuses on the identification and synthesis of PII in the unstructured text fields of the data export, and introduces novel metrics for evaluating synthesis quality. This initial version consists of data exports of Slack and email messages from 21 distinct personas generated by the Fabricate synthetic data tool using a seed list of characters. Ground truth labels are created using said seed list of characters, so the benchmark requires no human annotators.

Across every configuration we tested, using Tonic Textual for detection improved PII recall over an LLM, and the strongest pipeline overall paired Tonic Textual with Opus 4.8.

De-identifying unstructured text is difficult in two separate directions: detection of sensitive entities and coherent replacement of detected entities. Both of these directions are necessary to have private and high utility synthetic data. Detecting sensitive entities covers the privacy aspect of the synthetic data, and is done by named entity recognition (NER). This is well studied with many benchmarks out there, CoNLL, Ontonotes, and TAB to state a few. Choosing coherent replacements of the detected entities determines the utility of the synthetic data, and no benchmarks exist that measure the accuracy of chosen synthetic replacements. This is where PrivacyBench comes in, as it measure both the privacy and the utility of synthetic data by examining what entities are detected and what their replacements are.

Consistent synthesis of replacement PII is difficult, because it requires us to consistently treat different textual representations of a character's identity. Consider a simple example with one character, Joseph Ferrara (who often goes by Joe) and has two email addresses jferrara@gmail.com and joe@tonic.ai. These different textual representations may occur within the same document or across many different documents, and the challenge is to synthesize replacement PII for all instances coherently so that the synthetic PII all align with a single synthetic character. When there are many documents of different types with a lot of cross references, character PII linking and synthesis across documents becomes very difficult. You already see this with just email and slack data, as many different types of cross references happen in different email threads and slack channels.

Measuring synthesis quality is difficult due to the abundance of possible good synthetic replacement possibilities making the creation of ground truth labels difficult. PrivacyBench addresses this by cleverly creating character PII ground truth labels as part of the synthetic data generation process, and then using a simple LLM-as-a-judge to measure synthesis quality for each character in the ground truth. Rather than a single correct...

synthetic data isvalid true title children

Related Articles