Plots2: تصور العلامات لجميع العلامات

تم إنشاؤها على ٥ يوليو ٢٠١٧  ·  73تعليقات  ·  مصدر: publiclab/plots2

هذا طلب لشخص لديه حق الوصول إلى تحرير صفحات خاصة لإضافة هذا التمثيل المرئي للعلامات من بداية الوقت حتى تشرين الثاني (نوفمبر) 2016 إلى الجزء العلوي من publiclab.org/tags

https://www.dropbox.com/s/s78g3ufhsav5xzo/plots_tag_graph_256_filtered.png؟dl=0
plots_tag_graph_256_filtered

نسخة:
تضمين التغريدة
تضمين التغريدة

enhancement planning

التعليق الأكثر فائدة

من المفترض أن يتم تشغيله على الموقع المباشر في وقت لاحق الليلة ، ولكني أردت أن أشير إلى أن "الإفراط في استخدام" العلامات من قبل بعض المستخدمين قد أدى إلى انحراف الرسم البياني بطريقة عرفناها من قبل. أعتقد أن أحد المستخدمين قد تم الإشراف عليه من الموقع ، وتساءلت عما إذا كان الناس يعتقدون أنه من المناسب إما حذف هذه العلامات من الموقع أو حذفها على الأقل من الرسم البياني. سيكون حذفها أسهل ولكن يمكننا أيضًا صياغة شيء لإخفائها. تفضيل،ebarryskilfullycurled؟

ومع ذلك ، يبدو هذا جيدًا على الرغم من أن الإعدادات الخاصة بمرونة الحافة لا تزال بحاجة إلى بعض التغيير والتبديل ، وربما يعمل نوع تخطيط مختلف بشكل أفضل ...

image

ال 73 كومينتر

مرحبًا ، ليز - أنا متردد قليلاً في وضع رسم ثابت مثل هذا في قاعدة الشفرة الدائمة لدينا ، ولكن ربما يكون اقتراحًا هو أننا نعرض "ميزة" (مثل لافتاتنا) في الجزء العلوي من تلك الصفحة ، ثم المسؤولون يمكنهم عرض ما يريدون هناك. هل سينجح هذا؟

سيكون أعلى أو أسفل هذا الخط: https://github.com/publiclab/plots2/blob/master/app/views/tag/index.html.erb#L4

وتبدو مثل:

      <% cache('feature_tag-page-header') do %>
        <%= feature('tag-page-header') %>
      <% end %>

حسنًا ، لا أرغب كثيرًا في تزيين تلك الصفحة لأنني أريد إضافة "نظرة ثاقبة في لمحة".
هناك نقطة مختلفة ، ولكن ربما تكون ذات صلة بالسبب الذي جعلني أقترح إضافة تصور بياني ، وهي أن صفحة العلامة هذه لا تزال لا تحتوي على أي إمكانيات فرز لرؤية "حديثة" أو "شائعة" أقل بكثير لرؤية أي منهما حسب الجغرافيا.

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

مرحبًا بالجميع - أعتقد أن الرسم البياني الذي تم إنشاؤه سيكون رائعًا ، ويمكننا وضعه في الكود الدائم.

ebarry أنا لا أقول إن هذا زخرفة وليس محتوى ، فأنا أقول أكثر أن هذا سيصبح

re this tag page still doesn't have any sorting capabilities to see "recent" or "popular" much less to see either of those by geography. يسعدني العمل معك للتوصل إلى بعض طلبات الميزات لجعل المساهمين يبنون لحل هذه المشكلة إذا كان يمثل أولوية بالنسبة لك. يمكن أن تكون بعض المشكلات السهلة في first-timers-only إذا كان بإمكانك المساعدة في وضعها في قائمة الانتظار!

دعنا نعود إلى الأساسيات المتعلقة بهذه المشكلة :)
ما هو الهدف من تصور العلامات؟

بالنسبة لي ، يمثل تصور العلامات طريقة لتصوير العلامات المرتبطة بشكل مرئي ، مثل العلامات التي تظهر معًا في نفس المحتوى. للحصول على مثال رائع ، راجع المجموعات ذات الرموز اللونية في تصور _ أقرب _ إلى ما يشير إليه مجتمع المختبر العام ثقافيًا باسم "مجالات البحث" ، أو ربما "الموضوعات" -> هذا هو هدفي الفعلي مع هذه المشكلة بأكملها.

إليك بعض المعلومات الأساسية: في صفحة العلامات الخاصة بنا (https://publiclab.org/tags) نكتب "نحن نستخدم العلامات لتجميع البحث حسب الموضوع" ونشجع الأشخاص على تصفح العلامات (التي تم فرزها حاليًا فقط حسب النشاط الأخير). هذه طريقة مهمة نقوم بتسمية الأشخاص و / أو الارتباط بهم و / أو الترويج لهم للعثور على الموضوعات والتفاعل معها. تؤكد لوحة المعلومات نفسها على النشاط الأخير. تحتوي لوحة التحكم الرئيسية الآن على شريط "العلامات المستخدمة مؤخرًا" - وهي خطوة مهمة ولكنها جزئية لهدف رؤية "مجالات البحث" أو "الموضوعات".

للمضي قدمًا ، لست مهتمًا بـ _الملاحة_ من خلال تصور علامة الرسم (حتى 2007!) ، ومع ذلك ، توفر مجموعات النشاط طريقة إضافية مهمة للاتصال / التنقل في الموضوعات. لتحقيق الهدف ، أعني بذلك قدرة صفحة العلامات على إظهار العلامات الأكثر ارتباطًا ، وإيصال اتساع نطاق الموضوعات المتصلة في منطقة البحث ، والتنقل / الاتصال بمنطقة البحث ، والاشتراك بشكل مناسب. لا تحتاج بالضرورة إلى سهام انقضاض مرمزة بالألوان. دعونا نفكر في كيفية تحقيق هذه الأهداف.

قد نفكر أيضًا في نسخ publiclab.org/tags على publiclab.org/topics لجعل الوصول إلى اللغة أكثر سهولة.

رائع ، شكرًا ليز!

لمحاولة طعنة واحدة في ميزة أضيق لتحقيق هذا الهدف ، ماذا لو كانت صفحات العلامات (الاسم الجديد العائم: صفحات الموضوع ...!؟!) تحتوي على قائمة من "الموضوعات ذات الصلة" ، شيء مثل:

الموضوعات ذات الصلة: water runoff wetlands turbidity

عندما تعني كلمة "ذات صلة" أن (إقرارًا بوجود طرق مختلفة لقياس ذلك ، وأننا نريد طريقة "فعالة حسابيًا") فهذه هي العلامات التي تظهر بشكل شائع على الصفحات التي تحتوي بالفعل على العلامة الأساسية. لذلك بالنسبة للموضوع onions ، نحسب كل صفحة تم وضع علامة عليها بـ onions ونأخذ القمة ، على سبيل المثال ، خمسة.

متابعة صغيرة إذا كان ما ورد أعلاه يبدو جيدًا - فهل من المناسب القيام بذلك فقط لأحدث 20 إلى 30 صفحة؟ حتى لو كانت هذه مجرد نقطة بداية ، فمن شأن ذلك أن يسهل التنفيذ دون القلق بشأن تسببه في بطء موقع الويب بشكل عام. قد تكون هناك طرق أكثر تعقيدًا للتغلب على هذا ، ولكن هذه هي أسهل طريقة للبدء.

لقد قمت بالنشر عبر https://publiclab.org/questions/tommystyles/10-20-2017/need-your-feedback-on-tag-pages - ما رأيك في نقل المناقشة هناك حتى يكون هناك منفصل محدد خطوات الترميز (مشاريع صغيرة للمساهمين في التعليمات البرمجية) يمكننا القيام بها؟

حسنا عظيم! دعنا ننتقل إلى تلك المناقشة ونعود بمجرد الانتهاء
خطوات قابلة للتنفيذ.

-

+1 336-269-1539 / @ lizbarry http://twitter.com/lizbarry / lizbarry.net

يوم الأربعاء 15 نوفمبر 2017 الساعة 9:54 مساءً ، Jeffrey Warren [email protected]
كتب:

لقد قمت بالنشر عبر الموقع https://publiclab.org/questions/tommystyles/10-20-
2017 / need-your-feedback-on-tag-pages - ما رأيك في الانتقال
مناقشة هناك حتى تكون هناك خطوات ترميز منفصلة محددة (مصغرة
مشاريع للمساهمين في التعليمات البرمجية) يمكننا أن نجعلها؟

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/1502#issuecomment-344799932 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAJ2n8PdvpH0GQ_wBU-Utp4xfL7XDmuJks5s26PpgaJpZM4OOvLP
.

jywarren ، ebarry ، هل هناك أي واجهة برمجة تطبيقات (أو ربما وثائق) لمعرفة "الحواف" في الرسم البياني أعلاه؟ أعني كيف يتم توصيل العقد؟
شكرا 😄!

يا @ sagarpreet-chadha!

التصور هو مجرد صورة لذلك لا توجد واجهة برمجة تطبيقات (حتى الآن! غمزة) ولكن يمكنني تزويدك بقائمة من الحواف من هذا الرسم البياني المحدد. أكثر تنسيقات الملفات "الخام" هي csv و json. يجب أن يعمل كلا التنسيقين مع رسم بياني إما "برمجيًا" ( iGraph ، و networkx ، و d3.js ) أو باستخدام واجهة المستخدم الرسومية ( Gephi ، Cytoscape ).

يبدو أنه لا يمكنك تحميل الملفات على جيثب. حاولت تحميلها على مذكرة بحث المعمل العام لكنها لا تعمل. jywarren هل هناك طريقة لتحميل الملفات إلى مذكرة بحثية؟ إذا لم يكن كذلك ، @ sagarpreet-chadha ، هل يمكنك إنشاء منشور في مجموعة plots-dev google (يمكنك الاشتراك هنا إذا لم تكن بالفعل)؟ دعنا ننتظر لنرى ما يقوله @ jywarren لأنه سيكون من الرائع وجودهم مباشرة في مذكرة البحث.

إليك ما يمكنك التطلع إليه على الرغم من ذلك:

plots_tag_communities_edges_w_props_9_16.csv:: قائمة بالحواف الفريدة ذات الخصائص المحسوبة ، ولا سيما وزن الحافة. يُترجم الوزن إلى عدد المرات التي حدثت فيها العلامات معًا.

plots_tag_communities_nodes_w_props_9_16.csv: قائمة بالعقد ذات الخصائص المحسوبة. الأكثر صلة بالصورة الموجودة على موقع الويب هي "فئة الوحدات النمطية" التي تخبرك بالمجتمع الذي تنتمي إليه كل عقدة.

plots_tag_communities_9_16.json: لا أجد أن json مفيدة لكني أعرف أن بعض الناس يفضلونها. أعتقد أن ملف json يتضمن أيضًا خصائص التصور الموجود على موقع الويب (أي لون RGB لكل عقدة).

تحديث: تمت إزالة plots_tag_communities_edgelist_9_16.csv من قائمة الملفات أعلاه. هذا الملف محدود الاستخدام لأن الحواف المكررة قد تم دمجها بالفعل في حواف فريدة ذات أوزان. بدون الخصائص ، ستسمح لك قائمة الحافة هذه فقط ببناء رسم بياني بأوزان حواف 1. سأبحث عن الملف الأصلي مع التكرارات.

شكرا لك skilfullycurled لردك !

كنت أحاول بالفعل إنشاء الرسم البياني للتصور باستخدام مكتبة جافا سكريبت (d3.js أو vis.js ) بحيث يمكن إضافته بسهولة إلى موقع publiclab.org. تتطلب هذه المكتبات البيانات في شكل:

nodes: [ { id: 1, shape: 'circle', label: 'Infrared } ] للعقد .

وللحواف :
edges: [ {from: 1, to: 2}, {from: 1, to: 3}]

حسنًا ، سيكون json رائعًا وإلا يمكنني إنشاؤه ، أو ربما إنشاء كائن Javascript مباشرة (بهذه الطريقة لا داعي لتحليل ملف JSON).

لقد قمت بإنشاء رسم بياني وهمي (يمكننا اللعب بالعقد والحواف هنا 😄):
screen shot 2018-01-24 at 3 40 16 pm

ماذا تعتقد ؟ ebarry ، jywarren ، skilfullycurled

آه. سيكون هذا رائعا! تمام. لتعزيز هذه المحادثة ، سنحتاج إلى ترك "أرض واجهة برمجة التطبيقات" والانتقال إلى كيفية عمل التصور في Gephi وأفضل طريقة لترجمة هذه الميزات إلى جافا سكريبت.

هل يمكنني أن أزعجك لبدء هذا كسؤال ؟ شيء مثل ، "كيف يمكنني ترجمة تصور العلامة الذي تم إنشاؤه في Gephi إلى إصدار جافا سكريبت؟"

أيضا ، أرسل لي بريدًا إلكترونيًا في بنج. [email protected] حتى أتمكن من مشاركة الملفات. سأزيل بريدي الإلكتروني بمجرد القيام بذلك.

في الواقع ، أعتقد أننا قد لا نحتاج إلى مغادرة أرض واجهة برمجة التطبيقات - واجهة برمجة التطبيقات الحالية قوية جدًا هذه الأيام. أنا فضولي skilfullycurled كيف

هل يمكن إنشاؤها حديثًا من قائمة جميع العلامات والعقد التي تم استخدامها فيها؟ يعد هذا استعلامًا معقولاً بالنسبة لنا لإنشائه ، إذا تم تخزينه مؤقتًا.

يمكننا إضافته إلى واجهة برمجة التطبيقات على https://github.com/publiclab/plots2/tree/master/app/api/srch وتوثيقه على https://github.com/publiclab/plots2/blob/master/doc /API.md

إذا كانت البيانات كافية ، فقد يكون الاستعلام مثل:

r = []
Tag.select(:name, :tid).each do |t|
  nids = t.nodes.select(:nid, :status).where(status: 1).collect(&:nid)
  r << [t.name, nids] if nids.length > 0
end
r # later, r.to_json

لقد قمت بتشغيل ذلك على الإنتاج واستغرق الأمر حوالي 15 ثانية. إذا قمنا بتخزين ذلك يوميًا ، أعتقد أنه يمكن التحكم فيه ، وقد نتمكن من تحسينه بشكل أكبر.

يمكنك أيضًا مشاركة الملفات على http://gist.github.com - هل يمكن أن ينجح ذلك؟

لذلك ، باستخدام JSON الذي تم إنشاؤه من استعلامي ،

  • في JavaScript ، يمكننا حساب عدد المرات التي حدثت فيها العلامات معًا.
  • كيف جمعت / تحسب "المجتمعات"؟

هذا مقتطف:

["whitebalance", [12476, 13575]], ["wi", [12143, 13067]], ["wi-fi", [11123]], ["width-of-dvd-grating", [12838, 12875, 12895, 12899, 12902, 12926, 12990, 12991, 12995, 12999, 13006, 13014, 13019, 13037, 13046, 13057, 13062, 13069, 13077, 13088, 13089, 13094, 13103, 13117, 13125, 13131, 13133, 13136, 13152, 13154, 13157, 13159, 13169, 13178, 13181, 13183, 13188, 13226, 13248, 13283, 13302, 13305, 13308, 13315, 13316, 13340, 13349, 13355, 13366, 13401, 13402, 13409, 13414, 13423, 13429, 13432, 13434, 13437, 13439, 13440, 13443]], ["wiki", [9048, 10956]], ["wiki-gardening", [10956]], ["wild", [11707, 11711]], ["wildfires", [14803]], ["wildlife", [670]], ["wilkinson-bay", [220, 265, 280, 281, 282, 283, 284, 677]], ["wilkinsonbay", [606]], ["williamsburg", [10343, 10428, 10444]], ["willow", [9979]], ["wind", [9032, 10660, 12610, 13880, 14487, 14527, 14530, 14531, 14713, 14756]], ["wind-direction", [14527]], ["wind-sensor", [14713]], ["wind-speed-meter", [1962, 5837, 9032, 12103, 13064, 13165, 13231, 13880, 14527]], ["winder", [7717]], ["winders", [1900]], ["window", [147, 1759]], ["windows", [11434, 11677, 13037]], ["windows-7", [13037]], ["windows-7-ultimate", [13037]], ["windows-excel", [13037]], ["windspeed", [745]], ["windvane", [14527]], ["windy", [146]], ["wine", [706, 10955]], ["winter", [5161]], ["wintercamp", [5103]], ["wired", [10315]], ["wireframes", [10623]], ["wireless", [3908, 9940, 11123, 12175]], ["wisconsin", [10504, 10552, 10611, 10619, 11331, 11783, 12142, 12143, 12192, 12221, 12337, 12537, 12539, 12562, 12597, 12610, 12919, 13067, 13216, 13217, 13219, 13222, 13223, 13224, 13406, 13578, 13920, 13921, 13922, 14018, 14044, 14087, 14146, 14648]], ["with", [11772, 13742, 14728]], ["with:abdul", [13407, 13412, 13413, 13428, 13493]], ["with:adam-griffith", [11049]], ["with:amal", [12161]], ["with:amandaf", [11556]], ["with:amberwise", [12338, 13280]], ["with:ann", [12850]], ["with:basurama", [11699, 11705]], ["with:becki", [13571]], ["with:bronwen", [10952, 12480, 13493, 14587]], ["with:bsugar", [13449]], ["with:btbonval", [11789]], ["with:cfastie", [11688, 13493, 13980]], ["with:chrisjob", [10464]], ["with:cindy_excites", [11566, 11567, 14537]], ["with:damarquis", [12338]], ["with:danbeavers", [11417, 11567]],

FWIW قد يكون هناك بعض الاستعلام الأكثر كفاءة مثل هذا ولكن هذا لائق جدًا ، على الرغم من أنه لا يُرجع بالكامل ما ورد أعلاه:

Tag.select('term_data.tid, term_data.name, community_tags.nid, community_tags.tid')
   .includes(:node_tag)
   .references(:node_tag)

على الرغم من أن هذا لن يخبرنا ما إذا تم نشر العقدة (مقابل البريد العشوائي) ما لم نخلط أيضًا node.status هناك. لكن هذا ممكن!

مرحبًا ، لدي بعض الأسئلة هنا ،
1.) إذا كانت علامتان تنتمي إلى نفس العقدة ، فهل بينهما ميزة؟
2.) الألوان المختلفة لأنواع مختلفة من العقدة مثل الأسئلة والملاحظات والملاحظات البحثية وما إلى ذلك. ؟

شكرا 😄!

وأوافق أيضًا على عدم مغادرة أرض واجهة برمجة التطبيقات :)

أرج! تمام. دعونا لا نتراكم ، من فضلك. لا أحد يريد البقاء في أرض API أكثر مما أفعل (حسنًا ، ربما باستثناء ebarry ). حسب فهمي ، فإن بناء أرض API قد تأخر إلى أجل غير مسمى بسبب مخاوف من تباطؤ موقع الويب ( انظر تمديد المحادثة هنا ). ولكن الآن jywarren يقول إنها ليست صفقة كبيرة بعد الآن ، لذا الأوقات الجيدة في هذا الصدد.

نظرًا لأن استخدام Github يمكن أن يكون عائقًا أمام الوصول إلى المعلومات (ليس كل شخص لديه إمكانية الوصول ، ويعرف كيفية الاستخدام) ، أعتقد (أو ... فكرت) أن إجراء محادثات لا تتعلق "بإنجاز المهام" في قاعدة الشفرة كان من الأفضل نقلها إلى موقع الويب حيث يمكن للجميع التعلم منهم. هذه ليست معايير المجتمع التي حددتها (انظر تعليقjywarren الخاص أعلاه ) لكنني أعتقد أنها معايير جيدة.

عفوًا ، آسف skilfullycurled لم أتذكر تعليقك الأخير على هذا الموضوع - https://publiclab.org/questions/tommystyles/10-20-2017/need-your-feedback-on-tag-pages#answer - 556-comment-17709 - حيث اقترحت:

  1. يعمل فقط على أفضل 250 علامة
  2. التخزين المؤقت أسبوعيًا

سأعود إلى هناك مرة أخرى ، لكنني أعتقد أنه مع كل العمل على واجهة برمجة التطبيقات وتنظيف الكود والتواصل ، يمكننا إجراء نسخة مخبأة يومية أو أسبوعية من هذا الاستعلام ، ونكون على ما يرام مع حساب إجمالي لمدة 10-15 ثانية مرة في الأسبوع. سيتم تشغيل الباقي محليًا في المستعرض. أكرر هذا هناك.

jywarren سأحتاج إلى الرد عليك بشأن بعض أسئلتك. سأقوم بنشر دفتر jupyter الخاص بي لاحقًا. في غضون ذلك ، انظر هنا للحصول على شرح موجز لكيفية إنشاء الرسم البياني من أزواج العلامات. للحصول على الكود الدقيق ، انظر هنا .

@ sagarpreet-chadha (وأي شخص آخر مهتم) يمكنك أن ترى كيف تم إنشاء رسم بياني d3.js من بيانات العلامة عن طريق التحقق من الريبو لـ tagoverflow الذي كان مصدر إلهام لهذا المشروع.

فيما يتعلق باكتشاف المجتمع ، إذا نظرت في مستودع tagoverflow ، فستجد أن المؤلف قام بتطبيق الخوارزمية الخاصة به. منذ ذلك الوقت ، تم تنفيذ برامج أخرى مثل jLouvain و netClustering وتنفيذ مثال d3 ). مع حد 256 علامة ، من المحتمل أن يكون اكتشاف المجتمع جيدًا في المتصفح.

حتى لا تطغى على مناقشة publiclab.org بالكثير من البيانات ، إليك رابط لتنسيق البيانات التي يستخدمها TagOverflow:

https://api.stackexchange.com/2.1/tags/python/related/؟site=stackoverflow&key=of3hmyFapahonChi8EED6g ((& pagesize = 16

يتم إجراء 15 استدعاء لجلب العلامات المتعلقة بعلامة معينة (في المثال أعلاه ، "python")

لذا فإن الاختلاف بين ذلك والبيانات التي أنشأتها أعلاه هو أن استفساري يسرد معرفات العقدة ، لكن لم أستخدمها لإثبات "الترابط". ولكن بالطبعskilfullycurled الصورة دفتر Jupyter يفعل ذلك! رائع ، شكرا للمشاركة!

@ sagarpreet-chadha ، لقد نشرت سؤالًا يطرح أسئلة وأجوبة عليها أعلاه:

https://publiclab.org/questions/bsugar/01-25-2018/how-was-the-tag-graph-visualization-made

أنا لا أحاول أن أكون "عدوانية سلبية" بشأن طلبي ، ولكن أعتقد أن الناس يمكن أن يستفيدوا من هذا الجانب من المحادثة عندما تكون علنية. لذا أعتقد أن هذا يجعلها "عدوانية". ؛ )

كل شيء يمزح جانبا ، سعيد للإجابة على أي أسئلة!

مرحبا جميعا!

@ sagarpreet-chadha ، أضع كل الملفات التي ستحتاجها هنا:

https://spideroak.com/browse/share/skilfullyshared/plots-tag-graph

يأتي المجلد مع ملف تمهيدي يشرح المحتويات.

يرجى إعلامي عندما تقوم بتنزيلها حتى أتمكن من إغلاق غرفة المشاركة. في النهاية ، سأقوم بنشرها على حساب github الخاص بي ليتمكن الأشخاص الآخرون من الوصول إليها على موقع wiki.

يسعدني الرد على أي أسئلة أخرى قد تكون لديكم!

شكرا لك skilfullycurled !
لقد قمت بتنزيل الملفات :-)

لا مشكلة @ sagarpreet-chadha!

ملاحظة: لقد تركت لك فكرة متابعة في سؤال الويكي .

تحديث رائع لحسابات ارتباط العلامات القائمة على الياقوت هنا: https://publiclab.org/questions/bsugar/01-25-2018/how-was-the-tag-graph-visualization-made

المزيد قريبا!

تم إحراز بعض التقدم في https://github.com/publiclab/plots2/pull/4657 ، حيث قمت بتطبيق مثيل أساسي للغاية ولكنه مباشر لـ Cytoscape.js (http://js.cytoscape.org/) ، جمع أسبوعي مؤقت من

استغرق الأمر أكثر من 50 ثانية للتشغيل لجميع العلامات على الموقع (والتي يمكن تخزينها مؤقتًا أسبوعيًا) ولكن هذا أدى أيضًا إلى إنشاء أكثر من 8200 علامة و 31 ألف حافة ... وهو الكثير للرسم البياني. ها هي المجموعة الكاملة ؛ أعتقد أنه يتضمن الكثير من علامات البريد العشوائي: https://gist.github.com/jywarren/4b1f9a032092a8187dd802a375fcb700

يمكنك تحديد عدد العلامات التي تريد الاستعلام عنها مثل هذا: https://stable.publiclab.org/tag/graph.json؟limit=10 (بمجرد نشرها بالكامل ، https://publiclab.org/tag/graph. json؟ limit = 10)

يقتصر حاليًا على 5 "حواف" لكل علامة ، تمثل العلامات الخمس التي غالبًا ما تظهر بجانب العلامة الأصلية.

هذا موجود الآن على خادم الاختبار الثابت (على الرغم من أن هذا الفرع يعيد البناء في كثير من الأحيان ، لذا فإن عنوان URL ليس دائمًا متصل بالإنترنت ... ومن المفارقات) هنا:

https://stable.publiclab.org/stats/graph؟limit=75

يبدو أن الأعداد الكبيرة مثل الحد = 100 أو 250 تظهر نوعًا من الخطأ ويجب أن أتابع ذلك قليلاً. لكن هذه بداية جيدة.

هناك الكثير من التكوينات التي يمكن إضافتها لتحسين هذا - حجم العقدة ، وقوة الارتباط ، وأكثر من ذلك بكثير - تحقق من المعرض على http://js.cytoscape.org للحصول على بعض الاحتمالات. وقد يكون تكوين "عائلات" ممكنًا أيضًا ، على الرغم من أنني سأحتاج إلى مزيد من المدخلات من أجل ذلك.

image

أوه ، يبدو أن https://stable.publiclab.org/stats/graph؟limit=300 يعمل أيضًا

@ jywarren ، رائع جدا !!!

هناك أيضًا مجموعة من خوارزميات التجميع - يمكن اختبارها في وحدة تحكم JavaScript:

http://js.cytoscape.org/#collection/clustering

  • eles.markovClustering ()
  • nodes.k يعني ()
  • nodes.k
  • nodes.fuzzyCeans ()
  • العقد الهرمية
  • العقد.

لست على دراية بهذه الأشياء ، لكن يبدو أنهم جميعًا يستخدمون سمات العقد أو الحواف لإنشاء مجموعات من العناصر المتشابهة. إذن ، ما الذي يجب أن نعطيه كصفات نبني عليها التشابه؟

يمكنك تجربة ذلك في وحدة التحكم باستخدام الأمثلة الموجودة في المستندات ، أشياء مثل:

var clusters = cy.elements().hca({
  mode: 'threshold',
  threshold: 5,
  attributes: [
    function( node ){ return node.data('count'); }
  ]
});
clusters; // <= then inspect what this returns to see the clusters

حسنًا ، باستخدام jlouvain تمكنت من إضافة اكتشاف المجتمع: https://github.com/upphiminn/jLouvain

ليس لدي بيانات اختبار كافية لمعرفة كيفية عمل ذلك ، ولكن إذا تم تمرير # 4679 ، فسأقوم بدمجه وسنكون قادرين على رؤيته يعمل مع اكتشاف المجتمع على:

https://stable.publiclab.org/stats/graph؟limit=101

(بمجرد أن يبني)

مرحبا جميعا! يبدو رائعا. آسف لم أتمكن من الرد ، ومتابعة بعض الأمور وسأعود إلى هذا لاحقًا اليوم.

في غضون ذلك ، هناك عنصر آخر لا أعتقد أنني ذكرته في أي من مشاركاتي الأخرى وهو التصميم. ربما كان أقرب ما استخدمته هو تخطيط القوة . من الناحية الفنية ، ربما كان شيئًا يسمى تخطيط القوة 2:

تخطيط القوة هو نوع من الجذب / التنافر الصلب الذي يصل إلى حالة ثابتة بناءً على المعلمات التي تحددها (أي عدد التكرارات ، قوة الجذب / التنافر). هنا عرض d3 .

بالنسبة لاكتشاف المجتمع وأوزان الحافة ، لديك بعض الخيارات ولكن إذا كنت ترغب في إعادة إنشاء مخطط العلامات هذا في إشارة إلى ، فأنت بحاجة إلى التواجد المشترك الذي يحتوي على cytoscape ، كما هو الحال بالنسبة للثروة ، لديه وظيفة للمساعدة في صنعه. أسهل.

oe_ratio =  (all_questions_count * tag_count_AB) / (tag_count_A * tag_count_B)

حيث tag_count_AB = edges.parallelEdges ()

كما كان ، قمت أولاً بتضييق نطاق مجموعة العلامات إلى عدد معقول (على سبيل المثال ، أعلى 512) ، ولكن بعد ذلك قمت بتضييق نطاق العلامات التي استخدمتها للتخيل من خلال تضمين العلامات n العلوية فقط (ربما 64؟) مع ملاحظة إلى النسبة المتوقعة أعلى من 1.

يمكنك قراءة المزيد من Tag Overflow . هذه الطريقة هي إحدى الطرق للتعامل مع المشكلة التي قد تكون فيها عقدة الحافة أو العقدة مهمة ولكنها ذات استخدام منخفض. على سبيل المثال ، في متجر 100 شخص _ قد_ لديهم احتمال 85٪ لشراء القهوة والقشدة ، لكن خمسة من هؤلاء _ دائمًا_ يشترون القهوة والقشدة والبيض. لذلك أريد بالتأكيد الاحتفاظ بخمسة علب من البيض في المخزن.

البديل السهل هو جعل وزن الحافة بين عقدتين هو tag_count_AB وأخذ الحواف / العقد فقط فوق عتبة معينة. أنا شخصياً نادراً ما أحصل على نتائج جيدة بسبب السبب أعلاه.

فيما يتعلق بالطرق الأخرى ، قد تكون مهتمًا بالصفحات 3. (2.2) إلى - صفحة. 7 (3.1) من هذه الورقة (لا توجد رياضيات لهذه الأجزاء) التي تحاول تصنيف الأنواع المختلفة من طرق اكتشاف المجتمع. لقد ساعدني هذا في اختيار النتائج التي تقدم أبرز النتائج نظرًا لكيفية هيكلة الرسم البياني وما أريد معرفته منه. على سبيل المثال ، مجتمعات الروابط الاجتماعية المشتركة مقابل المجتمعات بناءً على مدى تكرار إرسال الرسائل بين شخصين.

تعمل الآن على خادم مستقر!

https://stable.publiclab.org/stats/graph؟limit=99

screenshot_20190125-103234

هنا W 99 أعلى العلامات!

من المفترض أن يتم تشغيله على الموقع المباشر في وقت لاحق الليلة ، ولكني أردت أن أشير إلى أن "الإفراط في استخدام" العلامات من قبل بعض المستخدمين قد أدى إلى انحراف الرسم البياني بطريقة عرفناها من قبل. أعتقد أن أحد المستخدمين قد تم الإشراف عليه من الموقع ، وتساءلت عما إذا كان الناس يعتقدون أنه من المناسب إما حذف هذه العلامات من الموقع أو حذفها على الأقل من الرسم البياني. سيكون حذفها أسهل ولكن يمكننا أيضًا صياغة شيء لإخفائها. تفضيل،ebarryskilfullycurled؟

ومع ذلك ، يبدو هذا جيدًا على الرغم من أن الإعدادات الخاصة بمرونة الحافة لا تزال بحاجة إلى بعض التغيير والتبديل ، وربما يعمل نوع تخطيط مختلف بشكل أفضل ...

image

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

أعتقد أنني سجلت حتى مشكلة في github مع طلب ميزة ظهر تحذيرًا يقول في جوهره ، "Whoaaaaaaaa ، سهل هناك فلة! يبدو أنك حصلت على الكثير من العلامات هناك ، أليس كذلك؟".

أوه ، PS. بالمناسبة تبدو رائعة !!

AAAAAAHHHHHHHHMAYZINGGGGGGGGG !!!!!!!!!!!!!
نعم "لإزالة [جي] هذا المستخدم المعين يدويًا باعتباره خارجيًا"

ما زلت أعود إلى هذا الموضوع بسبب روعة الأمر والتفكير في الأشياء (آمل أن تكون صغيرة). شيء آخر قد تفكر فيه في التصفية هو علامات الطاقة (تلك التي تحتوي على النقطتين ، أليس كذلك؟). أعتقد أنه بمجرد تصحيح مشكلة الإفراط في استخدام العلامات ، سنعرف المزيد عن التنسيق.

ملاحظة للنفس: إليك رابط الالتزام بالصفحات المهمة للتنفيذ.

مرحباً بالجميع ، سعيد للحماس! لقد مرضت ولكنني أتعافى الآن وسأعمل قليلاً على هذا في رحلة العودة إلى الوطن يوم الثلاثاء.

كنت أرغب في طرح السؤال - سؤالي المحدد هو ما إذا كان ينبغي علينا:

  1. حذف العلامات بالفعل من هذا المستخدم الخاضع للإشراف ، أو
  2. إذا كان ينبغي لنا محاولة الحفاظ عليها ولكن تصفية لهم.

قد تكون التصفية بمثابة عمل أكثر بكثير لكل من التعليمات البرمجية واستدعاءات قاعدة البيانات ، ولكنها ممكنة.

في مثل هذه الحالة التي يكون فيها الحساب "غير نشط" بسبب الإشراف ، أعتقد أنه من الجيد حذف العلامات من قاعدة البيانات تمامًا. خاصة إذا كان لديك نسخة احتياطية. ليس لأنك قد ترغب في استعادتها ، فقط لأنني قلق بشأن فقدان البيانات إلى الأبد. إنها ليست صحية ، لكن المساحة الرخيصة هي عامل تمكين مؤسف. ستكون مشاعري أكثر تعقيدًا إذا كان هذا الحساب "غير نشط" عن طريق الاختيار ولكن يمكننا مناقشة ذلك في وقت آخر (أو الآن).

نعم ، هذا موضوع كبير للتفكير فيه. بعد مراجعة ما إذا كانت هناك علامات _ فقط_ استخدمها هذا المستخدم (على سبيل المثال: aries city-point ) ، وجدت أنه يوجد في الواقع عدد قليل جدًا من العلامات المعزولة تمامًا عن هذا المستخدم (حتى purelab تم استخدام research-notes في الأصل في المشاركات التي تناقش تصميم الملاحظات البحثية على موقع الويب).

نظرًا لأن هذا المستخدم خاضع للإشراف ، فهل يمكن أن يستبعد تصور العلامة لدينا كل المحتوى من المستخدمين الخاضعين للإشراف - وبالتالي العلامات المستخدمة في محتوى ذلك الشخص - دون استبعاد هذه العلامة بشكل عام حيث يمكن استخدامها على محتوى أشخاص آخرين؟

ebarry ، يجب أن أوضح (في حال لم يكن كذلك).

عندما قلت:

حذف العلامات من قاعدة البيانات مباشرة

قصدت ما أغلقت به:

..... ..

إذا استخدم كل من المستخدم الخاضع للإشراف و Shan He الوسم "purelab" ، فلن يتم حذف "purelab" ، فقط أي مثيل للعلامة من المستخدم الوسيط أو ، ITMU ، إذا أردت ذلك.

السؤال المتبقي (إذا كنت أفهم jywarren) هو ما إذا كان يجب حذف ITMU من قاعدة البيانات بالكامل أم لا ، أو هل نحتفظ بها في قاعدة البيانات ولكن نقوم بتصفية ITMU عندما يتم طلب جميع العلامات من أجل التصور. يؤدي حذفها إلى تسهيل الحياة كثيرًا لمن ينفذون التخيل ، ولكن قد تكون هناك حجج للحفاظ عليها.

أنا شخصياً أعتقد أن الأول على ما يرام عندما يكون المستخدم قد خضع للإشراف لأنه لا توجد فرصة لعودة المحتوى إلى الموقع. ومع ذلك ، قد يكون هذا مختلفًا إذا اختار المستخدم حذف حسابه بناءً على ما إذا كان هناك أي وظيفة يمكنه إعادة تنشيطها أم لا. أعتقد أنه يمكننا ترك هذا الوضع لوقت آخر ولكن للتسجيل أردت فقط أن أقول إن رأيي القضائي محدود النطاق.

نعم لا تقلق NodeTags لا تحذف العلامة ، فقط الارتباط المرتبط
العلامات مع العقد والمؤلفين. لقد فعلت ذلك بالفعل ولكني بحاجة إلى التنظيف
ذاكرة التخزين المؤقت الأسبوعية (وهذا ما جعل كل هذا ممكنًا) وهناك
بضع أخطاء أكثر إلحاحًا يجب معالجتها أولاً والتي ظهرت للتو اليوم ، آسف!

في يوم الإثنين 28 يناير 2019 ، الساعة 3:24 مساءً ، بمهارة متقنة على < [email protected]
كتب:

ebarry https://github.com/ebarry ، يجب أن أوضح (في حال لم يكن كذلك).

عندما قلت:

حذف العلامات من قاعدة البيانات مباشرة

قصدت ما أغلقت به:

... [أن] تصور العلامة الخاص بنا [سوف] يستبعد كل المحتوى من الإشراف
المستخدمين - وامتدادًا العلامات المستخدمة في محتوى ذلك الشخص - بدون
باستثناء تلك العلامة بشكل عام [منذ] يمكن استخدامها على أشخاص آخرين
المحتوى...

إذا كان المستخدم المعتدل وشان قد استخدم كلاهما الوسم "purelab" ، "purelab"
لن يتم حذفها ، فقط أي مثيل للعلامة من المستخدم الخاضع للإشراف
أو ITMU ، إذا صح التعبير.

السؤال المتبقي (إذا كنت أفهم jywarren
https://github.com/jywarren ) هو ما إذا كنت تريد حذف ITMU أم لا
من قاعدة البيانات بالكامل ، أو هل نحتفظ بها في قاعدة البيانات ولكن مع التصفية
يتم إخراج ITMU عند طلب جميع العلامات للتصور.

يؤدي حذفها إلى تسهيل الحياة كثيرًا لمن ينفذون
التصور ، ولكن قد تكون هناك حجج للحفاظ عليها.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/1502#issuecomment-458244753 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJzTXlk18FzlER4PQyoomFE5VTFcrks5vH0AqgaJpZM4OOvLP
.

حسنًا ، تمكنت من حذف جميع العلامات التي أنشأها المستخدم المشرف. يتم تخزينها في نسخ احتياطية. كان هذا سهلاً للغاية ولن يؤثر على المضي قدمًا في الكود ، على عكس الحل الآخر.

الآن أريد أن أقترح أنه قد يكون هناك تخطيط مختلف نريد استخدامه - نحن نستخدم تنسيق cose ، وهناك أشكال مختلفة ( bilkent وغيرها) ولكن هناك أيضًا تنسيق cola . لا أعرف حقًا الشخص المناسب لاستخدامه هنا ، لكن يبدو أن البعض يربط الروابط بشكل أقل. على الرغم من أن العديد من العروض التوضيحية على http://js.cytoscape.org/ تحتوي على عدد أقل من الارتباطات البينية مقارنة بمجموعة البيانات الخاصة بنا. نقدر أي مساهمة!

محرر المستندات على التنسيقات المضمنة في http://js.cytoscape.org/#layouts

هناك مشكلة أخرى يمكننا محاولة مطالبة شخص ما باختبارها وتناولها وهي مسألة اكتشاف المجتمع. لم أتمكن من معرفة كيف يعمل أو لماذا لا يتعرف على المجموعات هنا. الألوان جميلة ، لكنها عقدة واحدة لكل مجتمع. باه.

لذلك تحتاج هذه المشكلة الآن إلى تقسيمها إلى:

  1. تكرار التخطيط (إدخال ترحيب من الحشد الحالي)
  2. كشف المجتمع
  3. تصفية إضافية للعلامات (ربما يتم تصفية العلامات التي لا تحتوي على عقد غير معتمدة لتخليص أنفسنا من الرسائل غير المرغوب فيها؟)

أرغب أيضًا في إعادة النظر إلى أننا نشاهد الآن عددًا محددًا من العلامات (يرجى عدم اختبار هذا للحدود الخاصة به ما لم يكن موجودًا على https://stable.publiclab.org - لقد جربت ما يصل إلى 1000 علامة ويتم تحميلها جيد ولكن ليس أكثر من ذلك يرجى على خادم الإنتاج ، ولو مرة واحدة)

ونقتصر على الروابط بينها ، حيث تبلغ كل علامة عن 10 علامات بحد أقصى قد حدثت جنبًا إلى جنب. هذا ليس شاملاً ، ولكن يبدو أنه توازن ممكن بين التحسين والشمول.

jywarren ، هل ما زال هذا هو آخر التزام ؟ لأنني أردت رؤية json قادمًا من نقطة النهاية /tag/graph.json وأرسلت لي جميع العلامات. بناءً على الكود الموجود في هذا الالتزام ، كنت أتوقع أن يكون 250 هو الحد الصعب (ملاحظة قابلية قراءة Ruby الخاصة بي).

jywarren لا

تمام. لقد أمضيت للتو قدرًا لا بأس به من الوقت في استكشاف هذا ، وأصبح لدي شعور أفضل بكيفية عمل الرسم البياني.

الآن أريد أن أقترح أنه قد يكون هناك تخطيط مختلف نريد استخدامه - نحن نستخدم cose

سألقي نظرة وأفكر في الأمر. أعتقد أن السؤال الذي يحتاج إلى إجابة هنا هو ما الذي نريد أن نستخلصه من الرسم البياني؟ على سبيل المثال ، إذا كنا مهتمين في المقام الأول بقدرة الزائر على رؤية العلامات المرتبطة بأي منها ، فقد يكون تخطيط الدائرة أو الدائرة متحدة المركز هو الأفضل ، كما لو كان مملاً.

إذا اضطررت إلى التخمين (على علم ، ولكن لا يزال تخمينًا) حول سبب عدم تحقيق CoSE لنتائج رائعة ، فسيكون ذلك لأنه عند النظر إلى البيانات ، عندما تصل إلى عدد معين من العقد ، تبدأ التهم أن تكون متشابهة. لذلك ، إذا كانت CoSE تصد العقد بناءً على وزن العقدة فقط ، فمن الممكن أن يكون هناك قدر مساوٍ من التنافر بينها. عندما أستخدم التنافر هنا ، أعني كل الأشياء التي تدخل في حالة التنافر ، على سبيل المثال ، إنه وضع الجاذبية أيضًا. في هذه الحالة ، قد يكون السبب هو عدم وجود تكرارات كافية للخوارزمية أو أن عوامل التنافر لا تسبب / تسمح بالانتشار الكافي.

هناك مشكلة أخرى يمكننا محاولة مطالبة شخص ما باختبارها وتناولها وهي مسألة اكتشاف المجتمع.

عندما يكون لديك لحظة ، هل يمكنك أن تدلني على الالتزام بأحدث JavaScript في هذا الشأن؟ يمكنني الحصول عليه من خلال المتصفح ولكن فقط بهذا الشكل حيث لا يحتوي على أي بنية وهو عبارة عن سطر واحد فقط. بمجرد أن أفعل يمكنني رؤية المزيد. نظرت إلى مثال jLouvain ، ولا يبدو أنه يحتوي على إعداد لعدد المجتمعات التي تريدها والتي قد تكون جزءًا من المشكلة. عادةً ما تقدم لوفان "أفضل رقم" ولكنه في بعض الأحيان لا يكون الأفضل. تطبيق python الذي يعتمد عليه jLouvain يحتوي على هذه المعلمة ولكن ربما لم يتم تجاوزها.

ها نحن:

image

أوه ظننت أنني تركت تعليقًا آخر ... أين ستذهب؟ تشبث...

على أي حال ، كنت سأقول إنني أعتقد أنني اكتشفت بعض مشكلات التخطيط ولكنني أحكم على أنفسكم:

https://publiclab.org/stats/graph؟limit=50

https://publiclab.org/stats/graph؟limit=100

https://publiclab.org/stats/graph؟limit=250

https://publiclab.org/stats/graph؟limit=500

إليك JS لاكتشاف المجتمع: https://github.com/publiclab/plots2/blob/master/app/views/tag/graph.html.erb#L263

وإليك تكوين التخطيط ، والذي يمكننا تعديله كثيرًا لتجربته:

https://github.com/publiclab/plots2/blob/e26c6a3c7031d75259a3adc1cdbe0f85c3dba401/app/views/tag/graph.html.erb#L95 -L179

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

هناك عدد من الاحتمالات التي تفسر سبب عدم أداء jLouvain جيدًا. jywarren ، أعتقد أنك قمت بالفعل بحل واحد منهم وهو عدم وجود ألوان كافية. ومع ذلك ، قمت بالتحقق من وحدة التحكم للمجتمعات وكل عقدة هي مجتمع مختلف مما يعني بالنسبة لي أن الخوارزمية لا تجد مكانًا جيدًا للتوقف. عادة ، هناك معلمة لعدد المجتمعات / الحساسية / الدقة التي ترغب في الحصول عليها ، ثم تلعب بها حتى تحصل على شيء يبدو صحيحًا.

شاهد هذه المشكلة في مستودع jLouvain. كتب شخص ما إصلاحًا بسيطًا للغاية يمكن تنفيذه. لست متأكدًا تمامًا من كيفية عمله من حيث ما يتم إرجاعه: من الناحية المثالية ، يقوم بإرجاع نتيجة اكتشاف المجتمع بالكامل لكل عنصر في المصفوفة؟ سيكون ذلك رائعًا ، وربما يحل مشكلة كون كل عقدة مجتمعًا خاصًا بها.

أكثر في وقت لاحق…

ترحيل سؤال من shapironick الذي كان يتساءل في قناة أخرى عما إذا كان هناك اختلاف في النحافة والسمك في خطوط الاتصال لإظهار مدى ارتباط أي

هذه فكرة عظيمة. أعتقد في هذه المرحلة أننا بحاجة إلى إغلاق هذا وفتح ملف
إصدار جديد بقائمة تحقق من التحسينات المحتملة على الشاشة ، و
سيكون الأمر أسهل بكثير بالنسبة للقادمين الجدد (يتطلب سياق أقل وتاريخ أقل
المشاركة) للدخول والبدء في تنفيذها. أنا على وشك الإغراء
قم بتدويره إلى مستودع جديد وهو / فقط هذا الرسم البياني / منذ ذلك الحين
لا تتصل بطريقة أخرى بقاعدة كود PL ، ولكن من أجل
تماسك المجتمع ، فلنحافظ عليه في المؤامرات 2.

ليز ، هل ستكون قادرًا على بدء الإصدار الجديد والبدء بقائمة مرجعية؟

يوم الأربعاء ، 6 فبراير ، 2019 الساعة 11:17 صباحًا ، كتبت ليز باري [email protected] :

إرسال سؤال من shapironick https://github.com/shapironick
الذي كان يتساءل في قناة أخرى عما إذا كان هناك إصدار مستقبلي
متفاوتة النحافة والسماكة في خطوط الاتصال لإظهار مدى قرب
ذات الصلة أي اثنين من العلامات الخاصة؟ شكرا!

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/publiclab/plots2/issues/1502#issuecomment-461083862 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABfJ9nxysbBtCAYHEW2tA8UwNH9zelFks5vKv_hgaJpZM4OOvLP
.

ياي! تضمين التغريدة في الوقت الحالي ، يرسل استعلام قاعدة البيانات فقط علامات top-n وعدد هذه العلامات على مستوى الموقع. في المستقبل ، من أجل الحصول على أوزان حافة ، نحتاج إلى إجراء تغيير على النهاية الخلفية إما لإرسال جميع العلامات إلى الواجهة الأمامية بحيث يمكن تجميع الأعداد المترابطة ، أو يجب تجميعها على النهاية الخلفية. بدلاً من ذلك ، في الواجهة الأمامية نحسب بعض خصائص حافة الشبكة (على سبيل المثال ، بعض المركزية: الدرجة ، التقارب ، البينية ، إلخ).

رائع جدا! ليس هناك ما هو مسبق لهذه الفكرة 1+ لبدء إصدار جديد ، فهذه مشكلة ملحمية ورائعة!

الآن في البيانات التي نمررها إلى رمز الرسم البياني ، أعتقد أننا نرى عندما تكون علامة واحدة (على سبيل المثال ، العلامة أ) مرتبطة بالعلامة B ، ونرى اتصالًا ثانيًا إذا كانت العلامة B تعود إلى العلامة A. ولكن هذا لا يخبرنا كثيرًا. إعادة البناء لتوفير "الوزن" أمر مثير للاهتمام ... يمكنني أن أتخيل عدة طرق للقيام بذلك أيضًا. أوافق على أنه يمكننا إما تمرير جميع العلامات node.ids التي تحتوي عليها كل علامة ، وحساب ذلك محليًا ، أو يمكننا محاولة حساب هذا مسبقًا في الوقت الحالي الذي نجمع فيه العلامات الخمسة الأكثر ارتباطًا بكل علامة. (أعتقد أنني غيرت هذا إلى 10 مؤخرًا ، ولكن على أي حال).

صقل متابعة كبيرة. بمجرد أن نحصل على قائمة التحقق ، يمكننا تحديد الأولويات قليلاً وتحسين ذلك تدريجيًا. شكرا!

أوه ، انظر ، هذا جعله في السجل التاريخي ؛): https://publiclab.org/wiki/community-development#2019

أثناء النظر في هذا من أجل مشروع Summer of Code المحتمل في الصيف القادم ، وجدت خطأ اكتشاف المجتمع ، والذي كان دقيقًا - كانت البيانات في كائن متداخل مثل {data: { DATA }} بدلاً من { DATA } . ثابت في https://github.com/publiclab/plots2/pull/9169 !

image

هذا فقط مع بيانات الاختبار لدينا ؛ سيكون الإصلاح الكامل مرئيًا في الخادم الثابت بمجرد دمجه وإعادة بنائه ؛ ربما 30 مترا أو نحو ذلك.

لطيف هناك نذهب:

image

https://stable.publiclab.org/tags (تذكر أن هذا سينخفض ​​لمدة 10 ملايين في كل مرة ندمج فيها تغييرًا جديدًا)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات