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:
با تشکر
ارائهی بعد
تجزیهی اماری
تجزیهی وابستگی
تجزیه در زبان فارسی