CN111913995A - 基于人工智能的编程学习资源推送方法及编程学习平台 - Google Patents

基于人工智能的编程学习资源推送方法及编程学习平台 Download PDF

Info

Publication number
CN111913995A
CN111913995A CN202010654425.XA CN202010654425A CN111913995A CN 111913995 A CN111913995 A CN 111913995A CN 202010654425 A CN202010654425 A CN 202010654425A CN 111913995 A CN111913995 A CN 111913995A
Authority
CN
China
Prior art keywords
learning
programming
user
programming learning
keywords
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.)
Pending
Application number
CN202010654425.XA
Other languages
English (en)
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.)
Guangzhou Huicai Chuangzhi Technology Co ltd
Original Assignee
Guangzhou Huicai Chuangzhi Technology Co ltd
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 Guangzhou Huicai Chuangzhi Technology Co ltd filed Critical Guangzhou Huicai Chuangzhi Technology Co ltd
Priority to CN202010654425.XA priority Critical patent/CN111913995A/zh
Publication of CN111913995A publication Critical patent/CN111913995A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于人工智能的编程学习资源推送方法,包括获取用户在当前编程学习平台的历史操作记录;根据历史操作记录,提取每个用户的学习关键词,并根据学习关键词及编程学习资源的使用情况,建立每个用户的编程学习需求库;当检测到用户在当前编程学习平台上进行与学习关键词相关的操作时,唤醒预设的虚拟人物,并由虚拟人物在当前编程学习平台上推送与学习关键词关联的编程学习资源。本发明通过用户的历史操作记录提取出学习关键词,从而确定用户在当前编程学习平台上的学习需求,并通过虚拟人物的方式,推送与学习关键词对应的学习资源,实现对用户学习需求的精准推送,提高用户对推荐编程学习资源的满意度,以及提高用户学习兴趣。

Description

基于人工智能的编程学习资源推送方法及编程学习平台
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于人工智能的编程学习资源推送方法、编程学习平台、及计算机可读存储介质。
背景技术
随着互联网的发展,网络学习成为了学习的常态,用户通过可以网络学习,学习各种技能,比如编程、剪辑、摄影等。
针对网络编程学习,由于编程学习过程枯燥、编程理论晦涩、需实操才能掌握,再有每个用户的个人情况不同,需要的编程学习资源不同,在面对编程学习平台上丰富的编程学习资源时,用户较难制定合理的学习计划,以筛选适合自己学习的编程学习资源,而且,目前编程学习平台的推荐页面通常位于固定区域,推送的内容通常为热门关键词,而没有很好地考虑用户使用情况,这会导致用户通过网络平台学习时,所推荐的编程学习资源不准确,无法及时解答用户在学习过程中遇到的问题,学习效果较差,而且用户对推荐学习资源的满意度不高,用户体验差,学习兴趣低。
发明内容
本发明目的在于,提供一种基于人工智能的编程学习资源推送方法、编程学习平台、及计算机可读存储介质,以解决现有的编程学习平台编程学习资源推送不准确,导致用户体验差,学习兴趣低的问题。
为实现上述目的,本发明实施例提供一种基于人工智能的编程学习资源推送方法,包括:
获取用户在当前编程学习平台的历史操作记录;
根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库;其中,所述编程学习需求库包括至少一个与所述学习关键词关联的编程学习资源,所述编程学习资源包括编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享中的一种或多种;
当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源;其中,所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作,包括输入所述学习关键词,输入与所述学习关键词关联的词语,浏览与所述学习关键词关联的网页,或选择试题训练。
在一些实施例中,所述根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库,具体为:
根据分词算法,从所述历史操作记录中提取出第一预设数量的关键词,得到学习关键词集合;
根据关键词排序算法,以及用户在所述编程学习平台中的编程学习资源的使用情况,对所述学习关键词集合中的学习关键词进行排序,以建立每个用户的编程学习需求库。
在一些实施例中,在所述根据由所述虚拟人物在所述当前编程学习平台上推送与所述关键词关联的编程学习资源之前,所述方法还包括:
将检测到的与所述学习关键词相关的操作输入至预设深度学习网络模型中,以确定所述操作对应的编程学习资源;其中,所述预设深度学习网络模型是已经训练完成的基于关联用户操作确定编程学习资源的模型。
在一些实施例中,当检测到所述操作为输入与所述学习关键词关联的问题后,所述当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源,具体为:
根据用户在所述编程学习平台中的编程学习资源的使用情况,识别所述问题中的学习关键词;
结合所述学习关键词以及上下文信息,获取用户使用任意一个编程学习资源后使用相关编程学习资源的概率分布;
根据所述概率分布,将每个相关编程学习资源按照用户使用每个相关编程学习资源的概率由大到小进行优先级排序;
唤醒预设的虚拟人物,并由所述虚拟人物推送至少一个优先等级高的编程学习资源。
在一些实施例中,所述编程学习需求库包括题库,在所述建立每个用户的编程学习需求库之后,所述方法还包括:
根据用户的历史操作记录,确定所述用户的当前学习进度;
根据所述当前学习进度和预设深度学习网络模型,更新每个用户的题库;
则所述当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源,具体为:
当检测到所述操作为选择与所述学习关键词关联的试题训练后,唤醒预设的虚拟人物,并由所述虚拟人物推送更新后的试题训练。
在一些实施例中,所述虚拟人物还用于根据用户的操作反馈,进行下一轮的编程学习资源推送。
在一些实施例中,在所述由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源之后,所述方法还包括:
在检测到用户在预设时间内,对所述虚拟人物推送的编程学习资源做出正向反馈后,从所述编程学习需求库中调取与所述学习关键词关联的编程学习资源;
在检测到用户在预设时间内,对所述虚拟人物推送的编程学习资源做出负向反馈或未做出反馈后,所述虚拟人物退出所述编程学习平台的界面。
本发明实施例还提供一种基于人工智能的编程学习平台,应用于如上述任意一个实施例中的基于人工智能的编程学习资源推送方法,所述平台包括:
历史操作记录获取模块,用于获取用户在当前编程学习平台的历史操作记录;
编程学习需求库建立模块,用于根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库;其中,所述编程学习需求库包括至少一个与所述学习关键词关联的编程学习资源;所述编程学习资源包括编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享中的一种或多种;
推送模块,用于当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源;其中,所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作,包括输入所述学习关键词,输入与所述学习关键词关联的词语,浏览与所述学习关键词关联的网页,或选择试题训练。
在一些实施例中,所述平台还包括编程学习资源获取模块,用于:
将检测到的与所述学习关键词相关的操作输入至预设深度学习网络模型中,以确定所述操作对应的编程学习资源;其中,所述预设深度学习网络模型是已经训练完成的基于关联用户操作确定编程学习资源的模型。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一个实施例中的基于人工智能的编程学习资源推送方法。
与现有技术相比,本发明实施例的基于人工智能的编程学习资源推送方法及编程学习平台具有如下有益效果:
获取用户在当前编程学习平台的历史操作记录;根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库;当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源。通过用户的历史操作记录提取出学习关键词,从而确定用户在当前编程学习平台上的学习需求,若用户在操作时,使用了相关的学习关键词,则可以通过虚拟人物的方式,推送与学习关键词对应的学习资源。如此,实现对用户学习需求的精准推送,提高用户对推荐编程学习资源的满意度,以及提高用户学习兴趣。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明某一实施例提供的基于人工智能的编程学习资源推送方法的流程示意图;
图2是本发明某一实施例提供的基于人工智能的编程学习资源推送方法的流程示意图;
图3是本发明某一实施例提供的基于人工智能的编程学习资源推送方法的流程示意图;
图4是本发明某一实施例提供的基于人工智能的编程学习资源推送方法的流程示意图;
图5是本发明某一实施例提供的基于人工智能的编程学习资源推送方法的流程示意图;
图6是本发明某一实施例提供的基于人工智能的编程学习资源推送方法的流程示意图;
图7是本发明某一实施例提供的基于人工智能的编程学习平台的结构示意图;
图8是本发明某一实施例提供的计算机终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明实施例提供一种基于人工智能的编程学习资源推送方法,包括以下步骤:
S10、获取用户在当前编程学习平台的历史操作记录。
其中,用户可以为IT从业人员、学生、对编程感兴趣的普通用户等。当用户首次使用编程学习平台时,编程学习平台的后台服务器为该用户分配账号。编程学习平台为用户提供编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享等丰富编程学习资源,并设置普通学习模式、训练模式及竞技模式等方式,以供用户进行自主编程学习。
在本实施例中,用户在利用编程学习平台进行学习过程中,该平台生成该账号相对应的操作日志,该日志记录记录该用户在当前编程学习平台的历史操作记录,包括操作人、操作时间、操作项目等,例如A用户在某一天,进行搜索某一编程代码片段、浏览某一篇经验分享帖、播放某一教程、试题训练等。通过获取编程学习平台的操作日志,则可获取到用户在当前编程学习平台上的历史操作记录。
S20、根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库。其中,所述编程学习需求库包括至少一个与所述学习关键词关联的编程学习资源。所述编程学习资源包括编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享中的一种或多种。
不同的用户对编程的学习需求不同,则在编程学习平台上的历史操作记录不同。在从每个账号的操作日志中提取对应的历史操作记录后,提取用户的学习关键词,并将编程学习资源与学习关键词进行关联,然后结合用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库,每个用户的编程学习需求库包含与其学习情况的编程学习资源。其中,一个学习关键词可以关联一个或者多个编程学习资源。例如,针对学习关键词“WEB开发”,其可以关联“代码”、“JavaScript开发”、“浏览器兼容”、“HTML5”、“CSS+DIV”中的一个或多个主题资源。再例如,针对学习关键词“PHP技术”,其可以关联“php基础、中级、高级”、“ThinkPHP框架”、“PHP安全”中的一个或多个主题资源。如此,不断根据用户的历史操作记录以及对编程学习资源的使用情况,分析每个用户的学习需求,从而建立并更新每个用户的编程资源学习需求库,当用户需要查找相关的编程学习资源时,可从编程学习需求库快速调用对应的编程学习资源,切实符合用户的自身学习需求,提高用户的学习效果。
S30、当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源。其中,所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作,包括输入所述学习关键词,输入与所述学习关键词关联的词语,浏览与所述学习关键词关联的网页,或选择试题训练。
由于现有的编程学习平台所推荐的编程学习资源不准确,无法及时解答用户在学习过程中遇到的问题,学习效果较差,而且用户对推荐学习资源的满意度不高,用户体验差,学习兴趣低。
本发明实施例创建虚拟人物作为“客服”,以生动、有趣的形象与用户进行交互,改变了以往编程学习过程枯燥的缺点,提高用户对编程的学习兴趣。其中,所述虚拟人物为编程学习平台默认的统一预设形象或由用户自定义的形象,例如2D虚拟人物、3D虚拟人物、女生形象、男生形象或各种职业形象等。由用户自定义的形象,为用户在当前编程学习平台注册时,所设定的形象,或者后续使用过程时,所更改的形象。例如,A用户的身份为男生、IT专业学生,所自定义的3D虚拟人物形象为“IT理工男”。需要说明的是,具体创建动态的虚拟人物形象,这些是本技术中已知的,例如一篇申请号为CN201110458915.3,名称为“一种个性虚拟人物创建方法”的专利中所述:人物创建过程中,加入性格爱好测试,并根据测试结果,通过计算机匹配,为虚拟人物发展设置个性化道路。在推送过程中,采用虚拟人物进行反馈推送,使得推送内容更加形象生动,提高用户学习兴趣和用户体验。
在本实施例中,当编程学习平台检测到与所述学习关键词相关的操作,发送唤醒虚拟人物的请求以及推送相对应的编程学习资源请求。然后,编程学习平台调用虚拟人物的运行程序以及推荐程序,并在编程学习平台界面上显示虚拟人物,例如虚拟人物以弹出的方式显示在编程学习平台界面,然后由虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源。
具体地,推送的原理为:根据所述学习关键词,获取用户使用任意一个编程学习资源后使用相关编程学习资源的概率分布;根据所述概率分布,将每个相关编程学习资源按照用户使用每个相关编程学习资源的概率由大到小进行优先级排序;由所述虚拟人物推送至少一个优先等级高的编程学习资源。如此,通过推送优先等级高的编程学习资源,确保所推送的内容与用户自身的学习情况贴合,实现了精准推送。
请参阅图2,在一些实施例中,在步骤S30,所述由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源之后,所述方法还包括以下步骤:
S40、在检测到用户在预设时间内,对所述虚拟人物推送的编程学习资源做出正向反馈后,从所述编程学习需求库中调取与所述学习关键词关联的编程学习资源;
S50、在检测到用户在预设时间内,对所述虚拟人物推送的编程学习资源做出负向反馈或未做出反馈后,所述虚拟人物退出所述编程学习平台的界面。
可以理解的是,虚拟人物可以在界面设置两个选项,例如“接受”以及“不接受”,以供用户选择是否接受当前所推送的内容。其中,“接受”选项关联所推送的编程学习资源的链接。当用户点击“接受”选项时,表示用户输入正向反馈,则编程学习平台响应于该操作,以链接至编程学习资源所在的页面。当用户点击“不接受”选项时,表示用户输入负向反馈,以及当用户长时间未点击链接或者在一段预设时间内为点击链接时,表示用户未做出反馈,则虚拟人物主动退出所述编程学习平台的界面,以便用户继续进行当前操作。
继续以上述A用户为例,当编程学习平台实施本发明的基于人工智能的编程学习资源推送方法后,可以根据A用户在当前编程学习平台上的历史操作记录,以及A用户在所述编程学习平台中的编程学习资源的使用情况,建立A用户的编程学习需求库。当A用户在编程操作平台上搜索相关的编程学习资源时,例如“WEB开发”,则编程学习平台从A用户的编程学习需求库中快速查找与“WEB开发”相关的编程学习资源,其自定义的“IT理工男”的3D虚拟人物以唤醒的方式呈现在当前编程学习平台,并由3D虚拟人物推送与“WEB开发”相关的编程学习资源的链接。若A用户认为“IT理工男”3D虚拟人物所推送的编程学习资源符合其当前学习需求,则可以点击“接受”选项,以做出正向反馈,则编程学习平台从A用户的编程学习需求库中快速调取与“WEB开发”相关的编程学习资源,并切换至该编程学习资源的界面。若A用户认为“IT理工男”3D虚拟人物所推送的编程学习资源不符合其当前学习需求,则可以点击“不接受”选项或者忽略“IT理工男”3D虚拟人物的推送界面,以做出负向反馈或未做出反馈,则虚拟人物主动退出所述编程学习平台的界面,以便A用户继续进行当前操作。
综上,本发明实施例中的基于人工智能的编程学习资源推送方法,与现有技术相比,具有如下有益效果:
获取用户在当前编程学习平台的历史操作记录;根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库;当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源。通过用户的历史操作记录提取出学习关键词,从而确定用户在当前编程学习平台上的学习需求,若用户在操作时,使用了相关的学习关键词,则可以通过虚拟人物的方式,推送与学习关键词对应的学习资源。如此,实现对用户学习需求的精准推送,提高用户对推荐编程学习资源的满意度,以及提高用户学习兴趣。
为了准确地建立每个用户的编程学习需求库,请参阅图3,在一些实施例中,所述步骤S20,即根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库,具体为:
S21、根据分词算法,从所述历史操作记录中提取出第一预设数量的关键词,得到学习关键词集合。
S22、根据关键词排序算法,以及用户在所述编程学习平台中的编程学习资源的使用情况,对所述学习关键词集合中的学习关键词进行排序,以建立每个用户的编程学习需求库。
在本实施例中,通过分词算法对用户的操作日志或文档进行分词,将由中英文构成的日志,分割成以中英文关键词为基本单元的形式,并提取出第一预设数量的关键词,以此作为每个用户的学习关键词。接着,利用关键词排序算法,根据中英文关键词在词库中记录的频率(该关键词的历史频率)和在日志中出现的次数(该关键词在日志中的当前频率),将二种关键词频率相结合(不同的结合方式,会给出截然不同的标签提取结果),给出排序后的关键词列表,形成tag标签。另外,也可以按照关键词在词库中所记录的时间信息,给予近期频繁出现的关键词更前的排名;而且,由关键词的时间信息,还可以给出近期频繁出现或上升最快或最热的关键词列表等额外信息,以建立每个用户的编程学习需求库。
在一个实施例中,将分词算法得到的中英文关键词,分别与后台的现有词库进行对比,查看是否存在;如存在,更新该词在词库中的频率和近期出现时间信息;如不存在,加入现有词库,并将相关频率和时间信息存储起来;或者根据特定规则,将某些中英文词与现有词库中的词进行合并等进一步处理,以更新学习关键词集合。
为了较快且准确地确定所述操作对应的编程学习资源,在一些实施例中,在所述步骤S30,即根据由所述虚拟人物在所述当前编程学习平台上推送与所述关键词关联的编程学习资源之前,所述方法还包括以下步骤:
将检测到的与所述学习关键词相关的操作输入至预设深度学习网络模型中,以确定所述操作对应的编程学习资源;其中,所述预设深度学习网络模型是已经训练完成的基于关联用户操作确定编程学习资源的模型。
则步骤S30更新为图4所示的步骤S31。在本实施例中,所述预设深度学习网络模型是通过大数据训练完成后,得到的基于关联用户操作确定编程学习资源的模型。
具体地,获取所有用户操作,例如输入所述学习关键词,输入与所述学习关键词关联的词语,浏览与所述学习关键词关联的网页,或选择试题训练等,并转换为文本格式,例如A用户在编程学习平台输入“WEB开发”,对应文本格式为“A用户输入‘WEB开发’”。挑选一部分的用户操作作为训练样本,一部分的用户操作作为测试样本。训练样本输入至预设深度学习网络模型对应基础识别网络模型进行调整训练,以调整训练所述基础识别网络模型中所述用户操作与编程学习资源的对应关系。具体地,将文本格式的用户操作输入至预设深度学习网络模型对应基础识别网络模型,基础识别网络模型采用CNN
(Convolutional Neural Network,卷积神经网络)模型作为特征提取器,来进行文本特征提取,所提取的文本特征进行最大池化处理,处理后的结果基于预设的学习关键词与编程学习资源之间的对应关系,调整训练所述基础识别网络模型中所述用户操作与编程学习资源的对应关系。
在训练完成后,将测试样本输入至预设深度学习网络模型对应基础识别网络模型进行测试训练,若测试确定该调整训练后的所述基础识别网络模型的测试的测试准确度大于预设准确度时,将所述调整训练后的所述基础识别网络模型作为目标识别型,其中,若测试确定该调整训练后的所述基础识别网络模型的测试的测试准确度小于预设准确度时,继续训练调整所述调整训练后的所述基础识别网络模型,以最终训练得到预设深度学习网络模型。
在一些实施例中,所述虚拟人物还用于根据用户的操作反馈,进行下一轮的编程学习资源推送。
由于现有编程学习平台的推荐页面所推荐的内容通常为热门内容,用户无法快速了解到哪个内容是符合自己的学习进度。
在本实施例中,虚拟人物不仅仅用于推送编程学习资源,还用于用户进行互动,从而充当智能助手,以帮助用户快速找到符合自己的学习进度的编程学习资源。例如,当用户在编程学习平台上搜索某一关键词时,虚拟人物从编程学习平台的界面弹出,以推送与该关键词相关的编程学习资源。当用户确定选择所推送的编程学习资源后,虚拟人物继续停留在界面,并发出“还有什么需要帮忙的吗?”等提示。当用户确定需要虚拟人物的“帮忙”时,例如输入下一个关键词时,虚拟人物继续推送与该关键词相关的编程学习资源;当用户确定不需要虚拟人物的“帮忙”时,虚拟人物则主动退出界面,并在下一次检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,推送与所述学习关键词关联的编程学习资源。
如此,通过虚拟人物的智能交互,使用户感觉自己不是一个人在学习,而是与虚拟人物一起进行学习,不仅提高用户对编程学习的兴趣,还帮助用户快速找到符合自己的学习进度的编程学习资源,实现精准推送。
此外,由于不同的场景下,所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作不同,互动和推送的内容不同。例如咨询或搜索场景下,对应的操作为输入学习关键词,或输入与所述学习关键词关联的词语;再例如教程学习场景下,对应的操作为浏览与所述学习关键词关联的网页;又例如试题训练场景下,对应的操作为进入试题训练页面。
请参阅图5,在一些实施例中,当检测到所述操作为输入与所述学习关键词关联的问题后,步骤S30具体为以下步骤:
S32、根据用户在所述编程学习平台中的编程学习资源的使用情况,识别所述问题中的学习关键词;
S33、结合所述学习关键词以及上下文信息,获取用户使用任意一个编程学习资源后使用相关编程学习资源的概率分布;
S34、根据所述概率分布,将每个相关编程学习资源按照用户使用每个相关编程学习资源的概率由大到小进行优先级排序;
S35、唤醒预设的虚拟人物,并由所述虚拟人物推送至少一个优先等级高的编程学习资源。
在本实施例中,编程学习平台中通过虚拟人物客服与用户进行互动交流。通过人工智能技术,虚拟客服可不断学习进化,理解自然语言,解答用户IT技术和编程学习平台相关的问题。
具体为,由于编程相关的问题中往往夹杂中文描述文字和英文的关键词,虚拟人物客服可以结合用户在所述编程学习平台中的编程学习资源的使用情况,确定用户当前学习进度,从而准确识别问题中关键词的含义,并结合上下文信息,计算用户所需解答内容的概率分布。根据所述概率分布,将每个相关编程学习资源按照用户使用每个相关编程学习资源的概率由大到小进行优先级排序。根据排序结果,给出命中率最高的一条或多条包含编程学习资源的解答内容。
请参阅图6,在一些实施例中,所述编程学习需求库包括题库,在所述步骤S20,即建立每个用户的编程学习需求库之后,所述方法还包括:
S60、根据用户的历史操作记录,确定所述用户的当前学习进度;
S70、根据所述当前学习进度和预设深度学习网络模型,更新每个用户的题库;
则步骤S30具体为以下步骤:
S36、当检测到所述操作为选择与所述学习关键词关联的试题训练后,唤醒预设的虚拟人物,并由所述虚拟人物推送更新后的试题训练。
在本实施例中,所述编程学习资源为试题。用户在编程学习平台训练和竞技时,会做大量的IT技术类试题(例如以客观题为主)。通过用户的历史操作记录,来确定用户的当前学习进度,例如分析用户答题的正确率、耗时,以及答题前后的学习、闯关行为,可以不断优化试题的参数属性,如难度、价值、能力偏向等,然后根据所述当前学习进度和预设深度学习网络模型,更新每个用户的题库。其中,所述预设深度学习网络模型是已经训练完成的基于关联用户操作确定编程学习资源的模型。通过人工智能技术,从而实现题库进化,为各类用户分别打造最适合的试题训练套餐。当检测到用户的操作为选择与所述学习关键词关联的试题训练后,由所述虚拟人物推送更新后的试题训练,以便用户进行试题训练,提高用户的编程能力。
请参阅图7,本发明实施例提供一种基于人工智能的编程学习平台100,应用于上述任意一个实施例中的基于人工智能的编程学习资源推送方法,该平台100包括:
历史操作记录获取模块110,用于获取用户在当前编程学习平台的历史操作记录;
编程学习需求库建立模块120,用于根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库;其中,所述编程学习需求库包括至少一个与所述学习关键词关联的编程学习资源;所述编程学习资源包括编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享中的一种或多种;
推送模块130,用于当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源;其中,所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作,包括输入所述学习关键词,输入与所述学习关键词关联的词语,浏览与所述学习关键词关联的网页,或选择试题训练。
关于基于人工智能的编程学习平台100的具体限定可以参见上文中对于基于人工智能的编程学习资源推送方法的限定,在此不再赘述。上述基于人工智能的编程学习平台100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,所述平台还包括编程学习资源获取模块,用于:
将检测到的与所述学习关键词相关的操作输入至预设深度学习网络模型中,以确定所述操作对应的编程学习资源;其中,所述预设深度学习网络模型是已经训练完成的基于关联用户操作确定编程学习资源的模型。
请参阅图8,本发明实施例提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例中的基于人工智能的编程学习资源推送方法。
处理器用于控制该计算机终端设备的整体操作,以完成上述的基于人工智能的编程学习资源推送方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以包括用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在一示例性实施例中,计算机终端设备可以被一个或多个应用专用集成电路(Application Specific 1ntegrated Circuit,简称AS1C)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述任意一个实施例中的基于人工智能的编程学习资源推送方法,并达到如上述方法一致的技术效果。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任意一个实施例中的基于人工智能的编程学习资源推送方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由计算机终端设备的处理器执行以完成上述的基于人工智能的编程学习资源推送方法,并达到如上述方法一致的技术效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种基于人工智能的编程学习资源推送方法,其特征在于,包括:
获取用户在当前编程学习平台的历史操作记录;
根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库;其中,所述编程学习需求库包括至少一个与所述学习关键词关联的编程学习资源,所述编程学习资源包括编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享中的一种或多种;
当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源;其中,所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作,包括输入所述学习关键词,输入与所述学习关键词关联的词语,浏览与所述学习关键词关联的网页,或选择试题训练。
2.根据权利要求1所述的基于人工智能的编程学习资源推送方法,其特征在于,所述根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库,具体为:
根据分词算法,从所述历史操作记录中提取出第一预设数量的关键词,得到学习关键词集合;
根据关键词排序算法,以及用户在所述编程学习平台中的编程学习资源的使用情况,对所述学习关键词集合中的学习关键词进行排序,以建立每个用户的编程学习需求库。
3.根据权利要求1所述的基于人工智能的编程学习资源推送方法,其特征在于,在所述根据由所述虚拟人物在所述当前编程学习平台上推送与所述关键词关联的编程学习资源之前,所述方法还包括:
将检测到的与所述学习关键词相关的操作输入至预设深度学习网络模型中,以确定所述操作对应的编程学习资源;其中,所述预设深度学习网络模型是已经训练完成的基于关联用户操作确定编程学习资源的模型。
4.根据权利要求1所述的基于人工智能的编程学习资源推送方法,其特征在于,当检测到所述操作为输入与所述学习关键词关联的问题后,所述当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源,具体为:
根据用户在所述编程学习平台中的编程学习资源的使用情况,识别所述问题中的学习关键词;
结合所述学习关键词以及上下文信息,获取用户使用任意一个编程学习资源后使用相关编程学习资源的概率分布;
根据所述概率分布,将每个相关编程学习资源按照用户使用每个相关编程学习资源的概率由大到小进行优先级排序;
唤醒预设的虚拟人物,并由所述虚拟人物推送至少一个优先等级高的编程学习资源。
5.根据权利要求1所述的基于人工智能的编程学习资源推送方法,其特征在于,所述编程学习需求库包括题库,在所述建立每个用户的编程学习需求库之后,所述方法还包括:
根据用户的历史操作记录,确定所述用户的当前学习进度;
根据所述当前学习进度和预设深度学习网络模型,更新每个用户的题库;
则所述当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源,具体为:
当检测到所述操作为选择与所述学习关键词关联的试题训练后,唤醒预设的虚拟人物,并由所述虚拟人物推送更新后的试题训练。
6.根据权利要求1所述的基于人工智能的编程学习资源推送方法,其特征在于,所述虚拟人物还用于根据用户的操作反馈,进行下一轮的编程学习资源推送。
7.根据权利要求1所述的基于人工智能的编程学习资源推送方法,其特征在于,在所述由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源之后,所述方法还包括:
在检测到用户在预设时间内,对所述虚拟人物推送的编程学习资源做出正向反馈后,从所述编程学习需求库中调取与所述学习关键词关联的编程学习资源;
在检测到用户在预设时间内,对所述虚拟人物推送的编程学习资源做出负向反馈或未做出反馈后,所述虚拟人物退出所述编程学习平台的界面。
8.一种基于人工智能的编程学习平台,其特征在于,应用于如权利要求1至7任一项所述的基于人工智能的编程学习资源推送方法,所述平台包括:
历史操作记录获取模块,用于获取用户在当前编程学习平台的历史操作记录;
编程学习需求库建立模块,用于根据所述历史操作记录,提取每个用户的学习关键词,并根据所述学习关键词以及用户在所述编程学习平台中的编程学习资源的使用情况,建立每个用户的编程学习需求库;其中,所述编程学习需求库包括至少一个与所述学习关键词关联的编程学习资源;所述编程学习资源包括编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享中的一种或多种;
推送模块,用于当检测到所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作时,唤醒预设的虚拟人物,并由所述虚拟人物在所述当前编程学习平台上推送与所述学习关键词关联的编程学习资源;其中,所述用户在所述当前编程学习平台上进行与所述学习关键词相关的操作,包括输入所述学习关键词,输入与所述学习关键词关联的词语,浏览与所述学习关键词关联的网页,或选择试题训练。
9.根据权利要求8所述的基于人工智能的编程学习平台,其特征在于,所述平台还包括编程学习资源获取模块,用于:
将检测到的与所述学习关键词相关的操作输入至预设深度学习网络模型中,以确定所述操作对应的编程学习资源;其中,所述预设深度学习网络模型是已经训练完成的基于关联用户操作确定编程学习资源的模型。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于人工智能的编程学习资源推送方法。
CN202010654425.XA 2020-07-08 2020-07-08 基于人工智能的编程学习资源推送方法及编程学习平台 Pending CN111913995A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010654425.XA CN111913995A (zh) 2020-07-08 2020-07-08 基于人工智能的编程学习资源推送方法及编程学习平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010654425.XA CN111913995A (zh) 2020-07-08 2020-07-08 基于人工智能的编程学习资源推送方法及编程学习平台

Publications (1)

Publication Number Publication Date
CN111913995A true CN111913995A (zh) 2020-11-10

Family

ID=73227706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010654425.XA Pending CN111913995A (zh) 2020-07-08 2020-07-08 基于人工智能的编程学习资源推送方法及编程学习平台

Country Status (1)

Country Link
CN (1) CN111913995A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955829A (zh) * 2011-08-30 2013-03-06 北京百度网讯科技有限公司 用于对资源项进行排序的方法、装置和设备
CN105512349A (zh) * 2016-02-23 2016-04-20 首都师范大学 一种用于学习者自适应学习的问答方法及装置
CN106651701A (zh) * 2016-12-29 2017-05-10 山东科技大学 一种学习资源的构建方法及装置
CN108491147A (zh) * 2018-04-16 2018-09-04 青岛海信移动通信技术股份有限公司 一种基于虚拟人物的人机交互方法及移动终端
CN110263179A (zh) * 2019-06-12 2019-09-20 湖南酷得网络科技有限公司 学习路径推送方法、装置、计算机设备和存储介质
CN111177413A (zh) * 2019-12-30 2020-05-19 北京谦仁科技有限公司 学习资源推荐方法、装置和电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955829A (zh) * 2011-08-30 2013-03-06 北京百度网讯科技有限公司 用于对资源项进行排序的方法、装置和设备
CN105512349A (zh) * 2016-02-23 2016-04-20 首都师范大学 一种用于学习者自适应学习的问答方法及装置
CN106651701A (zh) * 2016-12-29 2017-05-10 山东科技大学 一种学习资源的构建方法及装置
CN108491147A (zh) * 2018-04-16 2018-09-04 青岛海信移动通信技术股份有限公司 一种基于虚拟人物的人机交互方法及移动终端
CN110263179A (zh) * 2019-06-12 2019-09-20 湖南酷得网络科技有限公司 学习路径推送方法、装置、计算机设备和存储介质
CN111177413A (zh) * 2019-12-30 2020-05-19 北京谦仁科技有限公司 学习资源推荐方法、装置和电子设备

Similar Documents

Publication Publication Date Title
US10733197B2 (en) Method and apparatus for providing information based on artificial intelligence
WO2022111244A1 (zh) 数据处理方法、装置、电子设备及存储介质
US10713424B2 (en) Automated document content modification
CN109408821B (zh) 一种语料生成方法、装置、计算设备及存储介质
US20180268307A1 (en) Analysis device, analysis method, and computer readable storage medium
CN107247751B (zh) 基于lda主题模型的内容推荐方法
US10496751B2 (en) Avoiding sentiment model overfitting in a machine language model
CN111310693A (zh) 图像中文本的智能标注方法、装置及存储介质
CN110008309A (zh) 一种短语挖掘方法及装置
CN111444725B (zh) 语句的生成方法、装置、存储介质和电子装置
CN112560510A (zh) 翻译模型训练方法、装置、设备及存储介质
CN112163560A (zh) 一种视频信息处理方法、装置、电子设备及存储介质
CN112417848A (zh) 语料生成方法、装置及计算机设备
CN104881428A (zh) 一种信息图网页的信息图提取、检索方法和装置
CN112231554A (zh) 一种搜索推荐词生成方法、装置、存储介质和计算机设备
CN110020110B (zh) 媒体内容推荐方法、装置及存储介质
CN113505786A (zh) 试题拍照评判方法、装置及电子设备
CN111062216A (zh) 命名实体识别方法、装置、终端及可读介质
CN110348013A (zh) 基于人工智能的写作辅助方法、设备及可读存储介质
CN111913995A (zh) 基于人工智能的编程学习资源推送方法及编程学习平台
CN116188250A (zh) 图像处理方法、装置、电子设备及存储介质
CN110717008B (zh) 基于语意识别的搜索结果排序方法及相关装置
CN112487817A (zh) 命名实体识别模型训练方法、样本标注方法、装置及设备
CN113642337A (zh) 数据处理方法和装置、翻译方法、电子设备以及计算机可读存储介质
CN111913563A (zh) 一种基于半监督学习的人机交互方法及装置

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