خوارزمية CYK
في علم الحاسوب ، تُعدّ خوارزمية كوك-يونغر-كاسامي (المعروفة أيضًا باسم CYK أو CKY ) خوارزمية تحليل نحوي للقواعد النحوية الخالية من السياق، وقد نشرها إيتيرو ساكاي عام 1961. [ 1 ] [ 2 ] سُمّيت الخوارزمية نسبةً إلى بعض مكتشفيها: جون كوك ، ودانيال يونغر، وتاداو كاسامي ، وجاكوب تي. شوارتز . وتعتمد الخوارزمية على التحليل النحوي التصاعدي والبرمجة الديناميكية .
يعمل الإصدار القياسي من CYK فقط على القواعد النحوية الخالية من السياق المعطاة بصيغة تشومسكي العادية (CNF). ومع ذلك، يمكن تحويل أي قاعدة نحوية خالية من السياق خوارزميًا إلى قاعدة CNF تعبر عن اللغة نفسها ( سيبسر 1997 ) .
تكمن أهمية خوارزمية CYK في كفاءتها العالية في بعض الحالات. باستخدام ترميز Big O ، يكون وقت تشغيل CYK في أسوأ الحالات هو، أينيمثل طول السلسلة المُحللة وحجم قواعد CNF( هوبكروفت وأولمان 1979 ، ص 140) . وهذا يجعلها واحدة من أكثر خوارزميات التحليل كفاءة من حيث التعقيد التقاربي في أسوأ الحالات ، على الرغم من وجود خوارزميات أخرى ذات متوسط وقت تشغيل أفضل في العديد من السيناريوهات العملية.
النموذج القياسي
تتطلب خوارزمية البرمجة الديناميكية تحويل قواعد اللغة الخالية من السياق إلى صيغة تشومسكي الطبيعية (CNF)، لأنها تختبر إمكانية تقسيم التسلسل الحالي إلى تسلسلين أصغر. يمكن تمثيل أي قواعد لغة خالية من السياق لا تُنتج سلسلة فارغة بصيغة CNF باستخدام قواعد الإنتاج من الصيغ التالية فقط.وللسماح بالسلسلة الفارغة، يمكن السماح بذلك صراحةً، أينهو رمز البداية. [ 3 ]
الخوارزمية
كشفرة زائفة
الخوارزمية مكتوبة بلغة شبه رمزية كما يلي:
ليكن المدخل سلسلة نصية I تتكون من n حرفًا: a1 ... an . ولتكن القواعد النحوية تحتوي على r رمزًا غير طرفي R1 ... Rr، حيث R1 هو رمز البداية. ولتكن P[n, n, r ] مصفوفة من القيم المنطقية . قم بتهيئة جميع عناصر P إلى خطأ . ولتكن back [n, n , r ] مصفوفة من قوائم من ثلاثيات تشير إلى الخلف . قم بتهيئة جميع عناصر back إلى قائمة فارغة.لكل قيمة s من 1 إلى n، ولكل وحدة إنتاج R v → a s، اجعل P [ 1 , s , v ] = صحيحًا لكل l = 2 إلى n -- طول المدى لكل s = 1 إلى n - l + 1 -- بداية المدى لكل p = 1 إلى l - 1 تقسيم المدى لكل إنتاج R a → R b R c إذا كان P [ p , s , b ] و P [ l - p , s + p , c ] ، فضع P [ l , s , a ] = صحيح. أضف <p,b,c> إلى الخلف [ l , s , a ] إذا كانت P [n, 1 , 1 ] صحيحة، فإن I ينتمي إلى اللغة، لذا يُعاد تنفيذ الدالة back . من خلال تتبع الخطوات السابقة، يمكن بسهولة إنشاء جميع أشجار التحليل الممكنة للسلسلة. وإلا، تُعاد الدالة "ليس ينتمي إلى اللغة".
CYK الاحتمالي (لإيجاد التحليل الأكثر احتمالاً)
يسمح باستعادة التحليل الأكثر احتمالاً بالنظر إلى احتمالات جميع عمليات الإنتاج.
ليكن المدخل سلسلة نصية I تتكون من n حرفًا: a1 ... an . ولتكن القواعد النحوية تحتوي على r رمزًا غير طرفي R1 ... Rr، حيث R1 هو رمز البداية. ولتكن P[n, n , r ] مصفوفة من الأعداد الحقيقية . قم بتهيئة جميع عناصر P إلى الصفر . ولتكن back [ n , n , r ] مصفوفة من ثلاثيات الإشارة العكسية . لكل s = 1 إلى n، لكل وحدة إنتاج R v → a s، اجعل P [ 1 , s , v ] = Pr( R v → a s ). لكل l = 2 إلى n ، طول النطاق. لكل s = 1 إلى n - l + 1 ، بداية النطاق. لكل p = 1 إلى l - 1 ، تقسيم النطاق. لكل وحدة إنتاج R a → R b R c ، يكون احتمال التقسيم = Pr( R a → R b R c ) * P [ p , s , b ] * P [ l - p , s + p , c ]. إذا كان احتمال التقسيم > P [ l , s , a ] ، فاجعل P [ l , s , a ] = احتمال التقسيم. اجعل back [ l , s , a ] = <p, b, c>إذا كانت P [n, 1 , 1 ] > 0 ، فابحث عن شجرة التحليل بالرجوع إلى الوراء ، ثم أعد شجرة التحليل، وإلا فأعد "ليس عضوًا في اللغة".
كنص نثري
بصورة غير رسمية، تأخذ هذه الخوارزمية في الاعتبار كل سلسلة فرعية ممكنة من سلسلة الإدخال وتحدديكون صحيحًا إذا كانت السلسلة الفرعية ذات الطولابتداءً منيمكن توليدها من الرمز غير الطرفيبعد معالجة السلاسل الفرعية ذات الطول 1، ينتقل إلى السلاسل الفرعية ذات الطول 2، وهكذا. بالنسبة للسلاسل الفرعية ذات الطول 2 فأكثر، يُدرس كل تقسيم ممكن للسلسلة الفرعية إلى جزأين، ويتحقق من وجود قاعدة إنتاجية.بحيثيتطابق مع الجزء الأول ويتطابق مع الجزء الثاني. إذا كان الأمر كذلك، فإنه يسجلبمجرد اكتمال هذه العملية، يتم إنشاء سلسلة الإدخال بواسطة القواعد النحوية إذا تطابقت السلسلة الفرعية التي تحتوي على سلسلة الإدخال بأكملها مع رمز البداية.
مثال

هذا مثال على القواعد النحوية:
الآن، يتم تحليل جملة " هي تأكل سمكة بالشوكة" باستخدام خوارزمية CYK. في الجدول التالي، في، i هو رقم الصف (بدءًا من الأسفل عند 1)، و j هو رقم العمود (بدءًا من اليسار عند 1).
| S | ||||||
| نائب الرئيس | ||||||
| S | ||||||
| نائب الرئيس | PP | |||||
| S | NP | NP | ||||
| NP | V، VP | المحقق | شمال | P | المحقق | شمال |
| هي | يأكل | أ | سمكة | مع | أ | شوكة |
لتبسيط القراءة، يتم تمثيل جدول CYK الخاص بـ P هنا كمصفوفة ثنائية الأبعاد M تحتوي على مجموعة من الرموز غير الطرفية، بحيث يكون R k فيإذا ، وفقط إذا ،في المثال أعلاه ، بما أن رمز البداية S موجود في، يمكن توليد الجملة بواسطة القواعد النحوية.
الإضافات
توليد شجرة تحليل نحوي
الخوارزمية المذكورة أعلاه هي أداة تمييز تحدد فقط ما إذا كانت الجملة تنتمي إلى اللغة. من السهل توسيعها لتصبح محللاً نحوياً يقوم أيضاً بإنشاء شجرة تحليل ، وذلك بتخزين عقد شجرة التحليل كعناصر في المصفوفة، بدلاً من القيمة المنطقية 1. ترتبط العقدة بعناصر المصفوفة التي استُخدمت لإنتاجها، وذلك لبناء بنية الشجرة. يكفي وجود عقدة واحدة فقط في كل عنصر من عناصر المصفوفة إذا كان المطلوب إنتاج شجرة تحليل واحدة فقط. مع ذلك، إذا كان المطلوب الاحتفاظ بجميع أشجار تحليل الجملة الغامضة، فمن الضروري تخزين قائمة في عنصر المصفوفة بجميع الطرق التي يمكن من خلالها الحصول على العقدة المقابلة في عملية التحليل. يتم ذلك أحياناً باستخدام جدول ثانٍ B[n,n,r] لما يُسمى بالمؤشرات الخلفية . والنتيجة النهائية هي غابة مشتركة من أشجار التحليل الممكنة، حيث يتم دمج أجزاء الأشجار المشتركة بين عمليات التحليل المختلفة. يمكن قراءة هذه الغابة المشتركة بسهولة على أنها قواعد نحوية غامضة تولد فقط الجملة التي تم تحليلها، ولكن بنفس الغموض الذي تتسم به القواعد النحوية الأصلية، ونفس أشجار التحليل حتى إعادة تسمية بسيطة للغاية للرموز غير الطرفية، كما هو موضح من قبل لانغ (1994) .
تحليل القواعد النحوية الخالية من السياق غير CNF
كما أشار لانج وليس (2009) ، فإن عيب جميع التحويلات المعروفة إلى صيغة تشومسكي العادية هو أنها قد تؤدي إلى تضخم غير مرغوب فيه في حجم القواعد النحوية. حجم القواعد النحوية هو مجموع أحجام قواعد الإنتاج الخاصة بها، حيث يكون حجم القاعدة واحدًا زائد طول جانبها الأيمن. باستخدامللدلالة على حجم القواعد الأصلية، قد يتراوح حجم التضخم في أسوأ الحالات منل، وذلك بحسب خوارزمية التحويل المستخدمة. وللاستخدام في التدريس، يقترح لانج وليس تعميمًا طفيفًا لخوارزمية CYK، "دون المساس بكفاءة الخوارزمية أو وضوح عرضها أو بساطة البراهين" ( لانج وليس 2009 ) .
تحليل القواعد النحوية الموزونة الخالية من السياق
من الممكن أيضًا توسيع خوارزمية CYK لتحليل السلاسل النصية باستخدام قواعد نحوية موزونة وعشوائية خالية من السياق . تُخزَّن الأوزان (الاحتمالات) في الجدول P بدلًا من القيم المنطقية، لذا سيحتوي P[i,j,A] على أقل وزن (أعلى احتمال) يمكن من خلاله اشتقاق السلسلة الفرعية من i إلى j من A. تسمح امتدادات أخرى للخوارزمية بترقيم جميع تحليلات السلسلة النصية من أقل وزن إلى أعلى وزن (من أعلى احتمال إلى أقل احتمال).
الاستقرار العددي
عند تطبيق خوارزمية CYK الاحتمالية على سلسلة نصية طويلة، قد تصبح احتمالية التقسيم ضئيلة للغاية نتيجة لضرب العديد من الاحتمالات معًا. ويمكن معالجة ذلك بجمع لوغاريتمات الاحتمالات بدلًا من ضربها.
خوارزمية فاليانت
أسوأ وقت تشغيل لـ CYK هوحيث n هو طول السلسلة المُحللة و| G | هو حجم قواعد اللغة CNF G. وهذا ما يجعلها من أكثر الخوارزميات كفاءةً للتعرف على لغات السياق العام في التطبيق العملي. قدّم فاليانت (1975) امتدادًا لخوارزمية CYK. تحسب خوارزميته نفس جدول التحليل الذي تحسبه خوارزمية CYK؛ ومع ذلك، فقد بيّن أنه يمكن استخدام خوارزميات الضرب الفعال للمصفوفات ذات المدخلات 0-1 لإجراء هذا الحساب.
باستخدام خوارزمية كوبرسميث-وينوغراد لضرب هذه المصفوفات، ينتج عن ذلك وقت تشغيل تقاربي في أسوأ الحالات يبلغمع ذلك، فإن الحد الثابت الذي تخفيه صيغة Big O كبير جدًا لدرجة أن خوارزمية Coppersmith-Winograd لا تُجدي نفعًا إلا مع المصفوفات الكبيرة جدًا التي يصعب على الحواسيب الحالية التعامل معها ( Knuth 1997 ) ، ويتطلب هذا النهج الطرح، لذا فهو مناسب فقط للتعرف. ولا يمكن تجنب الاعتماد على ضرب المصفوفات بكفاءة تمامًا: فقد أثبت Lee (2002) أن أي محلل نحوي لقواعد اللغة الخالية من السياق يعمل في وقتيمكن تحويلها بشكل فعال إلى خوارزمية لحساب ناتجالمصفوفات ذات المدخلات 0-1 في الزمنوقد تم توسيع هذا بواسطة Abboud et al. [ 4 ] ليطبق على قواعد نحوية ذات حجم ثابت.
انظر أيضاً
مراجع
- ↑ غرون، ديك (2008). تقنيات التحليل النحوي : دليل عملي ( الطبعة الثانية). نيويورك: سبرينغر. ص 579. ISBN 978-0-387-20248-8.
- ↑ إيتيرو ساكاي، "النحو في الترجمة العالمية". في وقائع المؤتمر الدولي لعام 1961 حول الترجمة الآلية للغات وتحليل اللغة التطبيقي، مكتب القرطاسية التابع لجلالة الملكة، لندن، ص 593-608، 1962.
- ↑ سيبسر، مايكل (2006). مقدمة في نظرية الحوسبة ( الطبعة الثانية). بوسطن: تومسون كورس تكنولوجي. التعريف 2.8. ISBN 0-534-95097-3. OCLC 58544333 .
- ↑ عبود، أمير؛ باكورس، أرتورس؛ ويليامز، فيرجينيا فاسيليفسكا (2015-11-05). "إذا كانت خوارزميات الزمرة الحالية مثالية، فإن محلل فاليانت كذلك". arXiv : 1504.01431 [ cs.CC ].
مصادر
- ساكاي، إيتيرو (1962). بناء الجملة في الترجمة العالمية . المؤتمر الدولي لعام 1961 حول الترجمة الآلية للغات وتحليل اللغة التطبيقي، تيدينغتون، إنجلترا. المجلد الثاني. لندن: مكتب القرطاسية التابع لجلالة الملكة. الصفحات 593-608 .
- كوك، جون ؛ شوارتز، جاكوب ت. (أبريل 1970). لغات البرمجة ومترجماتها: ملاحظات تمهيدية (ملف PDF) (تقرير فني) ( الطبعة الثانية المنقحة). مركز علوم الحاسوب والمعلومات ، جامعة نيويورك .
- هوبكروفت، جون إي .؛ أولمان، جيفري د. (1979). مقدمة في نظرية الأوتوماتا واللغات والحوسبة . ريدينغ/ماساتشوستس: أديسون-ويسلي. ISBN 0-201-02988-X.
- كاسامي، ت. (1965). خوارزمية فعالة للتعرف على اللغات الخالية من السياق وتحليل تركيبها (تقرير فني). AFCRL . 65-758.
- كنوت، دونالد إي. (14 نوفمبر 1997). فن برمجة الحاسوب، المجلد 2: الخوارزميات شبه العددية ( الطبعة الثالثة). أديسون-ويسلي بروفيشنال. ص 501. ISBN 0-201-89684-2.
- لانغ، برنارد (1994). "قد يكون التعرف أصعب من التحليل". الذكاء الحاسوبي 10 (4): 486-494 . CiteSeerX 10.1.1.50.6982 . doi : 10.1111/j.1467-8640.1994.tb00011.x . S2CID 5873640 .
- لانج، مارتن؛ ليس، هانز (2009). "هل نستخدم صيغة CNF أم لا؟ نسخة فعالة وقابلة للعرض من خوارزمية CYK" . Informatica Didactica . 8 .
- لي، ليليان (2002). "تحليل القواعد النحوية السريع الخالي من السياق يتطلب ضرب المصفوفات البوليانية السريع". مجلة ACM . 49 (1): 1-15 . arXiv : cs/0112018 . doi : 10.1145/505241.505242 . S2CID 1243491 .
- سيبسر، مايكل ( 1997). مقدمة في نظرية الحوسبة ( الطبعة الأولى). IPS. ص 99. ISBN 0-534-94728-X.
- فاليانت، ليزلي ج. (1975). "التعرف العام على النصوص دون سياق في زمن أقل من الزمن التكعيبي" . مجلة علوم الحاسوب والأنظمة 10 (2): 308-314 . doi : 10.1016/s0022-0000(75)80046-8 .
- يونغر، دانيال هـ. (فبراير 1967). "التعرف على اللغات الخالية من السياق وتحليلها في الزمن n 3 " . معلومات. تحكم . 10 (2): 189-208 . doi : 10.1016/s0019-9958(67)80007-x .
روابط خارجية
- خوارزميات التحليل
