Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.