ওয়ার্ড 2vec মডেল ব্যবহার করে কোনও শব্দের পূর্বাভাস


20

"যখন আমি খোলা: একটি বাক্য দেওয়া ?? দরজা এটি স্বয়ংক্রিয়ভাবে গরম শুরু হয়"

আমি সম্ভাব্য শব্দের তালিকা পেতে চাই ?? একটি সম্ভাবনা সঙ্গে।

ওয়ার্ড টুভেক মডেলে ব্যবহৃত মূল ধারণাটি আশেপাশের প্রসঙ্গে প্রদত্ত একটি শব্দটির "পূর্বাভাস" দেওয়া।

একবার মডেলটি তৈরি হয়ে গেলে, নতুন বাক্যে আমার ভবিষ্যদ্বাণীটি কার্য সম্পাদন করতে সঠিক প্রসঙ্গ ভেক্টর অপারেশন কী?

এটি কি কেবল লিনিয়ার যোগফল?

model.most_similar(positive=['When','I','open','the','door','it','starts' ,'heating','automatically'])

আমি উপরের অ্যালগরিদমটি প্রয়োগ করেছি এবং একটি প্রশ্ন এসেছি: কেন সফটম্যাক্স ব্যবহার করা হয়? আমি আপনাকে দুটি স্বাভাবিককরণের ফাংশনগুলির একটি উদাহরণ দেখাব: ডিফ সফটম্যাক্স (ডাব্লু, টি = 1.0): # উত্স: gist.github.com/stober/1946926 ই = এনপি.এক্সপি (ডাব্লু / টি) রিটার্ন ই / এনপি.সাম ( ঙ) ডিফ নরমালাইজেশন (ডাব্লু): রিটার্ন ডাব্লু / এনপি.সুম (ডাব্লু) এ = এনপি.আরে ([। 0002, .0001, .01, .03]) মুদ্রণ নরমালাইজেশন (ক) প্রিন্ট সফটম্যাক্স (এ, টি = 1) [0.00496278 0.00248139 0.24813896 0.74441687] [0.24752496 0.24750021 0.24996263 0.25501221] আমরা দেখতে পাচ্ছি, softmax দেয় .03 মোটামুটিভাবে একই সম্ভাব্যতা (.0001 তুলনায় যা হল:) আসুন আউটপুট তুলনা

উত্তর:


9

ওয়ার্ড টুভেক দুটি মডেল সিবিওউ এবং স্কিপ-গ্রামে কাজ করে। আপনার প্রশ্নটি পার্শ্ববর্তী শব্দগুলি প্রদত্ত টার্গেট শব্দের পূর্বাভাসের একই পথে চলায়, সিবিওউ মডেলটি নেওয়া যাক।

মূলত, মডেল ইনপুট এবং আউটপুট ওজন ম্যাট্রিক্স বিকাশ করে, যা কোনও লুকানো স্তরের সাহায্যে ইনপুট প্রসঙ্গ শব্দ এবং আউটপুট টার্গেট শব্দের উপর নির্ভর করে। ভবিষ্যদ্বাণী করা আউটপুট ভেক্টর এবং বর্তমান আউটপুট ম্যাট্রিক্সের মধ্যে ত্রুটির পার্থক্য যখন ওয়েট আপডেট করতে ব্যাক-প্রসারণ ব্যবহৃত হয়।

মূলত বলতে গেলে, প্রদত্ত প্রসঙ্গের শব্দগুলি থেকে লক্ষ্য শব্দটির পূর্বাভাস দেওয়া প্রদত্ত তথ্যের জন্য সর্বোত্তম ওজন ম্যাট্রিক্স প্রাপ্ত করার জন্য একটি সমীকরণ হিসাবে ব্যবহৃত হয়।

দ্বিতীয় অংশটির উত্তর দেওয়ার জন্য, এটি কেবল একটি লিনিয়ার যোগফলের চেয়ে কিছুটা জটিল বলে মনে হচ্ছে।

  1. প্রসঙ্গ শব্দের সমস্ত শব্দ ভেক্টর পান Ob
  2. hআকারের লুকানো স্তর ভেক্টরটি খুঁজে পেতে তাদের গড় করুন verageNx1
  3. আকারের আউটপুট ম্যাট্রিক্স syn1( word2vec.cবা gensim) পানVxN
  4. এর syn1দ্বারা গুণিত করুন h, ফলাফল ভেক্টর zআকার সহ হবেVx1
  5. y = softmax(z)আকারের সাথে সম্ভাব্যতা ভেক্টরটি গণনা করুন Vx1, যেখানে সর্বোচ্চ সম্ভাবনা শব্দভাণ্ডারে লক্ষ্য শব্দের এক-গরম প্রতিনিধিত্বকে বোঝায়। Vশব্দভান্ডারের Nআকারকে বোঝায় এবং এম্বেডিং ভেক্টরের আকারকে বোঝায়।

সূত্র: http://cs224d.stanford.edu/lecture_notes/ LectureNotes1.pdf

আপডেট: দীর্ঘ স্বল্প মেয়াদী মেমরির মডেলগুলি বর্তমানে পরবর্তী শব্দগুলির পূর্বাভাস দেওয়ার জন্য দুর্দান্ত কাজ করছে। সেক 2 সেক মডেলগুলি টেনসরফ্লো টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে । পাঠ্য প্রজন্ম সম্পর্কে একটি ব্লগ পোস্টও রয়েছে


ধন্যবাদ ! আপনি কি এর কোন প্রয়োগ সম্পর্কে সচেতন? (উদাহরণস্বরূপ জিনসিমের অংশ হিসাবে)। অন্যথায়, এটি গণনা করা খুব জটিল বলে মনে হচ্ছে না।
ডেডি

হাই, আপনি কীভাবে প্রশিক্ষিত ডাব্লুভি এম এম্বেডিং মডেল থেকে আউটপুট ম্যাট্রিক্স (আপনার উদাহরণের syn1) পুনরুদ্ধার করবেন সে সম্পর্কে আরও বিশদ দিতে পারেন? আমি মনে করি প্রশিক্ষণ শেষ করার পরে ডাব্লু 2 ভি আউটপুট ম্যাট্রিক্স ফেলে দিয়েছে।
চার্লস চৌ

আমার বোঝার ভিত্তিতে, আপনার ২ য় প্রশ্নের উত্তর আউটপুট ম্যাট্রিক্সের পুনর্গঠন করা, এটি কি সঠিক?
চার্লস চৌ চৌ

1
আমি মনে করি এটি লক্ষণীয় যে এটি সিকোয়েন্স শ্রেণিবদ্ধের মতো কাজ করছে না। শব্দের ক্রম অগ্রাহ্য করা হয়।
ডিসপ্লে নাম

syn1কেবলমাত্র মডেলটি সংরক্ষণ করে আউটপুট ম্যাট্রিক্স পাওয়া যায় । হ্যাঁ, ক্রমটি অগ্রাহ্য করা হয়েছে, অ্যাপ্লিকেশনটির জন্য আসলে এলএসটিএম ভিত্তিক সেক 2 সেক মডেলটি যেতে পারে।
ইয়াজি

4

ওয়ার্ড টুভেকের সর্বশেষ সংস্করণে কার্যকারিতা হিসাবে অনুপস্থিত শব্দের পূর্বাভাস যোগ করা হয়েছে। অবশ্যই আপনার বাক্যটির মডেলটি প্রশিক্ষণের জন্য ব্যবহৃত ওয়ার্ড 2 ভেক মডেলের ইনপুট সিনট্যাক্সের সাথে মিলিয়ে নেওয়া দরকার (ছোট হাতের অক্ষরগুলি, শব্দগুলি থামান ইত্যাদি)

"আমি কখন খুলি? দরজা" শীর্ষে 3 টি শব্দের পূর্বাভাস দেওয়ার জন্য ব্যবহার:

print(model.predict_output_word(['When','I','open','door']), topn = 3)

এটি কীভাবে জানল যে center3 র্থ এবং 4 র্থ শব্দের মধ্যে ছিল? আমার কাছে তা বোঝা যায় না। আমি কল্পনা হবে শুধুমাত্র জোড় সংখ্যা প্রসঙ্গ কথায় করা যেতে পারে এবং এটি মধ্যে শব্দ নির্বাচন হবে floor(len(n)/2))এবংfloor(len(n)/2))+1
BMC
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.