🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI

البنية العامة

  • Scenarios
May 12, 2020
milvus

مشروع ميلفوس :github.com/milvus-io/milvus

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

تتناول هذه المقالة بشكل أساسي نظام ضمان الجودة المصمم لمجال محدد، والذي يُطلق عليه عادةً روبوت خدمة العملاء الذكي. في الماضي، كان بناء روبوت خدمة العملاء يتطلب عادةً تحويل معرفة المجال إلى سلسلة من القواعد والرسوم البيانية المعرفية. تعتمد عملية البناء بشكل كبير على الذكاء "البشري". وبمجرد تغيير المشاهد، سيتطلب الأمر الكثير من العمل المتكرر. مع تطبيق التعلم العميق في معالجة اللغة الطبيعية (NLP)، يمكن للقراءة الآلية أن تجد تلقائياً إجابات للأسئلة المطابقة مباشرةً من المستندات. يقوم نموذج لغة التعلم العميق بتحويل الأسئلة والمستندات إلى متجهات دلالية للعثور على الإجابة المطابقة.

تستخدم هذه المقالة نموذج BERT مفتوح المصدر من Google وMilvus، وهو محرك بحث متجه مفتوح المصدر، لبناء روبوت للأسئلة والأجوبة بسرعة استنادًا إلى الفهم الدلالي.

البنية العامة

تنفذ هذه المقالة نظامًا للإجابة على الأسئلة من خلال مطابقة التشابه الدلالي. عملية البناء العامة هي كما يلي:

  1. الحصول على عدد كبير من الأسئلة ذات الإجابات في مجال معين (مجموعة أسئلة قياسية).
  2. استخدام نموذج BERT لتحويل هذه الأسئلة إلى متجهات ميزات وتخزينها في Milvus. وسيقوم Milvus بتعيين معرف متجه لكل متجه ميزة في نفس الوقت.
  3. قم بتخزين معرّفات الأسئلة التمثيلية هذه والإجابات المقابلة لها في PostgreSQL.

عندما يطرح المستخدم سؤالاً:

  1. يقوم نموذج BERT بتحويله إلى متجه ميزة.
  2. يقوم Milvus بإجراء بحث عن التشابه واسترداد المعرف الأكثر تشابهًا مع السؤال.
  3. تقوم PostgreSQL بإرجاع الإجابة المقابلة.

مخطط بنية النظام كما يلي (الخطوط الزرقاء تمثل عملية الاستيراد والخطوط الصفراء تمثل عملية الاستعلام):

1-system-architecture-milvus-bert-postgresql.png 1-نظام-معمارية-نظام-ميلفوس-بيرت-بوستغريسكل.png

بعد ذلك، سنوضح لك كيفية بناء نظام الأسئلة والأجوبة عبر الإنترنت خطوة بخطوة.

خطوات بناء نظام الأسئلة والأجوبة

قبل أن تبدأ، تحتاج إلى تثبيت Milvus و PostgreSQL. لمعرفة خطوات التثبيت المحددة، راجع موقع ميلفوس الرسمي.

1. إعداد البيانات

تأتي البيانات التجريبية في هذه المقالة من: https://github.com/chatopera/insuranceqa-corpus-zh

تحتوي مجموعة البيانات على أزواج بيانات الأسئلة والأجوبة المتعلقة بصناعة التأمين. في هذه المقالة نستخرج منها 20,000 زوج من الأسئلة والأجوبة. من خلال هذه المجموعة من مجموعات بيانات الأسئلة والأجوبة، يمكنك بناء روبوت خدمة عملاء لصناعة التأمين بسرعة.

2. توليد متجهات الميزات

يستخدم هذا النظام نموذجًا قام BERT بتدريبها مسبقًا. قم بتنزيله من الرابط أدناه قبل بدء الخدمة: https://storage.googleapis.com/bert_models/2018_10_18/cased_L-24_H-1024_A-16.zip

استخدم هذا النموذج لتحويل قاعدة بيانات الأسئلة إلى ناقلات ميزات للبحث عن التشابه في المستقبل. لمزيد من المعلومات حول خدمة BERT، انظر https://github.com/hanxiao/bert-as-service.

2-code-block.png 2-كود-كتلة الكود.png

3. الاستيراد إلى Milvus و PostgreSQL

قم بتطبيع واستيراد ناقلات الميزات التي تم إنشاؤها إلى Milvus، ثم قم باستيراد المعرفات التي تم إرجاعها بواسطة Milvus والإجابات المقابلة إلى PostgreSQL. يوضح ما يلي بنية الجدول في PostgreSQLSQL:

3-import-milvus-postgresql.png 3- import-milvus-milvus-postgresql.png

4-import-milvus-postgresql.png 4- import-milvus-milvus-postgresql.png

4. استرجاع الإجابات

يقوم المستخدم بإدخال سؤال، وبعد توليد متجه الميزة من خلال BERT، يمكنه العثور على السؤال الأكثر تشابهًا في مكتبة Milvus. تستخدم هذه المقالة مسافة جيب التمام لتمثيل التشابه بين جملتين. نظرًا لأن جميع المتجهات يتم تطبيعها، فكلما اقتربت مسافة جيب التمام بين متجهي الميزة من 1، كلما زاد التشابه.

من الناحية العملية، قد لا يكون لدى نظامك أسئلة متطابقة تمامًا في المكتبة. بعد ذلك، يمكنك تعيين عتبة 0.9. إذا كانت أكبر مسافة تشابه مسترجعة أقل من هذه العتبة، سيطالب النظام بعدم تضمين الأسئلة ذات الصلة.

4-retrieve-answers.png 4-استرجاع-الأجوبة.png

عرض توضيحي للنظام

فيما يلي مثال توضيحي لواجهة النظام:

5-milvus-QA-system-application.png 5-milvus-QA-نظام-التطبيق.png

أدخل سؤالك في مربع الحوار وستتلقى إجابة مقابلة:

5-milvus-QA-system-application-2.png 5-ملفوس-QA-نظام-تطبيق-نظام-التطبيق-2.png

ملخص

بعد قراءة هذه المقالة، نأمل أن تجد سهولة في بناء نظام الأسئلة والأجوبة الخاص بك.

فمع نموذج BERT، لم تعد بحاجة إلى فرز وتنظيم مجموعة النصوص مسبقًا. في الوقت نفسه، وبفضل الأداء العالي وقابلية التوسع العالية لمحرك البحث المتجه مفتوح المصدر Milvus، يمكن لنظام ضمان الجودة الخاص بك دعم مجموعة نصوص تصل إلى مئات الملايين من النصوص.

وقد انضمت Milvus رسميًا إلى مؤسسة لينكس للذكاء الاصطناعي (LF AI) للاحتضان. نرحب بك للانضمام إلى مجتمع Milvus والعمل معنا لتسريع تطبيق تقنيات الذكاء الاصطناعي!

=> جرب عرضنا التجريبي عبر الإنترنت هنا: https://www.milvus.io/scenarios

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

استمر في القراءة