5

मुझे यह समझने में समस्या आ रही है कि एआईएमएल पैटर्न मिलान कैसे काम करता है। _ और * के बीच क्या अंतर है? और सर्वश्रेष्ठ मैच प्राप्त करने के लिए मुझे उनका उपयोग कैसे करना चाहिए?एआईएमएल पैटर्न मिलान - कैसे?

मेरे पास केवल this document है, लेकिन इसमें कुछ अच्छे उदाहरण नहीं हैं।

उत्तर

4

ए * कुछ भी मिलान कर देंगे जब तक कि एक शब्द या कई शब्दों का एक पैटर्न मिलान किया जाता है

एक _ कुछ भी मिलान कर देंगे, भले ही एक शब्द का एक पैटर्न या कई शब्दों से मेल

<pattern>BYE _</pattern> के बाद से <pattern>BYE *</pattern> एक ही पैटर्न से मेल खाता है मतलब नहीं है सकता है, लेकिन <pattern>BYE _</pattern><pattern>BYE * SEE YOU</pattern> शैडो जाएगा, जबकि अलविदा * नहीं होगा।

_ सावधानी से उपयोग करें, उदाहरण के लिए _ कुछ भी मेल खाता है और आपका बॉट हर बार एक ही जवाब देगा।

<pattern>_ A COUPLE OF WORDS *</pattern> और <pattern>_ A COUPLE OF WORDS</pattern> _ का उपयोग करने का सही तरीका है यदि आप हर बार पकड़ना चाहते हैं तो शब्द का एक कोड अंदर या वाक्य के अंत में होता है।

0

_ और * दोनों वाइल्डकार्ड हैं, अंतर यह है कि उन्हें पैटर्न मिलान में उपयोग किया जाना चाहिए।

_ should be used before the word or phrase you're matching on 
* should be used after the word or phrase you're matching on. 

देखें: AIML spec

इस बेहतर समझने के लिए यह मौजूदा AIML बॉट में उदाहरण को देख लायक हो सकता है।

देखें: Downloads, यह एक Saluations.aiml है उदाहरण

+0

तो इसका मतलब यह होगा कि 'हेल्लो _' एक अवैध अभिव्यक्ति है? सही? –

+0

यह मुझे में मिला है http://www.alicebot.org/aiml/aaa/Salutations.aiml इन दो पैटर्न के बीच आवश्यक अंतर क्या है? * अलविदा _ अलविदा Btw, जवाब :) –

+0

मैं कहूंगा, कल्पना है कि नमस्ते _ अमान्य हां में है के आधार पर के लिए धन्यवाद। और यह मेरे हिस्से पर एक गंभीर रूप से खराब उदाहरण था। मुझे नहीं लगता कि * बीईई का कभी मूल्यांकन किया जाएगा। * BYE मेरे विचार में अमान्य है, और बीईई * होना चाहिए। – Bravax

संबंधित मुद्दे