प्रेडिक्टिव मॉडल प्लेटोब्लॉकचैन डेटा इंटेलिजेंस को प्रशिक्षित करने के लिए अमेज़ॅन नेप्च्यून में बहुभाषी टेक्स्ट गुणों को एनकोड करें। लंबवत खोज। ऐ।

भविष्य कहनेवाला मॉडल को प्रशिक्षित करने के लिए अमेज़ॅन नेपच्यून में बहुभाषी पाठ गुणों को एन्कोड करें

अमेज़ॅन नेपच्यून एमएल की एक मशीन लर्निंग (एमएल) क्षमता है अमेज़न नेपच्यून जो आपके ग्राफ़ डेटा पर सटीक और तेज़ भविष्यवाणियाँ करने में आपकी सहायता करता है। हुड के तहत, नेप्च्यून एमएल मौजूदा कार्य को हल करने के लिए ग्राफ संरचना और नोड/किनारे गुणों का एक साथ लाभ उठाने के लिए ग्राफ न्यूरल नेटवर्क (जीएनएन) का उपयोग करता है। पारंपरिक विधियाँ या तो केवल गुणों का उपयोग करती हैं और कोई ग्राफ़ संरचना नहीं (उदाहरण के लिए, XGBoost, न्यूरल नेटवर्क), या केवल ग्राफ़ संरचना और कोई गुण नहीं (उदाहरण के लिए, नोड2वेक, लेबल प्रसार)। नोड/एज गुणों को बेहतर ढंग से हेरफेर करने के लिए, एमएल एल्गोरिदम को डेटा को अच्छी तरह से व्यवहारित संख्यात्मक डेटा की आवश्यकता होती है, लेकिन डेटाबेस में कच्चे डेटा में अन्य प्रकार भी हो सकते हैं, जैसे कच्चा पाठ। इन अन्य प्रकार के डेटा का उपयोग करने के लिए, हमें विशेष प्रसंस्करण चरणों की आवश्यकता होती है जो उन्हें उनके मूल प्रकार से संख्यात्मक डेटा में परिवर्तित करते हैं, और एमएल परिणामों की गुणवत्ता दृढ़ता से इन डेटा परिवर्तनों की गुणवत्ता पर निर्भर करती है। कच्चे पाठ, वाक्यों की तरह, रूपांतरित करने के लिए सबसे कठिन प्रकारों में से हैं, लेकिन प्राकृतिक भाषा प्रसंस्करण (एनएलपी) के क्षेत्र में हाल की प्रगति ने मजबूत तरीकों को जन्म दिया है जो कई भाषाओं और विभिन्न प्रकार की लंबाई से आने वाले पाठ को संभाल सकते हैं।

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

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

टेक्स्ट एन्कोडर क्या है?

टेक्स्ट एन्कोडिंग का लक्ष्य नेप्च्यून में टेक्स्ट-आधारित किनारे/नोड गुणों को नोड वर्गीकरण या लिंक भविष्यवाणी कार्यों के लिए डाउनस्ट्रीम मशीन लर्निंग मॉडल में उपयोग के लिए निश्चित आकार के वैक्टर में परिवर्तित करना है। टेक्स्ट फीचर की लंबाई बहुत भिन्न हो सकती है। यह एक शब्द, वाक्यांश, वाक्य, पैराग्राफ या यहां तक ​​कि कई वाक्यों वाला एक दस्तावेज़ भी हो सकता है (नेप्च्यून में एक संपत्ति का अधिकतम आकार 55 एमबी है)। इसके अतिरिक्त, पाठ सुविधाएँ विभिन्न भाषाओं में हो सकती हैं। ऐसे वाक्य भी हो सकते हैं जिनमें कई अलग-अलग भाषाओं के शब्द हों, जिन्हें हम इस रूप में परिभाषित करते हैं कोड स्विचिंग.

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

  • text_fasttext (नया) - उपयोग फास्टटेक्स्ट एन्कोडिंग. फास्टटेक्स्ट कुशल पाठ प्रतिनिधित्व सीखने के लिए एक पुस्तकालय है। text_fasttext उन सुविधाओं के लिए अनुशंसित है जो फास्टटेक्स्ट द्वारा समर्थित पांच भाषाओं (अंग्रेजी, चीनी, हिंदी, स्पेनिश और फ्रेंच) में से केवल एक का उपयोग करती हैं। text_fasttext विधि वैकल्पिक रूप से ले सकते हैं max_length फ़ील्ड, जो टेक्स्ट प्रॉपर्टी मान में एन्कोड किए जाने वाले टोकन की अधिकतम संख्या निर्दिष्ट करती है, जिसके बाद स्ट्रिंग को छोटा कर दिया जाता है। आप टोकन को एक शब्द के रूप में मान सकते हैं। जब टेक्स्ट प्रॉपर्टी मानों में लंबी स्ट्रिंग्स होती हैं तो यह प्रदर्शन में सुधार कर सकता है, क्योंकि यदि max_length निर्दिष्ट नहीं है, fastText स्ट्रिंग की लंबाई की परवाह किए बिना सभी टोकन को एन्कोड करता है।
  • text_sbert (नया) - वाक्य BERT का उपयोग करता है (एसबीईआरटी) एन्कोडिंग विधि। एसबीईआरटी प्रासंगिक प्रतिनिधित्व शिक्षण मॉडल, बीईआरटी-नेटवर्क का उपयोग करके एक प्रकार की वाक्य एम्बेडिंग विधि है। text_sbert जब भाषा समर्थित न हो तो इसकी अनुशंसा की जाती है text_fasttext. नेपच्यून दो SBERT विधियों का समर्थन करता है: text_sbert128, जो कि यदि आप अभी निर्दिष्ट करते हैं तो डिफ़ॉल्ट है text_sbert, तथा text_sbert512. उनके बीच का अंतर किसी टेक्स्ट प्रॉपर्टी में एन्कोड किए गए टोकन की अधिकतम संख्या है। text_sbert128 एन्कोडिंग केवल पहले 128 टोकन को एनकोड करती है, जबकि text_sbert512 512 टोकन तक एन्कोड करता है। परिणामस्वरूप, उपयोग करना text_sbert512 से अधिक प्रसंस्करण समय की आवश्यकता हो सकती है text_sbert128. दोनों विधियाँ धीमी हैं text_fasttext.
  • text_word2vec - उपयोग करता है वर्ड2पुराना टेक्स्ट को एनकोड करने के लिए एल्गोरिदम मूल रूप से Google द्वारा प्रकाशित किया गया था। Word2Vec केवल अंग्रेजी का समर्थन करता है।
  • text_tfidf - एक शब्द आवृत्ति-व्युत्क्रम दस्तावेज़ आवृत्ति का उपयोग करता है (TF-आईडीएफ) एन्कोडिंग टेक्स्ट के लिए वेक्टराइज़र। टीएफ-आईडीएफ एन्कोडिंग उन सांख्यिकीय विशेषताओं का समर्थन करती है जो अन्य एन्कोडिंग नहीं करती हैं। यह अन्य सभी नोड्स के बीच एक नोड संपत्ति में शब्दों के महत्व या प्रासंगिकता को मापता है।

ध्यान दें कि text_word2vec और text_tfidf पहले समर्थित थे और नए तरीके text_fasttext और text_sbert पुराने तरीकों की तुलना में इसकी अनुशंसा की जाती है।

विभिन्न टेक्स्ट एन्कोडर्स की तुलना

निम्न तालिका सभी समर्थित टेक्स्ट एन्कोडिंग विकल्पों की विस्तृत तुलना दिखाती है (text_fasttext, text_sbert, तथा text_word2vec). text_tfidf यह एक मॉडल-आधारित एन्कोडिंग विधि नहीं है, बल्कि एक गिनती-आधारित माप है जो मूल्यांकन करता है कि एक टोकन (उदाहरण के लिए, एक शब्द) अन्य नोड्स या किनारों में पाठ सुविधाओं के लिए कितना प्रासंगिक है, इसलिए हम शामिल नहीं करते हैं text_tfidf तुलना के लिए। हम उपयोग करने की सलाह देते हैं text_tfidf जब आप अन्य सभी नोड या एज प्रॉपर्टी के बीच एक नोड या एज प्रॉपर्टी में कुछ शब्दों के महत्व या प्रासंगिकता को मापना चाहते हैं।)

. . text_fasttext text_sbert text_word2vec
मॉडल क्षमता समर्थित भाषा अंग्रेजी, चीनी, हिंदी, स्पेनिश और फ्रेंच 50 से अधिक भाषाएँ अंग्रेज़ी
उन पाठ गुणों को एन्कोड कर सकते हैं जिनमें विभिन्न भाषाओं के शब्द शामिल हैं नहीं हाँ नहीं
अधिकतम-लंबाई समर्थन अधिकतम लंबाई की कोई सीमा नहीं पाठ अनुक्रम को 128 और 512 की अधिकतम लंबाई के साथ एन्कोड करता है अधिकतम लंबाई की कोई सीमा नहीं
समय लागत लदान लगभग 10 सेकंड लगभग 2 सेकंड लगभग 2 सेकंड
अनुमान तेज धीरे मध्यम

निम्नलिखित उपयोग युक्तियों पर ध्यान दें:

  • अंग्रेजी, चीनी, हिंदी, स्पैनिश और फ़्रेंच में टेक्स्ट प्रॉपर्टी मानों के लिए, text_fasttext अनुशंसित एन्कोडिंग है. हालाँकि, यह उन मामलों को नहीं संभाल सकता जहाँ एक ही वाक्य में एक से अधिक भाषाओं के शब्द हों। पाँच के अलावा अन्य भाषाओं के लिए fastText समर्थन करता है, उपयोग करता है text_sbert एन्कोडिंग।
  • यदि आपके पास कई संपत्ति मूल्य टेक्स्ट स्ट्रिंग हैं, उदाहरण के लिए, 120 टोकन से अधिक, तो इसका उपयोग करें max_length प्रत्येक स्ट्रिंग में टोकन की संख्या सीमित करने के लिए फ़ील्ड text_fasttext एन्कोड करता है।

संक्षेप में, आपके उपयोग के मामले के आधार पर, हम निम्नलिखित एन्कोडिंग विधि की अनुशंसा करते हैं:

  • यदि आपके टेक्स्ट गुण पाँच समर्थित भाषाओं में से एक में हैं, तो हम इसका उपयोग करने की सलाह देते हैं text_fasttext इसके त्वरित अनुमान के कारण. text_fasttext अनुशंसित विकल्प हैं और आप इसका उपयोग भी कर सकते हैं text_sbert निम्नलिखित दो अपवादों में.
  • यदि आपके टेक्स्ट गुण अलग-अलग भाषाओं में हैं, तो हम इसका उपयोग करने की सलाह देते हैं text_sbert क्योंकि यह एकमात्र समर्थित विधि है जो कई अलग-अलग भाषाओं में शब्दों वाले टेक्स्ट गुणों को एन्कोड कर सकती है।
  • यदि आपके टेक्स्ट गुण एक ऐसी भाषा में हैं जो पांच समर्थित भाषाओं में से एक नहीं है, तो हम इसका उपयोग करने की सलाह देते हैं text_sbert क्योंकि यह 50 से अधिक भाषाओं को सपोर्ट करता है।
  • यदि आपके टेक्स्ट गुणों की औसत लंबाई 128 से अधिक है, तो उपयोग करने पर विचार करें text_sbert512 or text_fasttext. दोनों विधियाँ लंबे पाठ अनुक्रमों को एन्कोड करने का उपयोग कर सकती हैं।
  • यदि आपके टेक्स्ट गुण केवल अंग्रेजी में हैं, तो आप इसका उपयोग कर सकते हैं text_word2vec, लेकिन हम उपयोग करने की सलाह देते हैं text_fasttext इसके त्वरित अनुमान के लिए.

केस डेमो का उपयोग करें: नौकरी अनुशंसा कार्य

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

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

डेटासेट में, उपयोगकर्ताओं के पास निम्नलिखित गुण होते हैं:

  • राज्य - उदाहरण के लिए, सीए या 广东省 (चीनी)
  • प्रमुख - उदाहरण के लिए, मानव संसाधन प्रबंधन या एलआईसी साइटुरा फिशिका (स्पेनिश)
  • डिग्री प्रकार - उदाहरण के लिए, बैचलर, मास्टर, पीएचडी, या कोई नहीं
  • कार्य इतिहास गणना - उदाहरण के लिए, 0, 1, 16, इत्यादि
  • कुल वर्षों का अनुभव - उदाहरण के लिए, 0.0, 10.0, या NAN

नौकरियों में निम्नलिखित गुण होते हैं:

  • शीर्षक - उदाहरण के लिए, प्रशासनिक सहायक या एलआईसी कल्टुरा फिसिका (स्पेनिश)।
  • Description - उदाहरण के लिए, "यह प्रशासनिक सहायक पद संचार के क्षेत्रों में विभिन्न प्रकार के लिपिकीय और प्रशासनिक सहायता कार्यों को करने के लिए जिम्मेदार है, ..." विवरण में शब्दों की औसत संख्या लगभग 192.2 है।
  • आवश्यकताएँ - उदाहरण के लिए, "नौकरी की आवश्यकताएँ: 1. विवरण पर ध्यान;" 2. तेज गति वाले वातावरण में काम करने की क्षमता; 3. चालान..."
  • राज्य: - उदाहरण के लिए, सीए, एनवाई, इत्यादि।

नोड प्रकार शहर जैसे वाशिंगटन डीसी और ऑरलैंडो एफएल में केवल प्रत्येक नोड के लिए पहचानकर्ता होता है। निम्नलिखित अनुभाग में, हम विभिन्न टेक्स्ट विशेषताओं की विशेषताओं का विश्लेषण करते हैं और बताते हैं कि विभिन्न टेक्स्ट गुणों के लिए उचित टेक्स्ट एनकोडर का चयन कैसे करें।

विभिन्न टेक्स्ट एनकोडर का चयन कैसे करें

हमारे उदाहरण के लिए, प्रमुख और शीर्षक गुण कई भाषाओं में हैं और उनमें संक्षिप्त पाठ अनुक्रम हैं, इसलिए text_sbert इसकी सिफारिश की जाती है। के लिए नमूना कोड निर्यात पैरामीटर इस प्रकार है। के लिए text_sbert प्रकार, कोई अन्य पैरामीटर फ़ील्ड नहीं हैं। यहां हम चुनते हैं text_sbert128 अन्य की तुलना में text_sbert512, क्योंकि पाठ की लंबाई 128 से अपेक्षाकृत कम है।

"additionalParams": {
    "neptune_ml": {
        "version": "v2.0",
        "targets": [ ... ],
        "features": [
            {
                "node": "user",
                "property": "Major",
                "type": "text_sbert128"
            },
            {
                "node": "job",
                "property": "Title",
                "type": "text_sbert128",
            }, ...
        ], ...
    }
}

RSI Description और आवश्यकताएँ गुण आमतौर पर लंबे पाठ अनुक्रमों में होते हैं। विवरण की औसत लंबाई लगभग 192 शब्द है, जो अधिकतम इनपुट लंबाई से अधिक है text_sbert (128). हम इसका उपयोग कर सकते हैं text_sbert512, लेकिन इसका परिणाम धीमा अनुमान हो सकता है। इसके अलावा, पाठ एक ही भाषा (अंग्रेजी) में है। इसलिए, हम अनुशंसा करते हैं text_fasttext साथ en भाषा का मूल्य इसके तेज़ अनुमान और सीमित इनपुट लंबाई के कारण नहीं है। के लिए नमूना कोड निर्यात पैरामीटर इस प्रकार है। text_fasttext एन्कोडिंग का उपयोग करके अनुकूलित किया जा सकता है भाषा और अधिकतम लंबाईlanguage मान आवश्यक है, लेकिन max_length वैकल्पिक है।

"additionalParams": {
    "neptune_ml": {
        "version": "v2.0",
        "targets": [ ... ],
        "features": [
            {
                "node": "job",
                "property": "Description",
                "type": "text_fasttext",
                "language": "en",
                "max_length": 256
            },
            {
                "node": "job",
                "property": "Requirements",
                "type": "text_fasttext",
                "language": "en"
            }, ...
        ], ...
    }
}

नौकरी अनुशंसा उपयोग मामलों का अधिक विवरण यहां पाया जा सकता है नेप्च्यून नोटबुक ट्यूटोरियल.

प्रदर्शन उद्देश्यों के लिए, हम एक उपयोगकर्ता का चयन करते हैं, यानी, उपयोगकर्ता 443931, जिसके पास 'प्रबंधन और मानव संसाधन' में मास्टर डिग्री है। उपयोगकर्ता ने "मानव संसाधन (एचआर) प्रबंधक", "एचआर जनरलिस्ट", "मानव संसाधन प्रबंधक", "मानव संसाधन प्रशासक" और "वरिष्ठ पेरोल विशेषज्ञ" शीर्षक से पांच अलग-अलग नौकरियों के लिए आवेदन किया है। अनुशंसा कार्य के प्रदर्शन का मूल्यांकन करने के लिए, हम उपयोगकर्ता के 50% लागू कार्यों (किनारों) को हटा देते हैं (यहां हम "मानव संसाधन प्रशासक" और "मानव संसाधन (एचआर) प्रबंधक) को हटा देते हैं और शीर्ष की भविष्यवाणी करने का प्रयास करते हैं 10 नौकरियाँ जिनके लिए इस उपयोगकर्ता द्वारा आवेदन करने की सबसे अधिक संभावना है।

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

निष्कर्ष

इस पोस्ट में, हमने नेप्च्यून एमएल में नए समर्थित टेक्स्ट एनकोडर का उपयोग दिखाया। ये टेक्स्ट एनकोडर उपयोग में आसान हैं और कई आवश्यकताओं का समर्थन कर सकते हैं। सारांश,

  • text_fasttext उन सुविधाओं के लिए अनुशंसित है जो text_fasttext द्वारा समर्थित पांच भाषाओं में से एक और केवल एक का उपयोग करती हैं।
  • text_sbert की अनुशंसा उस पाठ के लिए की जाती है जिसका text_fasttext समर्थन नहीं करता है।
  • text_word2vec केवल अंग्रेजी का समर्थन करता है, और किसी भी परिदृश्य में text_fasttext द्वारा प्रतिस्थापित किया जा सकता है।

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


लेखक के बारे में

प्रेडिक्टिव मॉडल प्लेटोब्लॉकचैन डेटा इंटेलिजेंस को प्रशिक्षित करने के लिए अमेज़ॅन नेप्च्यून में बहुभाषी टेक्स्ट गुणों को एनकोड करें। लंबवत खोज। ऐ।जियानी झांग AWS AI रिसर्च एंड एजुकेशन (AIRE) के एक व्यावहारिक वैज्ञानिक हैं। वह मशीन लर्निंग एल्गोरिदम, विशेष रूप से प्राकृतिक भाषा और ग्राफ़ से संबंधित समस्याओं का उपयोग करके वास्तविक दुनिया के अनुप्रयोगों को हल करने पर काम करती है।

समय टिकट:

से अधिक AWS मशीन लर्निंग

बिल्ड, शेयर, डिप्लॉय: कैसे व्यापार विश्लेषक और डेटा वैज्ञानिक बिना कोड एमएल और अमेज़ॅन सेजमेकर कैनवास का उपयोग करके तेजी से समय-समय पर बाजार प्राप्त करते हैं

स्रोत नोड: 1210859
समय टिकट: मार्च 10, 2022