CN110297630A - 一种图形化编程的缓存方法与系统 - Google Patents
一种图形化编程的缓存方法与系统 Download PDFInfo
- Publication number
- CN110297630A CN110297630A CN201910395639.7A CN201910395639A CN110297630A CN 110297630 A CN110297630 A CN 110297630A CN 201910395639 A CN201910395639 A CN 201910395639A CN 110297630 A CN110297630 A CN 110297630A
- Authority
- CN
- China
- Prior art keywords
- control
- drop
- drag
- user
- programming
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种图形化编程的缓存方法与系统。计算编程语句之间的互信息;根据语句互信息,并对编程效果进行缓存;记录用户对图形化编程控件的拖放行为;采用ngram算法对控件拖放序列进行训练;预测控件拖放,并对控件进行缓存;对用户行为进行强化学习训练,自适应优化缓存效果。本发明能够对图形化编程的运行效果和控件拖放效果进行缓存,提升运行效率,提高用户体验。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种图形化编程的缓存方法与系统。
背景技术
图形化编程常见与少儿编程或者scratch编程,它不同于普通的编程。它是通过将编程函数命令等放在编程控件栏目,当用户把控件从变成控件栏拖放到编程工作区,工作区会对控件进行相关合并、结合、变形等效果。并且当该控件放入工作区后,编程效果动画可以进行自动运行。
因为图形化编程过程需要动画不断的被播放,这种播放效果很多是采用更加形象的3d图像技术进行处理和生成的,数据渲染需要处理的信息量大,而且图形的网络传输负载较大。图形化编程有些控件较复杂,加入控件后,编程效果的动画播放也比较复杂,需要加载的动画预处理时间过长,因此延时严重,用户体验较差。因此分析挖掘图形化编程语言本身的特点,并进行相应的缓存预测,具有重要作用。
本发明通过分析大部分人的编程动作和动机,预先加载编程效果组件,当用户拖放入控件时,组件运行的播放动画效果将被缓存,可以迅速播放,减少等待时间。
发明内容
本发明提供了一种图形化编程的缓存方法与系统,用于对图形化编程的运行效果和控件拖放效果进行缓存,提升运行效率,提高用户体验。
本发明提供了一种图形化编程的缓存方法,主要包括以下步骤:
计算编程语句之间的互信息;
根据所述语句之间的互信息,并对编程效果进行缓存;
记录用户对图形化编程控件的拖放行为;
采用ngram算法对控件拖放序列进行训练;
预测控件拖放,并对控件进行缓存;
对用户行为进行强化学习训练,自适应优化缓存效果。
进一步可选地,如上所述的方法中,所述计算编程语句之间的互信息主要包括:
获取图形化编程平台的代码数据;对代码进行分割;计算语句之间的互信息;获得编程语句关联度。
进一步可选地,如上所述的方法中,所述根据语句之间的互信息,并对编程效果进行缓存,主要包括:
获取所述编程语句关联度,根据用户的目标编程语句,预测用户会编写的下一个编程语句,以及想达到的编程效果;对编程效果进行概率排序;对排在最前面的预设的n个编程效果的运行动画,进行缓存。
进一步可选地,如上所述的方法中,所述记录用户对图形化编程控件的拖放行为,主要包括:
在图形化编程过程中,记录用户拖放控件的前后序列顺序,并保存起来。
进一步可选地,如上所述的方法中,所述采用ngram算法对控件拖放序列进行训练,主要包括:
对用户拖放编程控件的顺序进行窗口切割,切割窗口为大于2小于10的整数;对二元到九元的ngram序列进行训练,获得ngram训练模型。
进一步可选地,如上所述的方法中,所述预测控件拖放,并对控件进行缓存,主要包括:
当用户拖放编程控件,对控件的关联控件进行缓存;根据ngram算法,计算出用户拖放第一个控件后,第二个控件被拖放的最大概率;并对第二个控件进行拖放到工作区时的效果进行缓存。
进一步可选地,如上所述的方法中,所述对用户行为进行强化学习训练,自适应优化缓存效果,主要包括:
根据用户拖放控件的行为数据,训练强化学习模型;
算法观察用户当前的编程状态,每一次用户拖放控件或编写代码,视为一次强化学习的行动过程;当用户按照所述ngram模型预测的结果拖放控件,则视为强化学习模型得到奖励,当用户拖放的行为,与ngram模型预测结果不符,则视为强化学习模型得到了负向惩罚。
通过horizon强化学习工具,训练强化学习模型;在用户的编程过程中,算法通过不断观察用户的控件拖放和编程语句的编写,自适应的调节自身模型效果,不断优化预测缓存编程控件的动画和编程控件拖放之后的技术效果图片及动画。
本发明提供了一种图形化编程的缓存系统,所述系统包括:
编程语句互信息计算模块,用于对编程语句之间的互信息进行计算,分析语句效果之间的关联度;
动画运行效果缓存模块,用于在用户编程过程中,对可能的编程目的和动画效果进行预测,提前加载动画缓存;
编程控件拖放序列预测模块,用于根据用户的控件拖放情况,采用ngram算法预测,用户下一个控件的拖放;
编程控件动画缓存模块,用于根据ngram算法,对控件间的拖放序列进行预测,提前对复杂控件进行缓存;
强化学习模块,用于对预测模型进行自适应学习,让缓存预测模型更加精确,不断优化自己。
本发明实施例提供的技术方案可以包括以下有益效果:
本发明能够对用户的编程语句的效果进行预测,对用户的编程控件拖放序列进行预测,通过预测提升图形化编程动画效果缓存的能力;并能够对模型进行不断自动优化,算法预测准确率高。
附图说明
图1为本发明的图形化编程的缓存方法实施例的流程图;
图2为本发明的图形化编程的缓存系统实施例的结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1为本发明的的流程图。如图1所示,本实施例,具体可以包括如下步骤:
步骤101,通过抓取图形化编程平台的数据,获得代码。对代码进行分割。计算编程语句之间的互信息。其中代码可以按照换行或空格分割,得到该编程语句后,对获得的所有编程语句进行互信息计算,获得编程语句之间的关联度。因为编程语句一般决定了代码的运行效果,因此语句之间的关联更加能体现编程的相互效果。而函数之间体现的更多是控件之间的关联。
例如,在图形化编程或者说少儿编程中,通过获取图像化编程代码中,关于一个卡通人物,走到目标地点之后,要再向什么方向走,要跑着走,还是慢慢走,这样的问题。有了之前其他用户设计过的代码,就能分析统计出,在这个编程环节中大多人都是如何进行下一步编程的,根据更多人想要的编程效果,就能预测用户接下去,可能更倾向于什么目标效果来变成代码。通过这种对大多数人的效果倾向习惯的预测,可以在用户编程代码运行前,就把可能的运行效果先做好动画缓存,减少用户运行代码时,界面的运行等待时间。
步骤102,当用户编写编程语句,对步骤101中已经计算出的语句关联互信息进行加载,预测用户想达到的计算效果或编程目的,对效果进行概率排序。通过前面步骤构建起来的编程语句之间的互信息算法,能够获得用户进行设计的算法的效果关联度。
步骤103,记录多个用户的使用习惯。计算平台用户在使用过程中,喜欢使用的控件,统计其使用频率。在用户每一次编程过程中,都记录控件被关联拖放的次数,当用户拖放一个控件,又继续拖放另一个控件时,视为第一个控件与第二个控件有关联。采用ngram算法,对用户的拖放规律进行计算。
对用户拖放编程控件的顺序进行窗口切割,切割窗口为大于2小于10的整数;对二元到九元的ngram序列进行训练。多元序列的ngram算法可以采用开源软件来运行和计算出。对ngram算法中的n,取一个大于2又小于9的值,可以使训练模型可以预测更大步长的编程控件拖放序列,又不至于计算量太大;
这一步是对用户可能拖放的控件进行预测,编程平台有一些比较复杂的图形化控件,例如这项控件包含有动画、语音播放、3d渲染等功能,对这些控件的拖放预测,能够让电脑迅速对控件进行响应。在控件被拖放到工作区的时候,就能迅速跟工作区中的其他元素合并和结合,形成更加有条理的语句,帮助编程顺序进行。而且,编程控件很多本身就是一些图形动画效果的控件,也能帮助其自身缓存,增加编程过程的趣味性效果。
步骤104,当用户拖放编程控件,对控件的关联控件进行缓存。根据ngram算法,计算出用户拖放第一个控件后,第二个控件被拖放的最大概率,并对第二个控件进行拖放到工作区时的效果进行缓存。
根据ngram算法,它是一种可以根据一个经常重复出现的序列,进行序列预测的算法,其中n表示,序列可以有多长。它也可以对用户的多个拖放过程进行计算和预测。在自然语言处理中,词语是以万为单位的,因此ngram中的n不能取太多。而编程控件一般只有几十个,因此对编程控件的拖放序列预测可以达到6个到10个,即用户拖放第一个控件后,又拖放了第二个,接着拖放第三个,直到拖放了三个,都可以被程序记录。并且通过该算法,可以计算出,当用户拖放了第一个控件之后,他第六个拖放的控件是哪个,都可以进行概率预测。
步骤105,根据以前用户拖放控件的行为数据,训练强化学习模型。在用户的编程过程中,算法通过不断观察用户的控件拖放和编程语句的编写,根据情况的变化,采用强化学习,预测缓存编程控件的动画和编程控件拖放之后的技术效果图片及动画。
算法观察用户当前的编程状态,每一次用户拖放控件或编写代码,都视为一次强化学习的行动过程,当用户按照预测的结果拖放控件,则视为强化学习模型得到奖励,当用户拖放的行为,没有按照控件拖放模型和语句撰写模型的预测效果进行,则视为强化学习模型得到了负向惩罚。强化学习的实现工具,采用facebook的horizon强化学习工具。在模型经过用户不断的使用之后,模型可以不断自己进行自适应优化,让自身的预测能力增强,并产生更强的预测能力,更好的修正频率库。当用户使用的得越来越多后,算法进行自动学习,并优化自身的概率,使编程效果越来越容易被提前加载到,缓存效果越来越好。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种图形化编程的缓存方法与系统,其特征在于,所述方法包括:
计算编程语句之间的互信息;
根据所述语句之间的互信息,并对编程效果进行缓存;
记录用户对图形化编程控件的拖放行为;
采用ngram算法对控件拖放序列进行训练;
预测控件拖放,并对控件进行缓存;
对用户行为进行强化学习训练,自适应优化缓存效果。
2.根据权利要求1所述的方法,其中,所述计算编程语句之间的互信息主要包括:
获取图形化编程平台的代码数据;对代码进行分割;计算语句之间的互信息;获得编程语句关联度。
3.根据权利要求1所述的方法,其中,所述根据语句之间的互信息,并对编程效果进行缓存,主要包括:
获取所述编程语句关联度,根据用户的目标编程语句,预测用户会编写的下一个编程语句,以及想达到的编程效果;对编程效果进行概率排序;对排在最前面的预设的n个编程效果的运行动画,进行缓存。
4.根据权利要求1所述的方法,其中,所述记录用户对图形化编程控件的拖放行为,主要包括:
在图形化编程过程中,记录用户拖放控件的前后序列顺序,并保存起来。
5.根据权利要求1所述的方法,其中,所述采用ngram算法对控件拖放序列进行训练,主要包括:
对用户拖放编程控件的顺序进行窗口切割,切割窗口为大于2小于10的整数;对二元到九元的ngram序列进行训练,获得ngram训练模型。
6.根据权利要求1所述的方法,其中,所述预测控件拖放,并对控件进行缓存,主要包括:
当用户拖放编程控件,对控件的关联控件进行缓存;根据ngram算法,计算出用户拖放第一个控件后,第二个控件被拖放的最大概率;并对第二个控件进行拖放到工作区时的效果进行缓存。
7.根据权利要求1所述的方法,其中,所述对用户行为进行强化学习训练,自适应优化缓存效果,主要包括:
根据用户拖放控件的行为数据,训练强化学习模型;
算法观察用户当前的编程状态,每一次用户拖放控件或编写代码,视为一次强化学习的行动过程;当用户按照所述ngram模型预测的结果拖放控件,则视为强化学习模型得到奖励,当用户拖放的行为,与ngram模型预测结果不符,则视为强化学习模型得到了负向惩罚;
通过horizon强化学习工具,训练强化学习模型;在用户的编程过程中,算法通过不断观察用户的控件拖放和编程语句的编写,自适应的调节自身模型效果,不断优化预测缓存编程控件的动画和编程控件拖放之后的技术效果图片及动画。
8.一种图形化编程的缓存系统,其特征在于,所述系统包括:
编程语句互信息计算模块,用于对编程语句之间的互信息进行计算,分析语句效果之间的关联度;
运行效果动画缓存模块,用于在用户编程过程中,对可能的编程目的和动画效果进行预测,提前加载动画缓存;
编程控件拖放序列预测模块,用于根据用户的控件拖放情况,采用ngram算法预测,用户下一个控件的拖放;
编程控件动画缓存模块,用于根据ngram算法,对控件间的拖放序列进行预测,提前对复杂控件进行缓存;
强化学习模块,用于对预测模型进行自适应学习,让缓存预测模型更加精确,不断优化自己。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910395639.7A CN110297630A (zh) | 2019-05-13 | 2019-05-13 | 一种图形化编程的缓存方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910395639.7A CN110297630A (zh) | 2019-05-13 | 2019-05-13 | 一种图形化编程的缓存方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110297630A true CN110297630A (zh) | 2019-10-01 |
Family
ID=68026788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910395639.7A Withdrawn CN110297630A (zh) | 2019-05-13 | 2019-05-13 | 一种图形化编程的缓存方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297630A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732247A (zh) * | 2021-01-13 | 2021-04-30 | 王亚刚 | 基于虚拟现实技术的事件发生方法以及事件发生系统 |
-
2019
- 2019-05-13 CN CN201910395639.7A patent/CN110297630A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732247A (zh) * | 2021-01-13 | 2021-04-30 | 王亚刚 | 基于虚拟现实技术的事件发生方法以及事件发生系统 |
CN112732247B (zh) * | 2021-01-13 | 2024-05-24 | 王亚刚 | 基于虚拟现实技术的事件发生方法以及事件发生系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102625762B1 (ko) | 다중-태스크 순환 신경망 | |
JP7157154B2 (ja) | 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索 | |
Hoffman et al. | Portfolio Allocation for Bayesian Optimization. | |
JP6651629B2 (ja) | 外部メモリを用いたニューラルネットワークの拡張 | |
CN109032078A (zh) | 机器学习装置、控制装置以及计算机可读介质 | |
CN111325416A (zh) | 预测叫车平台的用户流失的方法和装置 | |
CN107463701B (zh) | 基于人工智能推送信息流的方法和装置 | |
JP7038790B2 (ja) | ニューラルエピソード制御 | |
JP2021501417A (ja) | ニューラルアーキテクチャ検索 | |
WO2018039510A1 (en) | Reward augmented model training | |
US20220036216A1 (en) | Predicted Variables in Programming | |
CN114355793B (zh) | 用于车辆仿真评测的自动驾驶规划模型的训练方法及装置 | |
JP2022530127A (ja) | 教師なしデータ拡張を使用した機械学習モデルのトレーニング | |
CN111611478A (zh) | 信息推荐方法、装置和电子设备 | |
KR102660544B1 (ko) | 제어 장치, 컨트롤러, 제어 시스템, 제어 방법, 및 제어 프로그램 | |
CN113806512B (zh) | 机器人对话模型的训练方法、装置、设备及存储介质 | |
CN117744753B (zh) | 大语言模型的提示词确定方法、装置、设备及介质 | |
Brochu et al. | Portfolio allocation for Bayesian optimization | |
CN104021226B (zh) | 预取规则的更新方法及装置 | |
CN111950735A (zh) | 一种基于双向模型的强化学习方法 | |
CN112099889A (zh) | 一种信息显示方法、设备、装置及存储介质 | |
CN110297630A (zh) | 一种图形化编程的缓存方法与系统 | |
CN117194502B (zh) | 一种基于长短期记忆网络的数据库内容缓存替换方法 | |
CN112990461B (zh) | 构建神经网络模型的方法、装置、计算机设备和存储介质 | |
CN117539648A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191001 |