సింటాక్స్:
టెక్స్ట్ యొక్క వర్డ్ ఎంబెడ్డింగ్ కోసం వివిధ విధులు సహజ భాషా ప్రాసెసింగ్ కిందకు వస్తాయి. ఈ వ్యాసం ఈ ప్రయోజనం కోసం “word2vec” ఫంక్షన్ను కవర్ చేస్తుంది. దీన్ని మరింత స్పష్టంగా చెప్పడానికి, ఎంబెడ్డింగ్ అనే పదం మన టెక్స్ట్ ఇన్పుట్లను వెక్టార్ ప్రాతినిధ్యంగా మారుస్తుంది, ఇక్కడ ఎక్కువ లేదా తక్కువ సందర్భోచిత అర్థాలు ఉన్న పదాలు ఒకే ప్రాతినిధ్యాన్ని ఇస్తాయి.
'word2vec' అల్గోరిథం అనేది ఒక న్యూరల్ నెట్వర్క్ మోడల్, ఇది పదం కనిపించే సందర్భాన్ని ముందుగా అంచనా వేయడం ద్వారా పదాలను పొందుపరచడాన్ని నేర్చుకునే విధంగా శిక్షణ పొందుతుంది. ఈ మోడల్ టెక్స్ట్ని ఇన్పుట్గా తీసుకుంటుంది. అప్పుడు, టెక్స్ట్లోని ప్రతి పదానికి, ఆ పదానికి వెక్టర్ ప్రాతినిధ్యం సృష్టించబడుతుంది. ఈ నమూనా ఒకే సందర్భంతో కనిపించే పదాలకు ఒకే అర్థాలను కలిగి ఉండాలనే ఆలోచనపై ఆధారపడి ఉంటుంది. “word2vec” కోసం వాక్యనిర్మాణం క్రింది విధంగా ఉంది:
$ Word2Vec(వాక్యాలు, min_count)
ఈ అల్గోరిథం 'వాక్యాలు' మరియు 'కనీస_గణన' అనే రెండు పారామితులను కలిగి ఉంది. వాక్యం అనేది వాక్యాల జాబితా లేదా వాక్యాల రూపంలోని వచనం నిల్వ చేయబడే వేరియబుల్ మరియు కనిష్ట_గణన 1 యొక్క గణన విలువ గురించి మాట్లాడుతుంది అంటే టెక్స్ట్లోని పదాలు ఒకటి కంటే తక్కువగా కనిపించిన వాటిని విస్మరించాల్సిన అవసరం ఉంది. .
ఉదాహరణ 1:
ఈ ఉదాహరణలో, మేము ఆంగ్ల వాక్యాల జాబితాలో ఉన్న పదాల కోసం పదం ఎంబెడ్డింగ్లను సృష్టిస్తాము. 'ఎంబెడ్డింగ్' అనే పదాన్ని సృష్టించడానికి, మేము 'word2vec' మోడల్ని ఉపయోగించాలి. ఈ మోడల్ పైథాన్ యొక్క 'జెన్సిమ్' లైబ్రరీ యొక్క ప్యాకేజీ. “word2vec”తో పని చేయడానికి మన పైథాన్ లైబ్రరీ రిపోజిటరీలలో జెన్సిమ్ను ఇన్స్టాల్ చేయాలి.
ఈ ఉదాహరణను అమలు చేయడానికి, మేము 'google colab' ఆన్లైన్ పైథాన్ కంపైలర్లో పని చేస్తాము. జెన్సిమ్ను ఇన్స్టాల్ చేయడానికి, “పిప్ ఇన్స్టాల్ జెన్సిమ్” ఆదేశాన్ని ఉపయోగించండి. ఇది ఈ లైబ్రరీని దాని అనుబంధిత ప్యాకేజీలన్నిటితో డౌన్లోడ్ చేయడం ప్రారంభిస్తుంది. ఇది ఇన్స్టాల్ చేయబడిన తర్వాత, జెన్సిమ్ నుండి “word2vector” ప్యాకేజీని siwe దిగుమతి చేయండి.
ఈ “word2vec” మోడల్కు శిక్షణ ఇవ్వడానికి, మేము శిక్షణ డేటాసెట్ను సృష్టించాలి. దాని కోసం, మేము నాలుగు నుండి ఐదు ఆంగ్ల వాక్యాలను కలిగి ఉన్న వాక్యాల జాబితాను రూపొందిస్తాము. మేము ఈ జాబితాను “training_data” వేరియబుల్లో సేవ్ చేస్తాము.
శిక్షణ డేటాసెట్ను సృష్టించిన తర్వాత మా తదుపరి దశ ఈ డేటాపై “word2vec” మోడల్కు శిక్షణ ఇవ్వడం. కాబట్టి, మేము మోడల్ అని పిలుస్తాము. మేము 'ఇన్పుట్' వేరియబుల్లో సేవ్ చేసిన ఈ మోడల్ యొక్క ఇన్పుట్ పారామితులలో శిక్షణ డేటాను అందిస్తాము. అప్పుడు, మేము 'కనిష్ట_గణన' అయిన రెండవ పరామితిని నిర్దేశిస్తాము. మేము దాని విలువను '1'కి సమానంగా సెట్ చేసాము. ఈ శిక్షణా నమూనా నుండి అవుట్పుట్ “trained_model” వేరియబుల్లో సేవ్ చేయబడుతుంది.
మేము మోడల్కు శిక్షణ ఇవ్వడం పూర్తయిన తర్వాత, వెక్టర్ మోడల్ అనే పదం అయిన “wv” ప్రిఫిక్స్తో మోడల్ను యాక్సెస్ చేయవచ్చు. మేము మా పదాల టోకెన్ పదజాలాన్ని కూడా యాక్సెస్ చేయవచ్చు మరియు వాటిని క్రింది పద్ధతిలో ముద్రించవచ్చు:
vocabof_tokens = జాబితా (model.wv.vocab)మోడల్ మా విషయంలో శిక్షణ పొందిన మోడల్ను సూచిస్తుంది. ఇప్పుడు, మేము వాక్యం యొక్క జాబితాలోని ఒక పదం యొక్క వెక్టార్ ప్రాతినిధ్యాన్ని యాక్సెస్ చేస్తాము, ఇది మా విషయంలో, “ఆపిల్”. శిక్షణ పొందిన మోడల్ను పిలవడం ద్వారా మేము దీన్ని చేస్తాము. మేము వెక్టార్ ప్రాతినిధ్యం ఉన్న పదాన్ని “మోడల్గా ముద్రించాలనుకుంటున్నాము. wv [‘యాపిల్’]” దాని ఇన్పుట్ వాదనకు. అప్పుడు, మేము 'ప్రింట్' ఫంక్షన్తో ఫలితాలను ప్రింట్ చేస్తాము.
నుండి ఒక దేశంగా నమూనాలు దిగుమతి Word2Vecశిక్షణ_డేటా = [ [ 'యాపిల్' , 'ఉంది' , 'ది' , 'తీపి' , 'యాపిల్' , 'కోసం' , 'word2vec' ] ,
[ 'ఇది' , 'ఉంది' , 'ది' , 'రెండవ' , 'యాపిల్' ] ,
[ 'ఇక్కడ' , 'మరొకటి' , 'యాపిల్' ] ,
[ 'ఒకటి' , 'తీపి' , 'యాపిల్' ] ,
[ 'మరియు' , 'మరింత' , 'తీపి' , 'యాపిల్' ] ]
మోడల్ = Word2Vec ( శిక్షణ_డేటా , కనిష్ట_గణన = 1 )
ముద్రణ ( మోడల్ )
vocabof_tokens = జాబితా ( మోడల్. wv . సూచిక_కీ_కీ )
ముద్రణ ( vocabof_tokens )
ముద్రణ ( మోడల్. wv [ 'యాపిల్' ] )
గతంలో పేర్కొన్న అవుట్పుట్ మరియు కోడ్ నుండి, 'యాపిల్' అనే పదానికి ఎంబెడ్డింగ్ అనే పదం చూపబడింది. ఉదాహరణలో, మేము మొదట శిక్షణ డేటాసెట్ను సృష్టించాము. అప్పుడు, మేము దానిపై ఒక మోడల్కు శిక్షణ ఇచ్చాము మరియు మోడల్ను సంగ్రహించాము. అప్పుడు, మోడల్ని ఉపయోగించి, మేము పదాల టోకెన్ పదజాలానికి ప్రాప్యతను పొందాము. ఆ తర్వాత, మేము 'యాపిల్' అనే పదానికి ఎంబెడ్డింగ్ అనే పదాన్ని ప్రదర్శించాము.
ఉదాహరణ 2:
జెన్సిమ్ లైబ్రరీని ఉపయోగించి, వాక్యాల యొక్క మరొక జాబితాను రూపొందిద్దాం. “word2vec” మోడల్ని ఉపయోగించి పదం ఎంబెడ్డింగ్ని సృష్టించడానికి వాక్యంలోని ప్రతి పదానికి మా మోడల్కు శిక్షణ ఇవ్వండి. మొదట, జెన్సిమ్ లైబ్రరీ ప్యాకేజీ నుండి, “word2vec” మోడల్ దిగుమతి చేయబడింది. అప్పుడు, మేము మరొక డేటా సెట్ని సృష్టిస్తాము, అందులో రెండు వాక్యాలను కలిగి ఉన్న జాబితా ఉంటుంది. జాబితాలోని ప్రతి వాక్యం నాలుగు పదాలను కలిగి ఉంటుంది.
ఇప్పుడు, మేము ఈ జాబితాను “డేటా” వేరియబుల్లో సేవ్ చేస్తాము. అప్పుడు, మేము “word2vec()” మోడల్ని పిలుస్తాము మరియు “1”కి సమానమైన కనీస_గణన విలువతో ఈ మోడల్ యొక్క ఆర్గ్యుమెంట్లకు డేటాను ఫీడ్ చేస్తాము. ఈ విధంగా మేము మా నమూనాకు శిక్షణ ఇస్తాము. ఇప్పుడు, అది ఉనికిలో ఉన్న సందర్భాన్ని అంచనా వేయడం ద్వారా జాబితాలో ఉన్న వాక్యాలలో ఉన్న పదాల ఎంబెడ్డింగ్ను చేయగలదు మరియు నేర్చుకోగలదు. మా మోడల్ ఫలితాలను పరీక్షించడానికి, మేము మా డేటాలోని “కుక్క” వంటి పదాన్ని మోడల్కు పంపుతాము. అప్పుడు, మేము 'ప్రింట్ ()' ఫంక్షన్ ఉపయోగించి ఫలితాలను ప్రింట్ చేస్తాము.
నుండి ఒక దేశంగా నమూనాలు దిగుమతి Word2Vecసమాచారం = [ [ 'కుందేలు' , 'ఉంది' , 'పళ్ళు' ] , [ 'కుక్క' , 'ఉంది' , 'చెవులు' ] ]
మోడల్ = Word2Vec ( సమాచారం , min_count = 1 )
ముద్రణ ( మోడల్. wv [ 'కుక్క' ] )
అవుట్పుట్ యొక్క మునుపటి స్నిప్పెట్ నుండి దాని ఇన్పుట్గా మోడల్కు మనం అందించిన పదం యొక్క వెక్టర్ ప్రాతినిధ్యాన్ని మనం గమనించవచ్చు.
ముగింపు
ఈ గైడ్ ఆంగ్ల వాక్యాల జాబితాలో ఉన్న పదాల కోసం ఎంబెడ్డింగ్ అనే పదాన్ని సృష్టించే పద్ధతిని ప్రదర్శిస్తుంది. ఎంబెడ్డింగ్ అనే పదాన్ని రూపొందించడానికి “word2vec” మోడల్ను అందించే పైథాన్ యొక్క “జెన్సిమ్” లైబ్రరీ గురించి మేము తెలుసుకున్నాము. ఇంకా, మేము ఇన్పుట్ పారామితుల గురించి, శిక్షణ డేటాపై “word2vec” మోడల్కు ఎలా శిక్షణ ఇవ్వాలి మరియు వెక్టార్ యొక్క ప్రాతినిధ్యంలో పదాన్ని ఎలా ప్రదర్శించాలి అనే దాని గురించి తెలుసుకున్నాము.