410 likes | 601 Views
روشها ي پارس به ي نه. دانشگاه صنعتي امير کبير دانشکده مهندسي کامپيوتر و فناوري اطلاعات آزمايشگاه سيستم هاي هوشمند http://ce.aut.ac.ir/islab. ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده: پرهام مرادي. Natural Language Processing. Natural Language Processing. پائيز 85. فهرست. هدف
E N D
روشهاي پارس بهينه دانشگاه صنعتي امير کبير دانشکده مهندسي کامپيوتر و فناوري اطلاعات آزمايشگاه سيستمهاي هوشمند http://ce.aut.ac.ir/islab ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده: پرهام مرادي Natural Language Processing Natural Language Processing پائيز 85
فهرست هدف انتخاب تفاسير مختلف پارسر شيفت – کاهش Determiner Parser Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
پارس توسط انسان • تمام روشهاي پارس که تا کنون مطرح شدند از تکنيکهاي “جستجوي کامل” براي تفسير جمله استفاده مي کردند. • به نظر ميرسد که پارس در انسانها مشابه پردازشهاي قطعي است. • در پردازشي که صورت مي گيرد، به جاي استفاده از يک جستجوي وسيع، اطلاعات کمکي مورد استفاده قرار مي گيرد تا يک جواب مناسب بدست آيد. • شواهد نشان ميدهد که انسانها هنگام پارس يک گرامر، از جستجوي کامل استفاده نمي کنند. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
اهداف • بهبود کارايي الگوريتم هاي پارس با کاهش فضاي جستجو، بدون اينکه در نتيجه نهايي تغييري حاصل شود. • يافتن تکنيکي براي انتخاب بين تفاسير مختلف که پارسر ميتواند بيابد. (رفع ابهام) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
انتخاب تفاسير مختلف • روشهاي انتخاب تفاسير مختلف جهت رفع ابهام • الحاق مينيمال (Minimal Attachment) • الحاق راست ( Right Association ) • تقدم لغوي ( Lexical Preference) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الحاق مينيمال(Minimal Attachment) • روش کار به گونه اي است که کمترين گره در درخت معنايي ايجاد شود. • درختي مورد نظر است که کمترين گره را داشته باشد • ايجاد حدهاقل ملحقات به درخت پارس • درحد امکان سعي مي شود، کلمات تحت گره هاي موجود دسته بندي شوند، در غير اين صورت يک گره جديد ايجاد مي شود. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الحاق مينيمال(Minimal Attachment) The man kept the dog in the house تفسير دوم تفسير اول بر اين اساس تفسير اول محتمل تر است که احتمالا موافق با درک شما از جمله است. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الحاق راست (Right Association) • عنصر جديد تمايل دارد تا به عنوان عنصري از مولفه کنوني جمله درنظر گرفته شود. • مثال: George said that Henry left in his car بصورت زير تفسير مي شود: Henry left in the car rather than that George spoke in the car. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الحاق راست (Right Association) George said that Henry left in his car تفسير اول تفسير دوم بر اين اساس تفسير اول محتمل تر است Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
تقدم لغوي(Lexical Preferences) • ممکن است در برخي موارد دو اصل ذکر شده، با يکديگر در تناقض باشند • به عنوان مثال در جمله زير الحاق راست و الحاق مينيمال، دو تفسير مختلف از جمله را ارايه مي دهند: The man kept the dog in the house S S VP NP VP NP NP V V NP PP NP PP The man kept The dog The man kept In the house The dog In the house Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
تقدم لغوي(Lexical Preferences) • جملات زير را در نظر بگيريد: • I wanted the dog in the house. • I kept the dog in the house. • I put the dog in the house. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
تقدم لغوي(Lexical Preferences) • عبارت”the house” در جمله اول براي توضيح “dog” آماده است، اگر چه تفاسير ديگري هم ممکن است مثلا “I wanted the dig to be in the house” • در مثال2بهترين تفسير اين است که pp براي تفسير vp آمده است، اگر چه مي توان تفسيري برايnp نيز در نظر گرفت. يعني: “I kept the dog was in the house” • سر انجام در مثال ،3 pp به طور صريح در ارتباط با vp است و تفسيرهاي ديگري امکان پذير نيست. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
تقدم لغوي(Lexical Preferences) • اجزاي کليدي (فعل اسم . ..) ميتوانند برتقدم پارس تاثير بگذارند. • در اکثر موارد تقدم لغوي، نسبت به اصول مينيمم الحاق و الحاق راست اولويت دارد. • براي افعال مثال قبل :”want” هيچ تقدمي در هيچ يک از ppها ندارد در حاليکه “keep” ممکن است از pp ها، با پيش حرف “in” ، “or” يا “by” استفاده نمايد. سرانجام فعل put نياز دارد تا از يک pp که با inيا orيا by شروع شود استفاده نمايد. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
پارسر شيفت –کاهش(Shift-Reduce) • در اين روش، عدم قطعيت پارس به گونه اي مدل شده است که پارسر مي تواند يک انتخاب انجام دهد ولي بعضا مجبور مي شود تا به عقب برگردد. • تمام احتمالات ممکن و اطلاعاتي کمکي در جداول ذخيره مي شوند تا پارسر را کنترل کنند و سبب سرعت الگوريتم هاي پارس شوند. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
عناصر پارسر شيفت - کاهش • پشته پارس • پشته ورودي • عمليات شيفت – کاهش • جدول پارس (اراکل) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
حالت پارسر (Parser State) • وضعيت پارس به صورت يک مجموعه کامل قوانين نقطه دار است که در ان موقعيت از پارس استفاده مي شود. • قوانين به فرم زير هستند: Y -> ... o X ..., که در ان xيک غير پايانه است لذا اين حالت شامل تمام قوانين برايx مي شود • براي مثال حالت ابتداي پارسر بايستي قانون زير باشد: S -> o NP VP همچنين شامل قوانين مربوط به NP، يعني: NP -> o ART N • در نتيجه حالت اوليه s0بايستي به صورت زير باشد: Initial State S0: S -> o NP VP NP -> o ART N Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
پشته هاي پارسر شيفت- کاهش • براي کنترل عملکرد پارسر از دو پشته زير استفاده مي شود: 1.پشته پارس: دارايوضعيت پارس(Parse State) و علائم گرامر (Grammar Symbol) است 2.پشته ورودي: شامل ورودي و بعضي علائم گرامر است • در هر زمان پارسر با استفاده از اطلاعاتي خاص که در بالاي هر پشته وجود دارد، عمل مي کند. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
عمل کاهش (Reduce Action ) • وضعيتي که شامل تنها يک قانون با يک نقطه در انتهاي سمت راست قانون است: S -> NP VP o • در اينحالت پارسر بايستي علامت پشته پارس را باز نويسي کند. بر اساس اين قانون علامت جديد مشتق شده (s در اين مثال) به بالايپشته وروديpush ميشود. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
عمل شيفت • هر يک از حالات ديگر که شامل قانون کامل نيستند توسط دياگرام گذر(Transition Diagram) تفسير ميشوند. اگر علامت بالاي علائم ورودي با يک يال دياگرام مطابقت داشته باشد، ان علامت و حالت جديد (انتهاييال گذر) به پشته پارس اضافه ميشود. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثالي از گرامر گذر(Transitional Grammar): Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
جدول اراکل • جدول اراکل نشان ميدهد که پارسر در هر موقعيت چه عملي انجام دهد. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الگوريتم پارسر شيفت-کاهش Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الگوريتم پارسر شيفت-کاهش • مفروضات : • 1- يک تابع که موجب نگاشت state و ورودي (input) به يکي از ارزشهاي Shift ، Reduce و success ميشود. Action (S,W) • 2- تابعي که موجب نگاشت state هاي ورودي به state هاي جديد ميگردد که در parse state وجود دارد و به شکل کلي (SnCn…S1C1 S0C0) که Si عبارت از parse state و Ci يک ورودي جزئي از جمله است. GoTo ( S,W) • 3- ورودي پشته به شکل (W1 .. Wn ) که W1 جزيي از جمله يا يک لغت است. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الگوريتم پارسر شيفت-کاهش • عمليات : • 1- اگر Action (Sn,W1)=Shift و GoTo (Sn,W1)=S : • حذف W1 از بالاي پشته ورودي (Input Stack) • اضافه نمودن W1 به parse stack • اضافه نمودن S به parse stack Parse Stack : (SW1 SnWn … S1C1S0) Input Stack : (W2…..Wn) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الگوريتم پارسر شيفت-کاهش • عمليات : • 2- اگر iAction (Sn,W1)=Reduce و قانون گرامري i داراي n جزئ (Constituent)باشد : • حذف 2n عنصر از از Parse Stack • اضافه کردن طرف چپ قانون i به input stack مثال : Rule i : NP ART N Parse Stack : (Sn-2Cn-2 …. S1C1S0) Input Stack : (NP W1… Wn) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
الگوريتم پارسر شيفت-کاهش • عمليات : • 3- اگر Action (Sn,W1)=Success ( Accept) Successful • 4- اگر Action (Sn,W1)=Not Defined Failed Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال 1 • نحوه پارس جمله ”the man eate the carrot” را بررسي ميکنيم. Parse Stack Input Stack (S0) (The man ate the carrot) • حالت ابتداي پارسر عبارت است از Parse Stack Input Stack (S1 ART S0) (man ate the carrot) • با بررسي ورودي جدول برايs0 Parse Stack Input Stack (S1' N S1 ART S0) (ate the carrot) • با بررسي ورودي جدول برايs1 کاهش با قاعده 2.2si را خارج ميکند و vpرا به پشته ورودي وارد ميکند Parse Stack Input Stack (S0) (NP ate the carrot) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال 1 • Parse Stack Input Stack • (S2 NP S0) (ate the carrot) • لغات بعدي همگي شيفت و خروج به حالت بعدي هستند • Parse Stack Input Stack • (S1' N S1 ART S3 V S2 NP S0) ( ) • قاعده کاهش 2.2Nو Artرا از پشته خارج ميکند • Parse Stack Input Stack • (S3 V S2 NP S0) (NP) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال 1 اکنون به s3ميرويم که با np مواجه مي شود و بعد از شيفت به s3 با قاعده 2.4کاهش مييابد Parse Stack Input Stack (S2 NP S0) (VP) سرانجام از حالت s2 به s0 شيفت ميکند و با قاعده 2.1 کاهش مييابد. در اين وضعيت به s0 شيفت ميکند و در اين موقعيت Accept را خواهيم داشت. Parse Stack Input Stack (S0) (S) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال 2 جمله زير را با روش shift -reduce پارس نماييد. 1- S NP VP 2- NP ART NP 3- NP N 4- NP ADJ NP 5- NP NP PP 6- PP P NP 7- PP P NP PP 8- VP V NP 9- VP V 10- VP V PP Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال 2 Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال 2 Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
پارسر شيفت –کاهش و ابهام • موجب انتقال لغات مبهم به پشته پارس شده و تاخير در عمل طبقه بندي نمودن آن تا زمان کاهش (reduction) حاصل مي شود • لازم است که تعداد حالات (states) مرتبط با ابهام بسط داده شود Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال : هندل کردن ابهام توسط پارسر شيفت –کاهش • Can هم ميتواند V و هم ميتواند AUX باشد. • در صورتيکه V باشد به حالت S3 و در صورتيکه AUX باشد به حالت S4 ميرويم. • براي رفع اين ابهام يک حالت جديد به اسم S3-4 مطابق زير ايجاد ميکنيم • S3-4: • VP ART o AUX V NP • VP V o NP • NP o ART N Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال : هندل کردن ابهام توسط پارسر شيفت –کاهش • در اين حالت کلمه بعدي در جمله موجب رفع ابهام خواهد شد • اگر کلمه بعدي V باشد به حالت S5 ميرويم • اگر کلمه بعدي ART باشد به حالت S1 ميرويم • اگر کلمه بعدي NP باشد به حالت S3’ ميرويم • در حالت کلي، کلمه بعدي هم ممکن است داراي ابهام باشد. لذا تعداد حالات جديد بايد زياد باشد Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
Deterministic Parser • اجزاء Deterministic Parser • بافر (Buffer) : شامل Input Stack • عمليات (Operations) • Create New Node موجب ايجاد يک نود جديد در Parse Stack ميشود. • Attach موجب اتصال يک جزء گرامري (Input Constituent) بهnode بالايي پشته ميگردد • Drop Drop نود بالايي پشته پارس به بافر.ميتواند موجب امتحان مجدد جزء گرامري بوسيله پارسر شود. به نحويکه يک قانون (Rule) به جزء بالاتر که هنوز در پشته است اختصاص يابد. مثل تکنيک lookahead بسيار کارا است. • قوانين (Rules) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
State of Deterministic Parser Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
State of Deterministic Parser Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
مثال : The cat ate fish • عمل Attach to MAIN-V موجب حذف لغت ate از بافر و به خصوصت MAIN-V در S به پشته پارس نسبت داده ميشود • عمل Create NP يک NP خالي به پشته پارس اضافه مي کند • دو عمل Attach to DETو Attach to HEAD يک NP را با استفاده از لغات براي the و fish ايجاد ميکند. اکنون بافر ورودي خالي است. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
Rules and Packets • Each rule has a pattern that contains feature checks on the buffer to determine the applicability of the rule. • Rules are organized into packets, whichmay be activated or deactivated during the parse. • Additional actions are available for changing the parser state by selecting which packets to use. In particular, there are actions to • Activate a packet (that is, all its rules are to be used to interpret the next input) • Deactivate a packet Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh
Example: Rules for Parsing Auxiliary Structures Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh