سياق المهارة ولغة التعليق التوضيحي للإدخل

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

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

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

المسار القيمة‬
document
merged_content "دراسة BMN 110 في مرضى الأطفال"...
  keyphrases
   [0] "دراسة BMN"
   [1] "متلازمة"
   [2] "مرضى الأطفال"
   ...
  locations
   [0] "IVA"
  translated_text "Étude de BMN 110 chez les patients pédiatriques"...
  entities
   [0]
    category "المؤسسة"
    subcategory null
    confidenceScore 0.72
    length 3
    offset 9
    text "BMN"
   ...
  organizations
   [0] "BMN"
  language "en"
normalized_images
  [0]
   layoutText ...
   text
    words
     [0] "دراسة"
     [1] "من"
     [2] "BMN"
     [3] "110"
     ...
  [1]
   layoutText ...
   text
    words
     [0] "it"
     [1] "is"
     [2] "بالتأكيد"
     ...
    ...
  ...

جذر المستند

جميع البيانات تحت عنصر جذر واحد، المسار هو "/document". العنصر الجذر هو السياق الافتراضي للمهارات.

مسارات بسيطة

يمكن التعبير عن المسارات البسيطة من خلال المستند الداخلي الذي تم إثراؤها باستخدام رموز مميزة بسيطة مفصولة بعلامات مائلة. يشبه بناء الجملة هذا مواصفات مؤشر JSON.

خصائص الكائن

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

تعبير القيمة‬
/document/merged_content/language "en"

الرموز المميزة لاسم الخاصية حساسة لحالة الأحرف.

فهرس عنصر الصفيف

يمكن الرجوع إلى عناصر محددة من الصفيف باستخدام فهرسها الرقمي مثل اسم الخاصية:

تعبير القيمة‬
/document/merged_content/keyphrases/1 "Syndrome"
/document/merged_content/entities/0/text "BMN"

تسلسلات الإلغاء

هناك حرفان له معنى خاص ويحتاجان إلى الهروب إذا ظهرا في تعبير ويجب تفسيرهما كما هو بدلا من معنى '/' خاص: و '~'. يجب إلغاء هذه الأحرف على التوالي ك '~0' و '~1'.

تعداد الصفيف

يمكن الحصول على صفيف من القيم باستخدام '*' الرمز المميز:

تعبير القيمة‬
/document/normalized_images/0/text/words/* ["Study", "of", "BMN", "110" ...]

'*' لا يجب أن يكون الرمز المميز في نهاية المسار. من الممكن تعداد جميع العقد المطابقة لمسار مع نجمة في الوسط أو مع نجوم متعددة:

تعبير القيمة‬
/document/normalized_images/*/text/words/* ["Study", "of", "BMN", "110" ... "it", "is", "certainly" ...]

يقوم هذا المثال بإرجاع قائمة مسطحة بجميع العقد المطابقة.

من الممكن الحفاظ على المزيد من البنية والحصول على صفيف منفصل لكلمات كل صفحة باستخدام '#' رمز مميز بدلا من الرمز المميز الثاني '*' :

تعبير القيمة‬
/document/normalized_images/*/text/words/# [["Study", "of", "BMN", "110" ...], ["it", "is", "certainly" ...] ...]

'#' يعبر الرمز المميز عن أنه يجب التعامل مع الصفيف كقيمة واحدة بدلا من تعداده.

تعداد الصفائف في السياق

غالبا ما يكون من المفيد معالجة كل عنصر من عناصر الصفيف بمعزل عن بعضها البعض ولديك مجموعة مختلفة من مدخلات ومخرجات المهارات لكل منها. يمكن القيام بذلك عن طريق تعيين سياق المهارة إلى تعداد بدلا من الافتراضي "/document".

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

السياق تعبير القيم
/document/normalized_images/* /document/normalized_images/*/text/words/* ["Study", "of", "BMN", "110" ...]
["it", "is", "certainly" ...]
...

لهذا المزيج من السياق والإدخل، سيتم تنفيذ المهارة مرة واحدة لكل صورة تمت تسويتها: مرة واحدة ولمرة "/document/normalized_images/0" واحدة ل "/document/normalized_images/1". يتم تفصيل قيمتي الإدخال المطابقة لكل تنفيذ مهارة في عمود القيم.

عند تعداد صفيف في السياق، ستتم أيضا إضافة أي مخرجات تنتجها المهارة إلى المستند كإثراء للسياق. في المثال أعلاه، سيكون للإخراج المسمى "out" قيمه لكل تنفيذ تمت إضافته إلى المستند على التوالي ضمن "/document/normalized_images/0/out" و "/document/normalized_images/1/out".

القيم الحرفية

يمكن أن تأخذ مدخلات المهارة القيم الحرفية كمدخلات بدلا من القيم الديناميكية التي يتم الاستعلام عنها من المستند الموجود. يمكن تحقيق ذلك عن طريق بادئة القيمة بعلامة التساوي. يمكن أن تكون القيم أرقاما أو سلاسل أو منطقية. يمكن إحاطة قيم السلسلة بعلامات اقتباس مفردة ' أو مزدوجة " .

تعبير القيمة‬
=42 42
=2.45E-4 0.000245
="some string" "some string"
='some other string' "some other string"
="unicod\u0065" "unicode"
=false false

التعبيرات المركبة

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

قيمة منطقية غير منطقية '!'

تعبير القيمة‬
=!false true

السلبيه '-'

تعبير القيمة‬
=-42 -42
=-$(/document/merged_content/entities/0/offset) -9

الاضافه الي ذلك '+'

تعبير القيمة‬
=2+2 4
=2+$(/document/merged_content/entities/0/offset) 11

الطرح '-'

تعبير القيمة‬
=2-1 1
=$(/document/merged_content/entities/0/offset)-2 7

الضرب '*'

تعبير القيمة‬
=2*3 6
=$(/document/merged_content/entities/0/offset)*2 18

شعبه '/'

تعبير القيمة‬
=3/2 1.5
=$(/document/merged_content/entities/0/offset)/3 3

نمطيه '%'

تعبير القيمة‬
=15%4 3
=$(/document/merged_content/entities/0/offset)%2 1

أقل من، أقل من أو يساوي، أكبر من وأكبر من أو يساوي '<''<=''>''>='

تعبير القيمة‬
=15<4 false
=4<=4 true
=15>4 true
=1>=2 false

المساواة وعدم المساواة '==''!='

تعبير القيمة‬
=15==4 false
=4==4 true
=15!=4 true
=1!=1 false

العمليات المنطقية و، أو و حصرية أو '&&''||''^'

تعبير القيمة‬
=true&&true true
=true&&false false
=true||true true
=true||false true
=false||false false
=true^false true
=true^true false

عامل التشغيل الثلاثي '?:'

من الممكن إعطاء إدخال قيم مختلفة استنادا إلى تقييم تعبير منطقي باستخدام عامل التشغيل الثلاثي.

تعبير القيمة‬
=true?"true":"false" "true"
=$(/document/merged_content/entities/0/offset)==9?"nine":"not nine" "nine"

أقواس وأولوية عامل التشغيل

يتم تقييم عوامل التشغيل مع الأولويات التي تتطابق مع الاصطلاحات المعتادة: عوامل التشغيل أحادية، ثم الضرب والقسمة والمعامل، ثم الجمع والطرح، ثم المقارنة، ثم المساواة، ثم عوامل التشغيل المنطقية. تنطبق قواعد الترابط المعتادة أيضا.

يمكن استخدام الأقواس لتغيير ترتيب التقييم أو إلغاء الغموض فيه.

تعبير القيمة‬
=3*2+5 11
=3*(2+5) 21

(راجع أيضًا )