2011-03-31 9 views
20

मैं गूगल की कोशिश की और थोड़ा है कि मैं समझ सकते हैं पाया निर्माण करने के लिए।मार्कोव श्रृंखला (या कुछ इसी तरह) का उपयोग करना एक आईआरसी बॉट

मैं Markov chains को एक बहुत ही बुनियादी स्तर पर समझता हूं: यह एक गणितीय मॉडल है जो केवल राज्यों को बदलने के लिए पिछले इनपुट पर निर्भर करता है .. तो विभिन्न मानदंडों के बजाय भारित यादृच्छिक अवसरों के साथ एक एफएसएम की तरह?

मैंने सुना है कि आप उन्हें अर्द्ध बुद्धिमान बकवास उत्पन्न करने के लिए उपयोग कर सकते हैं, मौजूदा शब्दों के दिए गए वाक्यों प्रकार के एक शब्दकोश के रूप में उपयोग करने के लिए।

मैं इस खोजने के लिए खोज शब्दों के बारे में सोच नहीं सकते, इसलिए किसी को भी मुझे लिंक या समझाने मैं कुछ है कि एक अर्द्ध बुद्धिमान जवाब देता है कि कैसे उत्पादन कर सकता है कर सकते हैं?

  • थोड़ा
  • के लिए आईआरसी चैनल में इस बोट निष्क्रिय होने:

    मैं पर योजना (यदि आप इसे पाई के बारे में पूछा, यह वियतनाम युद्ध के बारे में सुना था के बारे में चल रहा शुरू नहीं होगी) स्ट्रिंग से बाहर कोई भी उपयोगकर्ता नाम पट्टी और वाक्यों या जो कुछ भी

  • के रूप में की दुकान समय के साथ, ऊपर के लिए आधार के रूप में इस का उपयोग करें।

उत्तर

31

हाँ, एक मार्कोव श्रृंखला संभाव्य राज्य संक्रमण के साथ एक परिमित राज्य मशीन है। एक सरल, प्रथम क्रम मार्कोव श्रृंखला के साथ यादृच्छिक पाठ उत्पन्न करने के लिए:

  1. एक कॉर्पस (पाठ संग्रह) से बिग्राम (आसन्न शब्द जोड़ी) आंकड़े एकत्रित करें।
  2. प्रति शब्द एक राज्य के साथ एक मार्कोव श्रृंखला बनाओ। अंत-पाठ के लिए एक विशेष राज्य आरक्षित करें।
  3. राज्य/शब्द एक्स से y पर कूद की संभावना शब्द की संभावना है y तुरंत बाद एक्स, प्रशिक्षण कोष में रिश्तेदार बाइग्राम आवृत्तियों से अनुमान है। कोई भी शब्द एक्स साथ
  4. प्रारंभ (शायद कितनी बार उस शब्द कोष में एक वाक्य के पहले शब्द के रूप में होता द्वारा निर्धारित)। x (राज्य संक्रमण संभावना) के बाद y की संभावना को ध्यान में रखते हुए, y यादृच्छिक रूप से कूदने के लिए एक राज्य/शब्द चुनें। जब तक आप अंत-पाठ को हिट न करें तब तक दोहराएं।

यदि आप इनमें से कुछ अर्द्ध बुद्धिमान प्राप्त करना चाहते हैं, तो आपका सबसे अच्छा शॉट इसे सावधानी से एकत्रित ग्रंथों पर प्रशिक्षित करना है। "लॉट" भाग उच्च संभावना के साथ उचित वाक्यों (या व्यावहारिक आईआरसी बोलने) बनाता है; "ध्यान से एकत्रित" भाग का अर्थ है कि आप इसके बारे में क्या बात करते हैं उसे नियंत्रित करते हैं। उच्च-आदेश मार्कोव चेन पेश करने से दोनों क्षेत्रों में भी मदद मिलती है, लेकिन आवश्यक आंकड़ों को स्टोर करने के लिए अधिक संग्रहण लेता है। आप सांख्यिकीय चिकनाई जैसी चीजों को भी देख सकते हैं।

हालांकि, होने अपने आईआरसी बॉट वास्तव में क्या यह कहा जाता है कि एक का जवाब बहुत मार्कोव चेन की तुलना में अधिक समय लगता है।यह कहा जाता है कि text categorization (उर्फ विषय स्पॉटिंग) क्या कहा जाता है, फिर टेक्स्ट पीढ़ी के लिए एक डोमेन-विशिष्ट मार्कोव चेन चुनकर किया जा सकता है। Naïve Bayes विषय स्पॉटिंग के लिए एक लोकप्रिय मॉडल है।

The Practice of Programming में कार्निगन और पाइक मार्कोव चेन एल्गोरिदम के लिए विभिन्न कार्यान्वयन रणनीतियों का पता लगाएं। ये, और सामान्य रूप से प्राकृतिक भाषा उत्पादन, जुराफस्की और मार्टिन, Speech and Language Processing द्वारा बड़ी गहराई में शामिल है।

+0

इसके लिए बहुत बहुत धन्यवाद; बहुत बढ़िया जवाब! : डी –

+0

प्रश्न पूछा से संबंधित पाठ पैदा करने के लिए के रूप में, आप [MegaHAL] (http://en.wikipedia.org/wiki/MegaHAL) को देखने के लिए चाहते हो सकता है। यह इनपुट से कीवर्ड निकालता है और उसके बाद अलग मार्कोव चेन का उपयोग करता है खोजशब्द (ओं) से, वाक्य इन कीवर्ड को विस्तृत करने के लिए आगे और पीछे की। – DataWraith

0

आप इयान बार्बर टेक्स्ट जनरेशन (phpir.com) देखना चाहते हैं। दुर्भाग्य से साइट डाउन या ऑफलाइन है। मेरे पास उनके पाठ की प्रति है और मैं इसे आपको भेजना चाहता हूं।

0

मुझे ऐसा लगता है कि आप एक ही समय में कई चीजों की कोशिश कर रहे:

  1. निकालने शब्द/वाक्य आईआरसी
  2. में सुस्ती एक ज्ञान का आधार
  3. निर्माण कुछ चैट को सुन, कीवर्ड
  4. पार्स करने से
  5. कीवर्ड

उन मूल रूप से बहुत अलग कार्य हैं के बारे में कुछ वाक्य उत्पन्न करते हैं। मार्कोव मॉडल अक्सर मशीन सीखने के लिए उपयोग किया जाता है। हालांकि मैं आपके कार्यों में ज्यादा सीख नहीं पा रहा हूं।

लार्समैन उत्तर दिखाता है कि आप शब्द-आधारित मार्कोव-मॉडल से वाक्यों को कैसे उत्पन्न करते हैं। आप उन वर्ड-जोड़े के पक्ष में वजन को प्रशिक्षित भी कर सकते हैं जो अन्य आईआरसी उपयोगकर्ताओं का इस्तेमाल करते हैं। लेकिन फिर भी इस कीवर्ड से संबंधित वाक्य उत्पन्न नहीं होगा, क्योंकि इमारत/एक मार्कोव मॉडल को परिष्कृत करने के समान नहीं है के रूप में यह "ड्राइविंग"।

आप कोशिश कर सकते हैं छिपा मार्कोव मॉडल (HMM) जहां दिखाई उत्पादन होता है कीवर्ड और छिपे हुए राज्यों उन शब्द जोड़े से बने हैं। इसके बाद आप गतिशील रूप से विशिष्ट कीवर्ड के लिए अधिक उपयुक्त वाक्य का पक्ष ले सकते हैं।

+0

1,2, और 3 लोगों को मैं बहुत यकीन है कि मैं जानता हूँ कि कर सकते हैं या कर सकते हैं करने के लिए कैसे कर रहा हूँ कर रहे हैं। 4 वह है जिसे मैं मार्कोव चेन चाहता हूं। –

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