55
Parsi Parsi ng ng (1) (1) ده: ن ه ه د ارائ ی ت و ق ا د ی ی ج م اد: ن س ا ی ت ر کاها کت د درس:% ش ن ر دا ب ی ن ت ن م مهای ت س سی4 ن یورد ر ف92 ی س د ن ه م کده% ش ن دا ر ب و یD متی کاF س د ن ه م روه گ

Parsing (1)

  • Upload
    lisbet

  • View
    62

  • Download
    0

Embed Size (px)

DESCRIPTION

دانشکده مهندسی گروه مهندسی کامپیوتر. Parsing (1). ارائه دهنده: مجید یاقوتی استاد: دکتر کاهانی درس: سیستم‌های مبتنی بر دانش فروردین 92. Parsing (1). 1. فهرست. مقدمه استراتژی‌های جستجو تجزیه‌ی بالا به پایین تجزیه‌ی پایین به بالا. Parsing (1). 2. فهرست. برنامه‌نویسی پویا - PowerPoint PPT Presentation

Citation preview

Page 1: Parsing (1)

ParsingParsing(1)(1)

ارائه دهنده:

مجید یاقوتی

استاد:

دکتر کاهانی

درس:

سیستم های مبتنی بر

دانش

92فروردین

دانشکده مهندسی

گروه مهندسی کامپیوتر

Page 2: Parsing (1)

فهرست

مقدمه

استراتژی های جستجو

تجزیه ی باال به پایین

تجزیه ی پایین به باال

Parsing (1) 1

Page 3: Parsing (1)

فهرست

برنامه نویسی پویا

الگوریتمCKY

الگوریتمEarley

نرم افزارهای موجود

2Parsing (1)

Page 4: Parsing (1)

مقدمه

Parsingیا تجزیه ی یک جمله

ساختن یک درخت یا اشتقاق صحیح با داشتن گرامر

ص6حیح«: ص6رفا ب6ه مع6نی س6ازگار ب6ودن درخت ب6ا ورودی«

و گرامر

یک درخت ب6ا وج6ود ص6حیح ب6ودن ممکن اس6ت درخت واقعی عب6ارت

ورودی و گرامر داده شده نباشد.

برگ های درخت: اجزای جمله ی ورودی

3Parsing (1)

Page 5: Parsing (1)

مقدمه

ب6رای س6اختاری ی6ک محاس6به ی ب6رای الگ6وریتمی پارس6ر:

رشته ی ورودی با توجه به گرامر

دو ویژگی همه ی پارسرها

:روند یا مراحل تولید ساختارجهت

باال به پایین یا پایین به باال

:روش پیمایش فضای جستجوی انواع استراتژی جستجو

مختلف تجزیه ها

اول سطح یا اول عمق

4Parsing (1)

Page 6: Parsing (1)

مقدمه

فرض های اولیه قبل از تجزیه

.همه ی کلمات را در یک بافر در اختیار داریم

.همه ی کلمات شناخته شده هستند

5Parsing (1)

Page 7: Parsing (1)

مقدمه:یک گرامر و دیکشنری لغاتمثال

« درخت متناظر با عبارتBook that flight»

6Parsing (1)

Page 8: Parsing (1)

تجزیه ی باال به پایین

.از ریشه ی درخت شروع به ساختن آن می کنیم

حرکت ب6ه س6مت برگ ه6ای درخت )کلم6ات( ب6ا اس6تفاده

از قوانین گرامر و عمل اشتقاق

هدف نهایی

پی6دا ک6ردن درخ6تی ک6ه ریش6ه اشS باش6د و رش6ته ی ورودی

را تولید کند.

دارای سرعت کمتر نسبت به سایر روش ها

7Parsing (1)

Page 9: Parsing (1)

تجزیه ی باال به پایین

نمونه ای از یک تجزیه ی باال به پایین

8Parsing (1)

Page 10: Parsing (1)

تجزیه ی باال به پایین

نحوه ی اشتقاق و رسیدن از ریشه به برگ ها

:پیمایش یک شاخه از فضای جستجو در روش اول عمق

هر زمان

بازگشت به عقب در صورت بن بست

:پیمایش موازی تمام شاخه های ممکناول سطح

محدودیت حافظه

9Parsing (1)

Page 11: Parsing (1)

تجزیه ی باال به پایین

مشکالت روش باال به پایین

.جستجو توسط ورودی هدایت نمی شود

.تولید درخت های صحیحی که رشته ی ورودی را تولید نمی کنند

10Parsing (1)

Page 12: Parsing (1)

تجزیه ی باال به پایین

مشکالت روش باال به پایین

ابهام سراسری و محلی

:چندین تجزیه ی ساختاری به دلیل قوانین ابهام سراسری

گرامری و یا لغوی

:حتی اگر کل جمله بدون ابهام باشد، ممکن است ابهام محلی

زیر رشته هایی وجود داشته باشند که ابهام دارند.

«book« در جمله ی »Book that flight دو تفسیر متفاوت دارد )اسم و »

فعل(.

.ابهام محلی در زبان های طبیعی بسیار معمول است

11Parsing (1)

Page 13: Parsing (1)

تجزیه ی باال به پایین

مشکالت روش باال به پایین

اثر ابهام ساختاری در گرامر و ابهام لغوی در کلمات

حرکت در مسیر اشتباه

تولید چند باره ی یک زیر درخت خاص

بازگشت به عقب شروع مجدد

پیچی6دگی این بازگش6ت ب6ه عقب در ب6دترین ح6الت از م6رتبه ی نم6ایی

است.

12Parsing (1)

Page 14: Parsing (1)

تجزیه ی پایین به باال

حرکت از کلم6ات رش6ته ی ورودی ب6ه س6مت ب6االی درخت

با تط6بیق دادن ی6ک ی6ا چن6د گ6ره در لبه ی ب6االیی درخت ب6ا

سمت راست یک قانون از گرامر

اف6زودن س6مت چپ آن ق6انون ب6ه درخت ب6ه عن6وان وال6د آن

گره یا گره ها

به کار گیری جستجوی اول عمق و اول سطح

13Parsing (1)

Page 15: Parsing (1)

تجزیه ی پایین به باال

تج6زیه ی از نم6ونه ای

ب66ا ب66اال ب66ه پ66ایین

رویکرد اول سطح

14Parsing (1)

Page 16: Parsing (1)

تجزیه ی پایین به باال

15Parsing (1)

Page 17: Parsing (1)

برنامه نویسی پویا

پارس6ر بای6د بتوان6د از آن6الیز تک6راری زیررش6ته ها اجتن6اب

کند.

.آن6الیز ه6ر زیررش6ته، ب6ه بقیه ی فرآین6د تجزی6ه وابس6ته نیست

کش6ف این ع6دم وابس6تگی ها ب6ا اس6تفاده از برنامه نویس6ی پویا

برنامه نویس6ی پوی6ا اس6اس همه ی الگوریتم ه6ای تج6زیه ی

مبتنی بر چارت است.

16Parsing (1)

Page 18: Parsing (1)

برنامه نویسی پویا

در برنامه نویسی پویا

بهینه ی ح66ل راه ح66اوی ک66ه ج66دول ی66ک ک66ردن پر

زیرمسئله هاست

ذخ6یره ی جواب ه6ای بهین6ه ت6ا در آین6ده مجب6ور ب6ه محاس6به ی

مجدد آنها نباشیم.

جواب ه6ای ت6رکیب ب6ا کلی مس6ئله ی ج6واب ب6ه رس6یدن

زیرمسائل

17Parsing (1)

Page 19: Parsing (1)

برنامه نویسی پویا

زیررش6ته ها آن6الیز زیرمس6ئله ها تجزی6ه، مس6ائل در

هستند.

هر آنالیز

مرب6وط ب6ه ی6ک س6اختار )زی6ردرخت( کام6ل اس6ت ک6ه توس6ط

محل های شروع و پایان زیررشته مشخص شده است.

و ی6ا ی6ک ف6رض در م6ورد ی6ک س6اختار کام6ل ک6ه ممکن اس6ت

پیدا شود.

18Parsing (1)

Page 20: Parsing (1)

برنامه نویسی پویا

در این روش

جستجوی زیردرخت ها به جای آنالیز دوباره ی آنها

کمک در مواجهه با ابهام

ذخیره ی تمام تجزیه های ممکن را در چارت

بازنمایی بصورت ماتریس یا گراف

سطرها و س6تون های م6اتریس، نش6ان دهن6ده ی محل ه6ای ش6روع و

پایان یک محدوده

19Parsing (1)

Page 21: Parsing (1)

برنامه نویسی پویا

ک6ه اس6ت ای زیررش6ته ب6ه م6اتریس مرب6وط از خان6ه هر

ش6روع6ش ان6دیس6 س6طر 6و پای6انش6 ان6دیس6 س6تون6 آن خان6ه

است.

حاوی اطالعاتی درباره ی

نوع ساختار آن محدوده از زیررشته

اشاره گرهایی به زیرساختارهای آن

و ی6ا پیش بی6نی ه6ایی در م6ورد س6اختارهایی ک6ه ممکن اس6ت در

ادامه ی زیررشته ظاهر شوند.

20Parsing (1)

Page 22: Parsing (1)

برنامه نویسی پویا

:تج6زیه ی عب6ارت »مث7ال See with a telescope in hand »

با روش برنامه نویسی پویا و استفاده از ماتریس

21Parsing (1)

Page 23: Parsing (1)

برنامه نویسی پویا

در بازنمایی گرافی

رئوس گراف: نشان دهنده ی محل های شروع و پایان

ی6ک پای6ان و ش6روع کنن6ده ی مش6خص گ6راف: یال ه6ای

محدوده از یک زیررشته

قرارگیری اطالعات خانه های ماتریس در یال ها

22Parsing (1)

Page 24: Parsing (1)

برنامه نویسی پویا

« زیررش6ته ی روش with a telescopeتج6زیه ی ب6ا »

برنامه نویسی پویا و استفاده از گراف

23Parsing (1)

Page 25: Parsing (1)

برنامه نویسی پویا

:الگوریتم هایی برای تجزیه ی مبتنی بر چارت

الگوریتمCKY: .فقط ساختارها را ذخیره می کند

الگ7وریتمEarley: هم س6اختارها و هم پیش ش6رط ها را

ذخیره می کند.

24Parsing (1)

Page 26: Parsing (1)

CKYالگوریتم

برای تش6خیص س6اختارها و ذخ6یره ی آنه6ا در چ6ارت ط6راحی

شد.

( طراحی اولیه برای فرم نرمال چامسکیABC; Aa )

.توسط گری و هریسون تعمیم داده شد

ساختارA خ6انه ی در را i,j وج6ود ق6انون ی6ک اگ6ر می ش6ود وارد

داشته باشد که:

AB و B در خانه ی i,jوجود داشته باشد و یا

ABC وB در خانه ی i,k و C در خانه ی k,j.وجود داشته باشد

25Parsing (1)

Page 27: Parsing (1)

CKYالگوریتم

الگوریتمCKYبرای تجزیه ی مبتنی بر چارت

این الگوریتم کامل و از مرتبه یO(n3).است

26Parsing (1)

Page 28: Parsing (1)

- مثالCKYالگوریتم

گرامر

27Parsing (1)

Page 29: Parsing (1)

- مثالCKYالگوریتم « مراحل پر شدن جدول برای عبارتthe frogs ate fish:»

Unary branching rules: detthe

28Parsing (1)

Page 30: Parsing (1)

- مثالCKYالگوریتم « مراحل پر شدن جدول برای عبارتthe frogs ate fish:»

Unary branching rules: tvateUnary branching rules: Nfrogs, NomN, NPNom

29Parsing (1)

Page 31: Parsing (1)

- مثالCKYالگوریتم « مراحل پر شدن جدول برای عبارتthe frogs ate fish:»

Binary branching rules: NPDet Nom(0,1) & (1,2) (0,2)

Unary branching rules: Nfrogs, NomN, NPNom, ivfish, vpiv

30Parsing (1)

Page 32: Parsing (1)

- مثالCKYالگوریتم « مراحل پر شدن جدول برای عبارتthe frogs ate fish:»

Binary branching rule: VPTV NP(2,3) & (3,4) (2,4)

(1,2) & (2,3) ×

31Parsing (1)

Page 33: Parsing (1)

- مثالCKYالگوریتم « مراحل پر شدن جدول برای عبارتthe frogs ate fish:»

Binary branching rule: S NP VP(0,1) & (1,4) ×

(0,2) & (2,4) (0,4)(0,3) & (3,4) ×

Binary branching rule: S NP VP(1,2) & (2,4) (1,4)

(1,3) & (3,4) ×

32Parsing (1)

Page 34: Parsing (1)

CKYالگوریتم

محدودیت هایCKY

علت ذخ6یره ی اطالع6ات ه6ر خان6ه از م6اتریس ی6ا گ6راف را

نگه نمی دارد.

ب6ه ص6ورت ق6انون دو داش6ته VP VP PPو VP V NPاگ6ر

« The boy opened the box on the floorباش6یم و رش6ته ی ورودی »

و VP V NP چ6ه چ6یزی را تولی6د می کن6د؛ VPباش6د، نمی دانیم ی6ال

؟VP VP PPیا

33Parsing (1)

Page 35: Parsing (1)

CKYالگوریتم

با در نظر گرفتن قانونVP V NP

34Parsing (1)

Page 36: Parsing (1)

CKYالگوریتم

با در نظر گرفتن قانونVP VP PP

35Parsing (1)

Page 37: Parsing (1)

CKYالگوریتم

رفع این محدودیت

اف6زودن ی6ک فیل6د اض6افه ب6رای ذخ6یره ی نح6وه ی تولی6د

هر خانه از جدول

36Parsing (1)

Page 38: Parsing (1)

CKYالگوریتم

محدودیت هایCKY

استفاده از روش پایین به باال

ختم نش6دن بس6یاری از زیردرخت ه6ای تولی6د ش6ده، ب6ه ریشه

:رفع مشکل

این تش6خیص ب6رای خاص6ی فیلترین6گ روش ه6ای از اس6تفاده

زیردرخت ها

استفاده از استراتژی باال به پایین

37Parsing (1)

Page 39: Parsing (1)

Earleyالگوریتم

.مجبور نیستم فقط قوانین کامل شده را ذخیره کنیم

ذخیره ی قوانین کامل نشده

ادام6ه در ک6ه آنچ6ه از پیش بینی ه6ایی ن6اقص: ساختارهای

ظاهر خواهد شد.

بیان ساختارهای ناقص با استفاده از قوانین نقطه دار

ی6ک راس6ت از س6مت مق6دار ک6ه چ6ه نقط6ه، مش6خص می کن6د

ق6انون ت6اک6نون 6پی6دا 6ش6ده ا6س6ت و م6ابقی6 آن، ی6ک 6پیش بی6ن6ی از

چیزی است که در ادامه ظاهر خواهد شد.

38Parsing (1)

Page 40: Parsing (1)

- مثالEarleyالگوریتم

قانونVP V NP تواند قوانین نقطه دار زیر را تولید کند:می

VP ● V NPیال ناقص

VP V ● NPیال ناقص

VP V NP● یال کامل

39Parsing (1)

Page 41: Parsing (1)

Earleyالگوریتم

ذخیره ی قوانین تولید برای ساختارهای کامل

از ابتدا تا انتهایش ظاهر شده است

ذخیره ی قوانین نقطه دار برای ساختارهای ناقص

بخش6ی از ق6انون )س6مت چپ نقط6ه( ظ6اهر ش6ده اس6ت و بخش

دیگر آن )سمت راست نقطه( انتظار می رود که ظاهر شود.

40Parsing (1)

Page 42: Parsing (1)

Earleyالگوریتم

:5… برای زیررشته ی »مثال on 6 the 7 floor 8»

در چارت ذخیره می شود. NP Det ● N, [6,7]عبارت

ی6ک 7 و 6مش6خص می کن6د کلمه ی بین Det اس6ت و پیش بی6نی

در ادامه ظاهر شود.Nمی شود یک

رش6ته ی ی6ک ظ6اهر ش6ود، م6وقعیت NPاگ6ر در را خ6واهیم 6

داشت.

41Parsing (1)

Page 43: Parsing (1)

Earleyالگوریتم

یک چارت با قوانین نقطه دار

42Parsing (1)

Page 44: Parsing (1)

Earleyالگوریتم

اگ6وریتمEarley پ6ر ورودی روی از عب6ور ب6ار ی6ک ب6ا را چ6ارت

می کند.

اندازه ی چارتN+1 و N.تعداد کلمات ورودی است

چارت ب6رای ه6ر م6وقعیت کلم6ه در ورودی، لیس6تی از حالت ه6ا را

نگه می دارد.

.درخت های تجزیه ی جزئی که تاکنون تولید شده اند

43Parsing (1)

Page 45: Parsing (1)

Earleyالگوریتم

:ورودی های چارت سه نوع مختلف دارند

ساختارهای کامل شده

ساختارهای در حال پردازش

ساختارهای پیش بینی شده

44Parsing (1)

Page 46: Parsing (1)

Earleyالگوریتم

مثال

نمایش گرافی حالت ها

S ● VP [0,0] پیش بینی شده است.VPدر ابتدای جمله،

NP Det ● Nominal [1,2]

2 تا 1 از Det در حال پردازش است. NPیک

پیدا شده است و پیش بینی می شود در

ظاهر شود. Nominalادامه

VP V NP ● [0,3]VP ظاهر شده است با شروع از صفر و پایان

3در

45Parsing (1)

Page 47: Parsing (1)

Earleyالگوریتم

:روند تجزیه

حرکت از حالت صفر تاNبر روی جدول

شروع ازSو حرکت از باال به پایین

نوع حالتی که در باال بیان شد3تولید تولید حالت های پیش بینی شده بر اساس ورودی های موجود در جدول

تولید حالت های در حال پردازش جدید با توسعه ی حالت های موجود

تولی6د حالت ه6ای کام6ل ش6ده ی جدی6د زم6انی ک6ه نقط6ه در ی6ک ح6الت در

حال پردازش به انتهای قانون می رسد.

46Parsing (1)

Page 48: Parsing (1)

Earleyالگوریتم

.بازگشت به عقبی وجود ندارد

.هیچ حالتی حذف نمی شود

تجزیه ی موفقیت آمیز

حالتS α ● [0,N] در آخرین ورودی چارت

47Parsing (1)

Page 49: Parsing (1)

– شبه کدEarleyالگوریتم

48Parsing (1)

Page 50: Parsing (1)

Earleyالگوریتم

الگوریتمEarley :سه تابع اصلی دارد

Predictor.پیش بینی ها را به چارت اضافه می کند :

Completer ،پی6دا می ش6وند : زم6انی ک6ه س6اختارهای جدی6د

نقطه را به سمت راست حرکت می دهد.

Scanner ک6ه حالت ه6ایی و خوان6ده را ورودی کلم6ات :

بیان کننده ی آن کلمات هستند را وارد چارت می کند.

49Parsing (1)

Page 51: Parsing (1)

Earleyالگوریتم

مشکالت این روش

پ6ایین الگ6وریتم ب6ه ب6اال چیزه6ایی را در چ6ارت Earleyنس6خه ی

ذخیره می کند که بالاستفاده هستند.

.مسئله ی ابهام را حل نمی کند

هر دو روشCKY و Earley 0[ ممکن اس6ت ب6رای ورودی,N[

ختم شوند.Sجدول، به چندین ساختار

50Parsing (1)

Page 52: Parsing (1)

Earleyالگوریتم

این عملک6رد بهب6ود ب6رای دیگ6ری اس6تراتژی های

الگوریتم:

استراتژی پایین به باال

( استراتژی ابتدا بهترینA*)

گسترش حالت ها بر اساس احتمال هر کدام از ساختارها

احتم6ال ه6ر ک6دام از س6اختارها در زم6ان تجزی6ه محاس6به و ذخ6یره

می شود.

51Parsing (1)

Page 53: Parsing (1)

نرم افزارهای موجود

Stanford Parser

پارسر آماری و به زبان جاوا

،ع6ربی آلم6انی، چی6نی، انگلیس6ی، زبان ه6ای پش6تیبانی

ایتالیایی، فرانسوی و...

 Berkeley Parser

مبتنی بر یادگیری گرامرهای مستقل از متن احتماالتی

پشتیبانی از چندین زبان

52Parsing (1)

Page 54: Parsing (1)

منابع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 at:http://zubairbuitms.hubpages.com/hub/Natural-Language-Processing.

4. Laura Kassner, "Left-corner parsing", Lecture for course Computational Linguistics II: Parsing, 2007.

53Parsing (1)

Page 55: Parsing (1)

ارائه ی بعد

تجزیه ی آماری

تجزیه ی وابستگی

؟؟تجزیه در زبان فارسیبا تشکر