আমি একটি অ্যারের ফিল্টার করার জন্য একটি अस्पष्ट অনুসন্ধান জাভাস্ক্রিপ্ট লাইব্রেরি খুঁজছি। আমি fuzzyset.js এবং fuse.js ব্যবহার করার চেষ্টা করেছি , তবে ফলাফলগুলি ভয়াবহ (এমন কোনও ডেমো রয়েছে যা আপনি লিঙ্কযুক্ত পৃষ্ঠাগুলিতে চেষ্টা করতে পারেন)।
লেভেনস্টেইন দূরত্বে কিছু পঠন করার পরে, ব্যবহারকারীরা টাইপ করার সময় তারা কী খুঁজছেন তার দুর্বলতা হিসাবে এটি আমাকে আঘাত করে। যারা জানেন না তাদের জন্য, সিস্টেমটি গণনা করে যে দুটি স্ট্রিং ম্যাচ করার জন্য কতগুলি সন্নিবেশ , মুছে ফেলা এবং বিকল্পগুলি প্রয়োজন।
এক সুস্পষ্ট ত্রুটি, যা Levenshtein-Demerau মডেল সংশোধন করা হয়েছে, যে উভয় blub এবং দোষ সমানভাবে অনুরূপ বলে মনে করা হয় কন্দ (প্রতিটি দুই বদল প্রয়োজন)। এটা তোলে হয় পরিষ্কার, তবে, যে বাল্ব আরো অনুরূপ blub চেয়ে দোষ , এবং মডেল আমি শুধু উল্লেখ স্বীকার যে জন্য অনুমতি দিয়ে transpositions ।
আমি টেক্সট সমাপ্তির প্রেক্ষাপটে এই ব্যবহার করতে চান তাই যদি আমি একটি অ্যারে আছে, ['international', 'splint', 'tinder']
এবং আমার প্রশ্নের সাথে হয় int- এ , আমি মনে করি আন্তর্জাতিক তার থেকে উঁচু পদে কর্তব্য বন্ধফলক , যদিও সাবেক 10 একটি স্কোর (উচ্চতর = খারাপ) আছে বনাম পরের 3।
সুতরাং আমি যা খুঁজছি (এবং এটি বিদ্যমান না থাকলে তা তৈরি করবে), এটি একটি লাইব্রেরি যা নিম্নলিখিতগুলি করে:
- বিভিন্ন পাঠ্যের ম্যানিপুলেশনগুলি ওজন করে
- প্রতিটি ম্যানিপুলেশন যেখানে কোনও শব্দে উপস্থিত হয় তার উপর নির্ভর করে ওজনগুলি (প্রথম দিকের ম্যানিপুলেশনগুলি দেরীতে ম্যানিপুলেশনগুলির চেয়ে বেশি ব্যয়বহুল)
- প্রাসঙ্গিকতার অনুসারে বাছাই করা ফলাফলের তালিকা দেয়
কেউ কি এরকম কিছু পেয়েছেন? আমি বুঝতে পেরেছি যে স্ট্যাকওভারফ্লো সফ্টওয়্যার সুপারিশের জন্য জিজ্ঞাসা করার জায়গা নয়, তবে উপরোক্ত ক্ষেত্রে অন্তর্নিহিত (আর নয়!) হ'ল: আমি কি এটি সঠিকভাবে সম্পর্কে ভাবছি?
সম্পাদনা করুন
আমি বিষয়টিতে একটি ভাল কাগজ (পিডিএফ) পেয়েছি । কিছু নোট এবং অংশ:
অ্যাফাইন সম্পাদনা-দূরত্ব ফাংশন সন্নিবেশ বা মোছার ক্রমটিতে তুলনামূলকভাবে কম দাম নির্ধারণ করে
Monger-Elkan দূরত্ব ফাংশন (Monge & Elkan 1996), যা নির্দিষ্ট ব্যয়ের পরামিতি সহ স্মিথ-ওয়াটারম্যান দূরত্ব ফাংশন (ডার্বান এট আল। 1998) এর একটি স্বরূপ
জন্য স্মিথ-মাঝি দূরত্ব (wikipedia) তিনি , "এর পরিবর্তে মোট ক্রম দেখার, স্মিথ-মাঝি অ্যালগরিদম সব সম্ভব লেন্থ বিভাগগুলি তুলনা এবং মিল পরিমাপ অপ্টিমাইজ করে।" এটি এন-গ্রাম পদ্ধতির।
একটি বৃহত আকারে অনুরূপ মেট্রিক, যা কোনও সম্পাদনা-দূরত্বের মডেলের ভিত্তিতে নয়, জারো মেট্রিক (জারো 1995; 1989; উইঙ্কলার 1999)। রেকর্ড-লিঙ্কেজ সাহিত্যে, এই পদ্ধতির রূপগুলি ব্যবহার করে ভাল ফলাফল পাওয়া গেছে, যা দুটি অক্ষরের মধ্যে সাধারণ অক্ষরের সংখ্যা এবং ক্রমের উপর ভিত্তি করে।
উইঙ্কলারের কারণে এর এক বৈকল্পিক (1999) এছাড়াও দীর্ঘতম সাধারণ উপসর্গের দৈর্ঘ্য পি ব্যবহার করে
(মনে হচ্ছে প্রাথমিকভাবে সংক্ষিপ্ত স্ট্রিংগুলির জন্য উদ্দেশ্য)
পাঠ্য সমাপ্তির উদ্দেশ্যে, মোনজার-এলকান এবং জারো-উইঙ্কলারের পন্থাগুলি সর্বাধিক অর্থবোধ করে বলে মনে হচ্ছে। জারো মেট্রিকের সাথে উইঙ্কলারের সংযোজন কার্যকরভাবে শব্দের সূচনাটিকে আরও ভারী করে তোলে। এবং মোনজার-এলকানের সংলগ্ন দিকটির অর্থ একটি শব্দ সম্পূর্ণ করার প্রয়োজনীয়তা (যা কেবল সংযোজনের একটি ক্রম) এটি খুব বেশি ভারী করে না।
উপসংহার:
টিএফআইডিএফ র্যাঙ্কিং বেশ কয়েকটি টোকেন-ভিত্তিক দূরত্বের মেট্রিকগুলির মধ্যে দুর্দান্ত পারফর্ম করেছে এবং মঙ্গে এবং এলকানের প্রস্তাবিত একটি সুরযুক্ত অ্যাফাইন-গ্যাপ সম্পাদনা-দূরত্ব মেট্রিক বিভিন্ন স্ট্রিং সম্পাদনা-দূরত্বের মেট্রিকগুলির মধ্যে সেরা পারফর্ম করেছে। আশ্চর্যজনকভাবে ভাল দূরত্বের মেট্রিক একটি দ্রুত হিউরিস্টিক স্কিম যা জারো দ্বারা প্রস্তাবিত এবং পরে উইঙ্কলার দ্বারা প্রসারিত। এটি Monge-Elkan স্কিম হিসাবে প্রায় কাজ করে, তবে দ্রুততরতার একটি ক্রম। টিএফআইডিএফ পদ্ধতি এবং জারো-উইঙ্কলারের সংমিশ্রণের একটি সহজ উপায় হ'ল টিএফআইডিএফ-তে ব্যবহৃত সঠিক টোকেন ম্যাচগুলি জারো-উইঙ্কলার স্কিমের ভিত্তিতে আনুমানিক টোকেন ম্যাচগুলির সাথে প্রতিস্থাপন করা। এই সংমিশ্রণ গড়ে জারো-উইঙ্কলার বা টিএফআইডিএফের তুলনায় কিছুটা ভাল পারফর্ম করে এবং মাঝে মাঝে আরও ভাল পারফর্ম করে। এটি এই গবেষণাপত্রে বিবেচিত সেরা কয়েকটি মেট্রিকের শিখানো সংমিশ্রণের সাথেও পারফরম্যান্সের কাছে।