evalMLMethod
evalMLMethod. راجع الرابط ضمن linearRegression.
stochasticLinearRegression
evalMLMethod للتنبؤ بالبيانات الجديدة.
stochasticLogisticRegression
evalMLMethod للتنبؤ بالبيانات الجديدة.
naiveBayesClassifier
model_name— اسم النموذج المُعَدّ مسبقًا. String يجب أن يكون النموذج معرّفًا في ملفات تكوين ClickHouse (انظر أدناه).input_text— النص المراد تصنيفه. String تُعالَج المدخلات تمامًا كما أُدخِلت (مع الحفاظ على حالة الأحرف وعلامات الترقيم).
- معرّف الفئة المتوقعة على هيئة عدد صحيح غير موقّع. UInt32 تتوافق معرّفات الفئات مع التصنيفات المحددة أثناء إنشاء النموذج.
0 اللغة الإنجليزية، بينما قد تشير 1 إلى الفرنسية — إذ تعتمد دلالات الفئات على بيانات التدريب لديك.
تفاصيل التنفيذ
- تدعم تسلسلات n-gram بأي طول
- ثلاثة أوضاع للتقسيم إلى رموز:
byte: يعمل على البايتات الخام. كل بايت يُعد رمزًا واحدًا.codepoint: يعمل على القيم القياسية في Unicode المفككة من UTF‑8. كل نقطة ترميز تُعد رمزًا واحدًا.token: يُقسِّم عند تتابعات المسافات البيضاء في Unicode (regex \s+). تكون الرموز سلاسل فرعية غير بيضاء؛ وتُعد علامات الترقيم جزءًا من الرمز إذا كانت ملاصقة له (على سبيل المثال، “you?” يُعد رمزًا واحدًا).
إعداد النموذج
| المعلمة | الوصف | مثال | الافتراضي |
|---|---|---|---|
| name | معرّف فريد للنموذج | language_detection | مطلوب |
| path | المسار الكامل للملف التنفيذي الخاص بالنموذج | /etc/clickhouse-server/config.d/language_detection.bin | مطلوب |
| mode | طريقة تجزئة النص: - byte: تسلسلات بايت- codepoint: نقاط ترميز Unicode- token: رموز الكلمات | token | مطلوب |
| n | حجم n-gram (في وضع token):- 1=كلمة واحدة- 2=أزواج كلمات- 3=ثلاثيات كلمات | 2 | مطلوب |
| alpha | معامل تنعيم لابلاس المستخدم أثناء التصنيف لمعالجة سلاسل n-grams التي لا تظهر في النموذج | 0.5 | 1.0 |
| priors | احتمالات الفئات (% من المستندات التي تنتمي إلى فئة) | 60% للفئة 0، 40% للفئة 1 | توزيع متساوٍ |
n=1 ووضع token، قد يبدو النموذج كما يلي:
n=3 ونمط codepoint، فقد يبدو الأمر كما يلي:
n-gram كما يلي:
class_idبحجم 4 بايت (UInt، little-endian)- طول بايتات
n-gramبحجم 4 بايت (UInt، little-endian) - بايتات
n-gramالخام countبحجم 4 بايت (UInt، little-endian)
n-grams وفقًا للقيمتين المحددتين mode وn. توضّح الخطوات التالية هذه المعالجة المسبقة:
-
أضف علامات الحدود في بداية كل مستند ونهايته استنادًا إلى وضع تقطيع الرموز:
- Byte:
0x01(البداية)،0xFF(النهاية) - نقطة ترميز:
U+10FFFE(البداية)،U+10FFFF(النهاية) - Token:
<s>(البداية)،</s>(النهاية)
(n - 1)من الرموز في كلٍّ من بداية المستند ونهايته. - Byte:
-
Example على
n=3في وضعtoken:- المستند:
"ClickHouse is fast" - تتم معالجته على النحو التالي:
<s> <s> ClickHouse is fast </s> </s> - مقاطع
trigramالمُولَّدة:<s> <s> ClickHouse<s> ClickHouse isClickHouse is fastis fast </s>fast </s> </s>
- المستند:
byte وcodepoint، قد يكون من المناسب أولًا تقسيم المستند إلى tokens (قائمة من قيم byte في وضع byte، وقائمة من قيم codepoint في وضع codepoint). بعد ذلك، أضِف n - 1 من tokens البداية في أول المستند وn - 1 من tokens النهاية في آخره. وأخيرًا، أنشئ n-grams واكتبها في الملف المُسلسَل.