دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

دليل كاشف النصوص الصينية بالذكاء الاصطناعي: الاستدلال المحلي، تدريب النموذج والتحقق من النتائج

كيشرح هاد الدليل كيفاش تثبّت Chinese Guba AI Detector، تهيّأ النموذج المحلي، تدير كشف جماعي لنصوص CSV، تفهم خانات الإخراج، وتدرّب وتتحقق من النموذج من بعد ما تحصل على ترخيص قانوني للبيانات.

دليل كاشف النصوص الصينية بالذكاء الاصطناعي: الاستدلال المحلي وتدريب النموذج

نبذة على المشروع

Chinese Guba AI Detector هو أداة ثنائية التصنيف للنصوص الصينية المولّدة بالذكاء الاصطناعي. المشروع مبني على hfl/chinese-roberta-wwm-ext، وتدار ليه مواءمة باستعمال مجموعة بيانات C-ReD، وكان مستعمل من قبل فالقياس البحثي لنصوص منتديات الأسهم. المستودع الحالي كينشر سكريبتات التدريب والاستدلال والاختبار، بالإضافة للوثائق المرتبطة بها.

هاد الأداة كتحمّل النموذج محلياً وما كتستعمل حتى API خارجي. خاص الانتباه مزيان: المستودع حالياً ما كيوفّرش أوزان النموذج المدرّب ولا ملفات محلّل الرموز، ولازم على المستخدم يجيب النموذج بطريقة قانونية ويحطّو فالمجلد المحدد.

قيود مهمة: هادا ماشي النموذج الرسمي ديال C-ReD، والتدريب الإضافي الحالي ما استعملش منشورات منتديات الأسهم، وما دازش من اختبار يدوي بوسوم من مجال المنتديات المالية. نقاط النموذج ما كتثبتش الهوية الحقيقية لكاتب النص، وما خاصهاش تكون الأساس الوحيد لتحديد هوية شخص أو معاقبة محتوى.

الوظائف الرئيسية

  • تصنيف النصوص الصينية الموجودة فملفات CSV بترميز UTF-8 إلى نصوص مولّدة بالذكاء الاصطناعي أو نصوص بشرية.
  • إخراج نقطة softmax ديال فئة الذكاء الاصطناعي ونتيجة التصنيف المبنية على العتبة.
  • كيقرا افتراضياً 帖子内容文本، وكيقبل حتى تحديد عمود النص وعمود رمز السهم بشكل مخصص.
  • كيحوّل 股吧代码 إلى نص من ستة أرقام مع الحفاظ على الأصفار اللي فالأول.
  • كيحافظ على الأعمدة الأخرى الموجودة فملف الإدخال، وما كيبدلش محتواها النصي بشكل تلقائي.
  • كيقلّل من خطر تلف ملف الإخراج باستعمال ملف مؤقت وتعويض ذري.
  • كيدعم التحقق من التكامل، وإعادة الحساب مع التعويض، والحماية من الكتابة المتزامنة من أكثر من عملية.
  • كيوفّر سكريبتات للتدريب، والاختبارات الوحدوية، وتدقيق المحتوى المنشور.

تثبيت بيئة التشغيل

1. تحضير Python وPyTorch

بيئة اختبار المشروع هي Python 3.10. من الأحسن تستعمل بيئة افتراضية مستقلة، وبحسب واش عندك CPU ولا جهاز CUDA، ثبّت أولاً PyTorch 2.5.1 المناسب لجهازك باتباع التعليمات الرسمية ديال PyTorch.

فـ Windows PowerShell، دخل للمجلد الرئيسي ديال المستودع، ومن بعد أنشئ البيئة الافتراضية وفعّلها:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt

الـCPU يقدر يشغّل الاستدلال، ولكن GPU ديال CUDA غالباً كيكون أسرع. إلا بان نقص فذاكرة الفيديو، نقص أولاً --batch-size من القيمة الافتراضية أو الكبيرة إلى 8 أو 4.

2. تحضير النموذج المحلي

حطّ النموذج المدرّب اللي حصلتي عليه بطريقة قانونية فـ models/detector. خاص هاد المجلد يكون فيه الملفات التالية:

  • model.safetensors
  • config.json
  • tokenizer.json
  • tokenizer_config.json
  • special_tokens_map.json
  • vocab.txt

هاد الأوزان وملفات محلّل الرموز ما مرفقاش فالمستودع المنشور. إلا كان المجلد ناقص، سكريبت الاستدلال ما غاديش يقدر يحمّل النموذج بشكل صحيح.

تشغيل أول عملية كشف

1. تحضير ملف CSV للإدخال

خاص ملف الإدخال يكون CSV بترميز UTF-8. اسم عمود النص الافتراضي هو 帖子内容文本، واسم عمود رمز السهم الافتراضي هو 股吧代码. الأمثلة اللي فالمستودع كلها نصوص خيالية، وما فيهاش مستخدمين حقيقيين، ولا منشورات حقيقية، ولا وسم حقيقي بشري أو مولّد بالذكاء الاصطناعي.

2. تنفيذ الاستدلال الجماعي

من بعد ما يوجَد النموذج، شغّل الأمر التالي من المجلد الرئيسي ديال المستودع:

python scripts/predict.py --model-dir models/detector --input examples/synthetic_posts.csv --output outputs/demo.csv --batch-size 32

الأمر كيحمّل النموذج المحلي من models/detector، كيقرا ملف CSV التجريبي، وكيكتب نتائج الكشف فـ outputs/demo.csv. عملية الكشف كاملة ما كتستعمل حتى API خارجي.

3. فهم خانات الإخراج

ملف الإخراج كيحتافظ بالأعمدة الأصلية، وكيزيد الخانات التالية:

  • واش مولّد بالذكاء الاصطناعي: كتكون 1 إلا كانت نقطة النموذج قبل التقريب أكبر من أو مساوية للعتبة، وإلا كتكون 0؛ النص الفارغ كيبقى فارغ.
  • احتمال التوليد بالذكاء الاصطناعي: نقطة softmax ديال فئة الذكاء الاصطناعي. هاد النقطة ما معايراش احتماليا، وما يمكنش تتفهم مباشرة على أنها احتمال حقيقي.
  • نموذج كشف الذكاء الاصطناعي: معرّف النموذج المنشور، وما كيتكتبش فيه المسار المحلي ديال النموذج.
  • عتبة كشف الذكاء الاصطناعي: القيمة الافتراضية هي 0.7. هادي إعداد ديال المشروع، وماشي عتبة مثلى مثبتة فبحث علمي.
  • حالة كشف الذكاء الاصطناعي: ok كتعني أن الكشف تسالى، وempty_text كتعني أن نص الإدخال فارغ.

استعمال أعمدة CSV مخصصة

إلا كان اسم عمود النص هو text واسم عمود رمز السهم هو id، تقدر تحددهم بشكل صريح:

python scripts/predict.py --model-dir models/detector --input input.csv --output outputs/result.csv --text-column text --stock-column id

إلا ما كانش فملف الإدخال عمود ديال رمز السهم، مرّر سلسلة فارغة:

python scripts/predict.py --model-dir models/detector --input input.csv --output outputs/result.csv --text-column text --stock-column ""

إلا كان عمود رمز السهم موجود، البرنامج كيحوّلو لنص من ستة أرقام وكيحافظ على الأصفار اللي فالأول. الأعمدة الأخرى فالإدخال كيبقى محتواها النصي محفوظ كما هو.

التعويض والتحقق والمعالجة المتوازية

إعادة توليد النتيجة كاملة

نتائج الاستدلال كتكتب أولاً فملف مؤقت، ومن بعد النجاح كيتعوّض الملف الهدف بشكل ذري. ملي كتعاود تشغّل نفس الأمر، البرنامج ما كيتجاوزش النتائج الموجودة إلا إلا تطابقت قيم التحقق ديال الإدخال والنموذج والمعاملات والإخراج الكامل كلها.

إلا بغيتي تتجاهل النتائج الموجودة وتعاود تولّد الملف كامل، زِد --overwrite:

python scripts/predict.py --model-dir models/detector --input examples/synthetic_posts.csv --output outputs/demo.csv --batch-size 32 --overwrite

توقّف المعالجة والمهام المتوازية

من بعد التوقّف، البرنامج كيعاود الحساب من بداية الملف، وما كيكمّلاش بشكل أعمى اعتماداً على عدد الصفوف الموجودة. نفس مسار الإخراج ما مسموحش تكتب فيه أكثر من عملية فالنفس الوقت. إلا بغيتي المعالجة بالتوازي، خصص لكل عملية ملف إدخال وملف إخراج مختلفين.

حدود الطول وتفسير النتائج

فالوضع الافتراضي، كل نص كيدخل بحد أقصى 256 token، والجزء اللي كيزيد كيتقص. عدد الـtoken ماشي هو نفسو عدد الحروف الصينية، لذلك ما خاصش تفهم هاد الحد على أنه 256 حرف صيني.

بعض النصوص الأصلية فالبحث كانت فيها غير مقاطع مجمعة بحوالي 203 حرف، وبالتالي ممكن يكون موضوع الكشف غير جزء من النص الأصلي. عند تفسير النتائج، خاص تاخذ بعين الاعتبار اقتطاع النص، والاختلاف بين المجالات، وغياب السياق.

احتمال التوليد بالذكاء الاصطناعي هو نقطة softmax ما معايراش، والعتبة الافتراضية 0.7 غير إعداد ديال المشروع. تغيير العتبة كيبدل نتيجة التصنيف الثنائي، ولكن README ما كيصرّح حتى بعتبة على أنها القيمة المثلى المثبتة فالبحث.

تدريب النموذج باستعمال بيانات C-ReD

شرط الترخيص

قبل التدريب، خاصك تتحقق بوحدك وتحصل على ترخيص قانوني لاستعمال بيانات C-ReD. المستودع الأصلي ما بانش فيه ترخيص واضح، والاستشهاد بالبحث ما كيعنيش أنك حصلتي على إذن استعمال البيانات أو إعادة توزيعها. هاد المشروع ما كينسخش بيانات C-ReD، وترخيص MIT ديال المستودع ما كيغطيش بيانات C-ReD ولا الأوزان المشتقة منها.

تثبيت اعتماديات التدريب

python -m pip install -r requirements-train.txt

بدء التدريب

إلا افترضنا أن البيانات اللي حصلتي عليها بطريقة قانونية تحطات فـ data/C-ReD، تقدر تشغّل:

python scripts/train.py --data-root data/C-ReD --output-dir models/detector --epochs 3 --batch-size 8 --eval-batch-size 16 --no-fp16

برنامج التدريب كيقرا ملفات CSV اللي الاسم ديالها فيه CReD_، وكيستعمل العمودين text وlabel. تعريف الوسوم فالمصدر هو 0=AI و1=人工، وفالتدريب كيتحوّل إلى 0=بشري و1=ذكاء اصطناعي.

بروتوكول التدريب والمقاييس التاريخية مسجلين فـ MODEL_CARD.md. عند إعادة التدريب كيستعمل البرنامج تهيئة كاملة بالبذرة العشوائية، ولكن التدريب التاريخي ما حدّدش البذرة العامة بشكل صريح قبل تهيئة النموذج، لذلك ما كاينش ضمان لإعادة إنتاج الأوزان القديمة حرفياً.

الاختبار وتدقيق النشر

شغّل جميع الاختبارات الوحدوية:

python -m unittest discover -s tests -v

الاختبارات الوحدوية كتستعمل بيانات خيالية وتنبؤات محاكاة، لذلك ما كتحتاجش تنزيل النموذج. اختبار النموذج الحقيقي بشكل سريع غير كيبيّن أن النموذج قابل للتحميل وتنفيذ الاستدلال، وما كيضمنش أن النتائج صحيحة.

شغّل تدقيق المحتوى المنشور:

python scripts/audit_release.py

المستودع المنشور كيتفحص باستعمال لائحة بيضاء للملفات وأنماط المعلومات الحساسة. ملفات CSV الأصلية ديال منتديات الأسهم، ومعرّفات الناشرين، والأسماء المستعارة، وعناوين IP، وروابط المنشورات، ولوحات البحث، وقواعد البيانات التجارية، وملفات التخزين المؤقت، والسجلات، ومخرجات Notebook، ونقاط التحقق الوسيطة للتدريب، وسجل Git التاريخي، كاملين ما خاصهمش يدخلو للمستودع. النطاق التفصيلي لإزالة البيانات الحساسة موجود فـ PRIVACY.md، ومسار النشر موجود فـ docs/PUBLISHING.md.

نصائح للاستعمال المتقدم

  1. تحقق من المسار باستعمال بيانات خيالية أولاً: تأكد من البيئة، وأسماء الأعمدة، ومجلد النموذج، ومسار الإخراج قبل ما تعالج البيانات القانونية ديالك.
  2. نقص حجم الدفعة ملي تكون الذاكرة ناقصة: جرّب أولاً --batch-size 8 أو --batch-size 4.
  3. تجنب مشاركة مسار الإخراج: المهام المتوازية خاصها تستعمل ملفات إخراج مختلفة باش ما تفعّلاش حد الكتابة من عملية واحدة.
  4. حفظ معاملات التشغيل: النموذج والإدخال والمعاملات وقيم التحقق ديال الإخراج كيأثرو على إعادة استعمال النتائج، ومن بعد تغيير أي عنصر خاصك تعاود تفحص الإخراج.
  5. فسّر النصوص الطويلة بحذر: المحتوى اللي كيتجاوز 256 token كيتقص، وممكن النموذج ما يشوفش الجزء الأخير.
  6. ما تعتبرش النقطة إثباتاً للهوية: نقاط softmax ما معايراش، والمشروع ناقصو تحقق يدوي بوسوم من مجال المنتديات المالية.
  7. تأكد من الترخيص قبل نشر الأوزان: الكود والوثائق مرخّصين بترخيص MIT، والنموذج الأساسي بترخيص Apache-2.0، ولكن بيانات C-ReD والأوزان المشتقة منها خاصها تأكيد ترخيص مستقل.

الخلاصة

Chinese Guba AI Detector كيوفّر مساراً كاملاً لتصنيف النصوص الصينية بالذكاء الاصطناعي محلياً، وكيشمل استدلال CSV، وتدريب النموذج، والاختبارات الوحدوية، وتدقيق النشر. فالاستعمال الفعلي، خاصك أولاً تحصل بطريقة قانونية على النموذج أو بيانات التدريب، وتتعامل مع الإخراج على أنه نقطة نموذجية بحثية، وماشي دليل حاسم على هوية كاتب النص.