首页> 中国专利> 移动应用功能演化趋势预测方法、装置及计算机设备

移动应用功能演化趋势预测方法、装置及计算机设备

摘要

本发明公开了移动应用功能演化趋势预测方法、装置、计算机设备及存储介质,涉及人工智能,包括根据数据采集条件从数据采集网址对应采集获取应用程序版本更新记录信息集;将其中每一条应用程序版本更新文本进行预处理,组成处理后应用程序版本更新文本集;获取每一处理后应用程序版本更新文本对应的标注值并由其及对应的标注值组成训练集和测试集;通过训练集对待训练SVM模型和待训练决策树模型分别进行模型训练,得到SVM模型和决策树模型。实现了对样本数据进行标记预处理时,可以采用OCR自动识别、标记和人工标记结合的方法,不仅可更高效的预处理大量样本数据,而且保证了标记的准确率,使得训练出来的预测模型稳定性更好。

著录项

  • 公开/公告号CN112767022A

    专利类型发明专利

  • 公开/公告日2021-05-07

    原文格式PDF

  • 申请/专利权人 平安普惠企业管理有限公司;

    申请/专利号CN202110043749.4

  • 发明设计人 李书涵;

    申请日2021-01-13

  • 分类号G06Q30/02(20120101);G06F40/216(20200101);G06F40/289(20200101);G06K9/20(20060101);G06F8/71(20180101);G06K9/62(20060101);

  • 代理机构44242 深圳市精英专利事务所;

  • 代理人李翔宇

  • 地址 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)

  • 入库时间 2023-06-19 10:54:12

说明书

技术领域

本发明涉及人工智能的智能决策技术领域,尤其涉及一种移动应用功能演化趋势预测方法、装置、计算机设备及存储介质。

背景技术

目前,一些企业在进行移动应用开发时,只会根据公司业务需求,在前期快速进行几个版本的开发,基本覆盖公司业务功能。但是对于之后的版本迭代,常常会处于一种定位不准的状态,比较多的体现为不断的进行功能项开发,至于这些功能是否有必要、用户当前是关注更多、更复杂的功能,还是更流畅的人机交互、页面卡顿等方面不能很好把握。而对市场上同类的移动应用版本更新记录、用户评论等信息进行挖掘,可以帮助产品经理和开发者更好的从整体上把握应用的发展方向。

而在分析庞大的应用版本更新记录数据时,若是要人工进行一条一条记录的标记分析,必将耗费巨大的人力和时间。

发明内容

本发明实施例提供了一种移动应用功能演化趋势预测方法、装置、计算机设备及存储介质,旨在解决现有技术中分析庞大的应用版本更新记录数据时是通过人工进行逐条的标记分析,耗费巨大的人力成本和时间的问题。

第一方面,本发明实施例提供了一种移动应用功能演化趋势预测方法,其包括:

根据预设的数据采集条件及数据采集网址,从所述数据采集网址对应采集获取应用程序版本更新记录信息集;其中,所述应用程序版本更新记录信息集中包括若干条应用程序版本更新记录信息,每一条应用程序版本更新记录信息包括若干条应用程序版本更新文本;

获取所采集的应用程序版本更新记录信息集,将所述应用程序版本更新记录信息集中每一条应用程序版本更新文本进行预处理,以组成处理后应用程序版本更新文本集;其中,所述处理后应用程序版本更新记录信息集中包括若干条处理后应用程序版本更新文本;

获取所述处理后应用程序版本更新记录信息集中每一处理后应用程序版本更新文本对应的标注值,由处理后应用程序版本更新文本及对应的标注值组成训练集和测试集;

通过所述训练集对待训练SVM模型和待训练决策树模型分别进行模型训练,得到SVM模型和决策树模型;

通过所述测试集获取所述SVM模型对应的第一模型稳定参数,并通过所述测试集获取所述决策树模型对应的第二模型稳定参数;

获取所述第一模型稳定参数和所述第二模型稳定参数中较大者对应的模型,以作为目标模型;以及

若检测接收到用户端发送的当前应用程序版本更新记录信息,将所述当前应用程序版本更新记录信息作为所述目标模型的输入进行预测,得到预测结果。

第二方面,本发明实施例提供了一种移动应用功能演化趋势预测装置,其包括:

版本更新记录信息集采集单元,用于根据预设的数据采集条件及数据采集网址,从所述数据采集网址对应采集获取应用程序版本更新记录信息集;其中,所述应用程序版本更新记录信息集中包括若干条应用程序版本更新记录信息,每一条应用程序版本更新记录信息包括若干条应用程序版本更新文本;

文本预处理单元,用于获取所采集的应用程序版本更新记录信息集,将所述应用程序版本更新记录信息集中每一条应用程序版本更新文本进行预处理,以组成处理后应用程序版本更新文本集;其中,所述处理后应用程序版本更新记录信息集中包括若干条处理后应用程序版本更新文本;

训练集获取单元,用于获取所述处理后应用程序版本更新记录信息集中每一处理后应用程序版本更新文本对应的标注值,由处理后应用程序版本更新文本及对应的标注值组成训练集和测试集;

模型训练单元,用于通过所述训练集对待训练SVM模型和待训练决策树模型分别进行模型训练,得到SVM模型和决策树模型;

模型评估参数获取单元,用于通过所述测试集获取所述SVM模型对应的第一模型稳定参数,并通过所述测试集获取所述决策树模型对应的第二模型稳定参数;

目标模型获取单元,用于获取所述第一模型稳定参数和所述第二模型稳定参数中较大者对应的模型,以作为目标模型;以及

预测单元,用于若检测接收到用户端发送的当前应用程序版本更新记录信息,将所述当前应用程序版本更新记录信息作为所述目标模型的输入进行预测,得到预测结果。

第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的移动应用功能演化趋势预测方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的移动应用功能演化趋势预测方法。

本发明实施例提供了一种移动应用功能演化趋势预测方法、装置、计算机设备及存储介质,包括根据预设的数据采集条件及数据采集网址,从数据采集网址对应采集获取应用程序版本更新记录信息集;获取所采集的应用程序版本更新记录信息集,将应用程序版本更新记录信息集中每一条应用程序版本更新文本进行预处理,以组成处理后应用程序版本更新文本集;获取处理后应用程序版本更新记录信息集中每一处理后应用程序版本更新文本对应的标注值,由处理后应用程序版本更新文本及对应的标注值组成训练集和测试集;通过训练集对待训练SVM模型和待训练决策树模型分别进行模型训练,得到SVM模型和决策树模型。实现了对样本数据进行标记预处理时,可以采用OCR自动识别、标记和人工标记结合的方法,不仅可以更高效的预处理大量样本数据,而且保证了标记的准确率,使得训练出来的预测模型稳定性更好。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的移动应用功能演化趋势预测方法的应用场景示意图;

图2为本发明实施例提供的移动应用功能演化趋势预测方法的流程示意图;

图3为本发明实施例提供的移动应用功能演化趋势预测装置的示意性框图;

图4为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1和图2,图1为本发明实施例提供的移动应用功能演化趋势预测方法的应用场景示意图;图2为本发明实施例提供的移动应用功能演化趋势预测方法的流程示意图,该移动应用功能演化趋势预测方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。

如图2所示,该方法包括步骤S101~S107。

S101、根据预设的数据采集条件及数据采集网址,从所述数据采集网址对应采集获取应用程序版本更新记录信息集;其中,所述应用程序版本更新记录信息集中包括若干条应用程序版本更新记录信息,每一条应用程序版本更新记录信息包括若干条应用程序版本更新文本。

在本实施例中,是在服务器中预先设置数据采集条件及数据采集网址后,服务器从所述数据采集网址对应采集获取应用程序版本更新记录信息集。

例如,具体实施时将所述数据采集网址设置为七麦数据网,将数据采集条件为应用类型为生活类、娱乐类、社交类其中之一,且应用版本更新记录对应的更新时间在此次采集时间之前一年内。服务器根据上述预设的数据采集条件及数据采集网址,在七麦数据网上进行采集移动应用的版本更新记录信息以作为样本数据,样本数据覆盖衣食住行、娱乐、新闻资讯等多方面,保证实验结果的一般性和普适性。更具体的,例如选取“生活”类移动应用65款,“娱乐”类移动应用50款,“社交”类45款等共计160款移动应用。其中采集的“生活类”移动应用包括4929条版本更新记录,“娱乐”类移动应用有3375条版本更新记录,“社交”类2974条版本更新记录,共计11278条版本更新记录,且上述的11278条版本更新记录包含67348条文本数据。

S102、获取所采集的应用程序版本更新记录信息集,将所述应用程序版本更新记录信息集中每一条应用程序版本更新文本进行预处理,以组成处理后应用程序版本更新文本集;其中,所述处理后应用程序版本更新记录信息集中包括若干条处理后应用程序版本更新文本。

在本实施例中,由于部分移动应用的版本更新记录中包含“本次更新”和“近期更新”标题,其中“近期更新”标题下的内容即为该移动应用近几次的更新内容,存在着重复内容。为了避免数据的重复统计,将“近期更新”的数据内容进行删除。

在一实施例中,步骤S102包括:

若检测到应用程序版本更新文本对应的文本标题与预设的标题关键词相同,将对应的应用程序版本更新文本从所述应用程序版本更新记录信息集中进行去重,得到处理后应用程序版本更新文本集。

在本实施例中,将预设的标题关键词设置为“近期更新”,则若有应用程序版本更新文本对应的标题是“近期更新”,则可以将该条应用程序版本更新文本进行删除从而实现去重处理。当完成了对整个应用程序版本更新记录信息集的去重处理后,即可得到处理后应用程序版本更新文本集。通过这一去重预处理,避免了后续生成的样本集中有重复数据而导致影响模型训练。

S103、获取所述处理后应用程序版本更新记录信息集中每一处理后应用程序版本更新文本对应的标注值,由处理后应用程序版本更新文本及对应的标注值组成训练集和测试集。

在本实施例中,为了根据处理后应用程序版本更新文本生成样本集,还需要对每一条处理后应用程序版本更新文本生成标准值,所生成的标准值有功能性描述标志值(用F表示)和非功能性描述标志值(用NF表示)。

其中,有功能性描述标志值对应的处理后应用程序版本更新文本描述的是指功能性需求(Functional Requirement,FR),其是指为完成系统项目所必需要具体实现的功能要求。比如通讯软件的功能性需求包括:用户的注册、登陆;用户之间可以进行即时通讯等功能。

有非功能性描述标志值对应的处理后应用程序版本更新文本描述的是指非功能性需求(Non-Functional Requirement,NFR),其是指在完成系统项目的功能性需求的过程中所必需要实现的其他附带质量属性。一般包括兼容性、可用性、可维护性、安全性、鲁棒性、可移植性需求。比如软件的更新记录中“可适配iPhone X”、“实现ios和android互通”、游戏中的”ios账号和android账号分区”等非功能性版本更新。

在一实施例中,步骤S103包括:

通过OCR自动识别和OCR自动标注对每一处理后应用程序版本更新文本进行自动标注,得到与各条处理后应用程序版本更新文本对应的标注值。

在本实施例中,对每一处理后应用程序版本更新文本进行自动标注时,先通过使用OCR自动识别技术和OCR自动标记技术来对选取的处理后应用程序版本更新文本进行文本识别,对OCR识别结果中符合功能性描述的关键字,如:“增加.....功能”、“用户可以进行...”等功能性描述语句标记为【F】,对于“修复……”“优化……”“完善……”等非功能需求更新标记为【NF】。

而为了保证算法训练的准确率,具体实施时也会对非通用记录描述进行一部分人工标记,如对“撤回发出的消息”标记为【F】、对“xxx标签移动到xxx”标记为【NF】。通过使用OCR自动识别标记处理大部分处理后应用程序版本更新文本,辅助以人工标记,可以高效、准确的得到样本集(选取样本集中70%的数据作为训练集,并将剩余30%的数据作为测试集)。在使用OCR自动识别、标记时,可以通过预先设置的正则表达式尽可能多的覆盖到功能性需求和非功能性需求的各种表达场景。

S104、通过所述训练集对待训练SVM模型和待训练决策树模型分别进行模型训练,得到SVM模型和决策树模型。

在本实施例中,当获取了所述训练集之后,是已知其中包括多条处理后应用程序版本更新文本,且每一条处理后应用程序版本更新文本都是对应一个标注值。这样通过训练集对待训练SVM模型和待训练决策树模型分别进行模型训练之前,还需要对每一条处理后应用程序版本更新文本及其对应的标注值进行第二次预处理。

更具体的是将每一条处理后应用程序版本更新文本对应进行分词和关键词抽取后,这样以每一条处理后应用程序版本更新文本对应的词向量集合作为待训练SVM模型和待训练决策树模型的输入,并将各条处理后应用程序版本更新文本对应的标注值作为待训练SVM模型和待训练决策树模型的输出,从而训练得到SVM模型和决策树模型。

例如,使用20000条处理后应用程序版本更新文本对应的词向量集合及对应的标注值组成的训练集对待训练SVM模型进行训练时,由于SVM模型是一种二分类算法,既可以进行线性分类,也可以对样本数据进行非线性分类,而在本申请中采用的是SVM进行多分类。假设存着训练样本{(X

利用拉格朗日方法对SVM中分析最优解的原始问题转化为其对偶问题,即在条件

这种对偶问题实质上就是求解第二次凸规划的优化问题,是否存在唯一最优解,通过实验证明,存在部分乘子a

在一实施例中,步骤S104之前还包括:

将每一条处理后应用程序版本更新文本对应进行分词、关键词抽取及词向量转换,得到与各处理后应用程序版本更新文本对应的词向量集合。

在本实施例中,在对处理后应用程序版本更新文本进行向量化时,主要是基于词的向量化。词的向量化就是把一个词表示成一个向量,通过word2vec模型可以快速有效的训练词向量。word2vec模型分为两种,分别是CBOW模型以及skip-gram模型。CBOW利用词w(t)去预测前后各c个词,在进行训练时,输入层是词w(t)的上下文中的2c个词向量,投影层向量是2c个词的累加和。输出层是以训练语料库中即各类移动应用的版本更新记录中出现过的词作为叶子节点,根据出现的次数作为权值构造出一颗哈夫曼树。通过随机梯度上升算法对X的结果进行预测,对于包含M个文档的集合D,其中D(i=1,2…M)采用分词工具对中文文档进行分词,将其通过word2vec模型训练,得到每个分词对应的N维词向量w。

在一实施例中,所述将每一条处理后应用程序版本更新文本对应进行分词、关键词抽取及词向量转换,得到与各处理后应用程序版本更新文本对应的词向量集合,包括:

将每一条处理后应用程序版本更新文本对应通过N-Gram模型进行分词,得到与各处理后应用程序版本更新文本对应的分词结果;

将各处理后应用程序版本更新文本对应的分词结果通过词频-逆文本频率指数模型进行关键词抽取,得到与各处理后应用程序版本更新文本对应的关键词抽取结果;

将各处理后应用程序版本更新文本对应的关键词抽取结果通过word2vec模型进行词向量转换,得到与各处理后应用程序版本更新文本对应的词向量集合。

在本实施例中,依次通过N-Gram模型(即多元模型)、词频-逆文本频率指数模型(即TF-IDF模型)和word2vec模型分别进行分词、关键词抽取及词向量转换后,能得到代表各处理后应用程序版本更新文本对应的词向量集合,不仅处理过程简单,而且转换准确率高。

S105、通过所述测试集获取所述SVM模型对应的第一模型稳定参数,并通过所述测试集获取所述决策树模型对应的第二模型稳定参数。

在本实施例中,为了判断训练得到的SVM模型和决策树模型中预测准确性更高的预测模型,此时可以使用TP、FP、FN、TN指标对所述SVM模型和所述决策树模型分别对应的预测结果进行评估,选择相对稳健的算法模型。

其中,TP是指预测结果为正样本(是指预测结果为功能性描述标志值),其真实结果也为正样本(是指真实结果为功能性描述标志值),表示真正例;

FP是指预测结果为正样本(是指预测结果为功能性描述标志值),其真实结果为负样本(是指真实结果为非功能性描述标志值),表示假正例;

TN是指预测结果为负样本(是指预测结果为非功能性描述标志值),其真实结果为负样本(是指真实结果为非功能性描述标志值),表示假负例;

FN是指预测结果为负样本(是指预测结果为非功能性描述标志值),其真实结果为正样本(是指真实结果为功能性描述标志值),表示真负例。

此时可以根据所述SVM模型对应的TP、FP、FN、TN指标对应计算SVM模型的精确率以作为第一模型稳定参数,并根据所述决策树模型对应的TP、FP、FN、TN指标对应计算决策树模型的精确率以作为第二模型稳定参数。

在一实施例中,作为第一实施例,步骤S105包括:

通过P1=TP1/(TP1+FP1)计算第一模型稳定参数;其中,P1是所述SVM模型对应的精确率,TP1是所述SVM模型对应的测试集中真正例的个数,FP1是所述SVM模型对应的测试集中假正例的个数;

通过P2=TP2/(TP2+FP2)计算第二模型稳定参数;其中,P2是所述决策树模型对应的精确率,TP2是所述决策树模型对应的测试集中真正例的个数,FP2是所述决策树模型对应的测试集中假正例的个数。

通过计算所述SVM模型的精确率作为第一模型稳定参数,计算所述决策树模型的精确率作为第二模型稳定参数,比较这两个参数即可获知哪一模型更加稳定。

在一实施例中,作为第二实施例,步骤S105包括:

通过F1=2TP1/(2TP1+FP1+FN1)计算第一模型稳定参数;其中,F1是所述SVM模型对应的精确率及召回率调和均值,TP1是所述SVM模型对应的测试集中真正例的个数,FP1是所述SVM模型对应的测试集中假正例的个数,FN1是所述SVM模型对应的测试集中真负例的个数;

通过F2=2TP2/(2TP2+FP2+FN2)计算第二模型稳定参数;其中,F2是所述决策树模型对应的精确率及召回率调和均值,TP2是所述决策树模型对应的测试集中真正例的个数,FP2是所述决策树模型对应的测试集中假正例的个数,FN2是所述决策树模型对应的测试集中真负例的个数。

同样的,通过计算所述SVM模型的精确率及召回率调和均值作为第一模型稳定参数,计算所述决策树模型的精确率及召回率调和均值作为第二模型稳定参数,比较这两个参数即可获知哪一模型更加稳定。

S106、获取所述第一模型稳定参数和所述第二模型稳定参数中较大者对应的模型,以作为目标模型。

在本实施例中,若所述第一模型稳定参数大于所述第二模型稳定参数,则取所述SVM模型作为目标模型;若所述第一模型稳定参数小于所述第二模型稳定参数,则取所述决策树模型作为目标模型;若所述第一模型稳定参数等于所述第二模型稳定参数,则在所述SVM模型和所述决策树模型中任意选择一个模型作为目标模型。

S107、若检测接收到用户端发送的当前应用程序版本更新记录信息,将所述当前应用程序版本更新记录信息作为所述目标模型的输入进行预测,得到预测结果。

在本实施例中,之前训练的样本集主要采集的是生活、娱乐、社交类移动应用程序的版本更新记录,此时用户端可以发送任意一个类型的当前移动应用程序的版本更新记录或是评论记录,将其转化为词向量集合后输入至所述目标模型进行预测,即可得到预测结果,从而得知此次是朝功能性需求方向开发,还是朝非功能性需求方向开发。之后该预测结果可以由服务器发送至目标用户端进行查看。

该方法实现了对样本数据进行标记预处理时,可以采用OCR自动识别、标记和人工标记结合的方法,不仅可以更高效的预处理大量样本数据,而且保证了标记的准确率,使得训练出来的预测模型稳定性更好。

本发明实施例还提供一种移动应用功能演化趋势预测装置,该移动应用功能演化趋势预测装置用于执行前述移动应用功能演化趋势预测方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的移动应用功能演化趋势预测装置的示意性框图。该移动应用功能演化趋势预测装置100可以配置于服务器中。

如图3所示,移动应用功能演化趋势预测装置100包括:版本更新记录信息集采集单元101、文本预处理单元102、训练集获取单元103、模型训练单元104、模型评估参数获取单元105、目标模型获取单元106、预测单元107。

版本更新记录信息集采集单元101,用于根据预设的数据采集条件及数据采集网址,从所述数据采集网址对应采集获取应用程序版本更新记录信息集;其中,所述应用程序版本更新记录信息集中包括若干条应用程序版本更新记录信息,每一条应用程序版本更新记录信息包括若干条应用程序版本更新文本。

在本实施例中,是在服务器中预先设置数据采集条件及数据采集网址后,服务器从所述数据采集网址对应采集获取应用程序版本更新记录信息集。

例如,具体实施时将所述数据采集网址设置为七麦数据网,将数据采集条件为应用类型为生活类、娱乐类、社交类其中之一,且应用版本更新记录对应的更新时间在此次采集时间之前一年内。服务器根据上述预设的数据采集条件及数据采集网址,在七麦数据网上进行采集移动应用的版本更新记录信息以作为样本数据,样本数据覆盖衣食住行、娱乐、新闻资讯等多方面,保证实验结果的一般性和普适性。更具体的,例如选取“生活”类移动应用65款,“娱乐”类移动应用50款,“社交”类45款等共计160款移动应用。其中采集的“生活类”移动应用包括4929条版本更新记录,“娱乐”类移动应用有3375条版本更新记录,“社交”类2974条版本更新记录,共计11278条版本更新记录,且上述的11278条版本更新记录包含67348条文本数据。

文本预处理单元102,用于获取所采集的应用程序版本更新记录信息集,将所述应用程序版本更新记录信息集中每一条应用程序版本更新文本进行预处理,以组成处理后应用程序版本更新文本集;其中,所述处理后应用程序版本更新记录信息集中包括若干条处理后应用程序版本更新文本。

在本实施例中,由于部分移动应用的版本更新记录中包含“本次更新”和“近期更新”标题,其中“近期更新”标题下的内容即为该移动应用近几次的更新内容,存在着重复内容。为了避免数据的重复统计,将“近期更新”的数据内容进行删除。

在一实施例中,文本预处理单元102还用于:

若检测到应用程序版本更新文本对应的文本标题与预设的标题关键词相同,将对应的应用程序版本更新文本从所述应用程序版本更新记录信息集中进行去重,得到处理后应用程序版本更新文本集。

在本实施例中,将预设的标题关键词设置为“近期更新”,则若有应用程序版本更新文本对应的标题是“近期更新”,则可以将该条应用程序版本更新文本进行删除从而实现去重处理。当完成了对整个应用程序版本更新记录信息集的去重处理后,即可得到处理后应用程序版本更新文本集。通过这一去重预处理,避免了后续生成的样本集中有重复数据而导致影响模型训练。

训练集获取单元103,用于获取所述处理后应用程序版本更新记录信息集中每一处理后应用程序版本更新文本对应的标注值,由处理后应用程序版本更新文本及对应的标注值组成训练集和测试集。

在本实施例中,为了根据处理后应用程序版本更新文本生成样本集,还需要对每一条处理后应用程序版本更新文本生成标准值,所生成的标准值有功能性描述标志值(用F表示)和非功能性描述标志值(用NF表示)。

其中,有功能性描述标志值对应的处理后应用程序版本更新文本描述的是指功能性需求(Functional Requirement,FR),其是指为完成系统项目所必需要具体实现的功能要求。比如通讯软件的功能性需求包括:用户的注册、登陆;用户之间可以进行即时通讯等功能。

有非功能性描述标志值对应的处理后应用程序版本更新文本描述的是指非功能性需求(Non-Functional Requirement,NFR),其是指在完成系统项目的功能性需求的过程中所必需要实现的其他附带质量属性。一般包括兼容性、可用性、可维护性、安全性、鲁棒性、可移植性需求。比如软件的更新记录中“可适配iPhone X”、“实现ios和android互通”、游戏中的”ios账号和android账号分区”等非功能性版本更新。

在一实施例中,训练集获取单元103还用于:

通过OCR自动识别和OCR自动标注对每一处理后应用程序版本更新文本进行自动标注,得到与各条处理后应用程序版本更新文本对应的标注值。

在本实施例中,对每一处理后应用程序版本更新文本进行自动标注时,先通过使用OCR自动识别技术和OCR自动标记技术来对选取的处理后应用程序版本更新文本进行文本识别,对OCR识别结果中符合功能性描述的关键字,如:“增加.....功能”、“用户可以进行...”等功能性描述语句标记为【F】,对于“修复……”“优化……”“完善……”等非功能需求更新标记为【NF】。

而为了保证算法训练的准确率,具体实施时也会对非通用记录描述进行一部分人工标记,如对“撤回发出的消息”标记为【F】、对“xxx标签移动到xxx”标记为【NF】。通过使用OCR自动识别标记处理大部分处理后应用程序版本更新文本,辅助以人工标记,可以高效、准确的得到样本集(选取样本集中70%的数据作为训练集,并将剩余30%的数据作为测试集)。在使用OCR自动识别、标记时,可以通过预先设置的正则表达式尽可能多的覆盖到功能性需求和非功能性需求的各种表达场景。

模型训练单元104,用于通过所述训练集对待训练SVM模型和待训练决策树模型分别进行模型训练,得到SVM模型和决策树模型。

在本实施例中,当获取了所述训练集之后,是已知其中包括多条处理后应用程序版本更新文本,且每一条处理后应用程序版本更新文本都是对应一个标注值。这样通过训练集对待训练SVM模型和待训练决策树模型分别进行模型训练之前,还需要对每一条处理后应用程序版本更新文本及其对应的标注值进行第二次预处理。

更具体的是将每一条处理后应用程序版本更新文本对应进行分词和关键词抽取后,这样以每一条处理后应用程序版本更新文本对应的词向量集合作为待训练SVM模型和待训练决策树模型的输入,并将各条处理后应用程序版本更新文本对应的标注值作为待训练SVM模型和待训练决策树模型的输出,从而训练得到SVM模型和决策树模型。

例如,使用20000条处理后应用程序版本更新文本对应的词向量集合及对应的标注值组成的训练集对待训练SVM模型进行训练时,由于SVM模型是一种二分类算法,既可以进行线性分类,也可以对样本数据进行非线性分类,而在本申请中采用的是SVM进行多分类。假设存着训练样本{(X

利用拉格朗日方法对SVM中分析最优解的原始问题转化为其对偶问题,即在条件

这种对偶问题实质上就是求解第二次凸规划的优化问题,是否存在唯一最优解,通过实验证明,存在部分乘子a

在一实施例中,移动应用功能演化趋势预测装置100还包括:

词向量集合获取单元,用于将每一条处理后应用程序版本更新文本对应进行分词、关键词抽取及词向量转换,得到与各处理后应用程序版本更新文本对应的词向量集合。

在本实施例中,在对处理后应用程序版本更新文本进行向量化时,主要是基于词的向量化。词的向量化就是把一个词表示成一个向量,通过word2vec模型可以快速有效的训练词向量。word2vec模型分为两种,分别是CBOW模型以及skip-gram模型。CBOW利用词w(t)去预测前后各c个词,在进行训练时,输入层是词w(t)的上下文中的2c个词向量,投影层向量是2c个词的累加和。输出层是以训练语料库中即各类移动应用的版本更新记录中出现过的词作为叶子节点,根据出现的次数作为权值构造出一颗哈夫曼树。通过随机梯度上升算法对X的结果进行预测,对于包含M个文档的集合D,其中D(i=1,2…M)采用分词工具对中文文档进行分词,将其通过word2vec模型训练,得到每个分词对应的N维词向量w。

在一实施例中,所述词向量集合获取单元,包括:

分词单元,用于将每一条处理后应用程序版本更新文本对应通过N-Gram模型进行分词,得到与各处理后应用程序版本更新文本对应的分词结果;

关键词抽取单元,用于将各处理后应用程序版本更新文本对应的分词结果通过词频-逆文本频率指数模型进行关键词抽取,得到与各处理后应用程序版本更新文本对应的关键词抽取结果;

词向量转换单元,用于将各处理后应用程序版本更新文本对应的关键词抽取结果通过word2vec模型进行词向量转换,得到与各处理后应用程序版本更新文本对应的词向量集合。

在本实施例中,依次通过N-Gram模型(即多元模型)、词频-逆文本频率指数模型(即TF-IDF模型)和word2vec模型分别进行分词、关键词抽取及词向量转换后,能得到代表各处理后应用程序版本更新文本对应的词向量集合,不仅处理过程简单,而且转换准确率高。

模型评估参数获取单元105,用于通过所述测试集获取所述SVM模型对应的第一模型稳定参数,并通过所述测试集获取所述决策树模型对应的第二模型稳定参数。

在本实施例中,为了判断训练得到的SVM模型和决策树模型中预测准确性更高的预测模型,此时可以使用TP、FP、FN、TN指标对所述SVM模型和所述决策树模型分别对应的预测结果进行评估,选择相对稳健的算法模型。

其中,TP是指预测结果为正样本(是指预测结果为功能性描述标志值),其真实结果也为正样本(是指真实结果为功能性描述标志值),表示真正例;

FP是指预测结果为正样本(是指预测结果为功能性描述标志值),其真实结果为负样本(是指真实结果为非功能性描述标志值),表示假正例;

TN是指预测结果为负样本(是指预测结果为非功能性描述标志值),其真实结果为负样本(是指真实结果为非功能性描述标志值),表示假负例;

FN是指预测结果为负样本(是指预测结果为非功能性描述标志值),其真实结果为正样本(是指真实结果为功能性描述标志值),表示真负例。

此时可以根据所述SVM模型对应的TP、FP、FN、TN指标对应计算SVM模型的精确率以作为第一模型稳定参数,并根据所述决策树模型对应的TP、FP、FN、TN指标对应计算决策树模型的精确率以作为第二模型稳定参数。

在一实施例中,作为第一实施例,模型评估参数获取单元105包括:

第一计算单元,用于通过P1=TP1/(TP1+FP1)计算第一模型稳定参数;其中,P1是所述SVM模型对应的精确率,TP1是所述SVM模型对应的测试集中真正例的个数,FP1是所述SVM模型对应的测试集中假正例的个数;

第二计算单元,用于通过P2=TP2/(TP2+FP2)计算第二模型稳定参数;其中,P2是所述决策树模型对应的精确率,TP2是所述决策树模型对应的测试集中真正例的个数,FP2是所述决策树模型对应的测试集中假正例的个数。

通过计算所述SVM模型的精确率作为第一模型稳定参数,计算所述决策树模型的精确率作为第二模型稳定参数,比较这两个参数即可获知哪一模型更加稳定。

在一实施例中,作为第二实施例,模型评估参数获取单元105包括:

第三计算单元,用于通过F1=2TP1/(2TP1+FP1+FN1)计算第一模型稳定参数;其中,F1是所述SVM模型对应的精确率及召回率调和均值,TP1是所述SVM模型对应的测试集中真正例的个数,FP1是所述SVM模型对应的测试集中假正例的个数,FN1是所述SVM模型对应的测试集中真负例的个数;

第四计算单元,用于通过F2=2TP2/(2TP2+FP2+FN2)计算第二模型稳定参数;其中,F2是所述决策树模型对应的精确率及召回率调和均值,TP2是所述决策树模型对应的测试集中真正例的个数,FP2是所述决策树模型对应的测试集中假正例的个数,FN2是所述决策树模型对应的测试集中真负例的个数。

同样的,通过计算所述SVM模型的精确率及召回率调和均值作为第一模型稳定参数,计算所述决策树模型的精确率及召回率调和均值作为第二模型稳定参数,比较这两个参数即可获知哪一模型更加稳定。

目标模型获取单元106,用于获取所述第一模型稳定参数和所述第二模型稳定参数中较大者对应的模型,以作为目标模型。

在本实施例中,若所述第一模型稳定参数大于所述第二模型稳定参数,则取所述SVM模型作为目标模型;若所述第一模型稳定参数小于所述第二模型稳定参数,则取所述决策树模型作为目标模型;若所述第一模型稳定参数等于所述第二模型稳定参数,则在所述SVM模型和所述决策树模型中任意选择一个模型作为目标模型。

预测单元107,用于若检测接收到用户端发送的当前应用程序版本更新记录信息,将所述当前应用程序版本更新记录信息作为所述目标模型的输入进行预测,得到预测结果。

在本实施例中,之前训练的样本集主要采集的是生活、娱乐、社交类移动应用程序的版本更新记录,此时用户端可以发送任意一个类型的当前移动应用程序的版本更新记录或是评论记录,将其转化为词向量集合后输入至所述目标模型进行预测,即可得到预测结果,从而得知此次是朝功能性需求方向开发,还是朝非功能性需求方向开发。

该装置实现了对样本数据进行标记预处理时,可以采用OCR自动识别、标记和人工标记结合的方法,不仅可以更高效的预处理大量样本数据,而且保证了标记的准确率,使得训练出来的预测模型稳定性更好。

上述移动应用功能演化趋势预测装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。

请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。

参阅图4,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行移动应用功能演化趋势预测方法。

该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行移动应用功能演化趋势预测方法。

该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的移动应用功能演化趋势预测方法。

本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。

应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的移动应用功能演化趋势预测方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号