Transcript Parsing (1)
ارائه دهنده: دانشکده مهندسی مجید یاقوتی گروه مهندسی کامپیوتر استاد: Parsing )(1 دک تر کاهانی درس: سیستمهای مبتنی بر دانش فروردین 92 1 فهرست مقدمه استراتژیهای جستجو تجزیهی باال به پایین تجزیهی پایین به باال )Parsing (1 2 فهرست برنامهنویسی پویا الگوریتم CKY الگوریتم Earley نرمافزارهای موجود )Parsing (1 )Parsing (1 3 مقدمه Parsing یا تجزیهی یک جمله ساختن یک درخت یا اشتقاق صحیح با داشتن گرامر « صحیح» :صرفا به معنی سازگار بودن درخت با ورودی و گرامر یک درخت با وجود صحیح بودن ممکن است درخت واقعی عبارت ورودی و گرامر داده شده نباشد. برگهای درخت :اجزای جملهی ورودی )Parsing (1 4 مقدمه پارسر :الگوریتمی برای محاسبهی یک ساختاری برای رشتهی ورودی با توجه به گرامر دو ویژگی همهی پارسرها جهت :روند یا مراحل تولید ساختار باال به پایین یا پایین به باال استراتژی جستجو :روش پیمایش فضای جستجوی انواع مختلف تجزیهها اول سطح یا اول عمق 5 )Parsing (1 مقدمه فرضهای اولیه قبل از تجزیه همهی کلمات را در یک بافر در اختیار داریم. همهی کلمات شناخته شده هستند. 6 )Parsing (1 مقدمه مثال :یک گرامر و دیکشنری لغات درخت متناظر با عبارت «»Book that flight 7 )Parsing (1 تجزیهی باال به پایین از ریشهی درخت شروع به ساختن ان میکنیم. حرکت به سمت برگهای درخت (کلمات) با استفاده از قوانین گرامر و عمل اشتقاق هدف نهای ی پیدا کردن درختی که ریشه اش Sباشد و رشتهی ورودی را تولید کند. دارای سرعت کمتر نسبت به سایر روشها 8 )Parsing (1 تجزیهی باال به پایین نمونهای از یک تجزیهی باال به پایین )Parsing (1 9 تجزیهی باال به پایین نحوهی اشتقاق و رسیدن از ریشه به برگها روش اول عمق :پیمایش یک شاخه از فضای جستجو در هر زمان بازگشت به عقب در صورت بن بست اول سطح :پیمایش موازی تمام شاخههای ممکن محدودیت حافظه 10 )Parsing (1 تجزیهی باال به پایین مشکالت روش باال به پایین جستجو توسط ورودی هدایت نمیشود. تولید درختهای صحیحی که رشتهی ورودی را تولید نمیکنند. )Parsing (1 11 تجزیهی باال به پایین مشکالت روش باال به پایین ابهام سراسری و محلی ابهام سراسری :چندین تجزیهی ساختاری به دلیل قوانین گرامری و یا لغوی ابهام محلی :حتی اگر کل جمله بدون ابهام باشد ،ممکن است زیر رشته های ی وجود داشته باشند که ابهام دارند. « »bookدر جملهی « »Book that flightدو تفسیر متفاوت دارد (اسم و فعل). ابهام محلی در زبانهای طبیعی بسیار معمول است. )Parsing (1 12 تجزیهی باال به پایین مشکالت روش باال به پایین اثر ابهام ساختاری در گرامر و ابهام لغوی در کلمات حرکت در مسیر اشتباه تولید چند بارهی یک زیر درخت خاص بازگشت به عقب شروع مجدد پیچیدگی این بازگشت به عقب در بدترین حالت از مرتبهی نمای ی است. 13 )Parsing (1 تجزیهی پایین به باال حرکت از کلمات رشتهی ورودی به سمت باالی درخت با تطبیق دادن یک یا چند گره در لبهی باالی ی درخت با سمت راست یک قانون از گرامر افزودن سمت چپ ان قانون به درخت به عنوان والد ان گره یا گرهها به کار گیری جستجوی اول عمق و اول سطح 14 )Parsing (1 تجزیهی پایین به باال نمونهای از تجزیهی پایین به باال با رویکرد اول سطح 15 )Parsing (1 تجزیهی پایین به باال مزیت سازگاری هر درخت ختم شده به Sبا رشتهی ورودی مشکالت روش پایین به باال ابهام سراسری و محلی و در نتیجه محاسبات تکراری تولید درخت های ی که از لحاظ ساختار کلی ،بدون معنا هستند. در فضاهای نامتناهی به مشکل بر خواهد خورد. 16 )Parsing (1 برنامهنویسی پویا پارسر باید بتواند از انالیز تکراری زیررشتهها اجتناب کند. انالیز هر زیررشته ،به بقیهی فرایند تجزیه وابسته نیست. کشف این عدم وابستگیها با استفاده از برنامهنویسی پویا برنامهنویسی پویا اساس همهی الگوریتمهای تجزیهی مبتنی بر چارت است. 17 )Parsing (1 برنامهنویسی پویا در برنامهنویسی پویا پر کردن یک جدول که حاوی راه حل بهینهی زیرمسئلههاست ذخیرهی جوابهای بهینه تا در اینده مجبور به محاسبهی مجدد انها نباشیم. رسیدن به جواب مسئلهی کلی با ترکیب جوابهای زیرمسائل )Parsing (1 18 برنامهنویسی پویا در مسائل تجزیه ،زیرمسئلهها انالیز زیررشتهها هستند. هر انالیز مربوط به یک ساختار (زیردرخت) کامل است که توسط محلهای شروع و پایان زیررشته مشخص شده است. و یا یک فرض در مورد یک ساختار کامل که ممکن است پیدا شود. )Parsing (1 19 برنامهنویسی پویا در این روش جستجوی زیردرختها به جای انالیز دوبارهی انها کمک در مواجهه با ابهام ذخیرهی تمام تجزیههای ممکن را در چارت بازنمای ی بصورت ماتریس یا گراف سطرها و ستونهای ماتریس ،نشان دهندهی محلهای شروع و پایان یک محدوده )Parsing (1 20 برنامهنویسی پویا هر خانه از ماتریس مربوط به زیررشته ای است که شروعش اندیس سطر و پایانش اندیس ستون ان خانه است. حاوی اطالعاتی دربارهی نوع ساختار ان محدوده از زیررشته اشاره گرهای ی به زیرساختارهای ان و یا پیشبینی های ی در مورد ساختارهای ی که ممکن است در ادامهی زیررشته ظاهر شوند. 21 )Parsing (1 برنامهنویسی پویا مثال :تجزیهی عبارت « »See with a telescope in handبا روش برنامهنویسی پویا و استفاده از ماتریس 22 )Parsing (1 برنامهنویسی پویا در بازنمای ی گرافی روئس گراف :نشان دهندهی محلهای شروع و پایان یالهای گراف :مشخص کنندهی شروع و پایان یک محدوده از یک زیررشته قرارگیری اطالعات خانههای ماتریس در یالها 23 )Parsing (1 برنامهنویسی پویا تجزیهی زیررشتهی « »with a telescopeبا روش برنامهنویسی پویا و استفاده از گراف 24 )Parsing (1 برنامهنویسی پویا الگوریتمهای ی برای تجزیهی مبتنی بر چارت: الگوریتم :CKYفقط ساختارها را ذخیره میکند. الگوریتم :Earleyهم ساختارها و هم پیش شرطها را ذخیره میکند. 25 )Parsing (1 الگوریتم CKY برای تشخیص ساختارها و ذخیرهی انها در چارت طراحی شد. طراحی اولیه برای فرم نرمال چامسکی ()ABC; Aa توسط گری و هریسون تعمیم داده شد. ساختار Aرا در خانهی i,jوارد میشود اگر یک قانون وجود داشته باشد که: AB و Bدر خانهی i,jوجود داشته باشد و یا ABC و Bدر خانهی i,kو Cدر خانهی k,jوجود داشته باشد. 26 )Parsing (1 الگوریتم CKY الگوریتم CKYبرای تجزیهی مبتنی بر چارت این الگوریتم کامل و از مرتبهی ) O(n3است. 27 )Parsing (1 الگوریتم - CKYمثال گرامر Parsing (1) 28 مثال- CKY الگوریتم :»the frogs ate fish« مراحل پر شدن جدول برای عبارت Unary branching rules: detthe Parsing (1) 29 مثال- CKY الگوریتم :»the frogs ate fish« مراحل پر شدن جدول برای عبارت Unary branching rules: Nfrogs, NomN, NPNom Unary branching rules: tvate Parsing (1) 30 مثال- CKY الگوریتم :»the frogs ate fish« مراحل پر شدن جدول برای عبارت Unary branching rules: Nfrogs, NomN, NPNom, ivfish, vpiv Binary branching rules: NPDet Nom (0,1) & (1,2) (0,2) Parsing (1) 31 مثال- CKY الگوریتم :»the frogs ate fish« مراحل پر شدن جدول برای عبارت (1,2) & (2,3) × Binary branching rule: VPTV NP (2,3) & (3,4) (2,4) Parsing (1) 32 مثال- CKY الگوریتم :»the frogs ate fish« مراحل پر شدن جدول برای عبارت Binary branching rule: S NP VP (1,2) & (2,4) (1,4) (1,3) & (3,4) × Binary branching rule: S NP VP (0,1) & (1,4) × (0,2) & (2,4) (0,4) (0,3) & (3,4) × 33 )Parsing (1 الگوریتم CKY محدودیتهای CKY علت ذخیرهی اطالعات هر خانه از ماتریس یا گراف را نگه نمیدارد. اگر دو قانون به صورت VP V NPو VP VP PPداشته باشیم و رشتهی ورودی «The »boy opened the box on the floorباشد ،نمیدانیم یال VPچه چیزی را تولید میکند؛ VP V NPو یا VP VP PP؟ 34 )Parsing (1 الگوریتم CKY با در نظر گرفتن قانون VP V NP 35 )Parsing (1 الگوریتم CKY با در نظر گرفتن قانون VP VP PP 36 )Parsing (1 الگوریتم CKY رفع این محدودیت افزودن یک فیلد اضافه برای ذخیرهی نحوهی تولید هر خانه از جدول )Parsing (1 37 الگوریتم CKY محدودیتهای CKY استفاده از روش پایین به باال ختم نشدن بسیاری از زیردرختهای تولید شده ،به ریشه رفع مشکل: استفاده از روشهای فیلترینگ خاصی برای تشخیص این زیردرختها استفاده از استراتژی باال به پایین 38 )Parsing (1 الگوریتم Earley مجبور نیستم فقط قوانین کامل شده را ذخیره کنیم. ذخیرهی قوانین کامل نشده ساختارهای ناقص :پیشبینیهای ی از انچه که در ادامه ظاهر خواهد شد. بیان ساختارهای ناقص با استفاده از قوانین نقطهدار نقطه ،مشخص میکند که چه مقدار از سمت راست یک قانون تاکنون پیدا شده است و مابقی ان ،یک پیشبینی از چیزی است که در ادامه ظاهر خواهد شد. 39 )Parsing (1 الگوریتم - Earleyمثال قانون VP V NPمیتواند قوانین نقطهدار زیر را تولید کند: VP ● V NPیال ناقص VP V ● NPیال ناقص ● VP V NPیال کامل )Parsing (1 40 الگوریتم Earley ذخیرهی قوانین تولید برای ساختارهای کامل از ابتدا تا انتهایش ظاهر شده است ذخیرهی قوانین نقطهدار برای ساختارهای ناقص بخشی از قانون (سمت چپ نقطه) ظاهر شده است و بخش دیگر ان (سمت راست نقطه) انتظار میرود که ظاهر شود. 41 )Parsing (1 الگوریتم Earley مثال :برای زیررشتهی «»…5 on 6 the 7 floor 8 عبارت ] NP Det ● N, [6,7در چارت ذخیره میشود. مشخص میکند کلمهی بین 6و 7یک Detاست و پیشبینی میشود یک Nدر ادامه ظاهر شود. اگر ظاهر شود ،یک رشتهی NPرا در موقعیت 6خواهیم داشت. 42 )Parsing (1 الگوریتم Earley یک چارت با قوانین نقطهدار 43 )Parsing (1 الگوریتم Earley اگوریتم Earleyچارت را با یک بار عبور از روی ورودی پر میکند. اندازهی چارت N+1و Nتعداد کلمات ورودی است. چارت برای هر موقعیت کلمه در ورودی ،لیستی از حالتها را نگه میدارد. درختهای تجزیهی جزئی که تاکنون تولید شدهاند. 44 )Parsing (1 الگوریتم Earley ورودیهای چارت سه نوع مختلف دارند: ساختارهای کامل شده ساختارهای در حال پردازش ساختارهای پیشبینی شده 45 )Parsing (1 الگوریتم Earley مثال در ابتدای جمله VP ،پیشبینی شده است. یک NPدر حال پردازش است Det .از 1تا 2پیدا شده است و پیشبینی ]S ● VP [0,0 ]NP Det ● Nominal [1,2 میشود در ادامه Nominalظاهر شود. VPظاهر شده است با شروع از صفر و پایان در 3 نمایش گرافی حالتها ]VP V NP ● [0,3 )Parsing (1 46 الگوریتم Earley روند تجزیه: حرکت از حالت صفر تا Nبر روی جدول شروع از Sو حرکت از باال به پایین تولید 3نوع حالتی که در باال بیان شد تولید حالتهای پیشبینی شده بر اساس ورودیهای موجود در جدول تولید حالتهای در حال پردازش جدید با توسعهی حالتهای موجود تولید حالتهای کامل شدهی جدید زمانی که نقطه در یک حالت در حال پردازش به انتهای قانون میرسد. 47 )Parsing (1 الگوریتم Earley بازگشت به عقبی وجود ندارد. هیچ حالتی حذف نمیشود. تجزیهی موفقیتامیز حالت ] S α ● [0,Nدر اخرین ورودی چارت Parsing (1) 48 – شبه کدEarley الگوریتم )Parsing (1 49 الگوریتم Earley الگوریتم Earleyسه تابع اصلی دارد: :Predictor پیشبینیها را به چارت اضافه میکند. :Completer زمانی که ساختارهای جدید پیدا میشوند ،نقطه را به سمت راست حرکت میدهد. :Scanner کلمات ورودی را خوانده و حالتهای ی که بیانکنندهی ان کلمات هستند را وارد چارت میکند. )Parsing (1 50 الگوریتم Earley مشکالت این روش نسخهی باال به پایین الگوریتم Earleyچیزهای ی را در چارت ذخیره میکند که بالاستفاده هستند. مسئلهی ابهام را حل نمیکند. هر دو روش CKYو Earleyممکن است برای ورودی ] [0,Nجدول ،به چندین ساختار Sختم شوند. 51 )Parsing (1 الگوریتم Earley استراتژیهای دیگری برای بهبود عملکرد این الگوریتم: استراتژی پایین به باال استراتژی ابتدا بهترین (*)A گسترش حالتها بر اساس احتمال هر کدام از ساختارها احتمال هر کدام از ساختارها در زمان تجزیه محاسبه و ذخیره میشود. 52 )Parsing (1 نرم افزارهای موجود Stanford Parser پارسر اماری و به زبان جاوا پشتیبانی زبانهای انگلیسی ،چینی ،المانی ،عربی ،ایتالیای ی ،فرانسوی و... Berkeley Parser مبتنی بر یادگیری گرامرهای مستقل از متن احتماالتی پشتیبانی از چندین زبان Parsing (1) 53 منابع 1. Philipp Koehn, "Advanced Natural Language Processing", school of informatics, september 2012. 2. Hesham Faili, "Introduction to NLP", chapter 13: Parsing with contex-free grammars, University of Tehran. 3. Zubair Buitms, "Natural Language Processing", available http://zubairbuitms.hubpages.com/hub/Natural-Language-Processing. 4. Laura Kassner, "Left-corner parsing", Lecture for course Computational Linguistics II: Parsing, 2007. at: با تشکر ارائهی بعد تجزیهی اماری تجزیهی وابستگی تجزیه در زبان فارسی