কোনও বৈশিষ্ট্য ভেক্টর পেতে পুরো নথিতে শব্দ এম্বেডিং প্রয়োগ করুন


38

তত্ত্বাবধানে থাকা শিক্ষার সাথে ব্যবহারের জন্য কোনও বৈশিষ্ট্য ভেক্টরটিতে নথির মানচিত্র তৈরি করতে আমি কী শব্দ এম্বেডিং ব্যবহার করব?

একটি শব্দ এমবেডিং প্রতিটি শব্দ মানচিত্র একটি ভেক্টর করার , যেখানে কিছু না খুব-সংখ্যক (যেমন, 500) হয়। জনপ্রিয় শব্দ এম্বেডিংগুলিতে ওয়ার্ড 2vec এবং গ্লোভ অন্তর্ভুক্ত রয়েছে ।বনাম আরwvRdd

আমি নথি শ্রেণিবদ্ধ করতে তদারকি করা শিক্ষার প্রয়োগ করতে চাই। আমি বর্তমানে প্রতিটি নথিকে ব্যাগ-অফ-শব্দের উপস্থাপনা ব্যবহার করে কোনও বৈশিষ্ট্য ভেক্টরে ম্যাপ করছি, তারপরে একটি অফ শেল্ফ শ্রেণিবদ্ধকরণ প্রয়োগ করছি। এম্বেডিং শব্দের মধ্যে থাকা শব্দার্থবিজ্ঞানের জ্ঞানের সুযোগ নিতে আমি বিদ্যমান প্রাক-প্রশিক্ষিত শব্দ এম্বেডিংয়ের উপর ভিত্তি করে কিছু দিয়ে ব্যাগ-অফ-শব্দের বৈশিষ্ট্য ভেক্টরকে প্রতিস্থাপন করতে চাই। এটি করার কোনও মানক উপায় আছে?

আমি কিছু সম্ভাবনা কল্পনা করতে পারি, তবে আমি জানি না এমন কিছু আছে যা সর্বাধিক অর্থবোধ করে। আমি বিবেচনা করেছি প্রার্থী পদ্ধতির:

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

  • সমস্ত শব্দের জন্য ভেক্টরকে সংযুক্ত করা কার্যকর হয় না, কারণ এটি কোনও স্থির আকারের বৈশিষ্ট্যযুক্ত ভেক্টরকে নেতৃত্ব দেয় না। এটি একটি খারাপ ধারণা বলে মনে হচ্ছে কারণ এটি একটি শব্দের নির্দিষ্ট স্থান নির্ধারণের জন্য অতিরিক্ত সংবেদনশীল হবে।

  • আমি সমস্ত শব্দের ভোকাবুলারি ক্লাস্টারগুলির একটি নির্দিষ্ট সেটে গুচ্ছ করতে এম্বেডিং শব্দটি ব্যবহার করতে পারি, বলুন, 1000 টি ক্লাস্টার যেখানে আমি শব্দের মিলের পরিমাপ হিসাবে ভেক্টরগুলিতে কোসাইন মিলকে ব্যবহার করি। তারপরে, ব্যাগ-অফ-শব্দের পরিবর্তে আমার কাছে একটি ব্যাগ-অফ-ক্লাস্টার থাকতে পারে: আমি ক্লাসিফারকে সরবরাহ করি এমন বৈশিষ্ট্য ভেক্টরটি 1000-ভেক্টর হতে পারে, যেখানে ম উপাদানটি নথিতে শব্দের সংখ্যা গণনা করে যে গুচ্ছ অংশ ।iii

  • একটি শব্দ দেওয়া , এই শব্দ embeddings আমাকে শীর্ষ 20 সবচেয়ে অনুরূপ শব্দের একটি সেট গনা যাক এবং তাদের সাদৃশ্য স্কোর । আমি এটি ব্যবহার করে শব্দ-ব্যাগের মতো বৈশিষ্ট্য ভেক্টরটি খাপ খাইয়ে নিতে পারি। যখন আমি শব্দ দেখতে উপাদান শব্দ সংশ্লিষ্ট বৃদ্ধিশীল করতে, উপরন্তু দ্বারা আমিও উপাদান শব্দ সংশ্লিষ্ট বাড়ায় পারে দ্বারা উপাদান শব্দ সংশ্লিষ্ট বাড়ায় দ্বারা , ইত্যাদি।ডাব্লু 1 , , ডাব্লু 20 এস 1 , , এস 20 ডাব্লু ডাব্লু 1 ডব্লু 1 এস 1 ডব্লু 2 এস 2ww1,,w20s1,,s20ww1w1s1w2s2

ডকুমেন্ট শ্রেণিবদ্ধকরণের জন্য ভালভাবে কাজ করার কোনও নির্দিষ্ট পদ্ধতির রয়েছে কি?


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


1
প্রাক-প্রশিক্ষিত এম্বেডিং ব্যবহার করে দস্তাবেজগুলি উপস্থাপনের জন্য আপনি কি কোনও নির্দিষ্ট পদ্ধতির সিদ্ধান্ত নিয়েছেন? সম্ভবত এটি কিছুটা সাহায্য করতে পারে?
টারডুস-মেরুলা

1
@ ব্যবহারকারী 115202, ঝরঝরে! এটি আমার যে সমস্যাটি ছিল তা পুরোপুরি সমাধান করে না, তবে এটি একটি চতুর ধারণা যা জানার পক্ষে উপযুক্ত - এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ! আমি এই সমস্যার খুব ভাল সমাধানটি কখনই পাইনি যা কেবল ব্যাগ-অফ-শব্দ ব্যবহারের চেয়ে উল্লেখযোগ্যভাবে ভাল ছিল। শব্দ এম্বেডিং ভাল যা এটি ঠিক তা নয়। ধন্যবাদ!
ডিডাব্লু

এটিও আপনার সমস্যার সাথে সম্পর্কিত, সম্ভবত আগেরটির চেয়ে খানিকটা বেশি: ওজনযুক্ত শব্দ এম্বেডিং সমষ্টি ব্যবহার করে খুব স্বল্প পাঠের জন্য প্রতিনিধিত্ব শেখা
টারডুস-মেরুলা


1
আরএনএন ব্যবহার করবেন না কেন? পরিবর্তনশীল দৈর্ঘ্যের নথি আরএনএনগুলির জন্য কোনও সমস্যা নয়। wildML.com/2015/09/…
কালু

উত্তর:


23

একটি ছোট কৌশল যা সংক্ষিপ্ত পাঠগুলির জন্য যুক্তিসঙ্গতভাবে ভালভাবে কাজ করে বলে মনে হয় (উদাহরণস্বরূপ, একটি বাক্য বা একটি টুইট) নথির প্রতিটি শব্দের জন্য ভেক্টর গণনা করা, এবং তারপরে স্থানাংক-বুদ্ধিমান গড়, ন্যূনতম বা সর্বোচ্চ ব্যবহার করে এগুলিকে একত্রিত করা।

সাম্প্রতিক একটি কাগজের ফলাফলের ভিত্তিতে, মনে হচ্ছে মিনিট এবং সর্বোচ্চ ব্যবহার করা যুক্তিসঙ্গতভাবে ভাল কাজ করে। এটি সর্বোত্তম নয়, তবে এটি সহজ এবং অন্যান্য সাধারণ কৌশলগুলির মতোই ভাল বা আরও ভাল। বিশেষত, যদি নথিতে শব্দের জন্য ভেক্টরগুলি , তবে আপনি গণনা এবং । এখানে আমরা তুল্য ভিত্তিক ন্যূনতম, অর্থাত্ গ্রহণ করছেন, সর্বনিম্ন একটি ভেক্টর হয় যেমন যে , এবং একইভাবে সর্বোচ্চ জন্য। বৈশিষ্ট্য ভেক্টর এই দুটি ভেক্টরের সংমিশ্রণ, তাই আমরা in তে একটি বৈশিষ্ট্য ভেক্টর পাইnv1,v2,,vnRdসর্বোচ্চ ( v 1 , , v n ) u u i = min ( v 1 i , , v n i ) আর 2 ডিmin(v1,,vn)max(v1,,vn)uui=min(vi1,,vin)R2d। আমি জানি না যে এটি ব্যাগ-অফ-শব্দের উপস্থাপনের চেয়ে ভাল বা খারাপ, তবে সংক্ষিপ্ত নথির জন্য আমি সন্দেহ করি এটি ব্যাগ-অফ-শব্দের চেয়ে ভাল সম্পাদন করতে পারে, এবং এটি প্রাক-প্রশিক্ষিত শব্দ এম্বেডিং ব্যবহার করার অনুমতি দেয়।

টিএল; ডিআর: আশ্চর্যরূপে, সর্বনিম্ন এবং সর্বাধিকের মিশ্রণটি যুক্তিসঙ্গতভাবে ভালভাবে কাজ করে।

রেফারেন্স:

ভারী শব্দ এম্বেডিং সমষ্টি ব্যবহার করে খুব স্বল্প পাঠের জন্য উপস্থাপনা শেখা। সিড্রিক ডি বুম, স্টিভেন ভ্যান ক্যানিয়েট, টমাস ডিমিস্টার, বার্ট ধোয়েড। প্যাটার্ন স্বীকৃতি পত্র; arXiv: 1607,00570। বিমূর্ত , পিডিএফ । বিশেষত টেবিলগুলি 1 এবং 2 দেখুন।

ক্রেডিট: এই কাগজটি আমার নজরে আনার জন্য @ ব্যবহারকারী 115202 কে ধন্যবাদ।


4
সংক্ষিপ্ত পাঠ্যের জন্য, গড় / মিনিট / সর্বোচ্চটি ভালভাবে কাজ করতে পারে তবে লম্বা পাঠ্য যেমন নিউজ নিবন্ধের কী হবে?
অ্যাভোকাডো

1
যে কেউ এই কাগজটি পড়েন এবং আমার মতোই বিভ্রান্ত হন: কাগজটি @DW দ্বারা উল্লিখিত পদ্ধতির উপর দৃষ্টি নিবদ্ধ করে না, তারা কেবল "5.1। বেসলাইন" এর নীচে বেসলাইন পদ্ধতির হিসাবে এটি সংক্ষেপে উল্লেখ করে। কাগজের বডি তাদের নিজস্ব কৌশলগুলিতে ফোকাস করে, যার মধ্যে এম্বেডিংগুলি ব্যবহার করে শ্রেণিবদ্ধ প্রশিক্ষণ দেওয়া জড়িত, যা এখানে বর্ণিত পদ্ধতির চেয়ে অনেক জটিল!
মিগওয়েল

16

আপনি word2vec এর অনুরূপ ডক্টুভেক ব্যবহার করতে পারেন এবং একটি বৃহত কর্পাস থেকে প্রাক প্রশিক্ষিত মডেল ব্যবহার করতে পারেন। তারপরে .infer_vector()একটি নথি ভেক্টর তৈরি করতে জিনসিমের মতো কিছু ব্যবহার করুন । Doc2vec প্রশিক্ষণের প্রশিক্ষণ সেট থেকে আসা প্রয়োজন হয় না।

শ্রেণীবদ্ধ করার জন্য আরএনএন, সিএনএন বা ফিড ফরোয়ার্ড নেটওয়ার্ক ব্যবহার করা অন্য পদ্ধতি method এটি কার্যকরভাবে ভেক্টর শব্দটিকে একটি নথি ভেক্টরের সাথে সংযুক্ত করে ines

একে অপরের পরিপূরক হিসাবে আপনি ঘন (শব্দ ভেক্টর) বৈশিষ্ট্যগুলির সাথে স্পার্স বৈশিষ্ট্যগুলি (শব্দ) একত্রিত করতে পারেন। সুতরাং আপনার বৈশিষ্ট্য ম্যাট্রিক্স শব্দের বিরল ব্যাগ শব্দের ভ্যাক্টরের গড় সহ ম্যাট্রিক্সের সংমিশ্রণ হবে। https://research.googleblog.com/2016/06/wide-deep-learning-better-together-with.html

আরেকটি আকর্ষণীয় পদ্ধতি হ'ল word2vec তে একটি অনুরূপ অ্যালগরিদম ব্যবহার করা তবে কোনও লক্ষ্য শব্দের পূর্বাভাস দেওয়ার পরিবর্তে আপনি একটি লক্ষ্য লেবেলের পূর্বাভাস দিতে পারেন। এটি ভেক্টর শব্দটিকে সরাসরি শ্রেণিবদ্ধকরণ কার্যে সুর দেয়। http://arxiv.org/pdf/1607.01759v2.pdf

আরও বেশি অ্যাডহক পদ্ধতির জন্য, আপনি বাক্য গঠনের উপর নির্ভর করে শব্দগুলি আলাদাভাবে ওজন করতে চেষ্টা করতে পারেন। উদাহরণস্বরূপ, আপনি নির্ধারকগুলির চেয়ে ক্রিয়াগুলি আরও দৃ more়তার সাথে ওজন করতে পারেন।


6

আপনি যদি ইংরেজী পাঠ্য নিয়ে কাজ করছেন এবং প্রাক-প্রশিক্ষিত শব্দ এম্বেডিং শুরু করতে চান তবে দয়া করে এটি দেখুন: https://code.google.com/archive/p/word2vec/

এটি word2vec এর আসল সি সংস্করণ। এই প্রকাশের পাশাপাশি, তারা গুগল নিউজ নিবন্ধ থেকে নেওয়া 100 বিলিয়ন শব্দের উপর প্রশিক্ষিত একটি মডেলও প্রকাশ করেছে (শিরোনাম: "প্রাক-প্রশিক্ষিত শব্দ এবং বাক্যাংশের ভেক্টর" শিরোনাম)।

আমার মতামত এবং শব্দের এম্বেডিংয়ের উপর কাজ করার অভিজ্ঞতা হিসাবে, ডকুমেন্টের শ্রেণিবিন্যাসের জন্য ডক্টুভেকের মতো একটি মডেল (সিবিডাব্লু সহ) শব্দের ব্যাগের চেয়ে অনেক ভাল কাজ করে।

যেহেতু, আপনার একটি ছোট কর্পাস রয়েছে, আমি প্রস্তাব দিচ্ছি, আপনি উপরে বর্ণিত প্রাক-প্রশিক্ষিত এম্বেডিংগুলি দ্বারা আপনার শব্দ এম্বেডিং ম্যাট্রিক্সকে আরম্ভ করবেন। তারপরে ডক 2 সেভ কোডটিতে অনুচ্ছেদে ভেক্টরের প্রশিক্ষণ দিন। আপনি যদি অজগর নিয়ে স্বাচ্ছন্দ্য বোধ করেন তবে আপনি এর জিনসিম সংস্করণটি চেকআউট করতে পারেন, এটি পরিবর্তন করা খুব সহজ।

এই কাগজটি পরীক্ষা করে দেখুন যা ওয়ার্ড 2 ওয়েভ / ডক্টুভেকের অভ্যন্তরীণ কার্যকারিতা সম্পর্কিত: http://arxiv.org/abs/1411.2738 । এটি জিন্সিম কোডটি বুঝতে খুব সহজ করবে।


1
পরামর্শের জন্য ধন্যবাদ। আমি এম্বেড করে একটি শব্দ চাইছি না; আমি কীভাবে প্রাক প্রশিক্ষিত শব্দ এম্বেডিং পেতে তা ইতিমধ্যে জানি (আমি আমার প্রশ্নে ওয়ার্ড টুভেক উল্লেখ করেছি)। আমার প্রশ্নটি হল প্রাক প্রশিক্ষিত শব্দ এম্বেডিং থেকে কীভাবে বৈশিষ্ট্য ভেক্টরগুলি তৈরি করা যায়। আমি ডকুবেভের রেফারেন্সটির প্রশংসা করি, তবে আমার কর্পাসটি বেশ ছোট এবং তাই আমার সন্দেহ / আশংকা রয়েছে যে ডক 2 সেভ কোডগুলি প্রশিক্ষণের চেষ্টা করা খুব ভাল হবে এবং খারাপ সম্পাদন করবে (এমনকি আমি প্রাক-প্রশিক্ষিত এম্বেডিং সহ ম্যাট্রিক্স শুরু করি))
DW
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.