Page 270 - 《软件学报》2021年第7期
P. 270

2188                                     Journal of Software  软件学报 Vol.32, No.7,  July 2021

                 错误!”为例,其分句“编码格式不对一直报错”“而且没有注释所以看不懂”“一堆堆错误”的依存句法关系有向图
                 分别如图 1 中的(1)、(2)、(3)所示.



















                                  Fig.1    Example of dependency syntax relation directed graph example
                                                图 1   依存句法关系有向图示例

                    由图 1 可以看出,将复杂用户评论的文本表示转换成图结构,能够清晰地表示出词语之间的关系,将有利于
                 复杂用户评论代码质量属性的判断.

                 4.2   识别用户评论中与代码质量属性相关的信息
                    经过复杂用户评论预处理之后,复杂用户评论转换成了以分句为单位的依存句法关系有向图.通过分析大
                 量的用户评论后发现,当分句中存在多个代码质量属性时,分句通常表现为多个主题.当在复杂用户评论分句中
                 存在的代码质量属性不明确时,先通过抽取复杂用户评论分句的主题,再通过抽取的各主题对应的主题相关词
                 来识别复杂用户评论中存在的代码质量属性,可以较为全面和准确地判断出复杂用户评论的代码质量属性以
                 及与各个代码质量属性相关的词语.
                 4.2.1  抽取复杂用户评论的主题
                    为了能够较为全面地判断出复杂用户评论中的代码质量属性,本文先对预处理后的复杂用户评论的每个
                 分句抽取主题.从长短文本的划分出发,复杂用户评论中的分句仍归属于短文本范畴,但是又比一般范畴的短文
                 本更加短小.传统的主题抽取方法有主题模型                [30,31] 、改进主题模型 [32,33] ,大多适用于一般范畴的短文本的处理,
                 在用户评论这类短文本主题抽取上表现不佳.此外,传统的方法在抽取主题时默认主题是相互独立的,且抽取的
                 主题相关信息粒度较粗,难以对主题相关的信息进行下一步细粒度的分析,也未对主题之间的关系进行处理.因
                 此,为了能够对复杂用户评论分句抽取主题后进行下一步的处理和分析,本文基于依存句法关系制定了主题判
                 断规则,并应用主题判断规则抽取复杂用户评论分句的主题.
                    复杂用户评论分句经过依存句法分析后会存在唯一的一个核心关系(HED),而核心关系(HED)对应的核心
                 词可能涉及一个或多个主题.当存在多个主题时,多个主题之间一般会通过并列关系(COO)相连.此外,依存句法
                 关系中的兼语(DBL)、定中关系(ATT)、状中关系(ADV)、动补结构(CMP)、介宾关系(POB)以及左附加(LAD)
                 和右附加(RAD)一般是对句子的核心成分或是主谓宾成分起修饰或补充说明的作用,对句子主题个数判断的
                 影响较小.因此,结合部分复杂用户评论分句的依存句法关系有向图的分析,本文主要围绕句子中的核心关系
                 (HED)、并列关系(COO)以及句子主谓宾可能存在的主谓关系(SBV)、动宾关系(VOB)、间宾关系(IOB)、前置
                 宾语关系(FOB)分析如何抽取复杂用户评论分句的主题.
                    在依存句法关系中,并列关系(COO)表示两个词语之间以并列形式依存,如“运行速度和内存占用”“内存占
                 用”为“运行速度”的并列.将这种词语间的依存关系扩展到复杂用户评论分句的依存句法关系有向图中,除根节
                 点 Root 外,以并列关系(COO)为界,并列依存的两个节点会各自构成一个有向图的子图,两个子图内的节点构成
   265   266   267   268   269   270   271   272   273   274   275