Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[开题框架] 面向开放编码平台的开发者社群发现和社交推荐 #285

Open
l1tok opened this issue May 28, 2024 · 5 comments

Comments

@l1tok
Copy link
Contributor

l1tok commented May 28, 2024

Description

本 issue 用于追踪@lhbvvvvv的开题内容

主要包括3个方面:

  1. github仓库协作数据集以及开发者之间follow关系数据集的构建。
  2. 基于仓库协作数据和图表示学习获取开发者仓库层面的基本特征属性,进行聚类。
  3. 基于开发者之间的follow关系和链接预测,并利用2中得到的社群关系(聚类簇)来进一步实现开发者之间的推荐。
@will-ww
Copy link
Contributor

will-ww commented May 28, 2024

你这边一个大问题是没有实际问题或企业合作项目的导入,使得你做这个工作的价值也意义没有依据~

例如:

@will-ww
Copy link
Contributor

will-ww commented May 31, 2024

关于社区发现任务的论文:https://github.com/FanzhenLiu/Awesome-Deep-Community-Detection

@l1tok
Copy link
Contributor Author

l1tok commented Jun 1, 2024

之前考虑过社区发现,现在的内容里也有类似的内容,但是我感觉单纯社区发现太偏理论了,比较难靠向落地,因为社区发现很难直接应用下游,在应用层面一般是划分社区后促进别的任务。
之前调研过的社区发现应用一般是:
1.用户群划分:划分相似用户群,进行内容推送和投放。有一些场景是划分可以说清楚落地意义的,比如学生交互网络可以是学习小组划分,不同意见群体的划分等。
2.社区内影响力人物:划分社区后,识别在特定社区内高影响力用户。
3.异常检测:理想情况下异常用户会被划分到一个社区中,一般适用于风控领域。
4.其他一些诸如生物医疗营销领域的具体应用。

我记得@tyn1998学长的毕业论文中涉及聚类,但聚类在论文中仅仅是让簇内的节点颜色变得一样,重点还是在于力导向布局的可视化上。不太清楚OpenGalaxy具体要怎么用社区发现落地,仅仅是改节点颜色感觉会有些单薄,使用社区标签将不同簇集中显示需要像@tyn1998学长一样在可视化算法上着力,我对这一块几乎没有了解。

我的想法是在社区发现的基础上继续实现一层社区发现支持的应用研究,最后加上落地的系统作为文章的三个主要部分(我们都分在一组,数据集即使类型不一样获取方式也难免雷同,所以我想把数据集从创新点中去掉)。一开始想的是结合社区发现再做一层链接预测,想法来源是以下三点:
1.Find potential partners: A GitHub user recommendation method based on event data这篇论文实证研究说明了对follow推送功能的需要。
2.github自身的Explore只有Trending developers关于热门项目用户的推送。
3.当前对于github用户层面的相关论文较少(没有结合gnn以及社区发现做的),知网上也找不到相关的硕士论文。
这样两块内容前后相关联,落地的话也可以覆盖社区发现的,但是可能需要将社区发现支持的任务也结合一下。

@will-ww
Copy link
Contributor

will-ww commented Jun 12, 2024

你这块可以考虑做如下的大改与设计:

1、从问题与数据创新入手

  • 定义新的关系,进而构建新的网络数据
    • 传统的是协作网络(如 Issue 和 PR 上的共同活跃)与社交网络(Star 等)
    • 新的网络,从知识体系构建与演化的视角,即引用网络(Reference Coupling,类似论文引用)
    • 引用网络的论文参考:论文1论文2
    • 这样我们就可以考虑做几个技术领域的基准数据集了:云原生人工智能数据库
    • 上述三个技术领域的类别标签和项目都已经有了,需要做的就是把这三个领域的 Reference Coupling Network 数据集做出来

2、技术上的微创新

还是做图上的分类问题,因为是知识体系上的分类(这是一个更加细分的分类问题),因此可以假设同样一个深度学习分类算法,在 Reference Coupling Network 上的分类效果会更好,因此该贡献点可以包括:

  • 基于已有的图分类算法的一个小改进
  • 优化与增强:融合 Reference Coupling Network 和协作网络,即图数据的融合与分类,效果应该会更好(假设)
  • 这样两个小点的优化,工作量也算有了
  • 实验设计
    • 三个新数据集(引用网络数据集):RefCloud、RefAI、RefDB
    • 三个传统数据集(协作网络数据集):CoCloud、CoAI、CoDB
    • 提出的方法 A,和已有的方法 B、C 等,分别在上面几组数据集上的性能评测
    • 提出的方法 A,和已有的方法 B、C 等,分别在融合数据集上的性能测评

3、工程实现与落地

类似 OpenGalaxy,将 Reference Coupling Network 数据装到 https://github.com/anvaka/pm 这个开源项目中,这样就成为一个新的独立项目了,可以起个新的名字,例如 RefGalaxy,这样就有更强的工程落地工作了。

@l1tok
Copy link
Contributor Author

l1tok commented Jun 17, 2024

结合王老师的意见,还有论文2的内容,之前觉得社区发现应用性不太强,但是看了这篇论文发现还是具有一定可解释性和应用性的,因此想要对开题做一些调整但是基本的内容变化不会太大。首先是数据集,数据集结合社交网络、协作网络和引用网络,但是不作为一个主要的贡献点。
主要贡献点从以下三点入手:
1.GitHub仓库层面的社区发现

  • 对于已有的基于GNN的社区发现方法的一个改进,方法主要参考王老师上面提供的https://github.com/FanzhenLiu/Awesome-Deep-Community-Detection
  • 与已有的方法在一些基准数据集以及GitHub的引用、协作和社交网络上进行性能比较。同时已有的标签数据可以是对性能的补充性验证,如果社区发现效果好也可以是对标签进行扩充的一种方法。
  • 对GitHub三种网络的社区发现结果进行可解释说明,例如论文2中的引用网络划分后社区里度最高的点是社区中依赖的核心项目,核心项目的故障常常会影响关联的下游项目。

2.针对特定仓库的社区搜索

社区发现主要从网络的全局进行社区划分,社区搜索是从一个或者某几个仓库出发发现包含要搜索仓库的最小社区集合,主要参考A survey of community search over big graphs这篇论文的方法。

3.工程实现与落地
一个增强版的OpenGalaxy,可以取名OpenCommunityGalaxy或者王老师以及大家有其他更适合的名字,主要就是在原有的基础上加上协作网络,并且做一个社区结果的可展示系统。除此之外,A survey of community search over big graphs这篇论文有一个应用案例可以结合进去,也就是将社区搜索的功能结合到网络展示系统中,显示检索的仓库所在的子社区。
image

王老师还有大家对以上的框架可以提出一下宝贵的意见🙏,如果大致的结构没问题我需要尽快的看一下社区发现和社区搜索的文献(可能需要一定时间)重新写一下开题报告,研究内容和实现方案这一块需要参考一下这些文献,这样开题报告上的调整就会比较大。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants