JAVA PlatoBlockchain ডেটা ইন্টেলিজেন্সে DEA দিয়ে পেজের সোশ্যাল মিডিয়া জনপ্রিয়তা পরিমাপ করা। উল্লম্ব অনুসন্ধান. আ.

JAVA-তে DEA দিয়ে পেজের সোশ্যাল মিডিয়া জনপ্রিয়তা পরিমাপ করা

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

আপডেট: Datumbox মেশিন লার্নিং ফ্রেমওয়ার্ক এখন ওপেন সোর্স এবং বিনামূল্যে ডাউনলোড. জাভাতে ডেটা এনভেলপমেন্ট বিশ্লেষণের বাস্তবায়ন দেখতে com.datumbox.framework.algorithms.dea প্যাকেজটি দেখুন।

JAVA-তে ডেটা এনভেলপমেন্ট বিশ্লেষণ বাস্তবায়ন

কোডটি JAVA-তে লেখা এবং সরাসরি এখান থেকে ডাউনলোড করা যায় গিটহাব. এটি GPLv3 এর অধীনে লাইসেন্সপ্রাপ্ত তাই এটি ব্যবহার করতে, এটিকে সংশোধন করতে এবং অবাধে পুনরায় বিতরণ করতে নির্দ্বিধায়৷

কোডটি বাস্তবায়ন করে ডেটা এনভেলপমেন্ট বিশ্লেষণ অ্যালগরিদম, ব্যবহার করে lp_solve লাইব্রেরি রৈখিক প্রোগ্রামিং সমস্যা সমাধান করতে এবং এর থেকে বের করা ডেটা ব্যবহার করে ওয়েব এসইও বিশ্লেষণ Facebook, Google Plus এবং Twitter-এ তাদের শেয়ারের উপর ভিত্তি করে ওয়েবপৃষ্ঠাগুলির জন্য একটি যৌগিক সামাজিক মিডিয়া জনপ্রিয়তা মেট্রিক তৈরি করার জন্য সূচক। অ্যালগরিদমের সমস্ত তাত্ত্বিক অংশগুলি পূর্ববর্তী নিবন্ধে কভার করা হয়েছে এবং উত্স কোডে আপনি বাস্তবায়নের বিষয়ে বিস্তারিত জাভাডোক মন্তব্য পেতে পারেন।

নীচে আমরা বাস্তবায়নের আর্কিটেকচারের একটি উচ্চ স্তরের বিবরণ প্রদান করি:

1. lp_solve 5.5 লাইব্রেরি

বিভিন্ন লিনিয়ার প্রোগ্রামিং সমস্যা সমাধানের জন্য, আমরা lp_solve নামে একটি ওপেন সোর্স লাইব্রেরি ব্যবহার করি। নির্দিষ্ট lib ANSI C-তে লেখা এবং লাইব্রেরি পদ্ধতিগুলিকে আহ্বান করতে একটি JAVA মোড়ক ব্যবহার করে। সুতরাং কোডটি চালানোর আগে আপনাকে অবশ্যই আপনার সিস্টেমে lp_solve ইনস্টল করতে হবে। লাইব্রেরির বাইনারি উভয়ের জন্য উপলব্ধ লিনাক্স এবং উইন্ডোজ এবং আপনি ইনস্টলেশন সম্পর্কে আরও তথ্য পড়তে পারেন lp_solve ডকুমেন্টেশন.

JAVA কোড চালানোর চেষ্টা করার আগে দয়া করে নিশ্চিত করুন যে নির্দিষ্ট লাইব্রেরিটি আপনার সিস্টেমে ইনস্টল করা আছে। লাইব্রেরি ইনস্টল এবং কনফিগার করার বিষয়ে কোনো সমস্যার জন্য অনুগ্রহ করে lp_solve ডকুমেন্টেশন পড়ুন।

2. ডেটা এনভেলপমেন্ট অ্যানালাইসিস ক্লাস

এটি ডিইএ অ্যালগরিদম বাস্তবায়নের প্রধান শ্রেণী। এটি অনুমান দক্ষতা() নামে একটি সর্বজনীন পদ্ধতি প্রয়োগ করে যা রেকর্ডগুলির একটি মানচিত্র নেয় এবং তাদের DEA স্কোর প্রদান করে।

3. DeaRecord অবজেক্ট

DeaRecord হল একটি বিশেষ বস্তু যা আমাদের রেকর্ডের ডেটা সঞ্চয় করে। যেহেতু DEA-এর ইনপুট এবং আউটপুট আলাদা করা প্রয়োজন, তাই DeaRecord অবজেক্ট আমাদের ডেটা আলাদাভাবে সংরক্ষণ করে যাতে DEA এটি পরিচালনা করতে পারে।

4. সোশ্যাল মিডিয়া পপুলারিটি ক্লাস

The SocialMediaPopularity হল একটি অ্যাপ্লিকেশন যা DEA ব্যবহার করে সোশ্যাল মিডিয়া নেটওয়ার্কে একটি পেজের জনপ্রিয়তা মূল্যায়ন করার জন্য তার Facebook লাইক, Google +1s এবং Tweets এর উপর ভিত্তি করে। এটি loadFile() এবং getPopularity() দুটি পাবলিক পদ্ধতির সাথে calculatePopularity() এবং অনুমান পারসেন্টাইল() দুটি সুরক্ষিত পদ্ধতি প্রয়োগ করে।

calculatePopularity() তাদের সামাজিক মিডিয়া গণনার উপর ভিত্তি করে পৃষ্ঠাগুলির স্কোর অনুমান করতে DEA বাস্তবায়ন ব্যবহার করে। অনুমানPercentiles() পদ্ধতিটি DEA স্কোর পায় এবং সেগুলিকে শতাংশে রূপান্তর করে। সাধারণভাবে শতকরা ডিইএ স্কোরের চেয়ে ব্যাখ্যা করা সহজ; এইভাবে যখন আমরা বলি যে একটি পৃষ্ঠার জনপ্রিয়তা স্কোর 70% এর মানে হল যে নির্দিষ্ট পৃষ্ঠাটি পৃষ্ঠাগুলির 70% থেকে বেশি জনপ্রিয়।

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

loadFile() পদ্ধতিটি DEA-তে পূর্বোক্ত পরিসংখ্যান লোড করতে ব্যবহার করা হয় এবং getPopularity() পদ্ধতিটি ব্যবহার করা সহজ একটি পদ্ধতি যা Facebook লাইক, Google +1s এবং একটি পেজের টুইটের সংখ্যা পায় এবং সোশ্যাল মিডিয়াতে এর জনপ্রিয়তা মূল্যায়ন করে। .

ডেটা এনভেলপমেন্ট অ্যানালাইসিস JAVA বাস্তবায়ন ব্যবহার করা

DataEnvelopmentAnalysisExample ক্লাসে আমি কোডটি কীভাবে ব্যবহার করতে হয় তার 2টি ভিন্ন উদাহরণ প্রদান করি।

প্রথম উদাহরণটি তাদের আউটপুট (ইস্যু, প্রাপ্তি, অনুরোধ) এবং ইনপুট (স্টক, মজুরি) এর উপর ভিত্তি করে সাংগঠনিক ইউনিটগুলির দক্ষতা মূল্যায়ন করতে সরাসরি DEA পদ্ধতি ব্যবহার করে। এই উদাহরণ একটি নিবন্ধ থেকে নেওয়া হয়েছে DEAzone.com.

        Map<String, DeaRecord> records = new LinkedHashMap<>();
        
        records.put("Depot1", new DeaRecord(new double[]{40.0,55.0,30.0}, new double[]{3.0,5.0}));
        //...adding more records here...
        
        DataEnvelopmentAnalysis dea = new DataEnvelopmentAnalysis();
        Map<String, Double> results = dea.estimateEfficiency(records);
        System.out.println((new TreeMap<>(results)).toString());

দ্বিতীয় উদাহরণটি Facebook লাইক, Google +1 এবং টুইটের মতো সোশ্যাল মিডিয়া থেকে ডেটা ব্যবহার করে একটি পৃষ্ঠার জনপ্রিয়তা মূল্যায়ন করতে আমাদের সোশ্যাল মিডিয়া জনপ্রিয়তা অ্যাপ্লিকেশন ব্যবহার করে৷ সমস্ত সোশ্যাল মিডিয়া গণনা আউটপুট হিসাবে চিহ্নিত করা হয় এবং আমরা একটি খালি ইনপুট ভেক্টর ডিইএ-তে প্রেরণ করি।

        SocialMediaPopularity rank = new SocialMediaPopularity();
        rank.loadFile(DataEnvelopmentAnalysisExample.class.getResource("/datasets/socialcounts.txt"));
        Double popularity = rank.getPopularity(135, 337, 9079); //Facebook likes, Google +1s, Tweets
        System.out.println("Page Social Media Popularity: "+popularity.toString());

প্রয়োজনীয় সম্প্রসারণ

প্রদত্ত কোডটি শুধুমাত্র একটি উদাহরণ যে কিভাবে DEA একটি র্যাঙ্কিং অ্যালগরিদম হিসাবে ব্যবহার করা যেতে পারে। বাস্তবায়নের উন্নতির জন্য এখানে কয়েকটি সম্প্রসারণ করা আবশ্যক:

1. বাস্তবায়ন ত্বরান্বিত করা

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

2. সোশ্যাল মিডিয়া কাউন্ট ডাটাবেস প্রসারিত করা

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

3. আরও সোশ্যাল মিডিয়া নেটওয়ার্ক যোগ করা৷

বাস্তবায়নটি একটি নিবন্ধের জনপ্রিয়তা মূল্যায়ন করতে Facebook লাইক, Google +1 এবং টুইটের সংখ্যা ব্যবহার করে। তবুও অন্যান্য সোশ্যাল মিডিয়া নেটওয়ার্ক থেকে মেট্রিক্স সহজেই বিবেচনায় নেওয়া যেতে পারে। আপনাকে যা করতে হবে তা হল সোশ্যাল মিডিয়ার সংখ্যাগুলির সাথে একটি ডাটাবেস তৈরি করতে হবে যে নেটওয়ার্কগুলিতে আপনি আগ্রহী এবং সেই অনুযায়ী সেগুলি পরিচালনা করার জন্য SocialMediaPopularity শ্রেণীটি প্রসারিত করুন৷

বাস্তবায়ন সম্পর্কে চূড়ান্ত মন্তব্য

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

আপনি যদি একটি আকর্ষণীয় প্রকল্প বাস্তবায়ন ব্যবহার করুন আমাদের একটি লাইন ড্রপ এবং আমরা আমাদের ব্লগে আপনার প্রকল্পটি তুলে ধরব। এছাড়াও আপনি যদি নিবন্ধটি পছন্দ করেন, অনুগ্রহ করে একটু সময় নিন এবং টুইটার বা ফেসবুকে শেয়ার করুন।

সময় স্ট্যাম্প:

থেকে আরো ডেটাবক্স