قياس شعبية الصفحات على وسائل التواصل الاجتماعي باستخدام DEA في ذكاء بيانات JAVA PlatoBlockchain. البحث العمودي. منظمة العفو الدولية.

قياس شعبية وسائل التواصل الاجتماعي للصفحات باستخدام إدارة مكافحة المخدرات في جافا

في المقالة السابقة ناقشنا حول تحليل مغلف البيانات تقنية ورأينا كيف يمكن استخدامه كخوارزمية تصنيف غير بارامترية فعالة. في منشور المدونة هذا ، سنقوم بتطوير تطبيق تحليل تغليف البيانات في JAVA وسنستخدمه لتقييم شعبية وسائل التواصل الاجتماعي لصفحات الويب والمقالات على الويب. الكود مفتوح المصدر (بموجب ترخيص GPL v3) ويمكنك تنزيله مجانًا من جيثب.

تحديث: أصبح Datumbox Machine Learning Framework مفتوح المصدر ومجانيًا الآن بإمكانك تحميله. تحقق من الحزمة com.datumbox.framework.algorithms.dea لمعرفة تنفيذ تحليل تغليف البيانات في Java.

تنفيذ تحليل تغليف البيانات في جافا

الرمز مكتوب بلغة JAVA ويمكن تنزيله مباشرة من جيثب. تم ترخيصه بموجب GPLv3 لذلك لا تتردد في استخدامه وتعديله وإعادة توزيعه بحرية.

الكود ينفذ تحليل مغلف البيانات خوارزمية ، يستخدم مكتبة lp_solve لحل مشاكل البرمجة الخطية ويستخدم البيانات المستخرجة من تحليلات تحسين محركات البحث على الويب الفهرس من أجل إنشاء مقياس مركب لشعبية وسائل التواصل الاجتماعي لصفحات الويب استنادًا إلى مشاركاتهم على Facebook و Google Plus و Twitter. تمت تغطية جميع الأجزاء النظرية من الخوارزمية في المقالة السابقة وفي شفرة المصدر يمكنك العثور على تعليقات javadoc التفصيلية المتعلقة بالتنفيذ.

فيما يلي نقدم وصفًا عالي المستوى لهندسة التنفيذ:

1. مكتبة lp_solve 5.5

لحل مشاكل البرمجة الخطية المختلفة ، نستخدم مكتبة مفتوحة المصدر تسمى lp_solve. تتم كتابة المكتبة في ANSI C وتستخدم غلاف JAVA لاستدعاء طرق المكتبة. وبالتالي قبل تشغيل الكود يجب عليك تثبيت lp_solve على نظامك. ثنائيات المكتبة متاحة لكل من لينكس وويندوز ويمكنك قراءة المزيد من المعلومات حول التثبيت على وثائق lp_solve.

يرجى التأكد من تثبيت المكتبة المعينة على نظامك قبل محاولة تشغيل كود JAVA. لأية مشكلة تتعلق بتثبيت وتكوين المكتبة يرجى الرجوع إلى وثائق lp_solve.

2. فئة DataEnvelopmentAnalysis

هذه هي الفئة الرئيسية لتنفيذ خوارزمية إدارة مكافحة المخدرات. يطبق طريقة عامة تسمى تقدير الكفاءة () يأخذ خريطة السجلات ويعيد درجات DEA الخاصة بهم.

3. كائن DeaRecord

DeaRecord هو كائن خاص يقوم بتخزين بيانات سجلنا. نظرًا لأن DEA تتطلب فصل المدخلات والمخرجات ، فإن كائن DeaRecord يقوم بتخزين بياناتنا بشكل منفصل بطريقة يمكن لـ DEA التعامل معها.

4. فئة SocialMediaPopularity

إن SocialMediaPopularity هو تطبيق يستخدم DEA لتقييم شعبية صفحة على شبكات التواصل الاجتماعي بناءً على الإعجابات على Facebook و Google + 1s و Twitter. تطبق طريقتين محميتين هما calculatePopularity () و EstimPercentiles () جنبًا إلى جنب مع طريقتين عامتين هما loadFile () و getPopularity ().

تستخدم الحاسبة calculatePopularity () تطبيق DEA لتقدير نتائج الصفحات بناءً على عدد وسائل التواصل الاجتماعي الخاصة بها. تحصل طريقة EstimPercentiles () على درجات DEA وتحولها إلى نسب مئوية. بشكل عام ، أسهل في تفسير المئويات من درجات إدارة مكافحة المخدرات ؛ وبالتالي عندما نقول أن درجة الشعبية للصفحة هي 70٪ فهذا يعني أن الصفحة المعينة أكثر شيوعًا من 70٪ من الصفحات.

من أجل أن نكون قادرين على تقدير شعبية صفحة معينة ، يجب أن يكون لدينا مجموعة بيانات مع عدد وسائل التواصل الاجتماعي لصفحات أخرى. هذا أمر منطقي لأنه من أجل التنبؤ بالصفحة الشائعة وأيها ليست كذلك ، يجب أن تكون قادرًا على مقارنتها بالصفحات الأخرى على الويب. للقيام بذلك ، نستخدم عينة صغيرة مجهولة المصدر من فهرس Web SEO Analytics المقدم بتنسيق txt. يمكنك إنشاء قاعدة بياناتك الخاصة عن طريق استخراج عدد وسائل التواصل الاجتماعي من المزيد من الصفحات على الويب.

تُستخدم طريقة loadFile () لتحميل الإحصائيات المذكورة أعلاه عن DEA وطريقة getPopularity () هي طريقة سهلة الاستخدام تحصل على الإعجابات على Facebook و Google + 1 وعدد التغريدات على الصفحة وتقييم شعبيتها على وسائل التواصل الاجتماعي .

استخدام تطبيق تحليل تغليف البيانات

في فئة DataEnvelopmentAnalysisExample ، أقدم نموذجين مختلفين لكيفية استخدام الرمز.

يستخدم المثال الأول مباشرةً طريقة DEA لتقييم كفاءة الوحدات التنظيمية استنادًا إلى ناتجها (القضايا ، الإيصالات ، 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());

يستخدم المثال الثاني تطبيق Social Media Popularity الخاص بنا لتقييم شعبية الصفحة باستخدام بيانات من Social Media مثل Facebook Likes و Google + 1s و Tweets. يتم تمييز جميع أعداد وسائل التواصل الاجتماعي كمخرجات ونمرر إلى إدارة مكافحة المخدرات ناقل إدخال فارغ.

        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. إضافة المزيد من شبكات التواصل الاجتماعي

يستخدم التطبيق Facebook Likes و Google + 1s وعدد التغريدات لتقييم شعبية المقالة. ومع ذلك ، يمكن بسهولة أخذ المقاييس من شبكات التواصل الاجتماعي الأخرى في الاعتبار. كل ما عليك فعله هو بناء قاعدة بيانات مع عدد وسائل التواصل الاجتماعي من الشبكات التي تهتم بها وتوسيع فئة SocialMediaPopularity للتعامل معها وفقًا لذلك.

التعليقات النهائية على التنفيذ

لتتمكن من توسيع التنفيذ يجب أن يكون لديك فهم جيد لكيفية ذلك تحليل مغلف البيانات يعمل. تم تناول هذا في المقالة السابقة ، لذا يرجى التأكد من قراءة البرنامج التعليمي قبل المتابعة إلى أي تغييرات. علاوة على ذلك ، لاستخدام كود JAVA يجب أن تكون قد قمت بتثبيت مكتبة lp_solve (انظر أعلاه).

إذا كنت تستخدم التنفيذ في مشروع مثير للاهتمام ترك لنا خطا وسوف نعرض مشروعك على مدونتنا. أيضًا إذا أعجبك المقال ، يرجى تخصيص بعض الوقت ومشاركته على Twitter أو Facebook.

الطابع الزمني:

اكثر من داتومبوكس