Presentation is loading. Please wait.

Presentation is loading. Please wait.

ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده:پرهام مرادي

Similar presentations


Presentation on theme: "ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده:پرهام مرادي"— Presentation transcript:

1 ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده:پرهام مرادي
پارس دانشگاه صنعتي امير کبير دانشکده مهندسي کامپيوتر و فناوري اطلاعات آزمايشگاه سيستم‌هاي هوشمند Natural Language Processing ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده:پرهام مرادي Natural Language Processing پائيز 85

2 فهرست پارس روش‌هاي پارس پارس بالا به پايين استراتژي‌هاي پارس
پارس پايين به بالا RTN Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

3 گرامر و پارس براي تجزيه و تحليل و محاسباتي نمودن ساختار جمله به دو مرود زير بايد توجه کرد : گرامر : يک تعريف فرمال و قاعده مند براي يک ساختار مجاز در زبان پارس: متد تحليل يک جمله نمونه براي تعيين ساختار آن بر اساس گرامر Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

4 پارس پارس فرآيندي براي کنترل صحت ساختار جمله بر اساس گرامر آن است
پارس از نظر معنايي صحت جمله را تضمين نمي‌کند A purple frog jump on the rock The child talk chicken who is an egg پارس مانند جستجو (Search) است- نوعي از : Constraint programming Dynamic programming Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

5 پارس تشخيص(Recognition) : پارس (Parsing) :
گرامر مستقل از متن G و جمله w ( رشته w ) داده شده است، آيا : پارس (Parsing) : اگر درست ساختار جمله را با استفاده از گرامر G براي w مشخص نماييد Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

6 پارس عموميت (Generality): کامل (Completeness): کارايي (Efficiency)
نيازمنديهاي عمومي براي الگوريتم‌هاي پارس : عموميت (Generality): الگوريتم پارس بايد قابليت کار با هر نوع گرامري را داشته باشد کامل (Completeness): الگوريتم بايد تمام نتايج و درخت‌هاي پارس را جهت شناسايي ابهام مشخص سازد کارايي (Efficiency) انعطاف پذيري (Flexibility) يک الگوريتم خوب بايد به راحتي تغييرات در آن اعمال شود Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

7 پارس جهت پارس (Orientation) مسير پارس (Direction)
مشخصه‌هاي يک الگوريتم پارس : جهت پارس (Orientation) بالا به پايين يا پايين به بالا مسير پارس (Direction) چپ به راست يا راست به چپ يا ترکيب هردو. Handling Multiple choice Dynamic programming vs Parallel programming vs backtracking نوع جستجو (Search) عمقي يا سطحي Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

8 الگوريتم پارس الگوريتم پارس، يک روالي را براي توليد درخت از جمله ورودي بر اساس گرامر آن، مشخص مي‌کند. الگوريتم پارسر موجب تاييد يا عدم تاييد صحت جمله ورودي در رابطه با گرامر آن مي‌شود خروجي الگوريتم پارسر بله / خير است. در صورتي که جمله با استفاده از گرامر مفروض توليد شده باشد جواب بله، و در غير اين صورت جواب خير خواهد بود Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

9 روش‌هاي پارس بالا به پايين (Top - Down)
در اين روش از نشانه S عمليات پارس را شروع مي‌کنيم تا به ترمينالهايي برسيم که جمله ورودي را تشکيل داده‌اند از S شروع مي‌کنيم تا به ترمينال برسيم پايين به بالا (Bottom Up) در اين روش از ترمينالهايي که در جمله ورودي هستند عمليات پارس را شروع ميکنيم و اين ترمينالها را با طرف چپ قوانين گرامري (غير ترمينال) جايگزين مي‌کنيم تا به نشانه S برسيم. از ترمينال شروع مي‌کنيم تا به S برسيم Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

10 روش‌هاي پارس مفروضات گرامر به شکل نرمال چامسکي است
جمله ورودي از ترکيب ترمينالها تشکيل شده است. W=W1W2…Wn از انديس‌هاي {0,1,…n}براي مشخص کردن کلمات جمله ورودي استفاده مي‌کنيم 1 the 2 cat 3 in 4 the 5 hat 6 Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

11 پارس بالا به پايين (Top Down)
اجزاء الگوريتم Symbol List : State of Pars ليست نشانه‌هايي است که براساس عمليات پارسر برروي قوانين گرامر ايجاد مي‌شود و وضعيت پارسر را در هر زمان مشخص ميکند : مثال Lexicon شامل اطلاعاتي در مورد کلمات (ترمينال‌ها) است. [cried: V , dogs: N,V , the : ART] Rule Current State S NP VP ((NP VP ) 1) NP ART N ((ART N VP) 1) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

12 پارس بالا به پايين (Top Down)
State of Parser موقعيت پارسر با يک عدد نمايش داده مي‌شود مثال : 1 the 2 dogs 3 cried 4 Parse State : (( N VP ) 2 ) پارسر در اين حالت در موقعيت 2 به دنبال يک اسم (N) است که با يک عبارت فعلي ( VP ) همراه است Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

13 پارس بالا به پايين (Top Down)
توليد حالت جديد اگر اولين نشانه در ليست حالت، ترمينال (lexical symbol) باشد و کلمه بعدي در طبقه ترمينالها (در lexicon) باشد سپس اولين نشانه از ليست حالت حذف مي‌شود و به عدد نشاندهنده موقعيت يکي اضافه مي‌شود. 1 the 2 dogs 3 cried 4 Parse State : (( N VP ) 2 ) Dog : N 1 the 2 dogs 3 cried 4 Parse State : ((VP ) 3 ) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

14 پارس بالا به پايين (Top Down)
توليد حالت جديد اگر اولين نشانه در ليست حالت، غير ترمينال (non terminal symbol) باشد سپس اين نشانه با يک قانون گرامري جايگزين مي‌شود. 1 the 2 dogs 3 cried 4 Parse State : ((VP ) 3 ) VP  V 1 the 2 dogs 3 cried 4 Parse State : ((V ) 3 ) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

15 پارس بالا به پايين (Top Down)
بازگشت به عقب (backtracking) تمام حالات جديد را توليد مي‌کند. پيدا کردن جواب در اين روش تضمين شده است در اين روش کليه حالت‌هاي ممکن (new state) با استفاده از حالت فعلي (Current state) توليد مي‌شود. يکي از اين حالت‌ها را به عنوان حالت بعدي (Next State) انتخاب مي‌کنيم. و بقيه حالت‌ها (backup state) را در جايي (مثلا پشته) ذخيره مي‌کنيم. اگر حالت فعلي (current state) به جواب نرسيد.حالت جديدي را از بين حالت‌هاي ذخيره شده (backup state) انتخاب مي‌کنيم. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

16 الگوريتم پارس بالا به پايين (Top Down)
ليست ممکنه (Possibilities list) ليست تمام حالت‌هاي ممکن شامل backup state و current state حالت فعلي (Current State) عنصر اول possibilities list حالت پشتيبان (Backup State) باقيمانده حالتها در اين قسمت نگهداري ميشود Current State Backup State ((N ) 2) ((Name ) 1) (( ADJ N ) 1 )) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

17 الگوريتم پارس بالا به پايين (Top Down)
1- انتخاب اولين حالت از حالت‌هاي ممکنه (possibilities list) و ارائه آن با علامت C .چنانچه ليست ممکنه خالي باشد الگوريتم fail مي‌کند 2- چنانچه C خالي باشد و موقعيت پارس در انتهاي جمله باشد، الگوريتم موفق است. 3- در غير اينصورت حالات ممکنه را مطابق زير تويد کنيد: 3-1 : اگر اولين نشانه در ليست حالت، غير ترمينال (non terminal symbol) باشد سپس اين نشانه با يک قانون گرامري جايگزين مي‌شود. 3-2 : اگر اولين نشانه در ليست حالت، ترمينال (lexical symbol) باشد و کلمه بعدي در طبقه ترمينالها (در lexicon) باشد سپس اولين نشانه از ليست حالت حذف مي‌شود و به عدد نشاندهنده موقعيت يکي اضافه مي‌شود. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

18 مثال S  NP VP 4. VP  V NP  ART N 5. VP  V NP NP  ART ADJ N]
Sentence: The dogs cried Step Current State Backup State ((S) 1) 2. ((NP VP) 1) 3. ((ART N VP) 1) ((ART ADJ N VP) 1) 4. ((N VP)) 2) 5. ((VP) 3) ((ART ADJ N VP) 1 ((V) 3) ((V NP) 3) V is matched with cried ((ART ADJ N VP) 1 Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

19 مثال Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

20 پارس بالا به پايين (Top Down)
بازگشت به عقب (backtracking) تمام حالات جديد را توليد مي‌کند. پيدا کردن جواب در اين روش تضمين شده است در اين روش کليه حالت‌هاي ممکن (new state) با استفاده از حالت فعلي (Current state) توليد مي‌شود. يکي از اين حالت‌ها را به عنوان حالت بعدي (Next State) انتخاب مي‌کنيم. و بقيه حالت‌ها (backup state) را در جايي (مثلا پشته) ذخيره مي‌کنيم. اگر حالت فعلي (current state) به جواب نرسيد.حالت جديدي را از بين حالت‌هاي ذخيره شده (backup state) انتخاب مي‌کنيم. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

21 استراتژي‌هاي پارس استراتژي اول – عمق(depth-first strategy)
در اين استراتژي حالات ممکنه (possibilities list) در داخل پشته (Stack) قرار مي‌گيرد و به صورت LIFO (Last In First Out) عمل خواهد کرد. استراتژي اول - سطح (breath first strategy) در اين استراتژي حالات ممکنه (possibilities list) در داخل صف (queue) قرار مي‌گيرد و به صورت FIFO (First In First Out) عمل خواهد کرد. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

22 جستجوي درخت بر اساس استراتژي‌هاي پارس
انتخاب بر اساس جستجوي عمقي انتخاب بر اساس جستجوي سطحي اغلب پارسر‌ها از جستجوي عمقي استفاده مي‌کنند چون هم سريعتر است و هم حافظه کمي نياز دارد Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

23 اختلاف استراتژي‌هاي پارس
در استراتژي اول عمق (depth-first) يک مسير ممکن براي جستجو تا زماني که به بن بست يا موفقيت برسد ادامه مي‌يابد. در صورت بن بست، مسير ديگر انتخاب مي‌شود. در استراتژي اول – سطح (breath-first) تمام مسير‌هاي ممکن در هر مرحله بسط داده مي‌شود. در هر دو استراتژي به جواب مي‌رسيد اما ترتيب جستجوي آنها با هم متفاوت است. در استراتژي اول عمق (depth-first) اغلب سريع به جواب مي‌رسد اما در بعضي مواقع به جستجوي مسير‌هاي بيهوده، زمان زيادي طول مي‌کشد تا به جواب برسد. در استراتژي اول – سطح (breath-first) تمام حالات ممکنه قبل از اينکه وارد عمق پايينتر شود،‌ بررسي مي‌گردد. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

24 پارس پايين به بالا (Bottom- Up)
اختلاف اصلي روش پارس بالا به پايين و پايين به بالا در نحوه استفاده از قوانين گرامري است. در روش پايين به بالا، از طرف راست قوانين گرامري به سمت چپ حرکت مي‌کنيم تا به S برسيم. در روش پايين به بالا، با توجه به عبارت ورودي،ترتيبي از نشانه‌ها را در کنار هم قرار مي‌دهيم تا با طرف راست قانون گرامر مطابقت داشته باشد و سپس آن را با طرف چپ قانون جايگزين مي‌کنيم. مثال : NP  ART ADJ N در اين مثال، نشانه‌ها (Symbol) را در کنار هم قرار مي‌دهيم تا به ترتيب (ART ADJ N) برسيم و سپس آن را با NP جايگزين مي‌کنيم Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

25 پارس پايين به بالا (Bottom- Up)
حالت (State) شامل ليستي از نشانه‌ها است. تمام حالات جديد با در اعمال دو مرحله زير توليد مي‌شوند : 1- در اين روش ابتدا کلمات (word) را با توجه به طبقه (Category) آنها در فرهنگ لغات (Lexicon) بازنويسي مي‌کنيم 2- سپس نشانه مربوط به طبقه کلمات را در کنار هم قرار مي‌دهيم تا با طرف راست يکي از قوانين گرامري مطابقت کند. و سپس آنرا با طرف راست قانون جايگزين مي‌کنيم تا به S برسيم. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

26 مشکلات روش بالا به پايين
قوانين بازگشتي ممکن از به حالت پايان نرسند NP  NP PP ممکن است پس از طي مراحل زيادي (نمايي) به جواب برسد و متوقف شود. محاسبات تکراري زياد داريم Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

27 مشکلات روش بالا به پايين
مثال : محاسبات تکراري NP NP NP NP PP PP PP Det N P N P N P N a flight from Chicago to houston on TWA Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

28 مشکلات روش پايين به بالا
تمام حالات ممکنه براي زير رشته (substring) توليد شده و ممکن است يک سري از اين حالات اصلا به S ختم نشود و يا اينکه با طرف راست خود نتواند تطبيق پيدا کند. قوانين λ باعث کاهش کارايي مي‌شود محاسبات تکراري داريم Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

29 Transition Network Grammars (TNG)
قوانين مستقل از متن يک فرماليسم براي بازنمايي گرامر است. TNG يک فرماليسم ديگر براي بازنمايي گرامر است. اين فرماليسم بر پايه شبکه‌هاي انتقالي (Transition Network) که شامل نود‌ها(node) و لبه‌هاي برچسب دار(labeled arc) آن است. دو نوع شبکه انتقالي : Recursive Transition Network (RTN) Augmented Transition Network (ATN) Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

30 Recursive Transition Network (RTN)
شبکه‌هاي انتقالي (TN) ساده نوعي از FSM (Finite State Machine) هستند. FSM براي نمايش زبان‌هاي منظم مناسب هستند و قدرت نمايش زبان مستقل از متن را ندارد. براي توصيف زبان مستقل از متن توسط شبکه‌هاي انتقالي بايد از مفهوم بازگشت (Recursion) استفاده مي‌شود. RTN همانند FSM ها است اما مي‌تواند داراي برچسب‌هايي باشد که اين برچسب‌ها به يک شبکه انتقالي (TN) ديگري ارجاع کند Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

31 Arc Type Example How Used
مثال از RTN Arc Type Example Arc Type Example How Used CAT noun succeeds only if current word is of the named category WRD of succeeds only if current word is identical to the label PUSH NP succeeds only if named network can be successfully traversed JUMP jump always succeeds POP pop succeeds and signals the successful end of the network Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

32 مثال RTN The mental can was dark blue noun adj Art, adj noun NP NP NP
pop NP verb NP pop S S1 S2 S3 The : ART Metal: ADJ NOUN Can: VERB NOUN was : VERB dark: ADJ blue: ADJ NOUN Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

33 مثال RTN Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

34 پارس بالا به پايين با RTN
حالت‌هاي (State) پارس در هر لحظه به صورت زير نمايش داده مي‌شود : Current Position موقعيتي که بايد لغت مورد بررسي قرار گيرد. Current Node نودي که روي آن عمليات انجام مي‌دهيم Return Point پشته‌اي از نود‌ها در صورتي که به يک شبکه ديگر ارجاع شود Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

35 الگوريتم پارس بالا به پايين با RTN
انتقال از يک نود به نود ديگر در موارد زير امکان پذير است : مورد 1 : اگر طبقه برچسب با طبقه کلمه در جمله يکي باشد سپس : بروز رساني متغير Current Position به نقطه شروع کلمه بروز رساني Current Node به مقصد لبه مورد 2 : اگر برچسب از نوع push باشد و به شبکه ديگر ارجاع دهد: مقصد لبه را در پشته (return point) ذخيره مي‌کنيم بروزرساني متغير current node به نقطه شروع شبکه جديد Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

36 الگوريتم پارس بالا به پايين با RTN
انتقال از يک نود به نود ديگر در موارد زير امکان پذير است : مورد 3 : اگر برچسب از اوع pop باشد ليست return point خالي نباشد : اولين عنصر ليست را برداشته و به عنوان current node قرار مي‌دهيم. مورد 4 : اگر برچسب از اوع pop باشد ليست return point خالي باشد و تمام کلمات جمله ورودي پردازش شده باشند در اين صورت پار با موفقيت به اتمام رسيده است. Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

37 مثال RTN Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

38 مثال 1 : الگوريتم پارس بالا به پايين با RTN
1 The 2 old 3 man 4 cried 5 Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

39 مثال 2 : الگوريتم پارس بالا به پايين با RTN با بازگشت به عقب
Step Current State Arc to be Followed Backup States 1. (S, 1, NIL) S/1 NIL 2. (NP, 1, (S1)) NP/2 (& NP/3 for backup) 3. (NP1, 2, (S1)) NPl/2 (NP2, 2, (S1)) 4. (NP2, 3, (S1)) NP2/l 5. (S1, 3, NIL) no arc can be followed 6. 7. (S1, 2, NIL) S1/l 8. (S2, 3, NIL) S2/2 9. (NP, 3, (S2)) NP/1 10. (N7PI, 4, (S2)) NP1/2 11. (NP2, 5, (S2)) NP2/1 12. (S2, 5, NIL) S2/1 13. parse succeeds Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh

40 محدوديت‌هاي RTN و گرامر مستقل از متن (CFG)
تفاوتي بين ساختار عمقي و ساختار سطحي قائل نمي‌شود The dog chased a cat / a cat was chased نمي‌تواند ساختار مناسب را تشخيص دهد I painted the wall with paint I painted the wall with cracks جملاتي شبيه به جملات زير را نمي‌تواند هندل کند : The chicken is ready to eat The astronomer married with star Amirkabir University of Technology, Computer Engineering Faculty , Intelligent Systems Laboratory,NLP Course , Ahmad Abdollahzadeh


Download ppt "ارائه دهنده: دکتر احمد عبدالله زاده تنظيم کننده:پرهام مرادي"

Similar presentations


Ads by Google