
ترميز مائي دلالي مع كشف قوي بالترتيب عبر وحدات دون الجملة
يضيف SwordStamp وحدات كشف قوية تجاه الترتيب ووحدات امتداد دلالي إلى العلامات المائية الدلالية القائمة على التضمين. تحتوي هذه الحزمة على إعداد الورقة البحثية الدقيق، وشيفرة التوليد والكشف، ومجموعة الهجمات دون تغيير، وتقييم الجودة، واستخراج النتائج الحتمي والرسم البياني.
الورقة البحثية: Semantic Watermarking with Order-Robust Detection over Sub-sentence Units (arXiv:2608.27666)
عند معدل إيجابيات كاذبة 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 بدون صندوق النص المعلَّم وتصميم العلامة المائية العام. لا يستعلم الكاشف أو المولِّد ولا يتلقى مفتاحًا سريًا أو مُرمِّزًا من المزوِّد، أو أوراكل جودة.
| المتغير | المرتكز والوحدة | التكوين |
|---|---|---|
| EDA-P | جملة موضعية | adaptive، anchor=positional، وحدة المهاجم sentence |
| EDA-S | التصميم العام للهدف | جمل موضعية لـ SemStamp وk-SemStamp وPMark؛ bag/sentence لـ SAMark؛ bag/semspan لكلا متغيري SwordStamp |
| EDA-D | كاشف المزوِّد | oracle؛ يرث مُرمِّز المدافع والتقسيم والتقطيع |
لارتكاز bag، تستخدم الورقة 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; use "bag" for an order-robust design
bag_agg="min",
segmentation_type="sentence",
segmentation_backend="nltk",
)
لإعداد EDA-S الواعي بـ SwordStamp الخاص بالورقة البحثية، اضبط anchor="bag"،
وsegmentation_type="semspan"، وsemcut_max_words=15، و
semcut_window=5. داخل هذا المستودع، يكون CLI المكافئ هو:
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
# Remove DRY_RUN=1 after inspecting the exact DAGs.
تجميع واستخراج وعرض:
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.