স্টপওয়ার্ডগুলির একটি ভাল তালিকা কীভাবে তৈরি করা যায়


9

স্টপওয়ার্ডের একটি তালিকা কীভাবে সংশোধন করা যায় সে সম্পর্কে আমি কিছু ইঙ্গিতগুলি সন্ধান করছি। কেউ কি জানেন / প্রোট্রোসেসিং এবং ফিল্টারিংয়ের জন্য ডেটাসেট থেকে নিজেই স্টপওয়ার্ড তালিকা বের করার জন্য কোনও ভাল পদ্ধতির প্রস্তাব দিতে পারেন?

তথ্যটি:

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

আমার সমস্যা:

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

আপনার ধারণা এবং আলোচনা ভাবেন জন্য ধন্যবাদ!


1
পাইথন এনএলটিকে মডিউল স্টপওয়ার্ড ডেটা সরবরাহ করে এবং যদি এটি আপনাকে আপনার ডেটাসেট সম্পর্কে আরও তথ্য সরবরাহ করতে সহায়তা করে না। কেন এটি আপনার ক্ষেত্রে সহায়ক ছিল না?
কসরা মনশায়ে

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

1
আমি মনে করি @ প্লাগটাগ কী তা বুঝতে পারে না stop words। স্টপ-wrods কিছু ভাষায় সবচেয়ে সাধারণ শব্দ, উদাহরণস্বরূপ একটি তালিকা রয়েছে I, the, aইত্যাদি। আপনার অ্যালগরিদমকে প্রশিক্ষণ দেওয়ার আগে আপনি এই শব্দগুলি সরিয়ে ফেলবেন যা কোন পাঠ্যটি স্প্যাম কিনা তা সনাক্ত করার চেষ্টা করুন or এটি আপনাকে কোন পাঠ্যটি স্প্যাম বা না তা সনাক্ত করতে সহায়তা করে নি, এটি আপনার শেখার অ্যালগরিদমকে কিছুটা উন্নতি করতে পারে।
itdxer

@ আইটিডেক্সার, আপনার মন্তব্যের জন্য ধন্যবাদ। আমি স্টপওয়ার্ড শব্দটি এখানে বিস্তৃত আকারে ব্যবহার করেছি (কারণ আমি ভেবেছিলাম এটি উদ্দেশ্যটির পক্ষে ঠিক আছে)। সমস্যাটি পরিষ্কার করার জন্য আপনাকে ধন্যবাদ ;-)
প্লাগট্যাগ

উত্তর:


5

একটি পদ্ধতির tf-idf স্কোর ব্যবহার করা হবে । যে শব্দগুলি বেশিরভাগ প্রশ্নের মধ্যে দেখা যায় সেগুলি খারাপগুলির থেকে ভাল অনুসন্ধান অনুসন্ধানগুলিকে পৃথক করতে খুব সাহায্য করবে। তবে যেগুলি খুব ঘন ঘন ঘটে (উচ্চ টিএফ বা টার্ম-ফ্রিকোয়েন্সি) কেবলমাত্র কয়েকটি কোয়েরিতে (উচ্চ আইডিএফ বা বিপরীত দলিলের ফ্রিকোয়েন্সি) খারাপগুলি থেকে ভাল অনুসন্ধানগুলি আলাদা করার ক্ষেত্রে আরও গুরুত্বপূর্ণ বলে মনে হয়।


অনেক ধন্যবাদ, আমি এটিকে চেষ্টা করে দেখাব এবং এখানে রিপোর্ট করব!
প্লাগটাগ

আসলে একটি উচ্চ আইডিএফ স্কোর একাই এই কৌশলটি করতে পারে
CpILL

2

এটি আপনার আবেদনের উপর নির্ভর করে।

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

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


1

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


1

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

এই কৌশলটি কার্যকর কারণ এটি একটি স্টপওয়ার্ড তালিকা তৈরি করার সময় টোকেনগুলির প্রভাব বিবেচনা করে।


0

স্টপওয়ার্ডগুলি কোনও সময়ে সমাধানের অংশ হতে পারে, তবে কী নয়। যে কোনও বড় ভাষার ক্ষেত্রে যে কোনও ক্ষেত্রে স্টপ শব্দের ভাল তালিকাগুলি বিদ্যমান, এটি ডোমেন নির্দিষ্ট হওয়া উচিত নয়।

আমি আরও মনে করি না যে একা টিডি-আইডিএফ ব্যবহার করা সত্যই সঠিক। নিম্ন মানের স্ট্রিংগুলিতে খুব বিরল (সম্ভাব্য আবর্জনা) শব্দ থাকতে পারে।

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

তারপরে এমন মডেল তৈরি করার জন্য সেই লেবেলযুক্ত উদাহরণগুলির সাথে কিছু মেশিন লার্নিং প্যাকেজ প্রশিক্ষণ দিন যা আপনার পক্ষে যথেষ্ট সঠিক। তারপরে সেই মডেলটিকে বাকী ডেটা চালিয়ে দেওয়া হোক।

আপনি যদি খুব বেশি কোডিং না করতে চান তবে আপনি কেবল সেই বৈশিষ্ট্যগুলি সিএসভি আকারে পেতে পারেন এবং সেগুলি গুগল প্রেডিকশন এপিআইয়ের স্প্রেডশিট ইন্টারফেসে দিতে পারেন

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