আপনার যদি বাইরের লাইব্রেরি ব্যবহার করে সমস্যা না হয় তবে আমি বিজ্ঞান-শিখার সুপারিশ করব কারণ এটি আপনার নিজের কোডিংয়ের চেয়ে সম্ভবত এটি আরও ভাল এবং দ্রুত করতে পারে। আমি এই জাতীয় কিছু করব:
আপনার কর্পস তৈরি করুন। আমি স্পষ্টতার জন্য তালিকাটি উপলব্ধি করেছি, তবে কীভাবে আপনার ডেটা সংরক্ষণ করা হবে তার উপর নির্ভর করে আপনাকে বিভিন্ন জিনিস করতে হতে পারে:
def corpus_builder(apple_inc_tweets, apple_fruit_tweets):
corpus = [tweet for tweet in apple_inc_tweets] + [tweet for tweet in apple_fruit_tweets]
labels = [1 for x in xrange(len(apple_inc_tweets))] + [0 for x in xrange(len(apple_fruit_tweets))]
return (corpus, labels)
গুরুত্বপূর্ণ বিষয়টি হল আপনি দুটি তালিকাগুলি সমাপ্ত হ'ল:
([['apple inc tweet i love ios and iphones'], ['apple iphones are great'], ['apple fruit tweet i love pie'], ['apple pie is great']], [1, 1, 0, 0])
[1, 1, 0, 0] ইতিবাচক এবং নেতিবাচক লেবেলগুলি উপস্থাপন করে।
তারপরে, আপনি একটি পাইপলাইন তৈরি করুন! পাইপলাইন হ'ল বিজ্ঞান-শিখার শ্রেণি যা পাঠ্য প্রক্রিয়াজাতকরণের পদক্ষেপগুলিকে এক সাথে চেইন করা সহজ করে তোলে যাতে প্রশিক্ষণ / ভবিষ্যদ্বাণী করার সময় আপনাকে কেবলমাত্র একটি বস্তুর কল করতে হবে:
def train(corpus, labels)
pipe = Pipeline([('vect', CountVectorizer(ngram_range=(1, 3), stop_words='english')),
('tfidf', TfidfTransformer(norm='l2')),
('clf', LinearSVC()),])
pipe.fit_transform(corpus, labels)
return pipe
পাইপলাইনের ভিতরে তিনটি প্রক্রিয়াধীন পদক্ষেপ রয়েছে। কাউন্টভেক্টরাইজার শব্দগুলিকে টোকেনাইজ করে, সেগুলি বিভক্ত করে, গণনা করে এবং ডেটাগুলিকে একটি বিচ্ছিন্ন ম্যাট্রিক্সে রূপান্তর করে। TfidfTransformer alচ্ছিক, এবং আপনি সঠিকতা রেটিংয়ের উপর নির্ভর করে এটিকে সরাতে চাইবেন (ক্রস বৈধতা পরীক্ষা করা এবং সেরা পরামিতিগুলির জন্য গ্রিড অনুসন্ধান কিছুটা জড়িত, সুতরাং আমি এখানে এটি পাব না)। লিনিয়ারএসভিসি হ'ল মানক পাঠ্য শ্রেণিবদ্ধকরণ অ্যালগরিদম।
অবশেষে, আপনি টুইটগুলির বিভাগটির পূর্বাভাস দিন:
def predict(pipe, tweet):
prediction = pipe.predict([tweet])
return prediction
আবার, টুইটটি একটি তালিকায় থাকা দরকার, তাই আমি ধরে নিয়েছিলাম এটি একটি স্ট্রিং হিসাবে ফাংশনে প্রবেশ করছে।
এগুলি সমস্ত শ্রেণিতে বা যাই হোক না কেন এবং আপনার কাজ শেষ। অন্তত, এই খুব প্রাথমিক উদাহরণ সহ।
আমি এই কোডটি পরীক্ষা করি নি তাই আপনি যদি কেবল অনুলিপি-পেস্ট করেন তবে এটি কাজ করতে পারে না তবে আপনি যদি সাইকিট-লার্ন ব্যবহার করতে চান তবে এটি আপনাকে কোথা থেকে শুরু করবেন সে সম্পর্কে ধারণা দেওয়া উচিত।
সম্পাদনা: আরও বিশদে পদক্ষেপগুলি ব্যাখ্যা করার চেষ্টা করা হয়েছে।