নিবন্ধ বা পোস্টগুলি নকল কিনা তা সনাক্ত করতে আমি কোন অ্যালগরিদম ব্যবহার করতে পারি?


17

আমি নিবন্ধ বা ফোরাম পোস্টটি ডাটাবেসের মধ্যে একটি সদৃশ এন্ট্রি কিনা তা সনাক্ত করার চেষ্টা করছি। আমি এই সিদ্ধান্তটি নিয়েছি, এই সিদ্ধান্তে পৌঁছেছি যে, যে কেউ নকল প্রতিলিপি তিনটি এর মধ্যে একটির (যেমন সনাক্তকরণে অসুবিধা অবলম্বনে) ব্যবহার করে তা করবেন:

  1. সরল অনুলিপিটি পুরো টেক্সটটি পেস্ট করুন
  2. পাঠ্যের কিছু অংশ তাদের নিজস্ব দিয়ে মার্জ করে কপি এবং পেস্ট করুন
  3. একটি বাহ্যিক সাইট থেকে একটি নিবন্ধ অনুলিপি করুন এবং তাদের নিজের হিসাবে মুখোশ

বিশ্লেষণের জন্য প্রিপিং পাঠ্য

মূলত যে কোনও অসঙ্গতি; লক্ষ্যটি পাঠ্যটিকে যতটা সম্ভব "খাঁটি" হিসাবে তৈরি করা make আরও সঠিক ফলাফলের জন্য, পাঠ্যটি "মানকৃত" দ্বারা:

  1. সদৃশ সাদা স্থান ফাঁকা এবং ছাঁটাই নেতৃস্থানীয় এবং পিছনে।
  2. নিউলাইনগুলি \ n এ মানিক করা হয়েছে।
  3. এইচটিএমএল ট্যাগগুলি সরানো হয়েছে।
  4. সাহসী ফায়ারবল ইউআরএলগুলি নামক একটি রেজিএক্স ব্যবহার করে ফেলা হয়।
  5. আমি আমার অ্যাপ্লিকেশনটিতে বিবি কোড ব্যবহার করি যাতে এটি যায়।
  6. (ä) সেনসেন্ট এবং বিদেশী (এনলগিশ ছাড়াও) তাদের অ বিদেশী রূপে রূপান্তরিত হয়।

আমি প্রতিটি নিবন্ধ (1) পরিসংখ্যান সারণীতে এবং (2) কীওয়ার্ড সারণীতে তথ্য সঞ্চয় করি।

(1) পরিসংখ্যান সারণী নিম্নলিখিত পরিসংখ্যান পাঠ্য সামগ্রী সম্পর্কে সংরক্ষণ করা হয় (অনেকটা এই পোস্টের মত)

  1. পাঠ্য দৈর্ঘ্য
  2. চিঠি গণনা
  3. শব্দ গণনা
  4. বাক্য গণনা
  5. প্রতি বাক্য গড় শব্দ
  6. স্বয়ংক্রিয় পাঠযোগ্যতা সূচক
  7. বন্দুক কুয়াশা স্কোর

ইউরোপীয় ভাষার জন্য কোলম্যান-লিয়াউ এবং অটোমেটেড রিডাবিলিটি ইনডেক্স ব্যবহার করা উচিত কারণ তারা উচ্চারণযোগ্য গণনা ব্যবহার করে না, সুতরাং যুক্তিসঙ্গতভাবে সঠিক স্কোর তৈরি করা উচিত।

(২) কীওয়ার্ড সারণী

কীওয়ার্ডগুলি স্টপ শব্দের (প্রচলিত শব্দ) বিশাল তালিকা বাদ দিয়ে তৈরি করা হয়, যেমন, '' ',' এ ',' এর ',' থেকে ', ইত্যাদি ইত্যাদি etc.

নমুনা তথ্য

  • পাঠ্য দৈর্ঘ্য, 3963
  • চিঠি_কাউন্ট, 3052
  • শব্দ_কাউন্ট, 684
  • বাক্য_কাউন্ট, 33
  • শব্দ_পরিচয়_ 21, 21
  • বন্দুক_ফোগ, ১১.৫
  • অটো_ড্রেড_ইন্ডেক্স, 9.9
  • কীওয়ার্ড 1, নিহত
  • কীওয়ার্ড 2, অফিসার
  • কীওয়ার্ড 3, পুলিশ

এটি লক্ষ করা উচিত যে একবার কোনও নিবন্ধ আপডেট হয়ে গেলে উপরের সমস্ত পরিসংখ্যান পুনরায় জেনারেট হয় এবং এটি সম্পূর্ণ আলাদা মান হতে পারে।

প্রথমবারের মতো প্রকাশিত নিবন্ধটি ইতিমধ্যে ডাটাবেসের মধ্যে উপস্থিত রয়েছে কিনা তা সনাক্ত করতে আমি কীভাবে উপরের তথ্যটি ব্যবহার করতে পারি?


আমি জানি যে আমি যে কোনও ডিজাইন করব তা নিখুঁত হবে না, সবচেয়ে বড় ঝুঁকি হচ্ছে (১) যে নকলটি নয় এমন সামগ্রীগুলি সদৃশ হিসাবে চিহ্নিত করা হবে (২) সিস্টেমটি সদৃশ সামগ্রীকে নকল করার অনুমতি দেয়।

সুতরাং অ্যালগরিদম 0 থেকে একটি ঝুঁকি মূল্যায়ন নম্বর উত্পন্ন করা উচিত নয় নকল ঝুঁকি 5 সম্ভাব্য সদৃশ এবং 10 নকল হচ্ছে। 5 এর উপরে যে কোনও কিছু আছে তবে সামগ্রীর সদৃশ হওয়ার খুব ভাল সম্ভাবনা রয়েছে। এক্ষেত্রে বিষয়বস্তুটিকে ফ্ল্যাগ করা যায় এবং নিবন্ধটির সাথে লিঙ্কযুক্ত হতে পারে এমন সম্ভাব্য নকলগুলি এবং কোনও মানুষ মুছে ফেলা বা অনুমতি দেওয়ার সিদ্ধান্ত নিতে পারে।

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

আমি পরিসংখ্যানগুলির মধ্যে ওজন গড়ের বিষয়ে চিন্তা করছি, তবে কোন ক্রমে এবং ফলাফলগুলি কী হবে ...


যদি এটি হুবহু মিল থাকে তবে আপনি কেবল কোনও ক্ষেত্রকে অনন্যতে সেট করতে পারেন। যদি তা না হয় তবে আপনাকে সিদ্ধান্ত নিতে হবে যে কোনও পাঠকে কোনও অনুলিপি বা ঘনিষ্ঠভাবে উত্পন্ন কাজ হিসাবে বিবেচনা করা যায়।
জেমস পি।

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

1
এছাড়াও, এসও থেকে স্থানান্তরিত হওয়ার আগে এটি ট্যাগ করা হয়েছিল [পিএইচপি], যাতে আপনি পিএইচপি এর নেটিভ লেভেনস্টেইন ফাংশনটি পরীক্ষা করতে পারেন
rdlowrey

একটি মানব চেক সম্ভবত ডুপ্লিকেট আছে দুর্দান্ত ধারণা! আপনি স্বয়ংক্রিয়ভাবে সিদ্ধান্ত নিতে সক্ষম করতে পারেন যে> a টি সদৃশ এবং <different টি আলাদা এবং কেবলমাত্র লোকেরা 6 বা 7. এর স্কোর পরীক্ষা করে নিতে পারে I আমি জানি যে স্প্যাম শনাক্তকরণের সাথে একটি মেশিন-অজানা-এবং-মানব-রয়েছে- না জেনে-হয় বিভাগ; কাছাকাছি সদৃশ এবং একটি আসল কাজের মধ্যে একটি ধূসর অঞ্চল যেখানে আপনি সবচেয়ে ভাল করতে পারেন তা হল কিছুটা স্বেচ্ছাচারিত রায় কল make
গ্লেনপিটারসন

@ অর্ডলোরে - লেভেনস্টেইন অ্যালগরিদম হ'ল আমি সি # তে অনুরূপ একটি প্রকল্পে ব্যবহার করেছি। আমি সম্মত, এটি শুরু করার জন্য ভাল জায়গা এবং যথেষ্ট হতে পারে।
jfrankcarr

উত্তর:


4

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


6

কটাক্ষপাত রবিন-Karp algborithm । এটি কিছুটা রোলিং হ্যাশ ব্যবহার করে যেমন একটি সিঙ্কের সময় সংক্রমণিত বাইটগুলি হ্রাস করতে আরএসসিএনসি ব্যবহার করে। আপনি হ্যাশটির জন্য যে উইন্ডোটি ব্যবহার করেন তার আকার সামঞ্জস্য করে আপনি এটিকে কম বা বেশি সংবেদনশীল করতে পারেন। আর কে অন্যান্য বিষয়গুলির মধ্যে, চৌর্যবৃত্তি সনাক্তকরণের জন্য ব্যবহৃত হয়, যা মূলত ধরণের ধরণের সন্ধান করে।


4
ওপি বর্ণিত সমস্যাটি হুবহু চৌর্যবৃত্তি সনাক্তকরণের মতো মনে হয় এবং আমি পরামর্শটি প্রথম স্থান হিসাবে সাহায্যের সন্ধান করার পরামর্শ দিয়েছিলাম। (কেবলমাত্র আপনার উত্সগুলি সনাক্ত করতে ভুলবেন না!)
কালেব

4

প্রথমে যেতে পারে বাক্যগুলি সনাক্ত করা (বা ডেটাগুলির জন্য কিছু অন্যান্য যুক্তিসঙ্গত ব্লক those এই ব্লকগুলি নিন এবং যে কোনও মেটা ডেটা, এইচটিএমএল এলোমেলো সাদা স্থান, রিটার্ন ইত্যাদি ছিনিয়ে নিন ফলাফলের এমডি 5 নিন এবং এটি একটি টেবিলে সংরক্ষণ করতে পারেন could তারপরে ম্যাচগুলি সন্ধান করার জন্য এই ব্লকগুলির সাথে মিল দিন।

যদি এটি কাজ না করে তবে আপনি এন-গ্রাম চেষ্টা করতে পারেন। এখানে আপনার পৃষ্ঠায় প্রতিটি শব্দের একটি করে প্রবেশ দরকার, তবে এটি আপনাকে বেশ ভাল ম্যাচ দিতে সক্ষম হবে।

http://en.wikipedia.org/wiki/N-gram


বিশেষত এইচটিএমএল হিসাবে আধা-কাঠামোগত ডেটার জন্য এমডি 5 হ্যাশগুলির চেয়ে এন-গ্রাম ভিত্তিক ব্যবস্থাগুলি আরও ভাল।
ক্যান্ডাইড

1

সঠিক গাণিতিক গণিতের জন্য আমি একটি হ্যাশ সঞ্চয় করি এবং তারপরে এটি তুলনা করি।

আমি মনে করি পরীক্ষাগুলির জন্য ব্যবহৃত সিস্টেমগুলি শব্দের গ্রুপগুলি পরিমাপ করে এবং তারপরে প্রতিটি আকারের গ্রুপগুলির ফ্রিকোয়েন্সি। উদাহরণস্বরূপ অনুলিপি করা 30 টি শব্দের একটি শৃঙ্খলে 5 টি ঝুঁকির পয়েন্ট এবং 10 শব্দ চেইনের 5 টি উপস্থিতি স্কোর 5 পয়েন্ট হবে। তারপরে আপনার প্রতি 500 শব্দের 30 টি পয়েন্ট থাকবে।

সত্যিই আপনার একটি শব্দার্থবিজ্ঞানের অ্যালগরিদম প্রয়োজন যাতে 'এছাড়াও' এবং 'এবং' এর মতো শব্দগুলি একই হিসাবে পার্স করা যায়।

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