290 likes | 494 Views
دانشگاه صنعت ي ام ي ر کب ي ر دانشکده مهندس ي کامپ ي وتر و فناور ي اطلاعات. CFG,TAG,FSG. استاد درس: آقای دکتر عبدالله زاده توسط: اسماعیل رضایی- 86131031 . پروژه درس پردازش زبان طبيعی. عناوین. معرفی متن گرامر ها CFG TAG FSG برای هر یک از گرامر ها
E N D
دانشگاه صنعتي امير کبير دانشکده مهندسي کامپيوتر و فناوري اطلاعات CFG,TAG,FSG استاد درس: آقایدکتر عبدالله زاده توسط: اسماعیل رضایی- 86131031 پروژه درس پردازش زبان طبيعی
عناوین • معرفی متن • گرامر ها • CFG • TAG • FSG • برای هر یک از گرامر ها • معرفی • روش ساخت • مثال • پارسر • معرفی پارسر PCRATR • فراهم کردن ورودی های مورد نیاز PCPATR برای پارس متن • پارس متن و دریافت خروجی ها درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
متن Clouds Clouds make the sky interesting. They help provide the beautiful sky. They warn us of approaching storms and forecast better weather ahead. Clouds bring the rain that farmers need it for their crops.clouds bring destruction and death. They cause tremendous amounts of damage with their hail and kill people caught in the funnel-shaped clouds we call tornadoes. All clouds are not alike or form at the same height above the earth’s surface. Some clouds are low and look like cotton balls, and others are very high and look like giant feathers. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
گرامر مستقل از متن)(CFG اجزای گرامر مستقل از متن G =(T,N,S,P) 1- مجموعه ی Non Terminal ها N 2- مجموعه Terminal ها S 3- مجموعه قواعد(Production Rules) P 4 – Start Symbol S0 = S درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
گرامرمستقل از متن دولایهبرای زبان طبیعی یک لایه که شامل گروه بندی Terminal ها است ،به گرامر اضافه می شود که با T نمایش داده می شود. این لایه بین Terminal ها و Nonterminal ها قرار می گیرد. T = {Art, Noun,Adj,Prep,Verb,Pronoun} درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
گرامرمستقل از متن دولایهبرای زبان طبیعی مجموعه قواعد R = { 1- S NP VP 2- NP Art NP2 3- NP NP2 4- NP2 Noun 5- NP2 Adj NP2 6- NP2 NP2 PP 7- NP2 Pronoun 8- PP Prep NP 9- PP Prep NP PP 10- VP Verb 11- VP Verb VP 12- VP Verb NP 13- VP VP PP 14- VP VP NP Adj } درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
تعریف مجموعه T برای متن مورد نظر T ={Art, Noun,Adj,Prep,Verb,Pronoun} Art ={a,the,an} Noun={clouds,sky,storms,weather,rain,farmer,crops,destruction ,death,damage,hail,people,tornado} Verb ={make,help,provide,cause,bring,warn,need,cuase,kill,call} Adj ={interesting,beautiful,better,approaching} Prep ={in,by,of,over,for,with} Pronoun={they,we,us} درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
S NP VP ساخت درخت برای چند جمله Verb Adj NP2 NP Art NP2 Noun make interesting Noun the Clouds sky درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
S NP VP ساخت درخت برای چند جمله VP Verb NP Verb NP2 Art NP2 help provide Pronoun the Adj NP2 Noun They beautiful sky درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
TAG گرامر TAG معمولی یک گرامر TAG از تعدادی Tree Bank ساخته شده است. برای ساخت TAG می توان از CFG درخت ها را ساخت. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
TAG Clouds make the sky interesting R = { S NP VPV make VP V NP Adj Nclouds | sky NP N Adj interesting NP D N Dthe } درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
مجموعه درخت ها برای TAG برای یک جمله Clouds make the sky interesting Clouds make the sky interesting NP NP VP S VP N D N Adj Verb VP NP VP V NP Adj N D V N درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
ساخت درخت پارس جمله با استفاده از قوانین جایگزینی و درخت ها S NP VP Verb Adj N NP make interesting NP Art Clouds the sky درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
FSG • FSG بر اساس CFG ساخته می شود. • در CFG امکان نمایش روابط گرامری مربوط به زبان طبیعی وجود ندارد. • در FSG روابط گرامری مربوط به زبان طبیعی در قالب ساختار AV به گرامر و کلمات اضافه می شود. • اضافه شدن روابط گرامری برای درک معنا و چک برخی ناهماهنگی های معنایی است(عدم تطابق فاعل و فعل از نظر زمان، شخص و تعداد). درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
FSG مراحل ساخت یک FSG برای یک متن 1- برای تمام کلمات ساختار AV را می سازیم 2- روابط گرامری مربوط به زبان طبیعی را که روی ویژگی های اضافه شده به کلمات تعریف می شوند، به قواعد CFG اضافه می کنیم. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
FSG Clouds make the sky interesting Clouds = Make = Cat NP Root Clouds Number SG Person 3 Cat VP Root Make Number SG Person 3 درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
FSG Clouds make the sky interesting The = a = interesting = Sky = Cat Det Root a Case Nonidentifying Number Sg Cat Det Root The Case Identifying Cat Adj Root interesting Cat NP Root Sky Number Sg Person 3 درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
FSG R = { S VP NP <VP number > = <NP number> <VP person> = <NP person> VP VP NP Adj <VP number > = <NP number> <VP person> = <NP person> NP N NP Det N <Det Number>=<N Number> } درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
پارسر در این بخش از پروژه باید برای پارس کردن متن انتخاب شده برای پروژه، یک پارسر معرفی نموده و با استفاده از آن متن را پارس کرده،در خت های پارس جملات متن را با استفاده ازآن تولید نماییم. پارسر استفاده شده در این بخش پروژه PCPATR می باشد که در ابتدا آن را معرفی نموده و پس از بیان نحوه کار آن اجزای مورد نیاز آن را که باید برای پارس نمودن متن ساخته شوند معرفی می کنیم . درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
PCPATR این پارسر براساس فرمالیزم زبانی PATR-II برای کامپیوترهای شخصی طراحی شده است.پیاده سازی این ابزار برای سیستم عامل های MS-DOS ، Microsoft Windows ، Macintosh و Unix قابل دسترسی است. این پارسر، یک chart parser با دو خصوصیت زیر می باشد: 1- پارس پایین به بالا (bottom-up) به همراه انجام یک top- down filtering براساس طبقه بندی صورت گرفته برای کلمات. 2- ترتیب پارس اجزای جمله چپ به راست (left-to-right)است. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
اجزای مورد نیاز PCPATR برای استفاده از این پارسر در پارس جملات در هر زبانی باید چند فایل را با فرمت قابل قبول این پارسر تهیه نمود که در اینجا این فایل ها معرفی می کنیم و در بخش توضیح پروژه انجام شده فرمت هر یک از فایل ها را شرح خواهیم داد. این فایل ها عبارتند از : 1- فایل grammar.txt: این فایل شامل قواعد گرامر برای پارس کردن جملات متن مورد نظر می باشد. 2- فایل lexicon.txt: این فایل شامل کلمات متن و در صورتیکه از feature structure استفاده کنیم، شامل ویژگی کلمات نیز می باشد. 3- فایل input.txt : این فایل دربردارنده متن یا جملاتی است که می خواهیم، آن را پارس کنیم . فایل دربردارنده ورودی هر نام دیگری می تواند داشته باشد. 4- فایل output.txt : در زمان اجرای پارسر چنانچه این فایل موجود نباشد ایجاد شده. با اجرای پارسر درخت های پارس تولید شده توسط پارسر در این فایل ذخیره می شوند. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
دستورات PCPATR برای پارس یک متن برای اجرای پارسر در نظر گرفته شده روی متن دستورات زیر را بر روی فایل هایی که در اسلاید قبل توضیح داده شده است اجرا نموده و خروجی مطلوب را به دست می آوریم. 1 – load grammar grammar.txt در این مرحله از اجرا، گرامر در نظر گرفته شده برای متن مورد نظر را به پارسر load می کنیم . به جای grammar.txt هر فایل text دیگری که شامل گرامر باشد می تواند قرار بگیرد. 2- load lexicon lexicon.txt در این مرحله از اجرا، کلمات متن را در قالب فایلی text به پارسر load می کنیم . به جای lexicon.txt هر فایل text دیگری که شامل لغات متن و ویژگی های این لغات باشد می تواند قرار بگیرد. 3 – file parse input.txt output.txt با اجرای این دستور پارسر با توجه به داده های فایل گرامر و کلمات فایل input.txt را پارس نموده و خروجی را در فایل output.txt ذخیره می کند. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
پارس متن پروژه با استفاده از گرامر context-free روند انجام کار : 1- ساخت فایل grammar.txt: گرامر زبان انگلیسی برای جملات متن را با فرمت قابل قبول پارسر PCPATR در این فایل وارد می کنیم . Rule S -> (NP) VP (SubCl) Rule S -> S_1 (RP) S_2 Rule NP -> {(Det) (AdjP) N (PrepP)} / PR Rule NP -> NP_1 CJ NP_2 Rule NP -> {(Det) (AdjP) N_1 (PR) N_2 } Rule Det -> DT / PR Rule VP -> VerbalP (NP / AdjP) (PrepP) (AdvP) Rule VP -> VerbalP VP_1 Rule VerbalP -> V Rule VerbalP -> AuxP V Rule AuxP -> AUX (AuxP_1) Rule PrepP -> PP NP Rule AdjP -> (AV) AJ (AdjP_1) Rule AdvP -> {AV / PrepP} (AdvP_1) Rule SubCl -> CJ S درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
پارس متن پروژه با استفاده از گرامر context-free • چند نکته پیرامون فرمت فایل grammar.txt : • تمام قواعد با کلمه Rule شروع می شوند. • سمت چپ علامت -> ، non terminal ها قرار می گیرند که گسترش داده می شوند. • “/” در مواردی که چند انتخاب برای یک سمبول وجود داشته باشد از این کاراکتر استفاده می شود. • ”()“ برای سمبول های optional به کار می روند. • ”{}“ برای بین optional بودن گروهی از سمبول ها به کار می رود. • در مواردی که یک non terminal یک یا چند بار در طرف دوم ظاهر می شود باید با استفاده از ”_“ باید شماره گذاری شوند. • برای مثال : • Rule NP -> NP_1 CJ NP_2 • Rule AuxP-> AUX (AuxP_1) درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
پارس متن پروژه با استفاده از گرامر context-free 2- ساخت فایل lexicon.txt : در این مرحله هر یک از کلمات متن با فرمت مورد قبول به این فایل اضافه می شوند. برای مثال: \w Clouds \c N \w make \c V \w sky \c N \w interesting \c AV \w They \c PR \w they \c PR درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
پارس متن پروژه با استفاده از گرامر context-free • چند نکته پیرامون فرمت فایل lexicon.txt : • بین خصوصیات هر کلمه با کلمه دیگر یک خط فاصله باشد. • ”\“ برای بیان خصوصیات هر کلمه در ابتدای یک خط استفاده می شود که این خصوصیت با یک کاراکتر بیان می شود . • ”\w“ در ابتدای اولین خط از خصوصیات هر کلمه و بیان کننده syntax آن کلمه می باشد و البته حساس به متن می باشد. • ”\c“ این خصوصیت بیان کننده category یا طبقه کلمات می باشد. که در زبان انگلیسی این category ها عبارتند از : • PN (pronoune) ، V (Verb)، DT(Determiner)، PP(Preposition)، N(Noune)، AV(Adverb)، AJ(Adjective)، CJ(Conjunction)، RP(Relative Pronoune) . درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
پارس متن پروژه با استفاده از گرامر context-free حال با توجه به فایل های grammer.txt و lexicon.txt که بر اساس متن مورد نظر تهیه شده اند و با اجرای دستورات ذکر شده درچند اسلاید قبل پارسر را بر روی فایل input.txt اجرا می کنیم . در نتیجه اجرای پارسر درخت های پارس برای هر یک از جملات متن را در فایل output.txt خواهیم داشت . برای مثال برای چند جمله نتایج اجرای پارسر را بیان می کنیم : Clouds make the sky interesting. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
پارس متن پروژه با استفاده از گرامر context-free قابل توجه است که در برخی موارد چند در خت پارس برای یک جمله تولید شده است و این به دلیل وجود ابهام در گرامر می باشد که در بخش دیگر پروژه که پارس متن با استفاده از گرامر feature structure می باشد کم شدن تعداد این درخت های پارس را مشاهده خواهیم کرد. They warn us of approaching storms and forecast better weather ahead. درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند
با تشکر درس پردازش زبان طبیعی، استاد: دکتر احمد عبدالله زاده توسط: اسماعیل رضایی آزمایشگاه سیستم های هوشمند