دليل استخدام zhparser
zhparser
هو عبارة عن وحدة تمديد (Extension Module) لقاعدة بيانات PostgreSQL، صُممت خصيصًا لمعالجة النصوص الصينية. توفر هذه الوحدة وظائف فعالة لتجزئة الكلمات والبحث، مما يجعلها مناسبة لمختلف سيناريوهات معالجة النصوص الصينية. ServBay يأتي مع scws
(Simple Chinese Word Segmentation)، ويمكن لـzhparser
استخدام scws
لإنشاء قواميس مخصصة. سيوضح هذا الدليل كيفية تثبيت واستخدام zhparser
في ServBay.
تثبيت zhparser
يحتوي ServBay على وحدة تمديد zhparser
، وكل ما عليك فعله هو تفعيلها في قاعدة البيانات. إليك خطوات تفعيل zhparser
:
الاتصال بقاعدة بيانات PostgreSQL:
bashpsql -U your_username -d your_database
1إنشاء التمديد:
sqlCREATE EXTENSION zhparser;
1التحقق من التثبيت:
sql\dx
1
تهيئة zhparser
بعد تفعيل zhparser
، تحتاج إلى إجراء بعض التهيئات للسماح له بالعمل بشكل صحيح في تجزئة النصوص الصينية والبحث الكامل عن النصوص.
تهيئة تكوينات البحث عن نصوص (Text Search Configuration)
إنشاء تكوينات البحث عن النصوص:
sqlCREATE TEXT SEARCH CONFIGURATION chinese (PARSER = zhparser);
1إضافة القواميس:
sqlALTER TEXT SEARCH CONFIGURATION chinese ADD MAPPING FOR n,v,a,i,e,l WITH simple;
1
استخدام zhparser للبحث الكامل عن النصوص
إليك مثالا يوضح كيفية استخدام zhparser
للبحث الكامل عن النصوص.
إنشاء جدول بيانات وتجهيز بيانات نموذجية
إنشاء جدول:
sqlCREATE TABLE documents ( id SERIAL PRIMARY KEY, content TEXT );
1
2
3
4إدخال بيانات نموذجية:
sqlINSERT INTO documents (content) VALUES ('我爱自然语言处理'), ('中文分词是文本处理的重要步骤'), ('zhparser是一个很好的中文分词工具');
1
2
3
4
إنشاء فهرس بحث كامل النصوص
- إنشاء فهرس GIN:sql
CREATE INDEX idx_gin_content ON documents USING gin (to_tsvector('chinese', content));
1
تنفيذ بحث كامل النصوص
تنفيذ استعلام البحث:
sqlSELECT * FROM documents WHERE to_tsvector('chinese', content) @@ to_tsquery('chinese', '中文 & 分词');
1
2سيُرجع هذا الاستعلام المستندات التي تحتوي على كلمتي "中文" و "分词".
تخصيص القواميس
يأتي ServBay مع scws
، ويمكنك استخدام scws
لإنشاء قواميس مخصصة لتلبية احتياجات التطبيقات الخاصة بك.
إضافة مفردات مخصصة
إنشاء ملف قاموس مخصص:
plaintext/Applications/ServBay/etc/scws/custom_dict.txt
1إضافة المفردات في الملف، كلمة واحدة في كل سطر:
plaintext自然语言处理 中文分词
1
2تهيئة
zhparser
لاستخدام القاموس المخصص:sqlSET zhparser.dict_path = '/Applications/ServBay/etc/scws/custom_dict.txt';
1
إعادة تحميل القاموس
- إعادة تحميل القاموس:sql
SELECT zhprs_reload_dict();
1
تعديل وضع التجزئة
يدعم zhparser
أوضاع متعددة لتجزئة الكلمات، ويمكنك تعديل الوضع وفقًا لاحتياجاتك.
تعيين وضع التجزئة
تعيين وضع التجزئة إلى تجزئة بأدق النويات:
sqlSET zhparser.seg_with_duality = true;
1تعيين وضع التجزئة إلى تجزئة بأكبر النويات:
sqlSET zhparser.seg_with_duality = false;
1
الخلاصة
zhparser
هو أداة قوية لتجزئة الكلمات الصينية، ومن خلال بعض التهيئات والاستخدامات البسيطة، يمكنك تحقيق بحث فعال وكامل للنصوص الصينية في PostgreSQL. يأتي ServBay مزودًا بوحدة zhparser
وتحتوي على scws
، ويمكنك استخدام scws
لإنشاء قواميس مخصصة. من خلال تخصيص القواميس وضبط أوضاع التجزئة، يمكنك تحسين أداء التجزئة لتلبية احتياجات التطبيقات الخاصة بك.