CN109146625B - 一种基于内容的多版本App更新评价方法及*** - Google Patents

一种基于内容的多版本App更新评价方法及*** Download PDF

Info

Publication number
CN109146625B
CN109146625B CN201810921293.5A CN201810921293A CN109146625B CN 109146625 B CN109146625 B CN 109146625B CN 201810921293 A CN201810921293 A CN 201810921293A CN 109146625 B CN109146625 B CN 109146625B
Authority
CN
China
Prior art keywords
app
information
acquiring
content
version
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.)
Active
Application number
CN201810921293.5A
Other languages
English (en)
Other versions
CN109146625A (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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen 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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201810921293.5A priority Critical patent/CN109146625B/zh
Publication of CN109146625A publication Critical patent/CN109146625A/zh
Application granted granted Critical
Publication of CN109146625B publication Critical patent/CN109146625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Computer Security & Cryptography (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种基于内容的多版本App更新评价方法及***,其中,该方法包括:通过自动遍历App,获取信息并存储到数据库;获取数据库中的信息进行分析、识别处理,获得不同版本App的差异;对App的评论信息及评论时间等相关信息进行预处理,获得修改后与每个版本的App相对应的用户评论信息;获取所述修改后与每个版本的App相对应的用户评论信息,结合不同版本App的差异进行比较评分处理,获得每个App更新的综合情感分析数值。实施本发明实施例,能够为开发者提供更加全面的反馈,提高工作效率;还能为开发者提供特定功能生命周期的有关信息。

Description

一种基于内容的多版本App更新评价方法及***
技术领域
本发明涉及内容识别、内容比较技术领域,尤其涉及一种基于内容的多版本App更新评价方法及***。
背景技术
在移动应用开发中,App版本的更新是很常见的事情。每次更新,应用发布者会发布更新日志,来说明新版本所做出的主要改变。但是这部分说明只是对于App主要修改的内容,或者重点突出的功能进行说明。这部分内容并不充分,还有很多修改的内容并没有在更新日志上表示出来。例如淘宝7.11版本App的更新日志中写到:“消息首页升级”,“修复了部分bug”,这些描述十分空泛,不够具体,而现有的软件分析,对于版本更新也只有更新日志可以作为标准。内容量少,信息不够具体,这就导致想要筛选有效的更新日志信息费时费力。如果可以标识出两个版本间所有差异,包括增加的内容,删除的内容,将会具有很大的价值。
而在对于版本更新问题上的研究,大多着力于对于用户评论的挖掘。如:在线跟踪用户评论,在版本更新的时间节点,识别出用户评论中多次提到的问题,从而得出软件中新出现的问题。如,通过分析App用户评论,得到用户评论的情感倾向程度。但是这类研究仅仅分析用户评论的情感倾向,并没有对于App更新的内容进行评价。综合此类研究,发现缺少对于多版本更新内容的评价现有方法有很多评论在对App更新进行评价的时候,仅仅取更新日志中的内容,之后在用户评论中对更新的内容进行评价或者推荐。如果可以标识出两个版本间所有差异,包括增加的内容,删除的内容,再结合用户的评论,对App更新的内容进行评价,相信对于开发者来说会是更具有价值的。
现有技术一涉及一种基于内容的计算移动应用相似性的方法。包括如下步骤:在获取大量移动应用信息后,进行移动应用信息的提取,包括应用名称、应用类型、应用描述和应用大小等;将应用描述信息进行分词;将分词完毕后的内容分为两份,一份整合后作为word2vec的模型的训练语料,另一份存成文档集的形式并进行TF-IDF的计算,然后将结果存入HBase数据仓库;进行App相似性查询及计算。实施本发明的一种基于内容的计算移动应用相似性的方法,具有以下有益效果:可以快速的响应App的相似性查询,基于内容的App特征及描述信息能够很好地代指App,准确率高,可提高app的搜索及推荐的准确率。
该方法的应用场景是搜索相似的App,其没有对app内容进行分析,仅通过基于内容的App特征及描述信息能够地代指App,没有App运行时刻的动态信息。这种方式在找寻功能,名称相近App时高效且低耗。但是对于同一个App的不同版本,其无法识别出版本间的差异。
还有一种技术:一种基于用户评论的Android应用权限推理方法及装置,涉及一种应用权限推理方法及装置,属于信息安全技术领域,具体涉及一种基于用户评论的Android应用权限推理方法及装置。该方法及装置通过从应用市场的用户评论中挖掘应用程序的功能特征,建立应用程序的功能特征与应用程序权限的联系,从用户对应用程序功能理解的角度以及用户对应用程序关注的安全和隐私的视角出发,推理应用程序的权限请求。
该技术针对于应用权限推理,在评论中能够获得的信息相对于App功能及更新的信息少了许多。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种基于内容的多版本App更新评价方法及***,通过对于用户评论的分析,获得用户提及较多的问题,进行评价与分析;用户反馈的问题多为版本内存在的问题,并不是针对于更新内容的评价,无法获得对App更新内容的评价;提取App的所有差异,对用户评论进行筛选,并对筛选后的评论进行情感分析,从而得出一个用户对于更新内容的评分,这样能够对App更新做出更加全面的评价。
为了解决上述问题,本发明提出了一种基于内容的多版本App更新评价方法,所述方法包括:
通过自动遍历App,获取App信息并存储到数据库;
获取数据库中的信息进行分析、识别处理,获得不同版本App的差异;
获取对App应用商店的评论信息及评论时间等相关信息进行预处理,获得修改后与每个版本的App相对应的用户评论信息;
获取所述修改后与每个版本的App相对应的用户评论信息,结合不同版本App的差异进行比较评分处理,获得每个App更新的综合情感分析数值。
优选地,所述获取信息并存储到数据库的具体步骤包括:
通过静态分析技术获取App包名及版本号并分组,获得App数据存储至数据库中;
遍历App,进行动态获取App信息,存储到非结构性数据库。
优选地,所述获取数据库中的信息进行分析、识别处理的具体步骤包括:
获取所述App数据进行选取同一个App的不同版本,制成App的不同版本信息的列表,通过java语言进行编写程序,选择其中一组,即同一款App所有不同版本的列表;
获取所述同一款App所有不同版本的列表,从中选取相邻两个版本的App进行提取该两个App的界面信息;
获取所述两个App的界面信息,对其内容进行比较处理,获得两个具有相似性的界面;
获取所述两个具有相似性的界面,对所述两个具有相似性的界面中的所有可见文字进行识别处理,获得界面内所有差异的内容。
优选地,所述获取所述两个App的界面信息,对其内容进行比较处理的具体步骤包括:
对旧版本中相同PageId的界面进行定位,抽取PageId相同的新旧版本界面,进行比较界面内容,获得更新的新版本中未比较的界面属性;
定义comp值来衡量两个界面内容相似性,通过App相关属性定位相同活动的界面,进行比较,对于英文文本,先对content进行分词处理,后计算英文单词的相似度,其具体公式如下:
IC(w)=-log(p(w)),
Figure BDA0001764306890000041
其中p(w)是单词w在WordNet Sense中出现的频率,LCS(w1,w2)是单词w1和w2的最近公共祖先,两个单词的相似度similar(w1,w2)由两个单词最近公共祖先信息量的两倍除以两个单词的信息量之和得到。
对于中文文本,先进行分词,之后再进行文本相似性的比较。
当comp=1.0时,则判断为两个界面是完全相同的界面,记录下界面信息;
当comp=0.0时,则判断为两个界面是完全不同的界面,记录下界面信息;
当0.0<comp<1.0时,则判断为具有一定相似性的两个界面。
优选地,所述对所述两个具有相似性的界面中的所有可见文字进行识别处理的具体步骤包括:
获取所述两个具有相似性的界面进行提取处理,获得界面所有的控件属性;
对每个控件的属性中所有可见文字内容的集合,定义为T
因为两个界面,所以定义两个多维向量:
Ti={text1,text2,...,textn}
Tj={text1,text2,...,textm}
Ti表示新版本中所有可见文字内容的集合,Tj表示旧版本中所有可见文字内容的集合。
对所述两个界面的集合Ti及Tj进行识别处理,如果Ti中textk可在Tj中找到,即新版本内容可以在旧版本中找到相同的,则判断为textk是重复的内容;如果Ti中textk不可在Tj中找到,即新版本内容在旧版本中没有找到相同的,则判断为textk是增加的内容;如果Tj中textl不可在Ti中找到,即旧版本内容在新版本中没有找到相同的,则判断为textl是删除的内容;
获取识别出的差异内容存储在数据库中。
优选地,所述获取对App应用商店的评论信息及评论时间等相关信息中所述相关信息还包括:软件的更新日志、软件当前版本号及发布时间。
优选地,所述获取对App应用商店的评论信息及评论时间等相关信息进行预处理的具体步骤包括:
根据用户评论的时间进行对应检索出App版本号及发布时间;
利用爬虫工具,获取某个App所有用户评论数据;
利用词性还原及词干提取方法将不同形态的评论归并未原形的基础形式;
获取具有基础形式的评论信息利用NLTK进行过滤停词处理,获得修改后与每个版本的App相对应的用户评论信息。
优选地,所述结合不同版本App的差异进行比较评分处理的具体步骤包括:
获取App所有增加与删除的内容,进行记录,获得每一个App更新所对应的所有用户评论;
获取App更新所对应的所有用户评论,分别对中文评论及英文评论进行文本情感分析处理,获得用户的情感分析数值;
将所有得到的数值标准化为-1.0~1.0值,并预设每个App更新的内容为60的值,将每条评论得到的标准化情感分析数值加到原来的预设值中,获得每个App更新的综合情感分析数值。
相应地,本发明实施例还提供一种基于内容的多版本App更新评价***,该***包括:
收集存储模块,用于获取信息并存储到数据库;
分析模块,用于获取数据库中的信息进行分析、识别处理,获得不同版本App的差异;
预处理模块,用于获取对App应用商店的评论信息及评论时间等相关信息进行预处理,获得修改后与每个版本的App相对应的用户评论信息;
评分模块,用于将所述修改后与每个版本的App相对应的用户评论信息,结合不同版本App的差异进行比较评分处理,获得每个App更新的综合情感分析数值。
进一步地,所述收集存储模块包括:
分析分组单元,用于获取App包名及版本号并分组;
动态记录单元,用于遍历所有App,对于每个UI(用户交互界面),记录下其屏幕快照和UI层次结构树;存储***层面及应用层面的过程信息,以及每个测试输入出发的方法路径信息,修改代码。
进一步地,所述分析模块包括:
制表单元,用于获取所述App数据进行选取同一个App的不同版本,制成App的不同版本信息的列表,通过java语言在eclipse上编写程序,选择其中一组,即同一款App所有不同版本的列表;
提取单元,用于获取所述同一款App所有不同版本的列表,从中选取相邻两个版本的App进行提取该两个App的界面信息;
比较单元,用于获取所述两个App的界面信息,对其内容进行比较处理,获得两个具有相似性的界面;
识别单元,用于获取所述两个具有相似性的界面,利用自然语言处理的方法对两个界面中的所有可见文字进行识别处理,获得界面内所有差异的内容。
进一步地,所述比较单元还包括判别单元:
当衡量两个界面内容相似性的comp=1.0时,则判断为两个界面是完全相同的界面;
当衡量两个界面内容相似性的comp=0.0时,则判断为两个界面是完全不同的界面;
当衡量两个界面内容相似性的0.0<comp<1.0时,则判断为具有一定相似性的两个界面。
进一步地,所述预处理模块还包括:
检索单元,用于根据用户评论的时间进行对应检索出App版本号及发布时间;
获取评论单元,用于获取某个App所有用户评论数据,包括中文评论和英文评论;
归并单元,用于将不同形态的评论归并未原形的基础形式;
过滤单元,用于获取具有基础形式的评论信息进行过滤停词处理,获得修改后与每个版本的App相对应的用户评论信息。
进一步地,所述评分模块还包括:
记录单元,用于获取App所有增加与删除的内容,进行记录,获得每一个App更新所对应的所有用户评论;
情感分析处理单元,用于获取App更新所对应的所有用户评论,分别对英文评论和中文评论进行文本情感分析处理,获得用户的情感分析数值;
情感分数计算单元,用于将所有得到的数值标准化为-1.0~1.0值,并预设每个App更新的内容为60的值,将每条评论得到的标准化情感分析数值加到原来的预设值中,获得每个App更新的综合情感分析数值。
实施本发明实施例,能够为开发者提供更加全面的反馈,提高工作效率;还能为开发者提供特定功能生命周期的有关信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的一种基于内容的多版本App更新评价方法的流程示意图;
图2是本发明实施例中一种基于内容的多版本App更新评价***的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的一种基于内容的多版本App更新评价方法的流程示意图,如图1所示,该方法包括:
S1,通过自动遍历工具遍历App,获取信息并存储到数据库;
S2,获取数据库中的信息进行分析、识别处理,获得不同版本App的差异;
S3,通过爬虫工具获取对App应用商店的评论信息及评论时间等相关信息进行预处理,获得修改后与每个版本的App相对应的用户评论信息;
S4,获取所述修改后与每个版本的App相对应的用户评论信息,结合不同版本App的差异进行比较评分处理,获得每个App更新的综合情感分析数值。
具体地,所述获取信息并存储到数据库的具体步骤包括:
S11,通过静态分析技术获取App包名及版本号并分组,获得App数据存储至数据库中;
S12,遍历App,进行动态获取App信息,存储到非结构性数据库。
对S11作进一步说明:
在Eclipse中,我们运用java工具包对App安装包.apk文件进行静态分析,获得AppName,为App的名字;AppVersion,即App版本号;同一款App的不同版本,其AppName相同,AppVersion有顺序,一般新版本的AppVersion较大。将AppName相同的记为一组,用Group属性标记,同组内通过AppVersion属性倒序排列。得到一个所有App的列表,将所有信息存储到MongoDB数据库中。
对S12作进一步说明:
采用黑盒技术遍历所有App,采用智能输入生成工具模拟产生智能输入,对于每个UI(用户交互界面),记录下其屏幕快照和UI层次结构树;存储***层面及应用层面的过程信息,以及每个测试输入出发的方法路径信息。并修改代码,将所有信息存储到非结构性数据库中。
具体地,所述获取数据库中的信息进行分析、识别处理的具体步骤包括:
S21,获取所述App数据进行选取同一个App的不同版本,制成App的不同版本信息的列表,通过java语言在eclipse上编写程序,选择其中一组,即同一款App所有不同版本的列表;
S22,获取所述同一款App所有不同版本的列表,从中选取相邻两个版本的App进行提取该两个App的界面信息;
S23,获取所述两个App的界面信息,对其内容进行比较处理,获得两个具有相似性的界面;
S24,获取所述两个具有相似性的界面,利用自然语言处理的方法对两个界面中的所有可见文字进行识别处理,获得界面内所有差异的内容。
对S22作进一步说明:
所述同一款App所有不同版本的列表已经根据AppVersion属性倒序排列,则从最新版本开始,每次选取相邻的两个版本进行比较。如果列表中有n个版本的App,则会产生n-1组。
对选取的相邻两个版本的App通过AppName与AppVersion属性可以在数据库中定位到App的信息。在新版本App中,选择一个界面,找到其PackageName和ActivityName值,形成PageId属性。则定义PageId是定位App界面的值,其定义是:
PageId=PackageName+ActivityName
其中PackageName是App的包名,ActivityName是活动的名称。这两个属性在S12中均已获得。对于每个新版本的界面,可以找到与之对应的一个界面列表。
对S23作进一步说明:
对旧版本中相同PageId的界面进行定位,抽取PageId相同的新旧版本界面,进行比较界面内容。完成某个PageId所有界面比较后,将PageId更新为新版本中未比较的界面属性。
这里,先定义comp值来衡量两个界面内容相似性。通过App相关属性定位相同活动的界面,进行比较,筛选出具有一定相似性的界面。
通过PageId与其界面编号属性,可以在数据库中定位找到每个界面的详细信息,comp定义为:
comp=<contenti,contentj>(comp∈(0.0,1.0))
content是界面中所有文字的集合。比较contenti与contentj,将英文与中文文本分别处理。对于英文文本,先对content进行分词处理,后利用已经开源的JWS(JavaWordNet Similarity)工具计算英文单词的相似度,其具体公式如下:
IC(w)=-log(p(w)),
Figure BDA0001764306890000101
其中p(w)是单词w在WordNet Sense中出现的频率,LCS(w1,w2)是单词w1和w2的最近公共祖先,两个单词的相似度similar(w1,w2)由两个单词最近公共祖先信息量的两倍除以两个单词的信息量之和得到。
对于中文文本,利用Ansj工具进行分词,之后再进行文本相似性的比较。
当comp=1.0时,则判断为两个界面是完全相同的界面,记录下界面信息;
当comp=0.0时:则判断为两个界面是完全不同的界面,记录下界面信息;
当0.0<comp<1.0时:则判断为具有一定相似性的两个界面。
对S24作进一步说明:
在MongoDB数据库中存储有两个界面更加具体的信息,其中包含每个控件的属性,而控件属性中所有可见文字内容的集合,定义为T
因为两个界面,所以定义两个多维向量:
Ti={text1,text2,...,textn}
Tj={text1,text2,...,textm}
Ti表示新版本中所有可见文字内容的集合,Tj表示旧版本中所有可见文字内容的集合。
如果Ti中textk可在Tj中找到,即新版本内容可以在旧版本中找到相同的,则判断为textk是重复的内容;如果Ti中textk不可在Tj中找到,即新版本内容在旧版本中没有找到相同的,则判断为textk是增加的内容;如果Tj中textl不可在Ti中找到,即旧版本内容在新版本中没有找到相同的,则判断为textl是删除的内容。然后将识别出的差异内容存储在数据库中。
具体地,S3中所述通过爬虫工具获取对App应用商店的评论信息及评论时间等相关信息中所述相关信息还包括:软件的更新日志、软件当前版本号及发布时间。
具体地,S3中所述通过爬虫工具获取对App应用商店的评论信息及评论时间等相关信息进行预处理的具体步骤包括:
S31,根据用户评论的时间进行对应检索出App版本号及发布时间;
S32,利用爬虫工具,获取某个App所有用户评论数据;
S33,利用词性还原及词干提取方法将不同形态的评论归并未原形的基础形式;
S34,获取具有基础形式的评论信息利用NLTK进行过滤停词处理,获得修改后与每个版本的App相对应的用户评论信息。
其中,S32中所述获取某个App所有用户评论数据包括:英文评论可选用从Google应用商店中获取;中文评论可选用从豌豆荚及小米应用商店中获取。
具体地,S4中所述结合不同版本App的差异进行比较评分处理的具体步骤包括:
S41,获取App所有增加与删除的内容,进行记录,获得每一个App更新所对应的所有用户评论;
S42,获取App更新所对应的所有用户评论,进行文本情感分析处理,获得用户的情感分析数值;其中,对于英文评论,则利用情感分析词典通过监督分类算法进行分析处理,获得英文评论的情感分析数值;对于中文评论,则利用情感倾向分析NPL API接口进行分析处理,得出情感分析数值。
S43,将所有得到的数值标准化为-1.0~1.0值,并预设每个App更新的内容为60的值,将每条评论得到的标准化情感分析数值加到原来的预设值中,获得每个App更新的综合情感分析数值。
相应地,本发明实施例还提供一种基于内容的多版本App更新评价***,如图2所示,该***包括:
收集存储模块,用于获取信息并存储到数据库;
分析模块,用于获取数据库中的信息进行分析、识别处理,获得不同版本App的差异;
预处理模块,用于获取对App应用商店的评论信息及评论时间等相关信息进行预处理,获得修改后与每个版本的App相对应的用户评论信息;
评分模块,用于将所述修改后与每个版本的App相对应的用户评论信息,结合不同版本App的差异进行比较评分处理,获得每个App更新的综合情感分析数值。
进一步地,所述收集存储模块包括:
分析分组单元,用于获取App包名及版本号并分组;
动态记录单元,用于遍历所有App,对于每个UI(用户交互界面),记录下其屏幕快照和UI层次结构树;存储***层面及应用层面的过程信息,以及每个测试输入出发的方法路径信息,修改代码。
进一步地,所述分析模块包括:
制表单元,用于获取所述App数据进行选取同一个App的不同版本,制成App的不同版本信息的列表,通过java语言在eclipse上编写程序,选择其中一组,即同一款App所有不同版本的列表;
提取单元,用于获取所述同一款App所有不同版本的列表,从中选取相邻两个版本的App进行提取该两个App的界面信息;
比较单元,用于获取所述两个App的界面信息,对其内容进行比较处理,获得两个具有相似性的界面;
识别单元,用于获取所述两个具有相似性的界面,利用自然语言处理的方法对两个界面中的所有可见文字进行识别处理,获得界面内所有差异的内容。
进一步地,所述比较单元还包括判别单元:
当衡量两个界面内容相似性的comp=1.0时,则判断为两个界面是完全相同的界面;
当衡量两个界面内容相似性的comp=0.0时,则判断为两个界面是完全不同的界面;
当衡量两个界面内容相似性的0.0<comp<1.0时,则判断为具有一定相似性的两个界面。
进一步地,所述预处理模块还包括:
检索单元,用于根据用户评论的时间进行对应检索出App版本号及发布时间;
获取评论单元,用于获取某个App所有用户评论数据,包括中文评论和英文评论;
归并单元,用于将不同形态的评论归并未原形的基础形式;
过滤单元,用于获取具有基础形式的评论信息进行过滤停词处理,获得修改后与每个版本的App相对应的用户评论信息。
进一步地,所述评分模块还包括:
记录单元,用于获取App所有增加与删除的内容,进行记录,获得每一个App更新所对应的所有用户评论;
情感分析处理单元,用于获取App更新所对应的所有用户评论,进行文本情感分析处理,获得用户的情感分析数值;其中,对于英文评论,则利用情感分析词典通过监督分类算法进行分析处理,获得英文评论的情感分析数值;对于中文评论,则利用情感倾向分析NPL API接口进行分析处理,得出情感分析数值。
情感分数计算单元,用于将所有得到的数值标准化为-1.0~1.0值,并预设每个App更新的内容为60的值,将每条评论得到的标准化情感分析数值加到原来的预设值中,获得每个App更新的综合情感分析数值。
实施本发明实施例,能够为开发者提供更加全面的反馈,提高工作效率;还能为开发者提供特定功能生命周期的有关信息。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的一种基于内容的多版本App更新评价方法及***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种基于内容的多版本App更新评价方法,其特征在于,所述方法包括:
通过自动遍历App,获取App信息并存储到数据库;
获取数据库中的信息进行分析、识别处理,获得不同版本App的差异;
获取对App应用商店的评论信息及评论时间进行预处理,获得修改后与每个版本的App相对应的用户评论信息;
获取所述修改后与每个版本的App相对应的用户评论信息,结合不同版本App的差异进行比较评分处理,获得每个App更新的综合情感分析数值;
其中,所述通过自动遍历App,获取App信息并存储到数据库,具体为:
采用黑盒技术遍历所有App,采用智能输入生成工具模拟产生智能输入,对于每个UI,记录下其屏幕快照和UI层次结构树;存储***层面及应用层面的过程信息,以及每个测试输入出发的方法路径信息,并修改代码,将所有信息存储到非结构性数据库中;
其中,所述获取数据库中的信息进行分析、识别处理,获得不同版本App的差异,具体为:
获取所述数据库中的App数据进行选取同一个App的不同版本,制成App的不同版本信息的列表,通过java语言进行编写程序,选择其中一组,即同一款App所有不同版本的列表;获取所述同一款App所有不同版本的列表,从中选取相邻两个版本的App进行提取该两个App的界面信息;获取所述两个App的界面信息,对其内容进行比较处理,获得两个具有相似性的界面;获取所述两个具有相似性的界面,对所述两个具有相似性的界面中的所有可见文字进行识别处理,获得界面内所有差异的内容。
2.如权利要求1所述的一种基于内容的多版本App更新评价方法,其特征在于,所述获取所述两个App的界面信息,对其内容进行比较处理的具体步骤包括:
对旧版本中相同PageId的界面进行定位,抽取PageId相同的新旧版本界面,进行比较界面内容,获得更新的新版本中未比较的界面属性;
定义comp值来衡量两个界面内容相似性,通过App相关属性定位相同活动的界面,进行比较,对于英文文本,先对content进行分词处理,后计算英文单词的相似度,其具体公式如下:
IC(w)=-log(p(w)),
Figure FDA0003369194650000021
其中p(w)是单词w在WordNet Sense中出现的频率,LCS(w1,w2)是单词w1和w2的最近公共祖先,两个单词的相似度similar(w1,w2)由两个单词最近公共祖先信息量的两倍除以两个单词的信息量之和得到;
对于中文文本,先进行分词,之后再进行文本相似性的比较;
当comp=1.0时,则判断为两个界面是完全相同的界面,记录下界面信息;
当comp=0.0时,则判断为两个界面是完全不同的界面,记录下界面信息;
当0.0<comp<1.0时,则判断为具有一定相似性的两个界面。
3.如权利要求1所述的一种基于内容的多版本App更新评价方法,其特征在于,对所述两个具有相似性的界面中的所有可见文字进行识别处理的具体步骤包括:
获取所述两个具有相似性的界面进行提取处理,获得界面所有的控件属性;
对每个控件的属性中所有可见文字内容的集合,定义为T
因为两个界面,所以定义两个多维向量:
Ti={text1,text2,...,textn}
Tj={text1,text2,...,textm}
Ti表示新版本中所有可见文字内容的集合,Tj表示旧版本中所有可见文字内容的集合;
对所述两个界面的集合Ti及Tj进行识别处理,如果Ti中textk可在Tj中找到,即新版本内容可以在旧版本中找到相同的,则判断为textk是重复的内容;如果Ti中textk不可在Tj中找到,即新版本内容在旧版本中没有找到相同的,则判断为textk是增加的内容;如果Tj中textl不可在Ti中找到,即旧版本内容在新版本中没有找到相同的,则判断为textl是删除的内容;
获取识别出的差异内容存储在数据库中。
4.如权利要求1所述的一种基于内容的多版本App更新评价方法,其特征在于,所述获取对App应用商店的评论信息及评论时间进行预处理的具体步骤包括:
根据用户评论的时间进行对应检索出App版本号及发布时间;
利用爬虫工具,获取某个App所有用户评论数据;
利用词性还原及词干提取方法将不同形态的评论归并为原形的基础形式;
获取具有基础形式的评论信息进行过滤停词处理,获得修改后与每个版本的App相对应的用户评论信息。
5.如权利要求1所述的一种基于内容的多版本App更新评价方法,其特征在于,所述结合不同版本App的差异进行比较评分处理的具体步骤包括:
获取App所有增加与删除的内容,进行记录,获得每一个App更新所对应的所有用户评论;
获取App更新所对应的所有用户评论,分别对英文评论和中文评论进行文本情感分析处理,获得用户的情感分析数值;
将所有得到的数值标准化为-1.0~1.0值,并预设每个App更新的内容为60的值,将每条评论得到的标准化情感分析数值加到原来的预设值中,获得每个App更新的综合情感分析数值。
6.一种基于内容的多版本App更新评价***,其特征在于,该***包括:
收集存储模块,用于获取信息并存储到数据库;
分析模块,用于获取数据库中的信息进行分析、识别处理,获得不同版本App的差异;
预处理模块,用于获取对App应用商店的评论信息及评论时间进行预处理,获得修改后与每个版本的App相对应的用户评论信息;
评分模块,用于将所述修改后与每个版本的App相对应的用户评论信息,结合不同版本App的差异进行比较评分处理,获得每个App更新的综合情感分析数值;
其中,所述收集存储模块包括:
分析分组单元,用于获取App包名及版本号并分组;
动态记录单元,用于采用黑盒技术遍历所有App,采用智能输入生成工具模拟产生智能输入,对于每个UI,记录下其屏幕快照和UI层次结构树;存储***层面及应用层面的过程信息,以及每个测试输入出发的方法路径信息,并修改代码,将所有信息存储到非结构性数据库中;
其中,所述分析模块包括:
制表单元,用于获取所述数据库中的App数据进行选取同一个App的不同版本,制成App的不同版本信息的列表,通过java语言在eclipse上编写程序,选择其中一组,即同一款App所有不同版本的列表;
提取单元,用于获取所述同一款App所有不同版本的列表,从中选取相邻两个版本的App进行提取该两个App的界面信息;
比较单元,用于获取所述两个App的界面信息,对其内容进行比较处理,获得两个具有相似性的界面;
识别单元,用于获取所述两个具有相似性的界面,利用自然语言处理的方法对两个界面中的所有可见文字进行识别处理,获得界面内所有差异的内容。
7.如权利要求6所述的一种基于内容的多版本App更新评价***,其特征在于,所述评分模块还包括:
记录单元,用于获取App所有增加与删除的内容,进行记录,获得每一个App更新所对应的所有用户评论;
情感分析处理单元,用于获取App更新所对应的所有用户评论,分别对英文评论及中文评论进行文本情感分析处理,获得用户的情感分析数值;
情感分数计算单元,用于将所有得到的数值标准化为-1.0~1.0值,并预设每个App更新的内容为60的值,将每条评论得到的标准化情感分析数值加到原来的预设值中,获得每个App更新的综合情感分析数值。
CN201810921293.5A 2018-08-14 2018-08-14 一种基于内容的多版本App更新评价方法及*** Active CN109146625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810921293.5A CN109146625B (zh) 2018-08-14 2018-08-14 一种基于内容的多版本App更新评价方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810921293.5A CN109146625B (zh) 2018-08-14 2018-08-14 一种基于内容的多版本App更新评价方法及***

Publications (2)

Publication Number Publication Date
CN109146625A CN109146625A (zh) 2019-01-04
CN109146625B true CN109146625B (zh) 2022-04-26

Family

ID=64793270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810921293.5A Active CN109146625B (zh) 2018-08-14 2018-08-14 一种基于内容的多版本App更新评价方法及***

Country Status (1)

Country Link
CN (1) CN109146625B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109885771B (zh) * 2019-02-26 2020-06-30 紫光云引擎科技(苏州)有限公司 一种应用软件的筛选方法及服务设备
CN110764668B (zh) * 2019-10-30 2021-04-16 维沃移动通信有限公司 评论信息获取方法及电子设备
CN110825423B (zh) * 2019-10-31 2023-09-29 天津大学 一种基于用户在线评论情感和偏好分析的app持续改善方法
CN111565322B (zh) * 2020-05-14 2022-03-04 北京奇艺世纪科技有限公司 一种用户情感倾向信息获得方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714884A (zh) * 2015-01-05 2015-06-17 中山大学 一种检查web应用和Android应用一致性的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224872B2 (en) * 2004-06-25 2012-07-17 International Business Machines Corporation Automated data model extension through data crawler approach

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714884A (zh) * 2015-01-05 2015-06-17 中山大学 一种检查web应用和Android应用一致性的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于AHP的APP软件使用质量度量方法研究;赵宏 等;《计算机与数字工程》;20170820;第45卷(第8期);第1493-1499页 *

Also Published As

Publication number Publication date
CN109146625A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
US11341170B2 (en) Automated extraction, inference and normalization of structured attributes for product data
CN109697162B (zh) 一种基于开源代码库的软件缺陷自动检测方法
CN109146625B (zh) 一种基于内容的多版本App更新评价方法及***
US10210211B2 (en) Code searching and ranking
EP3674918B1 (en) Column lineage and metadata propagation
CN102446255B (zh) 一种检测页面篡改的方法及装置
CN107102993B (zh) 一种用户诉求分析方法和装置
CN110909363A (zh) 基于大数据的软件第三方组件漏洞应急响应***及方法
US11263062B2 (en) API mashup exploration and recommendation
Wisse et al. Scripting dna: Identifying the javascript programmer
US9558462B2 (en) Identifying and amalgamating conditional actions in business processes
CN111881300A (zh) 面向第三方库依赖的知识图谱构建方法及***
CN104036190A (zh) 一种检测页面篡改的方法及装置
CN112287071A (zh) 一种文本关系提取方法、装置及电子设备
US11567851B2 (en) Mathematical models of graphical user interfaces
CN110880142A (zh) 一种风险实体获取方法及装置
CN112000929A (zh) 一种跨平台数据分析方法、***、设备及可读存储介质
CN110750297A (zh) 一种基于程序分析和文本分析的Python代码参考信息生成方法
CN104036189A (zh) 页面篡改检测方法及黑链数据库生成方法
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
US11755958B1 (en) Systems and methods for detecting cryptocurrency wallet artifacts in a file system
CN107783983B (zh) 信息展示方法及装置
CN116821903A (zh) 检测规则确定及恶意二进制文件检测方法、设备及介质
Sun et al. A scenario model aggregation approach for mobile app requirements evolution based on user comments
CN110674033A (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
GR01 Patent grant
GR01 Patent grant