व्यंग्य का पता लगाने के लिए स्क्रिप्ट कैसे सिखाई जाती है? [बन्द है]


11

मैं वर्तमान में एक मजेदार स्क्रिप्ट का निर्माण कर रहा हूं, जो मूल रूप से दिए गए वाक्यांशों से मेल खाती है और मैच-अंकों के आधार पर पूर्वनिर्धारित प्रतिक्रिया देती है। आप इसे लाइव फीड के आधार पर कुछ जानकारी प्राप्त करने, कार्य चलाने, उपाख्यानों को बताने या उसके साथ चैट करने के लिए कह सकते हैं।

मेरे पास पहले से ही बिल्ट-इन बैडवर्ड, कैप्स लॉक या दोनों के लिए अंतर्निहित है। कार्यक्रम में एक लड़की का नाम है और मैंने तर्क के आधार पर एक girly- लड़की होने के जितना करीब संभव बनाने की कोशिश की, उदाहरण के लिए: हर कोई जानता है कि ज्यादातर girly- लड़कियों को एक सवाल का जवाब देने के लिए 700ms लगते हैं, निश्चित रूप से मजाक करना)। तो यहाँ एक छोटा सा उदाहरण है:

ग्राहक: आपकी समस्या क्या है?
Kiku: न मेरे साथ का उपयोग करें!
ग्राहक: #### तुम
किकू: तुम मेरे लिए इतने मायने क्यों रखते हो: /

हालाँकि, मैं वास्तव में इसमें व्यंग्य-विशेषता जोड़ना चाहूंगा। इसलिए यदि आप व्यंग्य में कुछ लिखते हैं, तो वह इसका पता लगाएगी और उसी के अनुसार प्रतिक्रिया देगी। अब यह एक मुश्किल हिस्सा है, आप एक पटकथा कैसे सिखाते हैं, कटाक्ष क्या है?

मेरे लिए और अधिक विशिष्ट। आज सबसे आम व्यंग्यात्मक शब्दों का क्या उपयोग किया जाता है? या उस सांख्यिकीय को कैसे प्राप्त करें? मैं दिए गए वाक्यांश के संदर्भ को कैसे समझ सकता हूं?

अपडेट करें

जैसा कि यह सवाल प्रचार का एक बहुत कुछ हो रहा है, मुझे लगता है कि चीजों को थोड़ा और साफ किया जाना चाहिए। यह बहुत स्पष्ट है, कि एक स्क्रिप्ट को पूरी तरह से व्यंग्य का पता लगाना मूल रूप से असंभव है। कम से कम वाजिब मामले में। हालाँकि, मुझे विश्वास है कि कुछ संभावित व्यंग्य का पता लगाया जा सकता है।

मैंने वर्तमान में इसे अब तक बना दिया है, ताकि मेरी स्क्रिप्ट बहुत सीमित कटाक्ष का पता लगा सके। मैंने कुछ सामान्य व्यंग्यात्मक शब्दों को पूर्वनिर्धारित किया (हालांकि, अकेले वे बेकार हैं।) उदाहरण के लिए: जैसे, जो भी, हाँ, सही और महान। और फिर यह पहले मैच करता है, सरल चीजें, जैसे अपरकेस और उद्धृत: THANKS you are so smartया oh you are so "SMART"

चूंकि लिपियों का मुख्य कार्य कार्यों को करना या जानकारी प्राप्त करना है, और बाद में यह पूछेगा कि क्या आपका मतलब था। फिर मैंने सोचा, एक विशेष चर के रूप में "धन्यवाद" जोड़ना। तो yeah thanksया whatever thanksसंभव व्यंग्य को ट्रिगर करेगा, और स्क्रिप्ट आपसे पूछेगा: "क्या मैं व्यंग्य का पता लगाता हूं?" आपका सबसे अच्छा शर्त "सॉरी" तब कहना होगा, अन्यथा यह एक चेतावनी-बिंदु जोड़ देगा और यदि सीमा समाप्त हो गई है - यह आपको अनदेखा करना शुरू कर देगा।

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


14
जब तक आपकी स्क्रिप्ट वास्तव में समझ सकती है कि क्या कहा जा रहा है (खोजशब्दों को लेने के बजाय), मुझे लगता है कि अधिकांश व्यंग्य परिदृश्यों को पकड़ना असंभव है
Rob

26
@ क्ले चलो यहाँ स्पष्ट है। Sarcasm बोली जाने वाली भाषा में सबसे सूक्ष्म और उन्नत उपकरणों में से एक है। यहां तक ​​कि अगर आप एक देशी अंग्रेजी बोलने वाले हैं, तो सूक्ष्मता पर पूरी तरह से सक्षम हैं, जैसे कि स्वर और किसी भी प्रासंगिक प्रासंगिक जानकारी, आप नियमित रूप से व्यंग्य का पता लगाने में विफल रहेंगे। गैर-देशी वक्ताओं के पास लगभग कोई मौका नहीं है। इसे पाठ पर ले जाएं और यहां तक ​​कि देशी बोलने वाले भी लगभग कोई मौका नहीं छोड़ते। और आप कंप्यूटर चाहते हैं, जो इस समस्या को हल करने के लिए, सबसे सरल वाक्यों को भी स्पष्ट रूप से समझने के लिए संघर्ष करता है? इसे भाषण और पाठ विश्लेषण में जीवन भर किसी को छोड़ दें।
doppelgreener

17
एक स्क्रिप्ट को व्यंग्य पहचानते हैं? यह उपयोगी है;)
zenzelezz

12
चलो - यहां तक ​​कि शेल्डन कूपर भी व्यंग्य का पता नहीं लगा सकते ...
पॉल आर

3
मुझे नहीं लगता कि यह सवाल बंद कर दिया जाना चाहिए था, विशेष रूप से "रचनात्मक नहीं" के रूप में। अगर यह बाध्यकारी नहीं होता, तो मैं अभी एक फिर से वोट डाल सकता हूं, लेकिन मुझे लगता है कि यह सवाल विशेष रूप से नवीनतम संपादन के साथ कुछ फिर से वोट देने के योग्य है।
एडम लेअर

जवाबों:


17

यदि आपके पास एक पूर्ण प्राकृतिक भाषा प्रसंस्करण प्रणाली और आईबीएम वाटसन सिस्टम के तथ्यों का एक डेटाबेस है, तो आप संभवत: कटाक्ष के रूप में कुछ बयानों को चिह्नित करने में सक्षम हो सकते हैं। उदाहरण के लिए, "मैंने सुना है कि आपकी माँ को कैंसर है और आपको बस निकाल दिया गया है!" "हाँ, जीवन अद्भुत नहीं है!" इसे ध्वजांकित किया जा सकता है क्योंकि यह पहचान सकता है कि कैंसर प्राप्त करना और नौकरी खोना आमतौर पर सकारात्मक अनुभव के रूप में वर्णित नहीं है।

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

छल से धोखे का बहुत गहरा संबंध है। किसी व्यक्ति द्वारा इसे चुनौती दिए जाने पर उसे खारिज करने के लिए व्यंग्य करना असामान्य नहीं है, और शब्दों का उनका चयन अस्वीकार करना संभव बनाता है। मुझे संदेह है कि इसका मतलब यह है कि एक अच्छा व्यंग्य डिटेक्टर शायद एक वार्तालाप कार्यक्रम के रूप में कठिन समस्या है जो ट्यूरिंग परीक्षण से गुजरता है।


1
आपके उत्तर के लिए धन्यवाद। यह उत्तर गुणवत्ता निश्चित रूप से बेहतर है तो ऊपर वाला। मुझे लगता है कि वास्तविक वाक्यांश का एक डेटाबेस बनाना बहुत बड़ा है। हालाँकि शब्दों का एक डेटाबेस + कुछ अन्य तरीके, वास्तव में इसे काम कर सकते हैं (100% नहीं, लेकिन फिर 0% नहीं)। मैं एक सत्यापन चरण जोड़ने की योजना बना रहा हूं। यदि स्क्रिप्ट में थोड़े बहुत व्यंग्य का पता चलता है, तो यह पूछेगी: क्या वह कटाक्ष था? यदि आप जवाब देते हैं: "ओह नो", तो यह व्यंग्य की पुष्टि करता है और वास्तव में पागल हो जाता है और आपको कुछ समय के लिए अनदेखा करता है (समय व्यंग्य के स्तर से निर्धारित होगा)।
कलल एच। वैवरास

3
मुझे वास्तव में लगता है कि आप वाक्यांशों के साथ रहना चाहते हैं क्योंकि व्यंग्य सभी संदर्भ के बारे में है, और कम से कम कुछ वाक्यांश हैं जिनका उपयोग व्यंग्यात्मक होने की अधिक संभावना है। "हाँ" व्यंग्यात्मक नहीं है, "सही" व्यंग्यात्मक नहीं है, लेकिन "हाँ, सही है!" शायद अधिक बार व्यंग्यात्मक रूप से ईमानदारी से उपयोग किया जाता है।
चार्ल्स ई। ग्रांट

6
यहाँ उत्तर की गुणवत्ता के लिए, मुझे यह कहना है कि यह आंशिक रूप से आपकी जिम्मेदारी है। प्राकृतिक भाषा प्रसंस्करण एक प्रसिद्ध क्षेत्र है जो आपको कई उपयोगी तकनीकों के साथ प्रदान कर सकता है, लेकिन आप मौजूदा तरीकों को देखने के लिए किसी भी शोध को करने का कोई संकेत नहीं देते हैं। यह एक कठिन समस्या है, और कुछ ऐसा नहीं है जो एसओ पोस्ट में सामान्य रूप से उपयोगी हो सकता है। कई, कई, प्राकृतिक भाषा प्रसंस्करण के विषय पर किताबें भरी गई हैं।
चार्ल्स ई। ग्रांट

43

<ताना>

if(string.Contains("<Sarcasm>")) containsSarcasm = true;

</ ताना>

ईमानदारी से, मुझे नहीं पता कि इस बारे में कैसे जाना जाए। मुझे लगता है कि वास्तविक जीवन में केवल 30% लोगों को पहली बार में "व्यंग्य" मिलता है, इसलिए कंप्यूटर को पहचानना और समझना यह एक बहुत कठिन काम लगता है।

संपादित करें मेरी मूल पोस्ट पर टिप्पणियों के आधार पर, मुझे विश्वास है कि मैंने उस कार्य की अत्यधिक कठिनाई को पूरी तरह से चित्रित किया है जो पूछा जा रहा है। हाँ, मेरी पोस्ट का पहला भाग व्यंग्यात्मक था। मैंने एक मेकअप मार्कअप टैग का उपयोग करके उस तथ्य पर भी जोर दिया। असाधारण रूप से कठिन समस्या के लिए एक तुच्छ समाधान के बारे में व्यंग्यात्मक टिप्पणी पोस्ट करने से, और उस व्यंग्य को "अनहेल्दी" के रूप में व्याख्या किए जाने से यह सवाल उठता है:

यदि आप लिखित व्यंग्य को नहीं पहचान सकते हैं, तो आप एक एल्गोरिथ्म कैसे लिखने जा रहे हैं जो इसे पहचानता है?

ओह, और अन्ना अगर किसी को उनके वाक्य में "मुझे लगता है ..." शब्द शामिल है, तो यह आमतौर पर इंगित करता है कि यह एक राय है जिसे कहा जा रहा है, जरूरी नहीं कि कठिन तथ्य पर शोध किया जाए।


3
-1 मुझे खेद है, मुझे यकीन नहीं है कि यह उत्तर क्यों हो रहा है। प्रदान किया गया कोड हाथ में प्रश्न के लिए 100% अप्रासंगिक है और उत्तर का दूसरा भाग जो आप कह रहे हैं "मेरे पास कोई विचार नहीं है"। आपका उत्तर 30% ऑन-टॉपिक है और वास्तव में कोई अच्छी दिशा देने या देने में मदद नहीं करता है।
कलल एच। वैवराज

18
यह अपवित्र हो रहा है क्योंकि पोस्टर ने बताया है कि ऐसा करने का कोई व्यावहारिक तरीका नहीं है। चूंकि मनुष्य अक्सर व्यंग्य का पता नहीं लगा सकते हैं, तो कोई तरीका नहीं है जिससे आप मशीन को सिखा सकें। इसके अलावा, व्यंग्य अक्सर आवाज के लहजे से व्यक्त किया जाता है, और इसलिए अक्सर ऑनलाइन संचार में गलत समझा जाता है।
एंडी वेट

1
@ एंडी वेट हां, बिल्कुल, आप सही हैं। जैसा कि मैंने कहा कि 30% ऑन-टॉपिक में उत्तर देने में संकोच होता है (यहां तक ​​कि सोचा कि जब वह कोई अतिरिक्त-पाठ नहीं था तब उठने लगा था।) फिर भी, मैं उस उत्तर को स्वीकार नहीं करूंगा, क्योंकि .. हाँ बेशक आपको 100% मैच नहीं मिल सकता है। लेकिन 50% मैच भी? यह उत्तर मूल रूप से कह रहा है, "मैं आपके प्रश्न को नहीं समझता, मुझे लगता है कि यह संभव नहीं है, कठिन लगता है, बस छोड़ दिया!" मुझे ज्यादातर प्रोग्रामर्स में केवल इस प्रकार के उत्तर मिलते हैं, "आप ऐसा क्यों कर रहे हैं? इसके बगल में एक फ्रेमवर्क का उपयोग करें!"
काल एच। वैवरास

4
@ क्या मैं आपसे सहमत हूँ। यह उत्तर भाग व्यंग्य है, भाग "मुझे नहीं पता", और भाग अनुमान (30%? वास्तव में? क्या वह वापस वापस आ सकता है?)। यह पूरी तरह से बेकार है और कम से कम एक टिप्पणी तो होनी ही चाहिए।
एडम लेअर

3
दिलचस्प टिप्पणी धागा - जाहिर तौर पर यहां तक ​​कि मनुष्य भी मज़बूती से (या इसके अभाव का) पता नहीं लगा सकते हैं।
पिस्कोर ने बिल्डिंग सेप

11

व्यंग्यात्मक खोज की समस्या कम्प्यूटेशनल भाषा विज्ञान में एक खुली समस्या है - ऐसी चीजों के लिए स्टैकएक्सचेंज की तुलना में Google विद्वान की खोज करने से आपको बेहतर सेवा मिलेगी । हालाँकि, इस मुद्दे पर कुछ प्रगति हुई है। के लिए बोले गए व्यंग्य, एक मजबूत पहचानकर्ता "वर्णक्रमीय और प्रासंगिक सुविधाओं" का उपयोग कर बनाया जा सकता है और साथ ही एक मानव व्याख्याकार के रूप में (लेखकों का दावा है) पहचान लेता है व्यंग्य है। कागज के लेखकों का दावा है कि कच्चे पाठ इसलिए व्यंग्य का पता लगाने के लिए पर्याप्त नहीं है - वास्तव में, उन्होंने कहा जा रहे वास्तविक शब्दों की अनदेखी करके बेहतर परिणाम प्राप्त किए ।

ससुर एट अल। पिछले साल अपने एसएएसआई एल्गोरिथ्म के साथ पाठकीय व्यंग्य का पता लगाने के कुछ दिलचस्प परिणामों की भी रिपोर्ट की है । वे दूसरे पेपर में कुछ अतिरिक्त फॉलोअप निष्कर्षों की भी रिपोर्ट करते हैं

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


हम्म, 77%? जो कि ज्यादातर लोगों से बेहतर लगता है । (कोई व्यंग्य नहीं है)
पिस्कोर ने

@Piskvor, संभवतः, लेकिन मेरे पास उस पर आंकड़े नहीं हैं। यह कम से कम एक ऑडियो की तुलना में बेहतर सटीक है।
15

2

मुझे नहीं लगता कि यह उत्तर दृष्टिकोण का एक बहुत ही यथार्थवादी तरीका है, लेकिन अगर आपके पास इसे करने के लिए संसाधन थे, तो मुझे विश्वास है कि यह संभव होगा। Google की reCaptcha परियोजना पर विचार करें जो मनुष्य को शब्दों को समझने के लिए उपयोग करती है जिसे कंप्यूटर नहीं पढ़ सकते हैं ( "अधिक जानें Recaptcha पेज" )। मेरा मानना ​​है कि समस्या इसी तरह की है, जिसमें आप यह जानने की कोशिश कर रहे हैं कि इंसान क्या कर रहा है, यह मशीन पहले से ही कम से कम बेहतर है

कल्पना कीजिए कि आपके पास टाइप वार्तालाप वार्तालाप के भीतर लाखों लोगों को आपसे व्यंग्य की पहचान करने के लिए कहने के लिए संसाधन थे। कल्पना कीजिए कि आप पूछ सकते हैं कि बहुत से लोग बातचीत में आपके लिए सटीक क्षण प्रस्तुत कर सकते हैं जब व्यंग्य का एहसास हुआ और बोध से पहले की बातचीत से थोड़ा सा भी उस पहचान को चिह्नित करने की आवश्यकता होगी। यह एक डेटाबेस में संग्रहीत किया जा सकता है मान लें, जिसे आपके प्रोग्राम की पहुंच थी। फिर, जैसा कि उपयोगकर्ता आपसे बातचीत टाइप कर रहा था, डेटाबेस को "समान" वार्तालापों के लिए फ़िल्टर किया जा सकता था।

समानता का मूल्यांकन कैसे किया जाता है, इसके बारे में सोचने के लिए कुछ है, लेकिन मुझे लगता है कि पहले से ही अस्तित्व में अनुसंधान है। मेरा मानना ​​है कि यह त्रुटि सुधारों के पीछे सिद्धांत की तरह होगा। किसी भी तरह से यह संभवतः एक संभाव्य मूल्य पर नीचे आएगा कि टाइप की जा रही बातचीत वास्तव में व्यंग्यात्मक है, और कुछ बिंदु पर एक सीमा प्रदान करनी होगी।

मुझे यह सवाल पेश करने का आपका विचार भी पसंद है "क्या वह व्यंग्य था?" उपयोगकर्ता तक और फिर उनकी प्रतिक्रिया का उपयोग करके अधिक सटीक निर्णय तक पहुंचने के लिए।

मुझे उम्मीद है कि मेरा जवाब पूरी तरह से बेकार नहीं था और मैं इस प्रयास में आपको शुभकामनाएं देता हूं।

-Asaf


1

कम्प्यूटेशनल भाषा विज्ञान (उर्फ प्राकृतिक भाषा प्रसंस्करण) में सारस्कैम का पता लगाना अपने आप में एक अत्यंत कठिन समस्या है। यह मूल रूप से एक वर्गीकरण समस्या है जहां एक मॉडल को पहले प्रशिक्षित किया जाना चाहिए। डबल-एंटेंडर्स (पीडीएफ फाइल) खोजने के लिए एक समान समस्या हाल ही में शोध और प्रकाशित की गई थी। दोनों समस्याओं की तकनीक तुलनीय है।


1

मेरे 2 सेंट:

मनोवैज्ञानिक से पूछें कि वाक्यांशों में व्यंग्य को कैसे पहचाना जाए, इस जानकारी के साथ उनकी तुलना इनपुट से करें।

लेकिन यह वास्तव में एक कठिन परियोजना होगी, जिसमें इस्तेमाल किए गए प्रयास के साथ, आप सुनिश्चित करने के लिए दुनिया में सबसे अच्छा ओएस कर सकते हैं: पी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.