اندازه گیری محبوبیت رسانه های اجتماعی صفحات با DEA در هوش داده پلاتو بلاک چین JAVA. جستجوی عمودی Ai.

اندازه گیری محبوبیت رسانه های اجتماعی صفحات با DEA در JAVA

در مقاله قبلی در مورد آن بحث کردیم تحلیل پوششی داده ها روش و ما دیده ایم که چگونه می توان از آن به عنوان یک الگوریتم رتبه بندی ناپارامتریک موثر استفاده کرد. در این پست وبلاگ ما پیاده سازی تجزیه و تحلیل پوششی داده ها را در JAVA توسعه خواهیم داد و از آن برای ارزیابی محبوبیت رسانه های اجتماعی صفحات وب و مقالات در وب استفاده خواهیم کرد. کد منبع باز (تحت مجوز GPL v3) است و می توانید آن را به صورت رایگان از اینجا دانلود کنید گیتهاب.

به روز رسانی: چارچوب یادگیری ماشین Datumbox اکنون منبع باز و رایگان است دانلود. برای مشاهده اجرای تحلیل پوششی داده در جاوا، بسته com.datumbox.framework.algorithms.dea را بررسی کنید.

پیاده سازی تحلیل پوششی داده در جاوا

کد به زبان جاوا نوشته شده است و می توانید مستقیماً از آن دانلود کنید گیتهاب. مجوز آن تحت GPLv3 است، بنابراین از آن استفاده کنید، آن را تغییر دهید و آزادانه آن را دوباره توزیع کنید.

کد را پیاده سازی می کند تحلیل پوششی داده ها الگوریتم، از کتابخانه lp_solve برای حل مسائل برنامه ریزی خطی و استفاده از داده های استخراج شده از تجزیه و تحلیل سئو وب ایندکس به منظور ایجاد یک معیار محبوبیت رسانه های اجتماعی ترکیبی برای صفحات وب بر اساس اشتراک آنها در فیس بوک، گوگل پلاس و توییتر. تمام بخش های نظری الگوریتم در مقاله قبلی پوشش داده شده است و در کد منبع می توانید نظرات جاوادوک را با جزئیات در مورد پیاده سازی بیابید.

در زیر توضیح سطح بالایی از معماری پیاده سازی ارائه می دهیم:

1. کتابخانه lp_solve 5.5

برای حل مسائل مختلف برنامه نویسی خطی، از یک کتابخانه منبع باز به نام lp_solve استفاده می کنیم. lib خاص در ANSI C نوشته شده است و از یک پوشش جاوا برای فراخوانی روش های کتابخانه استفاده می کند. بنابراین قبل از اجرای کد باید lp_solve را روی سیستم خود نصب کنید. باینری های کتابخانه برای هر دو موجود است لینوکس و ویندوز و شما می توانید اطلاعات بیشتر در مورد نصب را در اسناد lp_solve.

لطفاً قبل از اجرای کد JAVA مطمئن شوید که کتابخانه خاص روی سیستم شما نصب شده است. برای هر گونه مشکل در مورد نصب و پیکربندی کتابخانه، لطفاً به مستندات lp_solve مراجعه کنید.

2. کلاس Data EnvelopmentAnalysis

این کلاس اصلی اجرای الگوریتم DEA است. این یک روش عمومی به نام برآورد ()Efficiency را پیاده سازی می کند که نقشه ای از رکوردها را می گیرد و امتیازات DEA آنها را برمی گرداند.

3. DeaRecord Object

DeaRecord یک شی خاص است که داده های رکورد ما را ذخیره می کند. از آنجایی که DEA نیاز به جداسازی ورودی و خروجی دارد، شی DeaRecord داده های ما را به گونه ای جداگانه ذخیره می کند که DEA بتواند آن را مدیریت کند.

4. کلاس محبوبیت رسانه های اجتماعی

SocialMediaPopularity برنامه‌ای است که از DEA برای ارزیابی محبوبیت یک صفحه در شبکه‌های رسانه‌های اجتماعی بر اساس لایک‌های فیسبوک، 1+های گوگل و توییت‌های آن استفاده می‌کند. دو متد محافظت شده محاسبه Popularity() و تخمینPercentiles() به همراه دو متد عمومی loadFile() و getPopularity().

محاسبه Popularity() از پیاده سازی DEA برای تخمین امتیازات صفحات بر اساس تعداد رسانه های اجتماعی آنها استفاده می کند. روش تخمینPercentiles () امتیازات DEA را می گیرد و آنها را به صدک تبدیل می کند. به طور کلی صدک ها آسان تر از نمرات DEA توضیح داده می شوند. بنابراین وقتی می گوییم که امتیاز محبوبیت یک صفحه 70٪ است به این معنی است که صفحه خاص از 70٪ صفحات محبوب تر است.

برای اینکه بتوانیم محبوبیت یک صفحه خاص را تخمین بزنیم، باید مجموعه داده ای با تعداد رسانه های اجتماعی صفحات دیگر داشته باشیم. این منطقی است زیرا برای پیش بینی اینکه کدام صفحه محبوب است و کدام یک محبوب نیست، باید بتوانید آن را با صفحات دیگر در وب مقایسه کنید. برای انجام این کار، از یک نمونه کوچک ناشناس از نمایه Web SEO Analytics استفاده می کنیم که در قالب txt ارائه شده است. شما می توانید پایگاه داده خود را با استخراج تعداد رسانه های اجتماعی از صفحات بیشتری در وب بسازید.

از متد loadFile() برای بارگذاری آمار فوق در DEA استفاده می شود و متد getPopularity() روشی آسان برای استفاده است که لایک های فیسبوک، 1+های گوگل و تعداد توییت های یک صفحه را دریافت می کند و محبوبیت آن را در رسانه های اجتماعی ارزیابی می کند. .

با استفاده از پیاده سازی JAVA تحلیل پوششی داده ها

در کلاس DataEnvelopmentAnalysisExample I 2 مثال مختلف از نحوه استفاده از کد ارائه می کنم.

مثال اول مستقیماً از روش DEA برای ارزیابی کارایی واحدهای سازمانی بر اساس خروجی آنها (ISSUES، Receipts، REQS) و ورودی (STOCK، WAGES) استفاده می کند. این مثال از مقاله ای از 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());

مثال دوم از برنامه محبوبیت رسانه های اجتماعی ما برای ارزیابی محبوبیت یک صفحه با استفاده از داده های رسانه های اجتماعی مانند لایک های فیس بوک، 1+های گوگل و توییت ها استفاده می کند. همه شمارش های رسانه های اجتماعی به عنوان خروجی علامت گذاری می شوند و یک بردار ورودی خالی را به DEA منتقل می کنیم.

        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 نمونه از نمایه Web SEO Analytics است. برای اینکه بتوان امتیاز محبوبیت دقیق تری را تخمین زد، نمونه بزرگتر لازم است. می توانید با تخمین تعداد رسانه های اجتماعی از صفحات بیشتری از وب، پایگاه داده خود را ایجاد کنید.

3. افزودن شبکه های اجتماعی بیشتر

این پیاده‌سازی از لایک‌های فیسبوک، 1+های گوگل و تعداد توییت‌ها برای ارزیابی محبوبیت یک مقاله استفاده می‌کند. با این وجود، معیارهای سایر شبکه های رسانه اجتماعی را می توان به راحتی در نظر گرفت. تنها کاری که باید انجام دهید این است که یک پایگاه داده با تعداد رسانه های اجتماعی از شبکه های مورد علاقه خود بسازید و کلاس SocialMediaPopularity را گسترش دهید تا آنها را بر اساس آن مدیریت کنید.

نظرات نهایی در مورد اجرا

برای اینکه بتوانید پیاده سازی را گسترش دهید، باید درک خوبی از چگونگی آن داشته باشید تحلیل پوششی داده ها آثار. این در مقاله قبلی پوشش داده شده است، بنابراین لطفاً قبل از هرگونه تغییر، حتماً آموزش را بخوانید. علاوه بر این، برای استفاده از کد جاوا باید کتابخانه lp_solve را در سیستم خود نصب کرده باشید (به بالا مراجعه کنید).

اگر از پیاده سازی در یک پروژه جالب استفاده می کنید یک خط را بگذار و ما پروژه شما را در وبلاگ خود به نمایش خواهیم گذاشت. همچنین اگر مقاله را دوست دارید، لطفاً کمی وقت بگذارید و آن را در توییتر یا فیس بوک به اشتراک بگذارید.

تمبر زمان:

بیشتر از Datumbox