
ترميز مائي دلالي مع كشف قوي بالترتيب عبر وحدات دون الجملة
يضيف SwordStamp كشفًا مقاومًا لترتيب العناصر ووحدات نطاق دلالية إلى العلامات المائية الدلالية القائمة على التضمين. تحتوي هذه القطعة الأثرية على الإعداد الدقيق للورقة، ورمز التوليد والكشف، ومجموعة الهجمات غير المعدلة، وتقييم الجودة، واستخراج النتائج الحتمية ورسمها.
عند معدل إيجابي كاذب بنسبة 5% ومتطلب الحفاظ على المحتوى بنسبة 90%، يحقق هجوم إزاحة التضمين الخاص بالمخطط (EDA-S):
| العلامة المائية | معدل نجاح هجوم EDA-S |
|---|---|
| SemStamp | 47.9% |
| k-SemStamp | 33.3% |
| PMark | 46.1% |
| SAMark | 32.6% |
| SwordStamp | 18.7% |
| k-SwordStamp | 10.8% |
مقارنةً بخطوط الأساس المنشورة، يقلل SwordStamp وk-SwordStamp نجاح EDA-S بمقدار 29.2 و22.5 نقطة مئوية، بتكلفة دقة نظيفة تبلغ 1.8 و4.4 نقطة. معدلات الكشف النظيف لديهما هي 94.9% و97.0%. تحت اختبار الإجهاد الأقوى EDA-D مع وصول الكاشف، يبلغ الحد الأقصى للنجاح المقيد بالجودة 39.7% على k-SwordStamp مقابل 65.5% على k-SemStamp.


تغطي هذه النتائج استمرارات الأخبار الإنجليزية، ونموذج مزود واحد، ومشفّري مزودين، وزوج واحد من مُعاد الصياغة/النموذج البديل EDA.
يستهلك visualization حزمة CSV/Parquet المجمّعة فقط. يفشل عند وجود خلايا مفقودة في الورقة بدلاً من رسم شكل جزئي.
uv sync --frozen --only-group plot --no-install-project
uv run --no-sync python -m visualization extract \
--bundle results/paper --output results/paper
uv run --no-sync python -m visualization render \
--bundle results/paper --output results/paper
يكتب هذا جداول قابلة للتدقيق تحت results/paper/tables/ وسبعة أشكال بصيغتي PNG وPDF تحت results/paper/figures/. يتضمن فرع المراجعة المجهولة الحزمة المجمّعة؛ بينما ينشئ تشغيل كامل على فرع الإصدار نفس الملفات باستخدام python -m visualization compile.
هجوم إزاحة التضمين (EDA) هو هجوم تكيفي لإعادة صياغة النص بالكامل. عند كل وحدة إخراج، يقوم بأخذ عينات من K استمرارات ويحتفظ بالمرشح الذي يحقق أكبر إزاحة جيب تمام من مرساه المصدر تحت مشفّر بديل. نظرًا لأن كل مرشح يواصل بادئة إعادة الكتابة الكاملة، يمكن لهدف واحد إعادة صياغة المحتوى، وإعادة ترتيبه، وتقسيم أو دمج وحدات الكاشف.
يرى EDA بدون صندوق النص المعلّم وتصميم العلامة المائية العام. لا يستعلم عن الكاشف أو المولّد ولا يتلقى مفتاحًا سريًا أو مشفّر مزود أو أوراكل جودة.
لترسيخ الحقيبة، تستخدم الورقة attack.bag_agg=min: تعظيم المسافة من أقرب مرساة مصدر. تستخدم عمليات التشغيل المبلغ عنها بدون صندوق Qwen/Qwen2.5-3B-Instruct وBAAI/bge-base-en-v1.5 وK={1,2,4,8,16,32,64} ودرجة حرارة 1.0 وtop-p 0.95 وحد أقصى 96 رمزًا لكل مرشح وحد أقصى 512 رمزًا لإعادة الكتابة.
يمكن لمصممي العلامات المائية الآخرين استدعاء EDA مباشرة:
from attacks.paraphrasing.adaptive import adaptive_attack_paraphrase
attacked = adaptive_attack_paraphrase(
texts,
base_model="Qwen/Qwen2.5-3B-Instruct",
surrogate_model="BAAI/bge-base-en-v1.5",
num_candidates=32,
anchor="positional", # EDA-P; استخدم "bag" لتصميم مقاوم للترتيب
bag_agg="min",
segmentation_type="sentence",
segmentation_backend="nltk",
)
لإعداد EDA-S الخاص بالورقة والمدرك لـ SwordStamp، اضبط anchor="bag" وsegmentation_type="semspan" وsemcut_max_words=15 وsemcut_window=5. داخل هذا المستودع، واجهة سطر الأوامر المكافئة هي:
uv run python -m attacks DATA_PATH --config PRESET \
--set attack.paraphraser=adaptive \
--set attack.custom_model=Qwen/Qwen2.5-3B-Instruct \
--set attack.surrogate_model=BAAI/bge-base-en-v1.5 \
--set attack.num_candidates=32 \
--set attack.anchor=bag --set attack.bag_agg=min \
--set segmentation.attacker_type=semspan \
--set segmentation.attacker_backend=nltk
DATA_PATH هو دائمًا المجموعة الأساسية وPRESET يحدد الخلية المعلّمة بالماء. راجع attacks/README.md لجميع الهجمات المحتفظ بها وحقول الإعداد.

config/paper.py هو المصدر الوحيد للحقيقة. لكل من LSH وk-means، يشغّل scripts/experiments/swordstamp.sh هذا السلم الإضافي المكوّن من خمس درجات مع 64 مرشحًا من المزود:
تحتوي الشبكة على هذه الخلايا العشر فقط وخط أساس واحد بدون علامة مائية. PMark متاح عبر الإنترنت فقط؛ يستخدم SAMark نمط علم واحد لكل تشغيل. ميزانيات EDA-D هي K={4,8,16,32,64}.
تكيّف الوحدات الفرعية للمقارنة مصادر التقييم العامة لـ PMark وSAMark فقط عند حدود مجموعات البيانات/النتائج ومعايرة الإيجابي الكاذب المشتركة؛ خوارزميات العلامات المائية غير معدلة.
المتطلبات الأساسية هي Git وuv وPython 3.11 وCUDA لتشغيل النماذج والوصول إلى مراجعات النماذج المثبتة وتخزين مؤقت.
git clone --recurse-submodules [email protected]:D-Diaa/SwordStamp.git
cd SwordStamp
bash scripts/setup.sh
uv run --frozen python scripts/check_artifact.py
تحضير أقسام C4 الحتمية المنفصلة:
uv run --frozen python scripts/prepare_c4.py --output-dir data
تثبيت وتهيئة المجدول المثبت. يطبع المثبّت آثاره الجانبية على مستوى المستخدم قبل تغيير أي شيء:
bash scripts/install_gpu_scheduler.sh --print-plan
bash scripts/install_gpu_scheduler.sh --yes
gpu-scheduler init --gpus 0,1
gpu-scheduler start
معاينة ثم إرسال كل شريحة مادية:
for shard in c4-val-def-256 c4-val-def-256b c4-val-def-512; do
BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/swordstamp.sh
BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/pmark.sh
BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/samark.sh
done
# أزل DRY_RUN=1 بعد فحص الرسوم البيانية الدقيقة.
التجميع والاستخراج والعرض:
uv run --frozen python -m visualization all \
--bundle results/paper --output results/paper
يوفر المجدول CUDA_VISIBLE_DEVICES؛ لا تختر وحدات GPU بفحص nvidia-smi. إعادة الإنتاج الكاملة هي عبء عمل GPU متعدد الأيام. يسرد ARTIFACT.md الأجهزة ومراجعات النماذج والمخرجات المتوقعة وخريطة الادعاء إلى الأمر. يوثق scripts/experiments/README.md سلوك الاستئناف والإجبار.
config/, segmentation/, sampling/, watermarking/: SwordStamp.attacks/: EDA ومجموعة الهجمات المحتفظ بها.quality/: تقييم الدقة والحفاظ على المحتوى.visualization/: تجميع خاص بالورقة وجداول وأشكال Matplotlib.scripts/experiments/: سير عمل الورقة الدقيق المدعوم بالمجدول.external/: وحدات مقارنة PMark وSAMark المثبتة.يُصدر الكود من الطرف الأول بموجب رخصة MIT. تحتفظ النماذج ومجموعات البيانات والنص المولّد والوحدات الفرعية للمقارنة بشروطها الخاصة؛ راجع THIRD_PARTY.md.
برنامج SwordStamp من تأليف عبد الرحمن ضياء. مؤلفو الورقة هم عبد الرحمن ضياء وجوناثان بيتي وفلوريان كيرشباوم. بيانات الاقتباس القابلة للقراءة آليًا موجودة في CITATION.cff.
| المتغير | المرساة والوحدة | الإعداد |
|---|
| EDA-P | جملة موضعية | adaptive, anchor=positional, وحدة المهاجم sentence |
| EDA-S | التصميم العام للهدف | جمل موضعية لـ SemStamp وk-SemStamp وPMark؛ حقيبة/جملة لـ SAMark؛ حقيبة/نطاق دلالي لكلا متغيري SwordStamp |
| EDA-D | كاشف المزود | oracle؛ يرث مشفّر المدافع والتقسيم والتجزئة |