CN111949306A - 一种支持开源项目碎片化学习的推送方法和系统 - Google Patents

一种支持开源项目碎片化学习的推送方法和系统 Download PDF

Info

Publication number
CN111949306A
CN111949306A CN202010643009.XA CN202010643009A CN111949306A CN 111949306 A CN111949306 A CN 111949306A CN 202010643009 A CN202010643009 A CN 202010643009A CN 111949306 A CN111949306 A CN 111949306A
Authority
CN
China
Prior art keywords
learning
target
path
graph
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010643009.XA
Other languages
English (en)
Other versions
CN111949306B (zh
Inventor
孙艳春
黄罡
孙志玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN202010643009.XA priority Critical patent/CN111949306B/zh
Publication of CN111949306A publication Critical patent/CN111949306A/zh
Application granted granted Critical
Publication of CN111949306B publication Critical patent/CN111949306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种支持开源项目碎片化学习的推送方法和系统,该方法和系统具体为:构建开源项目的知识图谱;获取所述知识图谱的学习入口节点;以所述学习入口节点作为路径起点,以用户有学习需求的目标节点为路径终点,分别获得多条可达路径,选取覆盖最广的路径作为目标学习路径;对所述目标学习路径所涉及的周边子图进行切割,得到目标子图;对所述目标子图进行社区挖掘,获得多个图网络社区,分别生成目标学习内容;依次将所述目标学习内容碎片化推送给用户。本发明实施例提供的方法和系统,通过构建开源项目的知识图谱,分析学习入口,根据用户需求推荐学习路径,生成碎片化学习内容推送给用户,提高开发者对陌生开源项目的学习效率。

Description

一种支持开源项目碎片化学习的推送方法和系统
技术领域
本发明涉及开源项目技术领域,特别是涉及一种支持开源项目碎 片化学习的推送方法和一种支持开源项目碎片化学习的推送系统。
背景技术
开源项目(opensource project),是一种开放源码的软件项目, 开发者可以通过开源社区修改开源项目的源码,定制自己的个性化产 品。
大型的开源项目通常会由多个开发者共同参与开发,并吸引众多 的开发者来学习该开源项目的源代码,这些开发者在不断的学习和技 术历练之后,也可能进入到开源项目的主要分支中,为开源项目贡献 自己的力量。
现今开发者大多数并没有整块的时间对陌生的开源项目进行系 统地学习和了解,而几乎都是对开源项目中单独的某一个或某一类功 能函数有学习需求,然后利用零星的空闲时间对自己需要的项目代码 知识进行学习。然而,因为新加入的开发者对开源项目没有系统的认 知,对项目代码的知识架构不了解,往往很难快速找到自己的需要的 函数、文件、以及相关的知识信息,并且,由于碎片化学习内容的跳 跃性,使得开发者难以对所有的学习内容进行分类整合,形成系统的 认知,学习效率十分低下。
发明内容
鉴于上述问题,提出了本发明实施例提供一种克服上述问题或者 至少部分地解决上述问题的一种支持开源项目碎片化学习的推送方 法和一种支持开源项目碎片化学习的推送系统。
为了解决上述问题,本发明实施例提供了一种支持开源项目碎片 化学习的推送方法,所述方法包括:构建所述开源项目的知识图谱, 并生成所述知识图谱的嵌入表示;分析并获取所述知识图谱的学习入 口节点;预先设计项目代码的学习路径推荐算法,基于所述学习路径 推荐算法,以所述学习入口节点作为路径起点,以用户的目标节点为 路径终点,进行路径搜索,分别获得多条可达路径,在所述多条可达 路径中选取覆盖最广的路径作为目标学习路径;对所述目标学习路径 所涉及的周边子图进行切割,得到目标子图;基于图数据社区挖掘算 法Louvain,对所述目标子图进行社区挖掘,获得多个图网络社区,对每一个所述图网络社区中包含的学习内容进行整合,生成目标学习 内容;依次选取每一个所述图网络社区对应的所述目标学习内容,分 别将所述目标学习内容碎片化推送给所述用户。
可选地,分析并获取所述知识图谱的学习入口节点,包括:选取 所述知识图谱中所有入度为0的节点作为初选节点;然后筛选出所述 初选节点的自身出度不小于A、同时该节点能够到达的节点数量不小 于B的次选节点,其中,A≤B;将所述次选节点作为所述学习入口 节点。
可选地,分析并获取所述知识图谱的学习入口节点,还包括:依 据所述节点的自身出度、所述节点能够到达的节点数量这两个指标, 对所述次选节点进行排序,在保证学习入口数量适中的前提下,选择 百分比排名不小于P的节点作为学习入口节点,其中,0≤P<1。
可选地,进行路径搜索之前,还包括:在用户端页面中为所述用 户提供输入框,以供所述用户输入学习需求,依据所述学习需求,基 于语义分析算法,为所述用户匹配相应的所述目标节点,所述目标节 点也就是在所述知识图谱中,对所述用户来说,有明确学习需求的知 识节点。
可选地,基于所述学习路径推荐算法,以所述学习入口节点作为 路径起点,进行路径搜索,分别获得多条可达路径,在所述多条可达 路径中选取覆盖最广的路径作为目标学习路径,包括:基于深度优先 搜索算法(DFS),从每个学习入口节点到目标节点进行路径搜索, 分别获取从多源节点到单一目标节点的多条可达路径,从所述多条可 达路径中选取出覆盖知识图谱节点最多的一条路径,作为所述目标学 习路径。
可选地,对所述目标学习路径所涉及的周边子图进行切割,得到 目标子图,包括:基于广度优先搜索算法(BFS),以所述目标学习 路径上的每个知识图谱节点为基准点,沿所述开源项目的知识图谱中 的节点路径进行N次跳跃遍历,根据所述跳跃遍历的结果,将遍历 过程中已访问的节点路径和所述目标学习路径一起从原知识图谱中 切割出来,得到所述目标子图;其中,对所述目标学习路径所涉及的 周边子图进行切割之前,根据所述开源项目的知识图谱的整体内容, 在所述广度优先搜索算法(BFS)中对于所述跳跃遍历的次数N进行 设置。
可选地,在生成目标学习内容之后,还包括:使用可视化工具 Gephi,对所述知识图谱和所述图网络社区进行展示,同时通过不同 的节点标记,对不同的图网络社区节点进行分析与展示,在图网络社 区的可视化图形中,对每一个图网络社区采用不同的颜色进行表示, 令每种颜色均为一组目标学习内容;用户登录web页面查看所述知 识图谱的可视化图形,了解所述开源项目的整体知识架构,以及,用 户通过点击可视化图形中的知识节点,查看具体的节点属性,了解并 学习具体的节点知识和节点关系。
可选地,生成目标学习内容之后,还包括:对所有所述图网络社 区的所述目标学习内容进一步地整理,生成全面的、有序的学习内容, 同时自动生成并按序显示所述图网络社区内节点对应的知识实体名 称,以供用户通过主动操作按序或选择性地对所述目标学习内容进行 阅读和学习。
可选地,分别将所述目标学习内容碎片化推送给所述用户,包括: 根据预设的时间步长,将所述目标学习内容碎片化地推送到所述用户 的终端设备。
相应地,本发明实施例还提供了一种支持开源项目碎片化学习的 推送系统,所述系统包括:知识图谱构建模块,用于构建所述开源项 目的知识图谱,并生成所述知识图谱的嵌入表示;入口节点分析模块, 用于分析并获取所述知识图谱的学习入口节点;路径推荐模块,用于 预先设计项目代码的学习路径推荐算法,基于所述学习路径推荐算 法,以所述学习入口节点作为路径起点,以用户的目标节点为路径终 点,进行路径搜索,分别获得多条可达路径,在所述多条可达路径中 选取覆盖最广的路径作为目标学习路径;子图切割模块,用于对所述 目标学习路径所涉及的周边子图进行切割,得到目标子图;社区挖掘 模块,用于基于图数据社区挖掘算法Louvain,对所述目标子图进行 社区挖掘,获得多个图网络社区,对每一个所述图网络社区中包含的 学习内容进行整合,生成目标学习内容;推送模块,用于依次选取每 一个所述图网络社区对应的所述目标学习内容,分别将所述目标学习 内容碎片化推送给所述用户。
从上述技术方案可以看出,本发明实施例提供了一种支持开源项 目碎片化学习的推送方法和系统,该方法和系统本实施例面向开发者 学习开源项目代码的需求,为开发者构建开源项目的知识图谱,选取 所述知识图谱中的学习入口节点,再根据学习路径推荐算法,从所述 学习入口节点出发,搜索并选取最佳的可以到达目标学习节点的目标 学习路径,利用所述目标学习路径进行社区挖掘,最后根据所述社区 挖掘的结果作为目标学习内容,进行碎片化推送,供开发者进行碎片 化的学习,以此帮助开发者提高项目代码和相关知识的学习效率,促 使开发者更好地参与到开源项目的开发中,为开源项目的发展作出贡 献。
附图说明
图1是本发明提供的一种支持开源项目碎片化学习的推送方法 实施例的步骤流程图;
图2是本发明实施例提供的一种开源项目的知识图谱可视化页 面图;
图3是本发明实施例提供的一种对知识图谱进行学习入口节点 分析的可视化页面图;
图4是本发明实施例提供的一种知识图谱的学习路径示意图;
图5是本发明实施例提供的一种目标学习路径的可视化图形;
图6是本发明实施例提供的一种知识图谱中子图的可视化图形;
图7是本发明实施例提供的一种模块化Q对图网络社区聚集度 的影响变化示意图;
图8是本发明实施例提供的一种图网络社区可视化图形;
图9是本发明实施例提供的一种所述图网络社区的节点属性展 示图;
图10是本发明实施例提供的一种内容推荐页面显示图;
图11是本发明实施例提供一种支持开源项目碎片化学习推送的 核心方法流程图;
图12是本发明实施例提供一种支持开源项目碎片化学习推送的 用况图;
图13是本发明实施例提供的一种面向对象设计的人机交互系统 类图;
图14是本发明实施例提供的一种描述系统中各类对象之间的交 互顺序示意图;
图15是本发明提供的一种支持开源项目碎片化学习的推送系统 实施例的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方 案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部 分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
实施例一
图1是本发明提供的一种支持开源项目碎片化学习的推送方法 实施例的步骤流程图。
参照图1所示,本实施例提供的支持开源项目碎片化学习的推送 方法应用于开源社区中的开源项目,具体的支持开源项目碎片化学习 的推送方法包括如下步骤:
步骤S101,构建所述开源项目的知识图谱,并生成所述知识图 谱的嵌入表示。
知识图谱最早应用于搜索引擎,用户使用搜索引擎搜索并了解一 个知识时,搜索引擎可以利用知识图谱识别出用户具体指代的对象。 例如,当用户检索某个戏剧的上映时间时,同名小说的结果便不会被 混淆进来。
通常地,知识图谱可以在网页中以知识侧栏(knowledge panel)的 形式进行展示,不仅可以显示用户搜索内容的网站链接,而且可以对 搜索主题的信息进行结构化的聚合与展示。
知识图谱是由一些互相连接的关系及其属性而构成的,这些关系 通常被表示为一个SPO三元组(Subject-Predicate-Object)。在一个 三元组(Triple)中,Subject代表其中的主体,Predicate代表关系本 身,Object代表关系指向的客体,主体和客体都是知识图谱的实体。
知识图谱的本质是一个语义网络的知识库,其旨在描述现实世界 中各类知识中的实体与他们之间的关系。实体可以指代现实中的一个 事物对象,也可以是一个抽象的概念,而关系则是实体之间的联系及 其语义描述。知识图谱通常可以被看做一个图结构,其中知识图谱的 实体作为图的节点,而关系作为图中的边。
在本发明提供的一种优选实施例中,从所述开源项目和所述开源 项目所在的开源社区中抽取项目代码的知识信息以及与开源项目相 关的知识信息进行分析,利用这些知识实体之间的关系,抽取出多个 数据三元组,生成所述开源项目的知识图谱。其中,所述项目代码的 知识信息包括:函数、文件;所述与开源项目相关的知识信息包括: 项目提交记录、代码合并请求、以及问题集合;所述关系包括:调用 关系、包含关系、修改关系、涉及关系。
图2示出了本发明实施例提供的一种基于开发者的学习需求构 建的开源项目的知识图谱可视化页面图。出于对显示性能的优化考 虑,当前页面图选择性地显示了所述知识图谱中部分实体和关系,其 中,圆心小球为所述知识图谱的实体,连接实体的有向线段为所述实 体之间的关系。
多关系组成的知识图谱虽然在表示结构化数据方面很有效,但是 其中的三元组的底层符号特性通常使知识图谱很难操作。因此,在本 发明实施例中,通过深度学习训练的嵌入模型TransE,生成所述知识 图谱的嵌入表示,以便于后续步骤中针对所述知识图谱的操作应用。 即,将所述实体和关系表示为同一空间中,针对所述目标知识图谱中 的每个节点,生成图谱节点的嵌入向量,以此生成所述目标知识图谱 的嵌入表示。所述嵌入向量可以表示实体在嵌入空间中相对于所述目 标知识图谱的位置,在所述目标知识图谱的应用中,后续算法能够基 于所述嵌入向量在空间中的位置,计算每个实体间的空间距离,即实 体间关系的距离权重。
其中,TransE是一个具有代表性的平移距离模型,它基于实体和 关系的分布式矢量表示,将每个三元组中的数据(主体,关系,客体) 视为从主体到客体的转换,并映射到空间中以获得嵌入式矢量。
步骤S102,分析并获取所述知识图谱的学习入口节点。
开发者希望了解陌生系统中的特定功能函数时,往往不能仅仅定 位并阅读该函数,还需要从程序调用关系的最外层出发,沿着函数调 用来逐步深入到目标函数,通过调用路径来学习并熟悉整个功能及其 在系统的定位;例如从单元测试中的相关功能出发,逐级深入到所测 试的具体函数,了解这个函数在测试用例下的调用与运算细节。
而所述知识图谱由众多的节点连接组成,只有从所述知识图谱的 最外层出发,沿着调用、包含、涉及等各种节点间的关系组成的路径, 到达开发者具有学习需求的目标节点,才能最大程度地保证学习路径 的完整度,即,开发者开始阅读学习的入口需要处于项目代码结构的 最外层。因此,本发明实施例获取的所述知识图谱的学习入口节点, 可以理解为开发者在所述知识图谱中的学习路径的最外层的路径起 点。
图3示出了本发明实施例提供的一种对知识图谱进行学习入口 节点分析的可视化页面图。图中对分析出的学习入口节点进行了标 记。
在本发明提供的一种优选实施例中,选取所述知识图谱中所有入 度为0的节点作为初选节点;然后筛选出所述初选节点的自身出度不 小于A、同时该节点能够到达的节点数量不小于B的次选节点,其中, A≤B;将所述次选节点作为所述学习入口节点。
图4示出了本发明实施例提供的一种知识图谱的学习路径示意 图。图中的有向箭头表示某一节点(主体)对箭头所指向的节点(客 体)存在的各种关系,包括调用关系、包含关系等。图4中节点1没 有被其他节点调用、包含等,所以节点1的入度为0,可以被选择为初选节点。同时,节点1沿有向箭头指向了2个节点,则节点1的自 身出度为2,而这2个节点继续沿对其他节点存在的各种关系不断延 伸,扩展路径,直到不能再继续扩展为止,则加上这三个节点的数量, 整个路径中除了节点1以外所有的节点数量就是节点1能够到达的节 点数量。
如图4所示,节点1作为所述初选节点,自身的出度为2,能够 能够到达的节点数量为3。若预先设定A=2、B=5,则节点1不符合 所述次选节点的的要求,不能够被选择为所述学习入口节点。
在本发明的一种优选实施例中,还可以依据所述节点的自身出 度、所述节点能够到达的节点数量这两个指标,对所述次选节点进行 排序,在保证学习入口数量适中的前提下,选择百分比排名不小于P 的节点作为学习入口节点,其中,0≤P<1。
简单举例来说,假设选取的所述次选节点总数为1100个,如果 考虑到后续算法应用的时间开销和覆盖用户需求的平衡性,选择的入 口节点数保持在100到120之间,设定P=90%,根据节点出度和能 到达的节点数量两个指标进行综合排序,则此时选择排序后百分比排 名不小于90%的节点,即排名在前10%的节点,作为学习入口节点。
对学习入口节点的筛选,一方面要考虑到后续算法对学习入口节 点的应用的时间开销,另一方面还应最大程度地保证覆盖知识信息的 广度,因此,无论具体是使用何种方法,均应至少考虑到所述节点的 自身出度、所述节点能够到达的节点数量这两个指标。
步骤S103,预先设计项目代码的学习路径推荐算法,基于所述 学习路径推荐算法,以所述学习入口节点作为路径起点,以用户的目 标节点为路径终点,进行路径搜索,分别获得多条可达路径,在所述 多条可达路径中选取覆盖最广的路径作为目标学习路径。
图5示出了本发明实施例提供的一种目标学习路径的可视化图 形。所述目标学习路径,以某一个学习入口节点为路径起点,以用户 的目标节点为路径终点。
如下表1示出了本发明实施例提供的一种学习路径推荐算法,本 发明实施例基于深度优先搜索算法(DepthFirstSearch,DFS),从 每个学习入口节点到目标节点进行路径搜索,获取从多源节点到单一 目标节点的多条可达路径,从所述多条可达路径中选取出覆盖树节点 最多的一条路径,作为所述目标学习路径。
Figure BDA0002572118140000101
Figure BDA0002572118140000111
表1
在本发明提供的一种优选实施例中,进行路径搜索之前,在用户 端页面中为所述用户提供输入框,以供所述用户输入学习需求,依据 所述学习需求,基于语义分析算法,为所述用户匹配相应的所述目标 节点,所述目标节点也就是在所述知识图谱中,对所述用户来说,有 明确学习需求的知识节点,可以是所述开源项目中的函数。
步骤S104,对所述目标学习路径所涉及的周边子图进行切割, 得到目标子图。
图6示出了本发明实施例提供的一种知识图谱中子图的可视化 图形。图中实心标记小球为所述目标子图中包含的节点,即,实体, 所有的实心标记的节点以及它们之间的关系,组成了知识图谱中切割 出来的目标子图。
在本发明实施例中,基于广度优先搜索算法(BFS),以所述目 标学习路径上的每个知识图谱节点为基点,沿所述开源项目的知识图 谱中的节点路径进行N次跳跃遍历,根据所述跳跃遍历的结果,将 遍历过程中已访问的节点路径和所述目标学习路径中包含的所有实 体和实体间的关系一起从原知识图谱中切割出来,得到所述目标子 图。
所述目标子图,包含根据用户学习需求确定的知识节点、以及与 所述知识节点存在各类关系的知识节点。
在本发明实施例中,对所述目标学习路径所涉及的周边子图进行 切割之前,还可以根据所述开源项目的知识图谱的整体内容,在所述 广度优先搜索算法(BFS)中对于所述跳跃遍历的次数N进行设置。
简单举例来说,如果所述开源项目的知识图谱规模比较庞大,则 所述学习路径中的知识节点涉及的相关知识信息可能也会更多,相应 地,所述跳跃遍历的次数可以设置为3或者4;而所述所述开源项目 的知识图谱规模比较小,则所述学习路径中的知识节点涉及的相关知 识信息可能更少,相应地,所述跳跃遍历的次数可以设置为1或者2。
步骤S105,基于图数据社区挖掘算法Louvain,对所述目标子图 进行社区挖掘,获得多个图网络社区,对每一个所述图网络社区中包 含的学习内容进行整合,作为目标学习内容。
社区挖掘算法可以看作是聚类算法的延伸,相比传统的K-means 等聚类方法需要首先确定聚类数量的思想,它可以真正非监督地对图 谱进行聚类与模块划分,由于对于开源项目的学习者与开发者而言, 很难事先了解应该如何划分自己的学习模块,也难以厘清图网络社区 的模块化类别数量,所以普通的聚类算法并不适用于本发明实施例。
Louvain算法是一种基于图数据的社区挖掘算法。这种社区挖掘 算法的灵感在于算法的迭代基于模块化而优化。模块化是介于-1和1 之间的比例值,用于度量社区内部边缘到社区外部边缘的密度。
图7是本发明实施例提供的一种模块化Q对图网络社区聚集度 的影响变化示意图。如图7所示,随着模块化Q的逐渐增大,图网 络社区的聚集度也会相应地得到提高,逐渐划分出明显的图网络社 区。因此,需要使模块化尽量地最大化,以使每个所述图网络社区更 加集中,所述目标子图中知识节点的社区划分更加准确。
表2示出了本发明实施例提供的一种基于Louvins算法的碎片化 学习内容生成算法,基于所述Louvins算法,生成目标学习内容。
Figure BDA0002572118140000121
Figure BDA0002572118140000131
表2
在本发明实施例提供的基于Louvain算法进行社区挖掘的方法 中,第一步通过对所述目标子图中所有节点的局部优化模块化来找到 小型社区,第二步将每个小型社区分组为一个节点,再重复第一步进 行迭代计算,不断提高社区挖掘和模块划分的精准度。
对于加权图来说,模块化的定义为:
Figure BDA0002572118140000132
其中Aij表示节点i与节点j之间边的权重,ki和kj表示链接到 节点i和j的所有边权之和,m是图中所有权重的总合,δ是Kronecker delta函数。
为了使模块化最大化,本发明实施例中的Louvain方法具有两个 阶段,这两个阶段将被反复迭代进行计算。第一阶段,将网络中的每 个节点分配给自己的社区;第二阶段,对于每个节点i,分别计算将 i移出自己社区和将其加入相邻社区时模块化的变化量。所述变化量 可以通过以下两个步骤简单地进行计算:(1)将节点i从之前的社 区中删除;(2)将节点i插入到社区j中。两个步骤的计算很类似, 其中第(2)步的等式为:
Figure BDA0002572118140000141
其中∑in是节点i将要插入的社区内所有边权的总和,∑tot是所 有链接到该社区中节点的边权的和。这样遍历i的当前社区与其邻居 社区,从而选出一个可以最大化增加模块化的i的位置。如果将i插 入任一邻居社区都无法增加模块化,则将i保留到原来的社区中。将 这个过程循环应用于所有的节点,直到模块化不再变化。这样在第一 阶段的计算中,我们就令本地模块化达到了最大值。在算法的第二阶 段则将所有节点归入同一社区,并建立一个新的网络,其中的每个节 点都是上一阶段的社区。这样新社区节点上的自环表示同一社区的节 点之间的边,而社区之间的加权边表示从同一社区中的多个节点到不 同社区中的节点的边。这样可以再次对新的网络应用第一阶段的算 法,从而迭代进行计算。
图8是本发明实施例提供的一种图网络社区可视化图形。其中, 实心标记小球为所述目标子图中的实体节点。本实施例中使用可视化 工具Gephi,对所述知识图谱进行展示,同时通过不同的节点标记, 对不同的图网络社区节点进行分析与展示,在图网络社区的可视化图 形中,对每一个图网络社区采用不同的颜色进行表示,即,每种颜色 均为一组目标学习内容。
图9示出了本发明实施例提供的一种所述图网络社区的节点属 性展示图。用户登录web页面可以查看所述知识图谱的可视化图形, 了解所述开源项目的整体知识架构,用户还可以点击可视化图形中的 知识节点,查看具体的节点属性,了解并学习具体的节点知识和节点 关系。
图10示出了本发明实施例提供的一种对所述目标学习内容进行 整理后的内容推荐页面显示图。在本发明提供的一种优选实施例中, 生成目标学习内容之后,还可以对所有所述图网络社区的所述目标学 习内容进一步地整理,生成全面的、有序的学习内容,同时自动生成 并按序显示所述图网络社区内节点对应的知识实体名称,以供用户通 过主动操作按序或选择性地对所述目标学习内容进行阅读和学习。
在本发明实施例中,所述目标学习内容包括:开源项目的知识实 体、实体间的关系、项目代码结构等;其中,知识实体包括学习者可 能在开源项目中从各种角度接触到的各个事物,例如开源项目代码中 的函数、文件,开源社区中的项目提交记录、讨论的问题集合、代码 合并请求等。
步骤S106,依次选取每一个所述图网络社区对应的所述目标学 习内容,分别将所述目标学习内容碎片化推送给所述用户。
在本发明实施例中,可以根据预设的时间步长,将所述目标学习 内容碎片化地推送到所述用户的终端设备。具体地来说,还可以将一 个图网络社区对应的学习内容,进一步地进行切分,再分别以此推送 给所述用户。
图11示出了本发明实施例提供一种支持开源项目碎片化学习推 送的核心方法流程图。如图所示,从首先进行学习入口的分析,再进 行学习路径的推荐,最后生成碎片化学习内容,并进行推荐。
图12是本发明实施例提供一种支持开源项目碎片化学习推送的 用况图。如图所示,结合一部分用户贡献出的知识信息,能够构建所 述开源项目的知识图谱,并对所述知识图谱进行分析,进而生出所述 目标学习内容,为初学者进行碎片化学习内容的推荐或推送,提高初 学者的学习效率。
图13是本发明实施例提供的一种面向对象设计的人机交互系统 类图。如图所示,本发明实施例采用单页面应用的设计模式,加入了 功能菜单界面类,其中包含了用户对系统操作所需要的各个按键。用 户通过点击功能菜单中的按键来对系统提交分析请求,之后通过对知 识图谱的状态进行操作来体现知识图谱可视化的结果。由于知识图谱 为系统主要的输出界面,所以类图中功能菜单类主要与知识图谱类进 行关联。
图14是本发明实施例提供的一种描述系统中各类对象之间的交 互顺序示意图。如图所示,首先用户打开系统主界面并选择分析项目, 在前端启动知识图谱展示页面,在服务器端构建知识图谱,并将知识 图谱数据发送到前端进行渲染和显示。然后用户通过前端向服务器端 提交分析学习入口请求,则在服务器端分析学习入口,并通过前端为 用户展示学习入口,用户提交分析学习路径请求,所述分析学习路径 请求中包含用户需要学习的目标节点信息,在服务器端分析学习路 径,并通过前端为用户展示最终所选的学习入口。用户提交生成学习 内容请求,在服务端生成碎片化学习内容,返回并为用户展示所述碎 片化学习内容。
可见,本发明实施例提供了一种支持开源项目碎片化学习的推送 方法,该方法本实施例面向开发者学习开源项目代码的需求,为开发 者构建开源项目的知识图谱,选取所述知识图谱中的学习入口节点, 再根据学习路径推荐算法,从所述学习入口节点出发,搜索并选取最 佳的可以到达目标学习节点的目标学习路径,利用所述目标学习路径 进行社区挖掘,最后根据所述社区挖掘的结果作为目标学习内容,进 行碎片化推送,供开发者进行碎片化的学习。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述 为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例 并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤 可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉, 说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定 是本发明实施例所必须的。
实施例二
参照图15,示出了本发明提供的一种支持开源项目碎片化学习 的推送系统实施例的结构框图,所述开源项目知识图谱的优化系统具 体包括:
知识图谱构建模块201,用于构建所述开源项目的知识图谱,并 生成所述知识图谱的嵌入表示。
入口节点分析模块202,用于分析并获取所述知识图谱的学习入 口节点。
路径推荐模块203,用于预先设计项目代码的学习路径推荐算法, 基于所述学习路径推荐算法,以所述学习入口节点作为路径起点,以 用户的目标节点为路径终点,进行路径搜索,分别获得多条可达路径, 在所述多条可达路径中选取覆盖最广的路径作为目标学习路径。
子图切割模块204,用于对所述目标学习路径所涉及的周边子图 进行切割,得到目标子图。
社区挖掘模块205,用于基于图数据社区挖掘算法Louvain,对 所述目标子图进行社区挖掘,获得多个图网络社区,对每一个所述图 网络社区中包含的学习内容进行整合,生成目标学习内容.
推送模块206,用于依次选取每一个所述图网络社区对应的所述 目标学习内容,分别将所述目标学习内容碎片化推送给所述用户。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重 点说明的都是与其他实施例的不同之处,各个实施例之间相同或相似 的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方 法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件 实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。 而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序 代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、 光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系 统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可 由计算机程序指令实现流程图和/或方框图中的每一流程和/或方 框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这 些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他 可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机 或其他可编程数据处理终端设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中 指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数 据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在 该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装 置实现在流程图一个流程或多个流程和/或方框图一个方框或多个 方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理 终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作 步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备 上执行的指令提供用于实现在流程图一个流程或多个流程和/或方 框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人 员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和 修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发 明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关 系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关 系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物 品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他 要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的 要素。在没有更多限制的情况下,由语句“包括一个……”限定的要 素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还 存在另外的相同要素。
以上对本发明所提供的一种支持开源项目碎片化学习的推送方 法和一种支持开源项目碎片化学习的推送系统,进行了详细介绍,本 文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实 施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对 于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应 用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本 发明的限制。

Claims (10)

1.一种支持开源项目碎片化学习的推送方法,其特征在于,包括:
构建所述开源项目的知识图谱,并生成所述知识图谱的嵌入表示;
分析并获取所述知识图谱的学习入口节点;
预先设计项目代码的学习路径推荐算法,基于所述学习路径推荐算法,以所述学习入口节点作为路径起点,以用户的目标节点为路径终点,进行路径搜索,分别获得多条可达路径,在所述多条可达路径中选取覆盖最广的路径作为目标学习路径;
对所述目标学习路径所涉及的周边子图进行切割,得到目标子图;
基于图数据社区挖掘算法Louvain,对所述目标子图进行社区挖掘,获得多个图网络社区,对每一个所述图网络社区中包含的学习内容进行整合,生成目标学习内容;
依次选取每一个所述图网络社区对应的所述目标学习内容,分别将所述目标学习内容碎片化推送给所述用户。
2.根据权利要求1所述的方法,其特征在于,分析并获取所述知识图谱的学习入口节点,包括:
选取所述知识图谱中所有入度为0的节点作为初选节点;然后筛选出所述初选节点的自身出度不小于A、同时该节点能够到达的节点数量不小于B的次选节点,其中,A≤B;将所述次选节点作为所述学习入口节点。
3.根据权利要求2所述的方法,其特征在于,分析并获取所述知识图谱的学习入口节点,还包括:
依据所述节点的自身出度、所述节点能够到达的节点数量这两个指标,对所述次选节点进行排序,在保证学习入口数量适中的前提下,选择百分比排名不小于P的节点作为学习入口节点,其中,0≤P<1。
4.根据权利要求1所述的方法,其特征在于,进行路径搜索之前,还包括:
在用户端页面中为所述用户提供输入框,以供所述用户输入学习需求,依据所述学习需求,基于语义分析算法,为所述用户匹配相应的所述目标节点,所述目标节点也就是在所述知识图谱中,对所述用户来说,有明确学习需求的知识节点。
5.根据权利要求1所述的方法,其特征在于,基于所述学习路径推荐算法,以所述学习入口节点作为路径起点,进行路径搜索,分别获得多条可达路径,在所述多条可达路径中选取覆盖最广的路径作为目标学习路径,包括:
基于深度优先搜索算法(DFS),从每个学习入口节点到目标节点进行路径搜索,分别获取从多源节点到单一目标节点的多条可达路径,从所述多条可达路径中选取出覆盖知识图谱节点最多的一条路径,作为所述目标学习路径。
6.根据权利要求1所述的方法,其特征在于,对所述目标学习路径所涉及的周边子图进行切割,得到目标子图,包括:
基于广度优先搜索算法(BFS),以所述目标学习路径上的每个知识图谱节点为基准点,沿所述开源项目的知识图谱中的节点路径进行N次跳跃遍历,根据所述跳跃遍历的结果,将遍历过程中已访问的节点路径和所述目标学习路径一起从原知识图谱中切割出来,得到所述目标子图;其中,对所述目标学习路径所涉及的周边子图进行切割之前,根据所述开源项目的知识图谱的整体内容,在所述广度优先搜索算法(BFS)中对于所述跳跃遍历的次数N进行设置。
7.根据权利要求1所述的方法,其特征在于,在生成目标学习内容之后,还包括:
使用可视化工具Gephi,对所述知识图谱和所述图网络社区进行展示,同时通过不同的节点标记,对不同的图网络社区节点进行分析与展示,在图网络社区的可视化图形中,对每一个图网络社区采用不同的颜色进行表示,令每种颜色均为一组目标学习内容;用户登录web页面查看所述知识图谱的可视化图形,了解所述开源项目的整体知识架构,以及,用户通过点击可视化图形中的知识节点,查看具体的节点属性,了解并学习具体的节点知识和节点关系。
8.根据权利要求1所述的方法,其特征在于,生成目标学习内容之后,还包括:
对所有所述图网络社区的所述目标学习内容进一步地整理,生成全面的、有序的学习内容,同时自动生成并按序显示所述图网络社区内节点对应的知识实体名称,以供用户通过主动操作按序或选择性地对所述目标学习内容进行阅读和学习。
9.根据权利要求1所述的方法,其特征在于,分别将所述目标学习内容碎片化推送给所述用户,包括:
根据预设的时间步长,将所述目标学习内容碎片化地推送到所述用户的终端设备,所述碎片化的推送,包括将每一个图网络社区对应的目标学习内容,进一步地进行切分,再将切分后学习内容按预设的时间步长推送给所述用户。
10.一种支持开源项目碎片化学习的推送系统,其特征在于,所述系统包括:
知识图谱构建模块,用于构建所述开源项目的知识图谱,并生成所述知识图谱的嵌入表示;
入口节点分析模块,用于分析并获取所述知识图谱的学习入口节点;
路径推荐模块,用于预先设计项目代码的学习路径推荐算法,基于所述学习路径推荐算法,以所述学习入口节点作为路径起点,以用户的目标节点为路径终点,进行路径搜索,分别获得多条可达路径,在所述多条可达路径中选取覆盖最广的路径作为目标学习路径;
子图切割模块,用于对所述目标学习路径所涉及的周边子图进行切割,得到目标子图;
社区挖掘模块,用于基于图数据社区挖掘算法Louvain,对所述目标子图进行社区挖掘,获得多个图网络社区,对每一个所述图网络社区中包含的学习内容进行整合,生成目标学习内容;
推送模块,用于依次选取每一个所述图网络社区对应的所述目标学习内容,分别将所述目标学习内容碎片化推送给所述用户。
CN202010643009.XA 2020-07-06 2020-07-06 一种支持开源项目碎片化学习的推送方法和系统 Active CN111949306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010643009.XA CN111949306B (zh) 2020-07-06 2020-07-06 一种支持开源项目碎片化学习的推送方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010643009.XA CN111949306B (zh) 2020-07-06 2020-07-06 一种支持开源项目碎片化学习的推送方法和系统

Publications (2)

Publication Number Publication Date
CN111949306A true CN111949306A (zh) 2020-11-17
CN111949306B CN111949306B (zh) 2021-05-28

Family

ID=73341035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010643009.XA Active CN111949306B (zh) 2020-07-06 2020-07-06 一种支持开源项目碎片化学习的推送方法和系统

Country Status (1)

Country Link
CN (1) CN111949306B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800236A (zh) * 2021-01-14 2021-05-14 大连东软教育科技集团有限公司 一种基于知识图谱生成学习路径的方法、装置及存储介质
CN113673773A (zh) * 2021-08-25 2021-11-19 山东科技大学 一种融合知识背景和学习时间预测的学习路径推荐方法
CN115221310A (zh) * 2022-09-20 2022-10-21 北京大学 一种基于知识图谱的开源应用自动化推荐方法及装置
CN116910386A (zh) * 2023-09-14 2023-10-20 深圳市智慧城市科技发展集团有限公司 地址补全方法、终端设备及计算机可读存储介质

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050064349A (ko) * 2003-12-23 2005-06-29 한국전자통신연구원 애플리케이션 특수 명령어 세트 프로세서 합성을 위한분기/병합 노드 최적화 합성 방법
CN102547980A (zh) * 2012-01-19 2012-07-04 中国科学技术大学苏州研究院 基于生成树的定位平滑稳定机制
CN103577242A (zh) * 2013-11-14 2014-02-12 中国科学院声学研究所 针对已调度汇编代码的控制流图重构方法
CN105389622A (zh) * 2015-10-20 2016-03-09 西安交通大学 一种基于知识地图的多约束学习路径推荐方法
CN105446881A (zh) * 2015-11-26 2016-03-30 福建工程学院 一种程序不可达路径的自动检测方法
CN107203424A (zh) * 2017-04-17 2017-09-26 北京奇虎科技有限公司 一种在分布式集群中调度深度学习作业的方法和装置
CN107346346A (zh) * 2017-08-26 2017-11-14 海南大学 基于数据图谱、信息图谱和知识图谱的学习者能力建模与学习过程优化管理系统
CN108062551A (zh) * 2017-06-28 2018-05-22 浙江大学 一种基于邻接矩阵的图特征提取系统、图分类系统和方法
CN108303108A (zh) * 2017-12-05 2018-07-20 华南理工大学 一种基于车辆历史轨迹的个性化路线推荐方法
CN108388961A (zh) * 2018-02-06 2018-08-10 华东师范大学 基于模块度优化的自适应随机邻居社团划分算法
CN109063188A (zh) * 2018-08-28 2018-12-21 国信优易数据有限公司 一种实体推荐方法和装置
AU2018205084A1 (en) * 2017-07-14 2019-01-31 Accenture Global Solutions Limited System for generating an architecture diagram
CN109558518A (zh) * 2018-10-30 2019-04-02 深圳先进技术研究院 一种确定社交网络中社区发现的方法、装置及存储介质
CN109948001A (zh) * 2019-03-07 2019-06-28 华中科技大学 一种亚线性时间分布式计算围长的最小社区发现方法
CN110674318A (zh) * 2019-08-14 2020-01-10 中国科学院计算机网络信息中心 一种基于引文网络社区发现的数据推荐方法
US20200133663A1 (en) * 2018-10-31 2020-04-30 Oracle International Corporation Automatic generation of multi-source breadth-first search from high-level graph language for distributed graph processing systems
CN111125640A (zh) * 2019-12-23 2020-05-08 江苏金智教育信息股份有限公司 一种知识点学习路径推荐方法和装置

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050064349A (ko) * 2003-12-23 2005-06-29 한국전자통신연구원 애플리케이션 특수 명령어 세트 프로세서 합성을 위한분기/병합 노드 최적화 합성 방법
CN102547980A (zh) * 2012-01-19 2012-07-04 中国科学技术大学苏州研究院 基于生成树的定位平滑稳定机制
CN103577242A (zh) * 2013-11-14 2014-02-12 中国科学院声学研究所 针对已调度汇编代码的控制流图重构方法
CN105389622A (zh) * 2015-10-20 2016-03-09 西安交通大学 一种基于知识地图的多约束学习路径推荐方法
CN105446881A (zh) * 2015-11-26 2016-03-30 福建工程学院 一种程序不可达路径的自动检测方法
CN107203424A (zh) * 2017-04-17 2017-09-26 北京奇虎科技有限公司 一种在分布式集群中调度深度学习作业的方法和装置
CN108062551A (zh) * 2017-06-28 2018-05-22 浙江大学 一种基于邻接矩阵的图特征提取系统、图分类系统和方法
AU2018205084A1 (en) * 2017-07-14 2019-01-31 Accenture Global Solutions Limited System for generating an architecture diagram
CN107346346A (zh) * 2017-08-26 2017-11-14 海南大学 基于数据图谱、信息图谱和知识图谱的学习者能力建模与学习过程优化管理系统
CN108303108A (zh) * 2017-12-05 2018-07-20 华南理工大学 一种基于车辆历史轨迹的个性化路线推荐方法
CN108388961A (zh) * 2018-02-06 2018-08-10 华东师范大学 基于模块度优化的自适应随机邻居社团划分算法
CN109063188A (zh) * 2018-08-28 2018-12-21 国信优易数据有限公司 一种实体推荐方法和装置
CN109558518A (zh) * 2018-10-30 2019-04-02 深圳先进技术研究院 一种确定社交网络中社区发现的方法、装置及存储介质
US20200133663A1 (en) * 2018-10-31 2020-04-30 Oracle International Corporation Automatic generation of multi-source breadth-first search from high-level graph language for distributed graph processing systems
CN109948001A (zh) * 2019-03-07 2019-06-28 华中科技大学 一种亚线性时间分布式计算围长的最小社区发现方法
CN110674318A (zh) * 2019-08-14 2020-01-10 中国科学院计算机网络信息中心 一种基于引文网络社区发现的数据推荐方法
CN111125640A (zh) * 2019-12-23 2020-05-08 江苏金智教育信息股份有限公司 一种知识点学习路径推荐方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JINGJING LIANG: "How to Explain a Patch: An Empirical Study of Patch Explanations in Open Source Projects", 《2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE)》 *
佚名: "Louvain社区发现算法", 《HTTPS://WWW.CNBLOGS.COM/ALLANSPARK/P/4197980.HTML》 *
孙志玉等: "一种基于机器学习帮助开发人员学习开源项目的方法", 《INTERNETWARE "19: PROCEEDINGS OF THE 11TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE • OCTOBER 2019 •ARTICLE NO.: 13 •PAGES 1–10•HTTPS://DOI.ORG/10.1145/3361242.3361251》 *
庄希威等: "一种基于社交网络服务的mashup连接子的设计与实现", 《计算机科学 2013全国软件与应用学术会议》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800236A (zh) * 2021-01-14 2021-05-14 大连东软教育科技集团有限公司 一种基于知识图谱生成学习路径的方法、装置及存储介质
CN113673773A (zh) * 2021-08-25 2021-11-19 山东科技大学 一种融合知识背景和学习时间预测的学习路径推荐方法
CN113673773B (zh) * 2021-08-25 2024-01-23 山东科技大学 一种融合知识背景和学习时间预测的学习路径推荐方法
CN115221310A (zh) * 2022-09-20 2022-10-21 北京大学 一种基于知识图谱的开源应用自动化推荐方法及装置
CN116910386A (zh) * 2023-09-14 2023-10-20 深圳市智慧城市科技发展集团有限公司 地址补全方法、终端设备及计算机可读存储介质
CN116910386B (zh) * 2023-09-14 2024-02-02 深圳市智慧城市科技发展集团有限公司 地址补全方法、终端设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111949306B (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN111949306B (zh) 一种支持开源项目碎片化学习的推送方法和系统
Romero et al. Knowledge discovery with genetic programming for providing feedback to courseware authors
Di Lucca et al. Comprehending web applications by a clustering based approach
US9633403B2 (en) Managing sustainable intellectual property portfolio of an enterprise
Joorabchi et al. Text mining stackoverflow: An insight into challenges and subject-related difficulties faced by computer science learners
CN113886567A (zh) 一种基于知识图谱的教学方法及系统
CN109002499A (zh) 学科相关性知识点库构建方法及其系统
CN114969369A (zh) 基于混合网络的知识图谱人类癌症致死预测方法及知识图谱构建方法
Bellatreche et al. The central role of data repositories and data models in Data Science and Advanced Analytics
Jafar A tools-based approach to teaching data mining methods
Zheng et al. Xscan: an integrated tool for understanding open source community-based scientific code
Ramírez-Noriega et al. Determination of the course sequencing to intelligent tutoring systems using an ontology and Wikipedia
Johnson et al. Web content mining using genetic algorithm
Machová et al. Ontology evaluation based on the visualization methods, context and summaries
Abrosimova et al. The ontology-based event mining tools for monitoring global processes
Dimitrovski et al. Courses content classification based on Wikipedia and CIP taxonomy
Requeno et al. Evaluation of properties over phylogenetic trees using stochastic logics
Chulyadyo et al. A framework for offline evaluation of recommender systems based on Probabilistic Relational Models
Ganev et al. An environment for building, exploring and querying academic social networks
Kabra et al. Student’s Performance Prediction Using Genetic Algorithm
Hammouda Distributed document clustering and cluster summarization in peer-to-peer environments
Suarez et al. Bioinformatics software for genomic: a systematic review on github
Hogo et al. Web-Based expert system for civil service regulations: RCSES
Nwohiri et al. Application of webometrics methods for analysis and enhancement of academic site structure based on page value criterion
Staudt Algorithms and software for the analysis of large complex networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant