一种针对体现用户意图的APP软件用户评论挖掘方法技术

技术编号:21115973 阅读:40 留言:0更新日期:2019-05-16 09:03
本发明专利技术涉及一种针对体现用户意图的APP软件用户评论挖掘方法,属于APP软件用户意图分析领域。本发明专利技术首先定义评价对象和评价观点的抽取规则,在抽取用户评论的评价对象和评价观点的基础上初始化评论种子,应用评论种子挖掘与之相同或相似的体现相同用户意图类别的用户评论;然后通过能愿动词、软件简介和情感分析挖掘出与评论种子匹配失败的用户评论中的体现用户意图的用户评论,并构建候选评论模式库;最后,针对每次循环挖掘过程中构建的候选评论模式库抽取具有代表性的新评论种子,用于下一次的循环挖掘,实现体现用户意图的用户评论的循环挖掘,直到体现用户意图的用户评论的挖掘效果收敛。

【技术实现步骤摘要】
一种针对体现用户意图的APP软件用户评论挖掘方法
本专利技术涉及一种针对体现用户意图的APP软件用户评论挖掘方法,属于APP软件用户意图分析领域。
技术介绍
随着智能终端的广泛应用,APP软件发展迅速。APP软件的特点是开发周期短,更新速度快,同类别产品竞争激烈。在日益激烈的市场竞争中,用户驱动的软件演化更具有实际意义。APP软件的在线用户评论凭借覆盖用户广泛、内容丰富、时效性强等优势,成为软件的用户意图获取的重要资源。例如,Grano等人为了根据软件维护和进化类别对用户评论进行分类,将用户意图主要划分为信息给予、信息搜索、特征请求和问题发现这4个类别;Guzman等人将APP软件用户评论划分为缺陷报告、功能优点、功能缺点、用户请求、表扬、抱怨和使用场景这7个类别;崔建苓等人基于用户评论对潜在软件需求类型分类汇总,如改进需求(待改进特征)、新增需求(建议意见)和缺陷修改需求(系统异常)。基于APP软件的用户评论挖掘可以帮助获取有价值的用户意图信息,分析用户在使用软件的过程中的使用感受及用户所关注的软件特征,并帮助软件开发者站在用户的视角有目的的维护和改进软件,最终辅助软件开发者提高软件产品的竞争力。如何针对用户评论数据规模大、更新快等特点,准确高效地获取有建设性的APP软件用户意图,充分挖掘软件用户评论中的有价值的信息是当前亟需解决的问题。
技术实现思路
针对现有技术存在的不足,本专利技术提供了一种针对体现用户意图的APP软件用户评论挖掘方法。本专利技术的技术方案是:一种针对体现用户意图的APP软件用户评论挖掘方法,所述方法的具体步骤如下:Step1、初始化数据:评论种子库中有s个评论种子seed,评论库中有c条分词后的用户评论comment,time=1,m=1;其中,time表示循环次数,m表示参与循环挖掘的第m条用户评论,seed=<seed1,…,seedi,…,seeds>,1≤i≤s;seedi=<seed_wordi1+…+seed_wordij+…+seed_wordip,seed_speechi1+…+seed_speechij+…+seed_speechip,weighti1+…+weightij+…+weightip,seed_disi,seed_intention_typei>,1≤j≤p,seed_wordij代表评论种子seedi中的第j个词,seed_speechij代表评论种子seedi中第j个词的词性,weightij代表评论种子seedi中的第j个词或其词性对应的权重,使用公式(1)计算weightij,p代表评论种子seedi中划分的词/词性的数量,seed_disi为评论种子seedi的距离,其值为评价对象和评价观点之间可扩展的最大距离和p之和,seed_intention_typei表示评论种子seedi体现的用户意图类别,用户意图被分为如下3类:软件满足的需求,软件存在的问题,软件未达到的期望;式(1)中,numObjectOpinion代表该评论种子的评价对象和评价观点的总个数,评价对象就是观点持有者表达情感的目标实体,通常由一个或多个单词组成,评价观点指的是能够表达用户自身观点的带有情感倾向的词语,是判定用户对评价对象情感的根本依据;Step2、判断评论库中是否存在待挖掘的用户评论:判断m是否小于等于c:如果是,则取出一条未与评论种子匹配成功的用户评论commentm,抽取commentm的评论模式modem,接着执行Step3;否则,执行Step7;其中,评论模式modem=<mode_wordm1+…+mode_wordmn+…+mode_wordmq,mode_speechm1+…+mode_speechmn+…+mode_speechmq,mode_weightm1+…+mode_weightmn+…+mode_weightmq,mode_intention_typem>,1≤n≤q;mode_wordmn代表用户评论commentm中的第n个词,mode_speechmn代表用户评论commentm中第n个词的词性,mode_weightmn代表用户评论commentm中第n个词或其词性对应的权重,使用公式(1)计算mode_weightmn,q代表用户评论commentm中划分的词/词性的数量,mode_intention_typem代表用户评论commentm体现的用户意图类别,此时未对评论commentm进行用户意图类别判断,其值为unknown;Step3、应用评论种子判断commentm是否体现用户意图:判断用户评论commentm是否与评论种子seedg匹配:如果是,mode_intention_typem=seed_intention_typei,则执行Step6;否则,执行Step4;其中,1≤g≤s;Step4、应用能愿动词判断commentm是否体现用户意图:Step4.1、判断用户评论commentm是否包含能愿动词:如果是,则执行Step4.2;否则,执行Step5;Step4.2、mode_intention_typem=软件未达到的期望,执行Step4.3;Step4.3、modem进入候选评论模式库,执行Step6;Step5、应用软件简介和情感分析判断commentm是否体现用户意图:Step5.1、提取commentm对应的APP软件appNamem的APP软件简介中的名词和动词系列的相关词作为软件特征词,构建软件特征词集合F={f1,…,fx,…,fy}(1≤x≤y),执行Step5.2;Step5.2、判断commentm是否包含特征词fx:如果包含,则执行Step5.3;否则,执行Step5.6;Step5.3、抽取commentm的评价观点opinionm,计算opinionm的情感值sentiment_valuem,执行Step5.4;Step5.4、判断sentiment_valuem是否大于或等于0:如果是,则mode_intention_typem=软件满足的需求,commentm体现用户意图,执行Step5.5;否则,则mode_intention_typem=软件存在的问题,commentm体现用户意图,执行Step5.5;Step5.5、modem进入候选评论模式库,执行Step6;Step5.6、mode_intention_typem=null,commentm不体现用户意图,执行Step6;Step6、给出commentm判断结果:<commentm,mode_intention_typem>,m++,执行Step2;Step7、应用候选评论模式抽取新评论种子,执行Step8;Step8、判断体现用户意图的用户评论挖掘效果是否收敛:针对第time次循环,计算新评论种子seedi'中的评价对象和评价观点的词及词性组合与已有评论种子seedi中的评价对象和评价观点的词及词性组合之间的组合文本相似度seed_simi'i,统计组合文本相似度大于等于0.1的新评论种子数numNewSeedtime',当numNewSeedtime'与该次循环产生本文档来自技高网...

【技术保护点】
1.一种针对体现用户意图的APP软件用户评论挖掘方法,其特征在于:所述方法的具体步骤如下:Step1、初始化数据:评论种子库中有s个评论种子seed,评论库中有c条分词后的用户评论comment,time=1,m=1;其中,time表示循环次数,m表示参与循环挖掘的第m条用户评论,seed=<seed1,…,seedi,…,seeds>,1≤i≤s;seedi=<seed_wordi1+…+seed_wordij+…+seed_wordip,seed_speechi1+…+seed_speechij+…+seed_speechip,weighti1+…+weightij+…+weightip,seed_disi,seed_intention_typei>,1≤j≤p,seed_wordij代表评论种子seedi中的第j个词,seed_speechij代表评论种子seedi中第j个词的词性,weightij代表评论种子seedi中的第j个词或其词性对应的权重,使用公式(1)计算weightij,p代表评论种子seedi中划分的词/词性的数量,seed_disi为评论种子seedi的距离,其值为评价对象和评价观点之间可扩展的最大距离和p之和,seed_intention_typei表示评论种子seedi体现的用户意图类别,用户意图被分为如下3类:软件满足的需求,软件存在的问题,软件未达到的期望;...

【技术特征摘要】
1.一种针对体现用户意图的APP软件用户评论挖掘方法,其特征在于:所述方法的具体步骤如下:Step1、初始化数据:评论种子库中有s个评论种子seed,评论库中有c条分词后的用户评论comment,time=1,m=1;其中,time表示循环次数,m表示参与循环挖掘的第m条用户评论,seed=<seed1,…,seedi,…,seeds>,1≤i≤s;seedi=<seed_wordi1+…+seed_wordij+…+seed_wordip,seed_speechi1+…+seed_speechij+…+seed_speechip,weighti1+…+weightij+…+weightip,seed_disi,seed_intention_typei>,1≤j≤p,seed_wordij代表评论种子seedi中的第j个词,seed_speechij代表评论种子seedi中第j个词的词性,weightij代表评论种子seedi中的第j个词或其词性对应的权重,使用公式(1)计算weightij,p代表评论种子seedi中划分的词/词性的数量,seed_disi为评论种子seedi的距离,其值为评价对象和评价观点之间可扩展的最大距离和p之和,seed_intention_typei表示评论种子seedi体现的用户意图类别,用户意图被分为如下3类:软件满足的需求,软件存在的问题,软件未达到的期望;式(1)中,numObjectOpinion代表该评论种子的评价对象和评价观点的总个数,评价对象就是观点持有者表达情感的目标实体,通常由一个或多个单词组成,评价观点指的是能够表达用户自身观点的带有情感倾向的词语,是判定用户对评价对象情感的根本依据;Step2、判断评论库中是否存在待挖掘的用户评论:判断m是否小于等于c:如果是,则取出一条未与评论种子匹配成功的用户评论commentm,抽取commentm的评论模式modem,接着执行Step3;否则,执行Step7;其中,评论模式modem=<mode_wordm1+…+mode_wordmn+…+mode_wordmq,mode_speechm1+…+mode_speechmn+…+mode_speechmq,mode_weightm1+…+mode_weightmn+…+mode_weightmq,mode_intention_typem>,1≤n≤q;mode_wordmn代表用户评论commentm中的第n个词,mode_speechmn代表用户评论commentm中第n个词的词性,mode_weightmn代表用户评论commentm中第n个词或其词性对应的权重,使用公式(1)计算mode_weightmn,q代表用户评论commentm中划分的词/词性的数量,mode_intention_typem代表用户评论commentm体现的用户意图类别,此时未对评论commentm进行用户意图类别判断,其值为unknown;Step3、应用评论种子判断commentm是否体现用户意图:判断用户评论commentm是否与评论种子seedg匹配:如果是,mode_intention_typem=seed_intention_typei,则执行Step6;否则,执行Step4;其中,1≤g≤s;Step4、应用能愿动词判断commentm是否体现用户意图:Step4.1、判断用户评论commentm是否包含能愿动词:如果是,则执行Step4.2;否则,执行Step5;Step4.2、mode_intention_typem=软件未达到的期望,执行Step4.3;Step4.3、modem进入候选评论模式库,执行Step6;Step5、应用软件简介和情感分析判断commentm是否体现用户意图:Step5.1、提取commentm对应的APP软件appNamem的APP软件简介中的名词和动词系列的相关词作为软件特征词,构建软件特征词集合F={f1,…,fx,…,fy}(1≤x≤y),执行Step5.2;Step5.2、判断commentm是否包含特征词fx:如果包含,则执行Step5.3;否则,执行Step5.6;Step5.3、抽取commentm的评价观点opinionm,计算opinionm的情感值sentiment_valuem,执行Step5.4;Step5.4、判断sentiment_valuem是否大于或等于0:如果是,则mode_intention_typem=软件满足的需求,commentm体现用户意图,执行Step5.5;否则,则mode_intention_typem=软件存在的问题,commentm体现用户意图,执行Step5.5;Step5.5、modem进入候选评论模式库,执行Step6;Step5.6、mode_intention_typem=null,commentm不体现用户意图,执行Step6;Step6、给出commentm判断结果:<commentm,mode_intention_typem>,m++,执行Step2;Step7、应用候选评论模式抽取新评论种子,执行Step8;Step8、判断体现用户意图的用户评论挖掘效果是否收敛:针对第time次循环,计算新评论种子seedi'中的评价对象和评价观点的词及词性组合与已有评论种子seedi中的评价对象和评价观点的词及词性组合之间的组合文本相似度seed_simi'i,统计组合文本相似度大于等于0.1的新评论种子数numNewSeedtime',当numNewSeedtime'与该次循环产生新评论种子总数numNewSeedtime相同时,体现用户意图的用户评论挖掘效果收敛,体现用户意图的用户评论挖掘结束;否则,体现用户意图的用户评论挖掘效果未收敛,进行下一次循环挖掘,time++,m=1,执行Step2;其中,i'指代新评论种子的标号。2.根据权利要求1所述的一种针对体现用户意图的APP软件用户评论挖掘方法,其特征在于:所述Step3的具体步骤如下:Step3.1、初始化数据:i=1,执行Step3.2;Step3.2、判断i是否小于等于s:如果是,则提取一个未与commentm匹配过的评论种子seedi,执行Step3.3;否则,执行Step3.8;Step3.3、将commentm的词“mode_wordm1+…+mode_wordmn+…+mode_wordmq”与seedi的词“seed_wordi1+…+seed_wordij+…+seed_wordip”进行匹配,计算commentm与seedi的词匹配值word_matchmi:Step3.3.1、初始化数据:词匹配成功位置集合pos_word为空,seedi的全部词匹配标记word_flagij为0,j=1,执行Step3.3.2;Step3.3.2、判断j是否小于等于p:如果是,则执行Step3.3.3;否则,执行Step3.3.6;Step3.3.3、初始化n=MAX{0,pos_word中最大值}+1,MAX表示计算集合中元素的最大值,执行Step3.3.4;Step3.3.4、判断n是否小于等于q:如果是,则执行Step3.3.5;否则,j++,执行Step3.3.2;Step3.3.5、判断seed_wordij是否和mode_wordmn相同:如果是,则记录位置n到pos_word中,word_flagij为1,j++,执行Step3.3.2;否则,n++,执行Step3.3.4;Step3.3.6、使用公式(2)计算词匹配值word_matchmi:执行Step3.4;Step3.4、将commentm的词性“mode_s...

【专利技术属性】
技术研发人员:姜瑛胡甜媛丁家满李凌宇汪海涛
申请(专利权)人:昆明理工大学
类型:发明
国别省市:云南,53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1