প্রদত্ত ডোমেনের জন্য কীভাবে শব্দার্থক অনুসন্ধান তৈরি করবেন


19

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

আমাদের তথ্য বাক্যগুলির একগুচ্ছ এবং আমরা যা চাই তা হল একটি বাক্য প্রদান এবং বাক্যগুলি ফিরে পাওয়া যা:

  1. সেই বাক্যাংশের মতোই
  2. বাক্যটির অনুরূপ একটি বাক্যের একটি অংশ রয়েছে
  3. একটি বাক্য যা প্রাসঙ্গিকভাবে একই অর্থ হয়


আমি আপনাকে একটি উদাহরণ দেওয়ার চেষ্টা করি মনে করি আমি "অভিজ্ঞতা কেনা" বাক্যাংশটি অনুসন্ধান করি, আমার এই বাক্যগুলি পাওয়া উচিত:

  • আমি কখনই ভাবিনি যে গাড়ী কেনা সাইন ইন এবং কিনতে 30 মিনিটেরও বেশি সময় নিতে পারে।
  • আমি একটি গাড়ি পেয়েছি যা আমার পছন্দ হয়েছিল এবং ক্রয় প্রক্রিয়াটি
    সোজা এবং সহজ

  • আমি গাড়ি শপিংয়ে যেতে একেবারে ঘৃণা করি, তবে আজ আমি খুশি হয়েছি


আমি এই বিষয়টির উপরে জোর দিতে চাই যে আমরা প্রসঙ্গগত সাদৃশ্য খুঁজছি এবং কেবল একটি জোরদার শব্দ অনুসন্ধান নয়।

বাক্যটি যদি বিভিন্ন শব্দের ব্যবহার করে তবে এটি এটির সন্ধান করাও উচিত।

যে জিনিসগুলি আমরা ইতিমধ্যে চেষ্টা করেছি:

  1. ওমেনেটিক অনুসন্ধান আমাদের এখানে যে সমস্যার মুখোমুখি হয়েছিল তা হ'ল আমাদের কাছে থাকা ডেটা থেকে অনটোলজি তৈরি হচ্ছে বা সে জন্য আমাদের আগ্রহের বিভিন্ন ডোমেন থেকে অনটোলজি উপলব্ধ।

  2. ইলাস্টিক অনুসন্ধান (BM25 + ভেক্টর (টিএফ-আইডিএফ)), আমরা এটি চেষ্টা করেছিলাম যেখানে এটি কয়েকটি বাক্য দিয়েছে তবে নির্ভুলতা এতটা দুর্দান্ত ছিল না। যথার্থতাটিও খারাপ ছিল। আমরা একটি মানব-সজ্জিত ডেটাসেটের বিরুদ্ধে চেষ্টা করেছি, এটি কেবলমাত্র প্রায় 10% বাক্য পেতে সক্ষম হয়েছিল।

  3. আমরা একবার বাক্য-ট্রান্সফরমারগুলিতে উল্লিখিত মতো বিভিন্ন এম্বেডিং চেষ্টা করেছিলাম এবং উদাহরণটি দিয়েও গিয়েছিলাম এবং আমাদের মানব-সংশ্লেষিত সেটটির বিরুদ্ধে মূল্যায়ন করার চেষ্টা করেছি এবং এটিরও খুব কম যথার্থতা ছিল।

  4. আমরা ELMO চেষ্টা করেছিলাম । এটি আমাদের প্রত্যাশার চেয়ে ভাল তবে তবুও নিখুঁততা ছিল এবং কোসাইন মানটি নীচে নিলে বাক্যগুলি বিবেচনা করা উচিত নয় এমন সিদ্ধান্ত নেওয়ার জন্য একটি জ্ঞানীয় বোঝা রয়েছে। এটি এমনকি 3 পয়েন্টে প্রযোজ্য।

যে কোন ধরণের সাহায্য গ্রহন করা হবে. অগ্রিম সহায়তার জন্য অনেক ধন্যবাদ


ভাল লিখিত প্রশ্ন - আপনি অনুসন্ধানের পদগুলির আরও 5 টি উদাহরণ যুক্ত করতে পারেন? এগুলি কি সর্বদা এক থেকে তিনটি শব্দ বাক্যাংশ বা অনুসন্ধানের পদগুলি দীর্ঘতর হতে পারে? আপনি সঠিক পথে
আদনান এস

হাই আদনান, অনুসন্ধান শব্দটি সর্বদা এক থেকে তিন-শব্দ বাক্যাংশ থাকবে। উদাহরণস্বরূপ: কেনার অভিজ্ঞতা, ড্রাইভিং আরাম, ইনফোটেইনমেন্ট সিস্টেম, অভ্যন্তরীণ, মাইলেজ, পারফরম্যান্স, আসনবিন্যাস, কর্মীদের আচরণ।
জিকসন

এই নিবন্ধটি আপনার ক্ষেত্রে আকর্ষণীয় হতে পারে: elastic.co/blog/... (ইঙ্গিত: লিভারেজ word2vec)
Val,

@ ভাল এটি আসলে আকর্ষণীয় যে আমি আপনাকে উল্লিখিত একই নিবন্ধটি উল্লেখ করতে যাচ্ছি এবং তারপরে আপনার মন্তব্যটি দেখেছি। আমি মনে করি এই পদ্ধতিটি আপনি যা চান তার কাছাকাছি পৌঁছে দেবে।
নিমা

আপনি কোসাইন অনুরূপ সন্ধান করতে পারেন। নীচে বর্ণিত হিসাবে এটি স্ট্রিংগুলিকে ভেক্টরগুলিতে রূপান্তর করতে জড়িত যা 2 ডি স্পেসে প্রতিনিধিত্ব করা যেতে পারে। এই 2 টি ভেক্টরের কোসাইন কোণ গণনা করা হয়। এই কোণটি 2 টি স্ট্রিংয়ের মধ্যে "মিল" উপস্থাপন করে। এখানে এটি একটি চমৎকার নিবন্ধ এর medium.com/swlh/playing-with-word-vectors-308ab2faa519
sagar1025

উত্তর:


5

আমি আপনাকে অত্যন্ত পরামর্শ দিচ্ছি যে আপনি কীভাবে একটি শব্দার্থক অনুসন্ধান সিস্টেম => https://www.youtube.com/watch?v=4fMZnunTRF8 তৈরি করতে পারেন ট্রে ট্রেইগ্রেনারের বক্তৃতাটি দেখুন । তিনি একটি শব্দার্থক অনুসন্ধান সিস্টেমের অ্যানাটমি এবং চূড়ান্ত সমাধান সরবরাহ করতে প্রতিটি টুকরা এক সাথে ফিট করার জন্য কথা বলেছেন।

প্রাসঙ্গিক মিলের একটি দুর্দান্ত উদাহরণ বিংয়ের অনুসন্ধান ইঞ্জিন: এখানে চিত্র বর্ণনা লিখুন

মূল ক্যোয়ারিতে {ক্যানড সোডা terms পদ ছিল এবং বিংয়ের অনুসন্ধানের ফলাফলগুলি {ক্যানড ডায়েট সোডা {, {সফট ড্রিঙ্কস}, {অবিকৃত ঘরের তাপমাত্রার পপ} বা {কার্বনেটেড পানীয়} বোঝাতে পারে} বিং কীভাবে এটি করেছে ?:

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

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

এখানে চিত্র বর্ণনা লিখুন

আপনি এটি সম্পর্কে এখানে আরও শিখতে পারেন। আপনার ক্ষেত্রে আপনি একটি বাক্সের ভেক্টর সর্বাধিক দূরত্বে সন্ধান করতে পারেন মূল বাক্যটির কোনও ভেক্টর মূল অনুসন্ধান ক্যোয়ারী থেকে এটি প্রাসঙ্গিকভাবে অনুরূপ বাক্য বিবেচনা করা যেতে পারে।

প্রাসঙ্গিক মিলটি সম্ভবত এলএসআই (লেটেন্ট সিমেটিক ইনডেক্সিং) এর মতো কিছু ব্যবহার করে ভোকাবুলারি মাত্রা হ্রাস করেও করা যেতে পারে। পাইথনে এটি করার জন্য আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি অজগরটির জন্য জিনিজম লাইব্রেরিটি পরীক্ষা করে দেখুন: https://radimrehurek.com/gensim/about.html


1

আপনি এই সমস্যাটি সমাধানে সহায়তা করতে ওয়েভিয়েটে খোঁজতে আগ্রহী হতে পারেন। এটি ডেটা অবজেক্টের ভেক্টরাইজেশনের উপর ভিত্তি করে একটি স্মার্ট গ্রাফ ।

আপনার যদি ডোমেন-নির্দিষ্ট ভাষা থাকে (উদাহরণস্বরূপ, সংক্ষেপণ) আপনি কাস্টম ধারণার সাহায্যে ওয়েভিয়েট প্রসারিত করতে পারেন ।

আপনি শব্দার্থক অনুসন্ধান বৈশিষ্ট্যগুলি (অর্থাত্ Explore{}) বা স্বয়ংক্রিয় শ্রেণিবিন্যাস বৈশিষ্ট্যগুলির সাহায্যে আপনার সমস্যা সমাধান করতে সক্ষম হতে পারেন ।

ফাংশন অন্বেষণ করুন

সমস্ত ডেটা অবজেক্ট ভেক্টরাইজড হওয়ার কারণে, আপনি নিম্নলিখিতগুলির মতো একটি শব্দার্থক অনুসন্ধান করতে পারেন (উদাহরণটি ডক্স থেকে আসে , গ্রাফকিউএল ব্যবহার করে আপনি এখানে চেষ্টা করে দেখতে পারেন ):

{
  Get{
    Things{
      Publication(
        explore: {
          concepts: ["fashion"],
          certainty: 0.7,
          moveAwayFrom: {
            concepts: ["finance"],
            force: 0.45
          },
          moveTo: {
            concepts: ["haute couture"],
            force: 0.85
          }
        }
      ){
        name
      }
    }
  }
}

যদি আপনি উদাহরণস্বরূপ শ্রেণীর নাম "বাক্য" এর উপর ভিত্তি করে আপনার গ্রাফ স্কিমাটি কাঠামোবদ্ধ করেন , তবে অনুরূপ ক্যোয়ারী এ জাতীয় কিছু দেখাচ্ছে:

{
  Get{
    Things{
      Sentence(
        # Explore (i.e., semantically) for "Buying Experience"
        explore: {
          concepts: ["Buying Experience"]
        }
        # Result must include the word "car" 
        where: {
          operator: Like
          path: ["content"]
          valueString: "*car*"
        }
      ){
        content
      }
    }
  }
}

দ্রষ্টব্য:
আপনি সামগ্রিকভাবে গ্রাফ শব্দার্থগতভাবেও অন্বেষণ করতে পারেন ।

স্বয়ংক্রিয় শ্রেণিবিন্যাস

কোনও বিকল্প প্রাসঙ্গিক বা কেএনএন শ্রেণিবদ্ধকরণ বৈশিষ্ট্যগুলির সাথে কাজ করছে ।

আপনার ক্ষেত্রে, আপনি ক্লাস সেনটেনশনটি ব্যবহার করতে পারেন এবং এটিকে অভিজ্ঞতা নামক শ্রেণীর সাথে সম্পর্কিত করতে পারেন, যার সম্পত্তি থাকতে হবে: buying(আপনি বেছে নিতে পারেন এমন আরও অনেক কনফিগারেশন এবং কৌশল অবশ্যই রয়েছে)।

পিএস: আপনার
ভিডিওটি পছন্দ হলে এই ভিডিওটি আরও কিছু প্রসঙ্গ দেয়।


0

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.