By · Last updated 2026-04-03

بازگشت به وبلاگفنی

هزینه پنهان مثبت‌های کاذب در ابزارهای تشخیص اطلاعات شخصی

مسئله GitHub شماره ۱۰۷۱ پروژه Presidio مثبت‌های کاذب سیستماتیک را مستند می‌کند. یک مطالعه ۲۰۲۴ دقت ۲۲.۷ درصدی را در مجموعه داده‌های سازمانی چندزبانه نشان داد.

April 3, 20268 دقیقه مطالعه
false positive ratePresidio precisionPII detection accuracyscore threshold configurationhybrid detection

هزینه پنهان مثبت‌های کاذب در ابزارهای تشخیص اطلاعات شناسایی شخصی

به‌روزرسانی برای ۲۰۲۶

بیشتر ابزارهای تشخیص اطلاعات شناسایی شخصی بر اساس فراخوانی ارزیابی می‌شوند. فراخوانی اندازه می‌گیرد که چه نسبتی از اطلاعات شناسایی شخصی واقعی توسط ابزار یافته می‌شود. اما دقت هم به همان اندازه اهمیت دارد. دقت اندازه می‌گیرد که چه نسبتی از هشدارهای ابزار واقعاً اطلاعات شناسایی شخصی هستند.

دقت پایین پرهزینه است. سیستمی با فراخوانی ۹۵ درصد و دقت ۲۲.۷ درصد بیشتر اطلاعات شناسایی شخصی را شناسایی می‌کند. اما به ازای هر موجودیت واقعی که علامت‌گذاری می‌کند، ۳.۴ هشدار اشتباه هم ایجاد می‌کند. در یک مجموعه داده با ۱۰٬۰۰۰ موجودیت واقعی، این سیستم تقریباً ۴۴٬۰۰۰ هشدار تولید می‌کند. حدود ۳۴٬۰۰۰ تا از آن‌ها اشتباه هستند. هر کدام برای بررسی زمان می‌برد یا باعث حذف بیش از حد می‌شود.

این هزینه مثبت‌های کاذب است. این سربار کاری است که هر تیم هنگام اجرای سیستم تشخیص اطلاعات شناسایی شخصی با فراخوانی بالا و دقت پایین در مقیاس می‌پردازد. هزینه مستقیم، زمان صرف‌شده برای بررسی است. هزینه غیرمستقیم بدتر است: اسناد بیش از حد حذف‌شده داده‌های مفید را پنهان می‌کنند، کار را کند می‌کنند، و اعتماد به ابزار را از بین می‌برند.

آنچه مسئله شماره ۱۰۷۱ Presidio نشان می‌دهد

گفتگوی GitHub پروژه Microsoft Presidio شماره ۱۰۷۱ (2024) یک الگوی خاص را ثبت می‌کند. شناساگرهای TFN (شماره پرونده مالیاتی) و PCI از اعتبارسنجی جمع کنترلی استفاده می‌کنند. اعدادی که جمع کنترلی را پشت سر می‌گذارند، امتیاز ۱.۰ — حداکثر اطمینان — دریافت می‌کنند. هیچ زمینه‌ای از اطلاعات شناسایی شخصی لازم نیست.

علت ریشه‌ای این است: بررسی کلمات زمینه‌ای پس از مرحله جمع کنترلی اجرا می‌شود، نه پیش از آن. عددی که جمع کنترلی را پشت سر می‌گذارد، صرف‌نظر از متن اطراف، امتیاز بالا می‌گیرد. در صفحات گسترده مالی، مجموعه داده‌های علمی، یا فایل‌های لاگ، این موضوع خروجی را با هشدارهای اشتباه پر می‌کند. فیلتر کردن بر اساس آستانه امتیاز آن را برطرف نمی‌کند. امتیازها از قبل در بالاترین حد هستند.

یک الگوی دوم در مسئله Presidio شماره ۹۹۹ ظاهر می‌شود. تقطیع کلمات آلمانی برای اسامی مرکب درست عمل نمی‌کند. کلماتی مثل Bundesbehörde (اداره فدرال) می‌توانند اشتباه تقسیم شوند و به عنوان اسامی شخصی برچسب‌گذاری شوند. این موضوع در هر سند آلمانی‌زبانی نویز اضافه می‌کند.

مشکل دقت ۲۲.۷ درصدی

Alvaro و همکاران (2024) Presidio را بر روی مجموعه داده‌های سازمانی چندزبانه آزمودند. آن‌ها دقت ۲۲.۷ درصدی یافتند. در اسناد واقعی، کمتر از یک هشدار از هر چهار هشدار Presidio، یک موجودیت واقعی اطلاعات شناسایی شخصی است. این با آنچه متخصصان گزارش می‌دهند مطابقت دارد. ابزاری که فقط برای فراخوانی تنظیم شده، برای استفاده در محیط تولید نویز زیادی تولید می‌کند.

یک مطالعه DICOM در ۲۰۲۴ نشان داد که بالا بردن score_threshold به ۰.۷ هنوز هشدارهای اشتباه را در ۳۸ مورد از ۳۹ تصویر پزشکی باقی گذاشت. آستانه‌ای که نویز را در یک نوع سند پاک می‌کند، در نوع دیگر سند باعث خطاهای تشخیص می‌شود.

این فقط مشکل Presidio نیست. هر آستانه ثابتی یک مبادله اجباری ایجاد می‌کند. آستانه بالا نویز را کاهش می‌دهد اما خطا را افزایش می‌دهد. آستانه پایین فراخوانی را بالا می‌برد اما تعداد هشدارها را افزایش می‌دهد.

امتیازدهی آگاه به زمینه

راه‌حل امتیازدهی اطمینان آگاه به زمینه است. به جای امتیازدهی بر اساس تطابق الگو به تنهایی، سیستم اطمینان را افزایش می‌دهد وقتی کلمات زمینه‌ای در نزدیکی تطابق وجود دارند. همچنین امتیاز را کاهش می‌دهد وقتی زمینه وجود ندارد.

برای تشخیص TFN: کلماتی مثل «tax file number»، «TFN»، یا «Australian tax» در نزدیکی یک عدد، امتیاز آن را افزایش می‌دهند. عددی که جمع کنترلی را پشت سر می‌گذارد اما کلمات زمینه‌ای نزدیکی ندارد، زیر آستانه بررسی امتیاز می‌گیرد. هشدار اشتباه سرکوب می‌شود.

برای نویز چندزبانه: انواع موجودیت‌های مرتبط با کشورهای خاص می‌توانند به اسناد در زبان متناسب محدود شوند. یک شناساگر TFN که به زبان انگلیسی و انگلیسی-استرالیایی محدود شده، نویز را حذف می‌کند. اجرای آن بر محتوای آلمانی بدون محدودیت منبع مشکل است.

لایه سوم در یک سیستم ترکیبی یک مدل ترانسفورمر است. کل پنجره زمینه اطراف هر کاندیدا را می‌خواند. «John Smith, Patient ID 12345» را از یک کد محصول که با الگوی نام مطابقت دارد تشخیص می‌دهد. زمینه ابهامی را برطرف می‌کند که regex و جمع‌های کنترلی نمی‌توانند.

ببینید چگونه موتور تشخیص سه‌لایه دقت را در مقیاس مدیریت می‌کند. راهنمای تشخیص اطلاعات شناسایی شخصی چندزبانه توضیح می‌دهد که نویز چندزبانه چگونه بر انطباق GDPR تأثیر می‌گذارد.

مراحل عملی

قبل از استقرار هر ابزار تشخیص اطلاعات شناسایی شخصی، دقت آن را اندازه بگیرید — نه فقط فراخوانی را.

ابزار را بر روی یک مجموعه سند با اطلاعات شناسایی شخصی شناخته‌شده و اطلاعات غیرشناسایی شناخته‌شده اجرا کنید. هشدارها را در هر دو گروه بشمارید. true_positives / (true_positives + false_positives) را محاسبه کنید. این عدد بار بررسی را قبل از تعهد به استقرار آشکار می‌کند.

برای تیم‌هایی که از Presidio استفاده می‌کنند، تحلیل توزیع امتیاز یک مسیر سریع است. نمونه‌ای از تشخیص‌ها با امتیازهای اطمینانشان را خروجی بگیرید. بشمارید چه تعداد زیر ۰.۶، ۰.۷، و ۰.۸ امتیاز دارند. سهم بزرگی از هشدارهای با امتیاز بالا در متن تمیز نشان‌دهنده شکاف زمینه است، نه مشکل آستانه. نمای کلی انطباق امنیتی توضیح می‌دهد که چگونه این موضوع را در یک DPIA مستند کنید.

منابع

آماده‌اید داده‌های خود را محافظت کنید؟

شروع به ناشناس‌سازی PII با بیش از ۲۸۵ نوع نهاد در ۴۸ زبان.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.