إضافة محللات اللغة إلى حقول السلسلة في فهرس البحث المعرفي في Azure

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

متى تستخدم محلل اللغة

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

يجب عليك أيضا التفكير في محللي اللغة عندما يتكون المحتوى من سلاسل لغات غير غربية. في حين أن المحلل الافتراضي (Standard Lucene ) هو لاأدري لغوي ، فإن مفهوم استخدام المسافات والأحرف الخاصة (الواصلات والشرطة المائلة) لفصل السلاسل أكثر قابلية للتطبيق على اللغات الغربية من اللغات غير الغربية.

على سبيل المثال ، في اللغات الصينية واليابانية والكورية (CJK) واللغات الآسيوية الأخرى ، لا تكون المسافة بالضرورة محددا للكلمة. ضع في اعتبارك السلسلة اليابانية التالية. نظرا لعدم وجود مسافات ، فمن المحتمل أن يقوم محلل اللغة اللاأدري بتحليل السلسلة بأكملها كرمز مميز واحد ، في حين أن السلسلة في الواقع عبارة عن عبارة.

これは私たちの銀河系の中ではもっとも重く明るいクラスの球状星団です。
(This is the heaviest and brightest group of spherical stars in our galaxy.)

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

تجربة أفضل هي البحث عن الكلمات الفردية: 明るい (مشرق) ، 私たちの (لدينا) ، 銀河系 (المجرة). من المرجح أن يؤدي استخدام أحد أجهزة التحليل اليابانية المتوفرة في البحث المعرفي إلى فتح هذا السلوك لأن هؤلاء المحللين مجهزون بشكل أفضل لتقسيم جزء النص إلى كلمات ذات مغزى باللغة الهدف.

مقارنة بين أجهزة تحليل Lucene و Microsoft

يدعم Azure Cognitive Search 35 محللا لغويا مدعوما من Lucene، و50 محللا لغويا مدعوما بتقنية معالجة اللغات الطبيعية الخاصة بشركة Microsoft المستخدمة في Office Bing.

قد يفضل بعض المطورين الحل الأكثر شيوعا والبسيط والمفتوح المصدر من Lucene. تعد أجهزة تحليل لغة Lucene أسرع ، لكن محللات Microsoft لديها قدرات متقدمة ، مثل lemmatization ، وتفكيك الكلمات (بلغات مثل الألمانية والدنماركية والهولندية والسويدية والنرويجية والإستونية والنهائية والمجرية والسلوفاكية) والتعرف على الكيانات (عناوين URL ورسائل البريد الإلكتروني والتواريخ والأرقام). إذا كان ذلك ممكنا ، يجب عليك إجراء مقارنات بين كل من محللي Microsoft و Lucene لتحديد أيهما أكثر ملاءمة. يمكنك استخدام تحليل واجهة برمجة التطبيقات لرؤية الرموز المميزة التي تم إنشاؤها من نص معين باستخدام محلل معين.

الفهرسة باستخدام محللات Microsoft أبطأ مرتين إلى ثلاث مرات في المتوسط من نظيراتها Lucene ، اعتمادا على اللغة. يجب ألا يتأثر أداء البحث بشكل كبير بطلبات البحث متوسطة الحجم.

محللات اللغة الإنجليزية

المحلل الافتراضي هو Standard Lucene ، الذي يعمل بشكل جيد للغة الإنجليزية ، ولكن ربما ليس مثل محلل اللغة الإنجليزية من Lucene أو محلل اللغة الإنجليزية من Microsoft.

  • يقوم محلل اللغة الإنجليزية من Lucene بتوسيع المحلل القياسي. إنه يزيل الامتلاك (الزائدة 's) من الكلمات ، ويطبق الجذعية وفقا لخوارزمية Porter Stemming ، ويزيل كلمات التوقف الإنجليزية.

  • يقوم محلل اللغة الإنجليزية من Microsoft بإجراء الليماتية بدلا من الوقف. هذا يعني أنه يمكنه التعامل مع أشكال الكلمات المنحرفة وغير المنتظمة بشكل أفضل بكثير مما يؤدي إلى نتائج بحث أكثر صلة

كيفية تحديد محلل لغة

قم بتعيين المحلل أثناء إنشاء الفهرس، قبل تحميله بالبيانات.

  1. في تعريف الحقل، تأكد من أن الحقل منسوب إلى "قابل للبحث" وأنه من النوع Edm.String.

  2. قم بتعيين الخاصية "المحلل" إلى أحد محللي اللغة من قائمة المحللين المدعومين.

    الخاصية "المحلل" هي الخاصية الوحيدة التي ستقبل محلل اللغة، ويتم استخدامها لكل من الفهرسة والاستعلامات. الخصائص الأخرى المتعلقة بالمحلل ("searchAnalyzer" و "indexAnalyzer") لن تقبل محلل اللغة.

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

يوضح المثال التالي مواصفات محلل لغة في فهرس:

{
  "name": "hotels-sample-index",
  "fields": [
    {
      "name": "Description",
      "type": "Edm.String",
      "retrievable": true,
      "searchable": true,
      "analyzer": "en.microsoft",
      "indexAnalyzer": null,
      "searchAnalyzer": null
    },
    {
      "name": "Description_fr",
      "type": "Edm.String",
      "retrievable": true,
      "searchable": true,
      "analyzer": "fr.microsoft",
      "indexAnalyzer": null,
      "searchAnalyzer": null
    },

لمزيد من المعلومات حول إنشاء فهرس وإعداد خصائص الحقل، راجع إنشاء فهرس (REST). لمزيد من المعلومات حول تحليل النص، راجع أدوات التحليل في البحث المعرفي في Azure.

محللات اللغة المدعومة

فيما يلي قائمة باللغات المدعومة، مع أسماء محلل Lucene وMicrosoft.

اللغة اسم محلل مايكروسوفت اسم محلل لوسين
العربية ar.microsoft ar.lucene
الأرمينية hy.lucene
البنغالية bn.microsoft
الباسكية eu.lucene
البلغارية bg.microsoft bg.lucene
الكتالانية ca.microsoft ca.lucene
الصينية المبسطة zh-Hans.microsoft zh-Hans.lucene
الصينية التقليدية zh-Hant.microsoft zh-Hant.lucene
الكرواتية hr.microsoft
التشيكية cs.microsoft cs.lucene
الدانماركية دا مايكروسوفت da.lucene
الهولندية nl.microsoft nl.lucene
الإنجليزية ar.microsoft ar.lucene
الإستونية et.microsoft
الفنلندية fi.microsoft fi.lucene
الفرنسية fr.microsoft fr.lucene
الجاليشية جل.لوسين
الألمانية de.microsoft de.lucene
اليونانية el.microsoft إل.لوسين
الجيوجاراتية gu.microsoft
العبرية هي.مايكروسوفت
الهندية مرحبا مايكروسوفت مرحبا لوسين
المجرية هو.مايكروسوفت hu.lucene
الأيسلندية is.microsoft
الإندونيسية (البهاسا) id.microsoft id.lucene
الأيرلندية ga.lucene
الإيطالية it.microsoft it.lucene
اليابانية جا.مايكروسوفت ja.lucene
الكنادية kn.microsoft
‏‏الكورية ko.microsoft ko.lucene
اللاتفية lv.microsoft lv.lucene
الليتوانية lt.microsoft
المالايالامية مل.مايكروسوفت
الملايو (لاتيني) مايكروسوفت
الماراثية السيد مايكروسوفت
النرويجية ملحوظة.مايكروسوفت no.lucene
الفارسية فا.لوسين
البولندية ر. مايكروسوفت pl.lucene
البرتغالية (البرازيل) PT-Br.microsoft PT-Br.lucene
البرتغالية (البرتغال) PT-Pt.microsoft PT-Pt.lucene
البنجابية pa.microsoft
الرومانية رو.مايكروسوفت ro.lucene
الروسية ru.microsoft ru.lucene
الصربية (السيريلية) sr-cyrillic.microsoft
الصربية (اللاتينية) sr-latin.microsoft
السلوفاكية sk.microsoft
السلوفينية sl.microsoft
الإسبانية es.microsoft es.lucene
السويدية sv.microsoft sv.lucene
التاميلية تا.مايكروسوفت
تيلوجو تي.مايكروسوفت
التايلاندية ث.مايكروسوفت ث.لوسين
التركية tr.microsoft tr.lucene
الأوكرانية المملكة المتحدة.مايكروسوفت
الأردية الخاص بك.مايكروسوفت
الفيتنامية vi.microsoft

يتم تشغيل جميع أجهزة التحليل ذات الأسماء المشروحة مع Lucene بواسطة محللات اللغة في Apache Lucene.

راجع أيضًا