বাক্যটির মিলের জন্য সেরা ব্যবহারিক অ্যালগরিদম


18

আমার দুটি বাক্য রয়েছে, এস 1 এবং এস 2, উভয়ই 15 এর নীচে শব্দের গণনা (সাধারণত) থাকে।

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

আমি একটি অ্যালগরিদম খুঁজছি যা এতে খুব বেশি সময় না দিয়ে ভাল কাজ করবে। এমন কোনও অ্যালগরিদম রয়েছে যা আপনি সফল এবং সহজেই ব্যবহারযোগ্য খুঁজে পেয়েছেন?

এটি পারে তবে ক্লাস্টারিংয়ের বিভাগে পড়তে হবে না। আমার পটভূমিটি মেশিন লার্নিং থেকে, সুতরাং কোনও পরামর্শ স্বাগত :)


আপনি কি বাস্তবায়ন করেছেন? আমিও এর মুখোমুখি হয়েছি, আপডেট করতে থাকি এমন একটি কর্পাসে 'কে' সম্পর্কিত নিবন্ধগুলির সমাধান নিয়ে আসতে হবে।
দিলিপা

উত্তর:


16

আপনি ভেক্টর স্পেস জন্য কোসাইন মিল হতে পারে আরয http://blog.christianperone.com/2013/09/machine-learning-cosine-similarity-for-vector-space-models-part-iii/

অথবা আপনি প্রতিটি বাক্যের ইগেনভেেক্টর গণনা করতে পারেন। তবে সমস্যা হচ্ছে, মিল কী?

"এটি একটি গাছ", "এটি গাছ নয়"

আপনি যদি বাক্যটির অর্থগত অর্থ পরীক্ষা করতে চান তবে আপনার একটি ওয়ার্ডভেক্টর ডেটাসেটের প্রয়োজন হবে। ওয়ার্ডেক্টর ডেটাসেটের সাহায্যে আপনি শব্দের মধ্যে সম্পর্ক পরীক্ষা করতে পারবেন। উদাহরণ: (কিং - ম্যান + মহিলা = রানী)

ওয়ার্ডেক্টর ডেটাসেট তৈরির জন্য সিরাজ রাওয়ালের একটি অজগর নোটবুক রয়েছে: https://github.com/llSourcell/word_vectors_game_of_thrones-LIVE


8

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


3

বার্ট-অ্যাস-সার্ভিস ( https://github.com/hanxiao/bert-as-service#building-a-qa-semantic-search-engine-in-3-minutes ) কেবল সেই সমাধানটি সরবরাহ করে।

আপনার প্রশ্নের উত্তর দেওয়ার জন্য, শূন্য থেকে নিজেকে এটি প্রয়োগ করা বেশ শক্ত হবে কারণ বিইআরটি একটি তুচ্ছ এনএন নয়, তবে এই সমাধানের সাহায্যে আপনি এটিকে আপনার আলগোতে প্লাগ করতে পারেন যা বাক্যটির মিলকে ব্যবহার করে।


2

আপনার https://github.com/seatgeek/fuzzywuzzy#usage পরীক্ষা করা উচিত । fuzzywuzzy স্ট্রিং / টেক্সট মিলের জন্য একটি দুর্দান্ত লাইব্রেরি যা সমান দুটি বাক্যটির তুলনায় 0 থেকে 100 এর মধ্যে একটি সংখ্যা দেয়। এটি ব্যবহার-করা সহজ প্যাকেজের ক্রমগুলির মধ্যে পার্থক্য গণনা করতে লেভেনস্টাইন দূরত্ব ব্যবহার করে te এছাড়াও, কীভাবে ফাজ্বুউজি কাজটি করে তার বিশদ ব্যাখ্যার জন্য এই ব্লগ পোস্টটি দেখুন। এই ব্লগটিও অস্পষ্ট লেখক লিখেছেন


1

এই ব্লগে সংক্ষিপ্ত পাঠ্যের মিলের সমাধান রয়েছে। তারা বাক্যগুলির মধ্যে মিল খুঁজে পেতে প্রধানত বিইআরটি নিউরাল নেটওয়ার্ক মডেল ব্যবহার করে। https://medium.com/@vimald8959/sentence-categorisation-short-text-similarity-61bb88fae15e


হাই, ডেটা সায়েন্স স্ট্যাক এক্সচেঞ্জে স্বাগতম! বাইরের ওয়েবসাইট থেকে কোনও সমাধান উল্লেখ করার সময়, দয়া করে আপনার উত্তরে একটি সংক্ষিপ্ত লেখার বিষয়টি বিবেচনা করুন। প্রকৃতপক্ষে, এটি পড়া সহজতর হবে এবং লক্ষ্য পৃষ্ঠাটি পরিবর্তন হয় বা লিঙ্কটি ভেঙে গেলে আপনার উত্তর অপ্রচলিত হওয়া থেকে বাধা দেয়।
রোমেন রেবুউল্লাউ

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