论文部分内容阅读
随着移动网络和智能手机的日益普及,移动应用数量呈现爆炸式增长,海量存在的移动应用给人们带来了新的机遇和挑战。对于开发者来说,基于大量已有移动应用快捷构造新的应用成为了可能。在开发过程中,若能将已有的成熟移动应用集成进来,无疑会大大缩短开发周期,降低开发风险,同时保证产品质量,但目前移动应用开发工具对应用集成的支持仅停留在应用编程接口和底层运行机制部分,尚未出现更高层次的面向执行流程的集成支持。对于用户来说,海量存在的移动应用使得选取符合用户个性化需求的移动应用问题亟待解决,在序列化复用移动应用的场景中,若能为用户推荐一个理想的应用序列,则同一功能流程会通过更符合用户个性化需求的应用序列来完成,这种机制将大大提升用户体验,降低“应用过载”带来的影响。目前对移动应用推荐系统的研究集中在单个移动应用的个性化推荐问题上,尚未出现面向移动应用序列的推荐方法。本文提出一个移动应用个性化集成框架解决上述问题,主要贡献总结如下:提出一个移动应用个性化集成框架。开发者只需编写描述功能流程的脚本文件,框架中包含解析引擎对移动应用的序列化复用提供运行时刻支撑机制。同时,针对流程中每个功能请求均有多个候选应用可选择的“应用过载”问题,框架中包含一个移动应用序列推荐模块为用户推荐符合个性化需求的应用序列。提出意图过程执行语言并实现解析引擎。为解决开发者如何描述功能流程的问题,本文提出意图过程执行语言,方便开发者从更为自然的执行流程角度完成新移动应用的构造。该语言采用“松耦合”思想,开发者在脚本文件中不必指定具体的应用程序,由解析引擎在运行时刻动态绑定应用程序组件,从而完成功能请求,这种机制使得移动应用序列个性化推荐成为可能。提出基于协同过滤的隐马尔科夫模型及移动应用序列个性化推荐算法。对于同一个功能流程,由于个人偏好不同,不同的用户会选择更适合自己的应用序列来完成。本文对传统隐马尔科夫模型进行改进,提出基于协同过滤的隐马尔科夫模型Collaborative-HMM,在该模型的基础上给出移动应用序列个性化推荐算法,同一功能流程将通过更符合用户个性化需求的应用序列来完成。基于Android平台给出该框架的实现。由于Android平台拥有广阔的市场,且具有更高的开放度,本文基于Android平台给出该框架的实现。框架由客户端和服务器端构成,客户端以SDK方式提供给开发者,开发者只需进行简单配置后即可使用,服务器端架设在SAE上,实时生成推荐的应用序列返回给用户。