Category Adversarial Joint Learning Method for Cross-Prompt Automated Essay Scoring
-
摘要:
自动作文评分能够有效减轻教师的作文评阅负担并为学生提供客观、及时的反馈,是自然语言处理在教育领域的一项重要应用. 跨提示自动作文评分旨在学习一个可迁移的自动评分模型,使之能够有效为目标提示的作文评分. 然而,现有的跨提示自动作文评分大都是面向目标提示数据可见的场景,通过将源提示和目标提示的特征分布进行对齐学习提示不变特征表示来学习可迁移到目标提示的评分模型,但是这类方法无法应用于目标提示数据不可见的场景. 面向目标提示数据不可见的场景,提出一种基于类别对抗联合学习的跨提示自动作文评分方法. 一方面,通过对分类和回归联合任务进行联合建模学习2个任务的共享特征,从而实现二者性能的相互促进;另一方面,不同于现有方法采用提示无关特征来提升模型泛化性能,针对不同提示的类别分布差异引入类别对抗策略,通过对不同提示进行类别级特征对齐学习不同提示间的细粒度不变特征表示,从而提升模型泛化性能. 将所提出方法用于自动学生评估奖(ASAP)和ASAP++数据集,分别对作文的总体评分和属性评分进行预测. 实验结果表明,与6种经典方法相比,在平方卡帕指标上取得最好的实验效果.
Abstract:Automated essay scoring (AES) can effectively alleviate the burden on teachers when evaluating student essays and provide students with objective and timely feedback. It is a crucial application of natural language processing in the field of education. Cross-prompt AES aims to develop a transferable automated scoring model that performs well on essays from a target prompt. However, existing cross-prompt AES models primarily operate in scenarios where target prompt data is available. These models align feature distributions between source and target prompts to learn invariant feature representations for transferring to the target prompt. Unfortunately, such methods cannot be applied to scenarios where target prompt data is not available. In this paper, we propose a cross-prompt AES method based on Category Adversarial Joint Learning (CAJL). First, we jointly model AES as classification and regression tasks to achieve combined performance improvement. Second, unlike existing methods that rely on prompt-agnostic features to enhance model generalization, our approach introduces a category adversarial strategy. By aligning category level features across different prompts, we can learn invariant feature representations of different prompt and further enhance model generalization. We evaluate our proposed method on the Automated Student Assessment Prize (ASAP) and ASAP++ datasets, predicting both overall essay scores and trait scores. Experimental results demonstrate that our method outperforms six classical methods in terms of the quadratic weighted kappa metric.
-
物联网指的是物体与物体之间的互联网络,它通过无线传感技术,利用传感器获取物体和环境的信息,实现物理设备之间、物理设备与网络之间信息传输与资源共享[1]. 一般来说,物联网系统架构中通过逻辑控制器来感知物理环境的状态并调度物理设备以提供想要的服务. 将设备控制逻辑从控制器中分离出来,可以方便物联网系统的设计和支持系统的演化,从而减少物联网系统的开发和维护成本,提高物联网系统架构的灵活性. 这种将设备逻辑控制从控制器中分离出来的物联网系统,在一定程度上可以认为是一种智能系统.
物联网系统架构中的核心逻辑控制器使用规则来控制业务逻辑,规则一般由2部分构成:约束部分和动作部分. 约束部分是物联网系统中的实体状态构成的条件,这些条件随着物联网系统规模的扩大而变得复杂. 当约束部分包含的条件所组成的逻辑表达式成立时,触发规则的动作部分,从而改变物联网系统中某些实体的状态. 而这些实体状态的改变,将触发物联网系统中的其他规则,从而导致物联网系统的状态发生新的变化. 当物联网系统中实体的状态,不能使得所有规则约束部分的条件得到满足时,系统将产生规则间的冲突,从而使得物联网系统的运行出现问题.
图1是典型的物联网系统架构,主要分为外部元素、网络层、控制系统3部分. 外部元素包括传感器和设备. 传感器是信息流动的源头,可以采集温度、湿度、光强、压力等物理量;设备包括可编程的硬件,是信息流动的目的地. 网络层完成信息传输,实现外部元素与控制系统的连接[2-3]. 控制系统完成物理设备的逻辑控制,是信息的加工处理部分.
图2是使用规则推理作为控制系统核心的架构,它包括交互处理模块和规则推理模块,交互处理模块将环境和设备的状态数据格式化后传递到规则推理模块,并根据规则推理信息来控制设备状态. 规则推理模块包括知识和推理引擎. 知识是由逻辑构成的规则,当知识部署在推理机中,推理机可以根据知识,对输入的外部元素的状态数据进行逻辑推理[4].
在物联网系统中,规则调度流程大致是这样的:外部状态数据通过网络层传递进控制系统. 交互处理模块将状态数据格式化后传递到规则推理模块. 规则推理模块经过推理,输出控制信息传递到交互处理模块. 交互处理模块根据控制信息生成设备控制命令,通过网络层发送到相应的控制设备.
在一些复杂的物联网运行的场景中,如果2条或多条规则出现冲突,带来的后果是比较严重的,甚至是灾难性的. 例如,智能会议室中投影仪开启或关闭的规则出现混乱,导致会议无法正常进行. 无人驾驶的物联网系统,如果因为规则的冲突,导致传递给车辆的信息是错误的,导致无人驾驶车辆出现偏离正常行驶路线,甚至导致车毁人亡的灾难事件.
图3表示2种典型的物联网中的规则冲突案例. 图3(a)中,用户编写2条规则R1和R2,当环境温度为22°C时,2条规则都被触发. 电暖气制热与空调制冷,对环境温度产生相反的影响,从而产生消极影响冲突.
图3(b)中,用户编写3条规则R3,R4和R5,当环境光强为2000 lm时,3条规则都被触发. 受到规则R3和R4的影响,窗帘处于不断开关的状态,从而产生执行矛盾冲突.
图3(a)和图3(b)中所展示的规则间的冲突是由于现有的物联网规则冲突的分类还不够精细,使得已有的冲突检测方法不一定能检测到这2种规则冲突,从而出现规则冲突漏检的问题.
针对物联网系统中存在的规则冲突的问题,一些学者对此展开研究. Shehara等人[5]提出一种需求交互分类法,用于对软件系统中的需求交互进行分类和识别. 文献[5]提出的分类法是一个4层金字塔的形式,在第1层定义6个主要交互类别,在第2层定义17个交互子类别,在第3层定义29个交互类型,在第4层定义29个交互场景,每个交互场景都有一个相应的交互检测指南来描述如何检测交互. 该文献还提出一种半形式化的冲突检测方法IRIS (identifying requirements interactions using semiformal)来识别需求冲突,成为形式化方法的重要基础. Hu等人[6]通过分析智能家居系统的本体模型,实现知识重用和上下文语义建模,提出基于Web语义的策略冲突检测方法SPIDER(semantic Web-based policy interaction detection with rules),来探测智能家庭服务中的规则冲突,为本体编辑工具Protégé[7]和规则引擎工具Jess[8]提供功能支持. 然而IRIS和SPIDER这2种方法在规则冲突分类时只考虑离散的系统状态. 例如图3(a)所示的案例1,用户只考虑到设备开、关等的离散状态,不能得知温度这样连续状态的变化范围,从而出现规则冲突漏检现象. Sun等人[9]在对智能家居现状的分析基础上,提出一种基于用户、触发器、环境实体和作动器(user, triggers, environment entities, and actuators, UTEA)的冲突检测方法,他们通过用户、触发器、环境实体和执行器的建模方法,探测智能家具系统的规则冲突,为连续的系统状态提供解决方法,并引入用户优先级的权限控制. 方法UTEA解决在智能家居中,规则增加所带来的规则冗余、冲突等问题. 然而此方法需要依赖系统的初始状态,没有被触发的规则不被算法检测,导致检测的准确性下降. 例如规则冲突案例2中如果当环境光强初始为4000 lm,并且灯处于关闭状态时,3条规则都没有被触发. 此时UTEA方法不能检测出规则冲突.
这些研究在解决物联网系统中的规则冲突问题上取得一定的效果,但是这些研究对规则冲突类型分析还不是很全面,并且检测的准确性有待提高.
为此,本文提出一种物联网系统的形式化规则冲突检测方法(formal rule conflict detection,FRCD). 该方法首先利用形式化的方法将物联网中的规则及不同的规则冲突进行建模,同时考虑到连续的系统状态量. 这样针对不同的规则冲突,对这些规则的形式化表达进行区分,并且不依赖于系统的初始状态,从而使得不同的规则冲突能够清楚地得到检测. 然后,方法FRCD能够对输入的物联网规则进行解析,得到规则的各种条件,基于解析的结果,对这些条件进行分解,这样可以帮助简化规则条件逻辑. 最后,根据不同的规则冲突类型,检测出相应的冲突.
本文的主要贡献包括3方面:
1) 通过调研和分析已有的物联网系统的规则,将目前的物联网系统中的规则冲突细分为7类,分别是执行覆盖冲突、执行矛盾冲突、消极影响冲突、独占资源冲突、直接忽略依赖冲突、直接循环依赖冲突、间接循环依赖冲突.
2) 基于对物联网系统的规则冲突分类,对不同的规则冲突进行形式化表示,使得冲突的检测能够自动化进行,且针对不同的规则冲突能够进行很好地区分,在一定程度上能提高规则冲突检测的准确性.
3) 设计并实现规则冲突检测的原型系统,在2个物联网系统中进行实验验证. 实验的结果表明,本文的方法FRCD在物联网系统的规则冲突检测的F1值上,表现比其他3种冲突检测方法更优秀.
1. 相关工作
1.1 规则授权访问与规则完整性
Kim[10]针对由RIF[11]规则推理引起的授权问题,提出应用图标记算法,解决由规则推断引起的RDF[12]元组安全签名不一致的问题. Yu等人[13]提出授权规则规范语言模型,解决同一个服务被授权模型里的规则同时接受和拒绝的问题. Fisler等人[14]分析基于角色的规则访问控制策略,认为多终端决策图是一种可扩展的访问控制策略解决方法,是实现规则访问控制策略的验证方法. Abdullah等人[15]提出一种形式化规则检查器,通过控制器安全策略,以确保控制器和执行器的行为安全性. Wang等人[16]针对物联网安全审计日志分散在各个设备上,不能用于重建安全事务工作流的问题,提出一种以平台为中心的物联网集中审计方法,此方法对物联网应用程序和设备应用编程接口进行高效的自动化测试,以生成包括恶意行为在内的系统活动审计日志. Bu等人[17]针对错误的设备控制对系统正确性产生影响的问题,提出一种端到端的线性混合自动机模型,用来协助非专业物联网用户进行规则可信检查,确保物联网系统可用性. Ma[18]认为基于规则图的方法,可以解决数据不一致性问题,并利用规则图来描述规则的层次结构,动态评估数据的一致性. Nandi[19]为了解决用户在编写规则触发部分经常犯错误的问题,开发一种静态技术,根据用户编写的动作,自动生成正确的规则触发条件. Abe等人[20]为解决规则调用的数据缺失问题,抽取物联网描述符号来标准化规则,从而提高规则的质量. Yang等人[21]通过Petri网的形式验证规则系统,并推导出规则间的关联矩阵,解决规则的规范化和完整性的验证,避免基于规则的系统受到规则结构错误的影响. Wang等人[22]提出一种计算执行可满足性的框架,用于发现规则内部的漏洞,但在实践中发现由于物联网平台的封闭性,这种模型的信息流很难获得. 为了解决这个问题,文献[22]的作者基于自然语言处理开发用于推断规则信息流的算法.
1.2 规则冲突检测
Fang和Lu[23]针对软件定义网络中的规则冲突问题,通过等量划分分区包级别的方法,解决软件定义网络中交换机流量条目产生的规则冲突. Cui等人[24]针对基于软件定义网络的交换机中流规则产生的冲突导致网络功能失效的问题,设计一种基于事务的流规则冲突检测方法,这种方法可以隔离不同网络的流规则,以避免不同网络功能之间的干扰. Batisra等人[25]提出一种基于一阶逻辑的冲突检测方法,解决OpenFlow网络中随着交换机和主机数量的增加,管理流变得复杂而出现的规则冲突. Magill和Blum[26]针对规则可能源于不同的来源而产生的一致性问题,他们借鉴特征交互的经验,扩展无线传感技术,解决在无线传感器网络中不同来源的冲突规则导致一致性维护问题. Born等人[27]通过扩展模型转换工具,解决基于规则的模型转换中发生的冲突和依赖. Jiang等人[28]针对一个大型自组织系统中子系统间具有利益和价值的冲突问题,使用逻辑形式化事件推演,使得每个子系统能够发现和解决其系统自身内部的规则冲突. Zhang等人[29]通过计算概率描述节点状态作业的权重,得到逻辑推理规则的冲突度量. Diller等人[30]提出一种从不一致的语言中提取语义的方法,并以正态性假设的形式扩展规则表达方式,解决规则中自然语言表达知识产生的冲突,然而他们没有考虑物联网系统中的规则冲突. Shehara等人[5]提出一种需求交互分类法,用于对软件系统中的需求交互进行分类和识别,并提出一种半形式化的冲突检测方法(IRIS)来识别需求冲突,并且开发可以应用到特定领域的插件[31]. Shah等人[32]提出一种检测物联网系统中不完整规则的机制,同时考虑条件独立的触发条件引起的规则冲突,这种方法把规则看作使用基于事件的编程语言的程序,实现对规则不完整性和冲突的检测,然而能检测的冲突类型不够全面. 李秀[33]基于知识图谱,对智能家居领域内的作动器进行隐式冲突检测,根据作动器功能进行自动分类,实现不限类型的作动器设备之间的隐式规则冲突检测. Lin等人[34]通过设计规则的形式化模型,把这些规则定义为一个元组,包含触发器、执行器和状态,然后通过分类、组合的方法对规则进行处理,从而描述规则之间的冗余关系,消除和避免冗余的规则出现,提高系统执行效率.
本节所提的研究工作对规则冲突类型分析不全面,并且检测结果的准确性不高,造成规则冲突漏检和错检的问题. 本文工作对这些形式化方法进行改进,针对物联网系统的规则冲突进行检测.
2. 方 法
2.1 针对物联网系统的规则的形式化分析
为了更清楚地表达物联网系统中的规则,以及区分不同的规则冲突类型,本文针对物联网系统中的规则,给出相应的形式化结构. 物联网规则涉及到控制主体、动作、触发条件、规则、符号5个成分,具体结构如图4所示.
1) 控制主体sub由标识id、主体类型type、占用标志mon、主体属性attribute、属性值value构成. 其中type, attribute是字符串类型,mon={0,1},value为数值类型.
控制主体可表示为sub={id,type,mon,attribute,value}.
2) 动作action由执行动作的控制主体sub、被动作影响的属性attribute、动作关系运算符op、操作的属性值value构成. 其中op={<,=,>,
⩽ ,\geqslant ,≠}.动作可表示为action={sub,attribute,op,value}.
动作的集合表示为actions={action(i) | 0
\leqslant i<n,n\in \mathbb{N} }.3) 触发条件condition由控制主体类型type、约束属性attribute、约束关系运算符op、约束属性值value构成. 其中type表示引用上述规则成分中的控制主体sub里的元素type.
触发条件可表示为condition={type,attribute,op,value}.
触发条件的集合可以表示为conditions= {condition(i) | 0
\leqslant i<n,n\in \mathbb{N} }.4) 规则rule由id标识、触发条件conditions、动作actions构成.
规则可表示为rule={id,conditions,actions}.
规则的集合可以表示为rules={rule(i)|0
\leqslant i<n,n\in \mathbb{N} } .5)为了表达连续的系统状态,定义运算符#,将离散的系统状态数值value转化成区间范围. 具体为:
op\# value\left\{\begin{split} &value,op={“}={”},\\ &(value,+\infty ),op={“} > {”},\\ &(-\infty ,value),op={“} <{”},\\ &[value,+\infty ),op={“}\geqslant {”},\\ &(-\infty ,value],op={“}\leqslant {”},\\ &(-\infty ,value)\cup (value,+\infty ),op={“}\ne {”}.\end{split} \right. 其中value是一个数值,在添加符号#后,数值value与关系符op进行运算,将数值value转换成连续的区间范围;−∞代表负无穷,+∞代表正无穷,()是开区间,
[] 是闭区间,(] 是开闭区间,[ )是闭开区间.通过以上规则结构表示,可以清晰地表达下面的规则交互关系.
2.2 规则的交互关系
规则间的冲突是由规则交互关系引起的,为了深入分析规则冲突类型,首先分析规则交互关系. 2个规则的约束条件部分和动作部分的影响,称为规则的交互关系. 通过对规则间存在的交互关系进行分析,总结出相容触发条件、控制同一非独占主体、控制同一独占主体、相同控制动作、相反控制动作、互斥影响值、规则Ri触发条件依赖规则Rj的动作、规则Ri触发条件依赖规则Rj的反向动作,8种规则交互关系如表1所示.
表 1 规则交互关系Table 1. Rule Interaction交互关系名称 符号表示 相容触发条件 CC(ComCon) 控制同一非独占主体 SSS(SamShareSub) 控制同一独占主体 SMS(SamMonSub) 相同控制动作 SA(SamAct) 相反控制动作 DA(DifAct) 互斥影响值 MV(MutVal) 规则Ri触发条件依赖规则Rj的动作 RC(Ri,Rj)(RelyCon) 规则Ri触发条件依赖规则Rj的反向动作 OR(Ri,Rj)(OppRely) 1) CC表示2个规则可以在同一个系统场景中触发,称为相容触发条件;
2) SSS表示2个规则控制同一个非独占类型主体,称为控制同一非独占主体;
3) SMS表示2规则控制同一个独占类型主体,称为控制同一独占主体;
4) SA表示2个规则拥有相同的控制动作,称为相同控制动作;
5) DA表示2个规则拥有相反的控制动作,称为相反控制动作;
6) MV表示2个规则对环境属性影响是互斥的,称为互斥影响值;
7) RC(Ri,Rj)表示规则Ri触发条件依赖规则Rj的动作,称为规则Ri触发条件依赖规则Rj的动作;
8) OR(Ri,Rj)表示规则 Ri触发条件依赖规则Rj的反向动作,称为规则Ri触发条件依赖规则Rj的反向动作.
通过以上8个规则交互关系的总结,为下面的规则冲突类型的形式化表达提供符号表示.
2.3 规则的冲突类型
由于规则之间存在交互关系,使得规则间产生冲突. 为了更清晰地描述规则的冲突,本文通过调研和分析物联网系统中的规则交互关系,将目前的物联网系统中的规则冲突分为7类,分别是:执行覆盖冲突、执行矛盾冲突、消极影响冲突、独占资源冲突、直接忽略依赖冲突、直接循环依赖冲突、间接循环依赖冲突.
规则的冲突类型以及形式化表达如表2所示.
表 2 规则冲突类型Table 2. Rule Conflict Type冲突类型 形式化表达 关系 执行覆盖冲突 CC ∩ SSS ∩ SA 非对称 执行矛盾冲突 CC ∩ SSS ∩ DA 对称 消极影响冲突 CC ∩ MV 对称 独占资源冲突 CC ∩ SMS 对称 直接忽略依赖冲突 OR (Ri,Rj) 非对称 直接循环依赖冲突 RC (Ri,Rj)∩ RC (Rj,Ri) 对称 间接循环依赖冲突 RC (t1,t2) ∩ RC (t2,t3)∩…∩ RC(ti−1,Ri) ∩ RC (Ri,t1) 对称 类规则冲突所表达的含义为:
1) 一个规则的所有动作包含在另一个规则中,导致前一条规则是冗余的,称为执行覆盖冲突;
2) 系统执行2个规则的先后顺序不同,导致系统状态不同,称2个规则互为执行矛盾冲突;
3) 2个规则的动作影响同一个属性,导致一个规则影响另一个规则的执行效率,称2个规则互为消极影响冲突;
4) 2个规则调用同一个独占资源,称2个规则互为独占资源冲突;
5) 规则Rj的触发条件依赖规则Ri的相反动作,导致规则Rj永远不被触发,称规则Rj直接忽略依赖规则Ri;
6) 规则Ri的触发条件依赖规则Rj的动作,规则Rj的触发条件依赖规则Ri的动作,导致系统进入死锁状态,称2个规则互为直接循环依赖冲突;
7) 多条规则间的触发条件、动作形成依赖环路,导致系统进入死锁状态,称这些规则互为间接循环依赖冲突.
表2中的对称关系表示2个规则调换表述顺序,表达的语义不变. 非对称关系表示2个规则调换表述顺序,表达的语义发生改变. 例如规则Ri依赖规则Rj与规则Rj依赖规则Ri,调换规则表述顺序后,表达的语义不一样,属于非对称关系.
经过以上的规则冲突类型总结以及形式化定义,总结出物联网智能系统中规则冲突的特点,并且能对这些规则冲突进行区分,能够比较容易地对这些冲突进行检测.
2.4 基于形式化规则的冲突检测方法
规则冲突检测方法流程如图5所示. 该方法流程主要包括2部分,分别是规则预处理和规则冲突计算.
规则冲突检测方法的输入是已有的规则库和待检测的规则,已有的规则库是指在进行规则冲突检测之前,就已经存在的规则集合;待检测的规则是指需要与已有规则库进行检测是否存在冲突的规则.
在进行规则检测前,需要对输入的规则库和待检测规则进行预处理. 首先,需要将规则解析成粒度较小的规则元素,目的是将输入的规则解析成可以用作形式化表达的元素. 随后进行规则分解,目的是将复杂的规则分解为只包含与逻辑关系的规则. 规则预处理之后,得到分解之后的规则库与待检测的规则. 接下来需要对规则冲突进行分析,通过规则交互关系分析和规则冲突检测,得到最终的规则冲突检测结果.
2.4.1 规则预处理
规则预处理包括规则解析和规则分解2个步骤.
规则解析的目的是将输入的规则解析成可以形式化表达的元素. 首先,待检测的规则和规则库里的规则输入到规则解析子模块;然后,根据物联网系统规则的形式化结构,将文本类型的规则解析成由id标识、触发条件conditions、动作actions构成的形式化元素;最后,分别输出规则元素库和规则元素.
规则分解是为了简化包含复杂逻辑的规则,这样可以便于后续的规则冲突检测. 本文利用析取范式将规则进行分解. 例如规则R1经过析取范式转化得到R2,R2可以表达为触发条件只包含“与”逻辑关系的2个规则R3和R4. 此过程将同时包含“与”“或”逻辑关系的规则R1,分解成为只包含“与”逻辑关系的规则R3和R4.
R_1:(c_1 \cup c_2) \cap c_3 \Rightarrow a_1,a_2,…,a_n . R_2:(c_1 \cap c_3) \cup (c_2 \cap c_3) \Rightarrow a_1,a_2,…,a_n . \begin{aligned} &{}\\&R_3:c_1 \cap c_3 \Rightarrow a_1,a_2,…,a_n . \end{aligned} R_4:c_2 \cap c_3 \Rightarrow a_1,a_2,…,a_n . 规则分解步骤首先输入规则元素库和规则元素;然后,经过上述析取范式分解;最后,输出分解之后的规则库与待检测的规则.
2.4.2 规则交互关系分析
规则交互关系分析是后续规则冲突检测的基础,对于任意2个规则,它们之间的交互关系可以采用4个步骤进行分析,首先,遍历2个规则的约束部分和动作部分;其次,获取规则的形式化元素;然后,将形式化元素依据规则交互关系形式化表达,匹配出相应的规则交互关系;最后,输出2个规则的交互关系.
规则交互关系分析如算法1所示. 算法1输入规则Ri和Rj,输出规则关系re. 算法1的行②③分别遍历Ri和Rj的约束conditions部分和动作actions部分. 行④~㉗获取规则的形式化元素,依据表1定义的规则交互关系,设置规则关系变量re的标志位. 行㉘输出存储2个规则交互关系的变量re. 最终计算出待检测规则与规则库所有规则的交互关系. 规则交互关系名称用表1中符号缩写表示,部分符号依赖于图4的规则结构.
算法1. 规则交互关系分析算法.
输入:规则Ri,规则Rj ;
输出:规则交互关系re.
① relation(Ri,Rj);
② for (AC
\in Ri.conditions,AA\in Ri. actions)③ for (BC
\in Rj.conditions, BA\in Rj.actions)④ if!(2个规则条件部分type和
attribute相同and它们的
op#value没有交集) then
⑤ re.CC = 1;
⑥ end if
⑦ if(2个规则动作部分控制同一个
sub and它们不是独占设备)
then
⑧ re.SSS= 1;
⑨ else if(2个规则动作部分控制同
一个sub and它们是独占设备) then
⑩ re.SMS = 1;
⑪ end if
⑫ end for
⑬ if (2个规则动作部分的type相同
and它们的op#values是包含关系)
then
⑭ re.SA = 1;
⑮ end if
⑯ if (2个规则动作部分的type相同
and它们的op#value没有交集)
then
⑰ re.DA = 1;
⑱ end if
⑲ if(2个规则的动作部分控制不同的
sub and它们的op#value没有交集)
then
⑳ re.MV = 1;
㉑ end if
㉒ if(1个规则的条件部分value
\in 另一个规则动作部分的op#value and 条件 部分和动作部分的attribute相同)
then
㉓ re.RC = 1;
㉔ end if
㉕ if(1个规则条件部分的value
\in 另一个规则动作部分的op#value的
补集 and 条件部分和动作部分的
attribute相同)
then
re.OR = 1;
㉖ end if
㉗ end for
㉘ retutn re.
2.4.3 规则冲突检测
获得规则间的交互关系之后,接下来对规则间的冲突进行检测. 规则之间的冲突检测可以采用4个步骤进行分析:首先,计算待检测规则与规则库里所有规则的依赖关系;其次,获取当前参与检测的2个规则的交互关系;然后,匹配规则冲突类型;最后,输出规则冲突检测信息.
规则冲突检测如算法2所示. 为了简化表达,规则交互关系名称用表1中符号缩写表示. 算法2输入规则库RDB和待检测规则Ri,输出规则冲突检测信息. 算法2的行②定义变量relyM,它是MAP数据类型,它的键是规则id,它的值是当前规则所依赖的其他规则id组成的队列,用来存储规则间的依赖关系信息. 行③~⑪遍历RDB里的所有规则,将此规则的id作为键,直接依赖的所有规则id作为值存到relyM变量中. 行⑫~⑱遍历RDB中的规则Rj,其中Ri, Rj作为函数relation()的输入,得到Ri, Rj的关系re. re与relyM作为函数matchConflict()的输入,根据表2的规则冲突类型来匹配规则冲突信息. 最终计算出待探测规则与规则库里的规则是否有冲突,如果有冲突则输出具体冲突类型. 其中行⑥~⑧调用算法1的规则交互关系分析函数relation().
算法2. 规则冲突检测算法.
输入: 规则库RDB,规则Ri;
输出: 冲突信息conflictInfo.
① detect(Ri,RDB);
② 定义MAP类型变量relyM;
③ for (IA
\in RDB)④ 定义Queue类型变量 relyQ;
⑤ for (IB
\in RDB)⑥ RAB = relation(IA,IB);
⑦ if (IA.id ≠ IB.id and RAB.RC)
then
⑧ IB存入relyQ, Ri. id作为 键,relyQ
作为值存入relyM;
⑨ end if
⑩ end for
⑪ end for
⑫ for (Rj
\in RDB)⑬ re = relation(Ri,Rj);
⑭ conflictInfo = matchConflict(re,relyM);
⑮ if (conflictInfo ≠
\varnothing ) then⑯ return conflictInfo;
⑰ end if
⑱ end for
⑲ return “No Conflict”.
2.4.4 规则冲突检测实例
通过算法1和算法2的实现,可以在任何情况下检测到图3(a)和图3(b)中的规则冲突.
对于图3(a),2条规则R1,R2经过规则预处理分别得到:
conditionR1={room[Environment], temperature, <, 25};
actionR1={heater,temperature,>,27};
conditionR2={room[Environment], temperature, >,20};
actionR2={ air_conditioner,temperature,<,15}.
规则R1,R2通过规则交互关系分析,conditionR1中的room[Environment], temperature与conditionR2中的room[Environment], temperature相等但conditionR1中的“<25”与conditionR2中的“>20”不是包含关系,所以它们可以同时触发,使得ComCon字段取值为真;actionR1中的temperature与actionR2中的temperature相等,但是actionR1中的heater不等于conditionR2中的air_conditioner并且actionR1中的“>27”与actionR2中的“<15”没有交集,所以MutVal字段取值为真. 这2个规则经过规则冲突检测,符合消极影响冲突的形式化表达,输出的规则R1,R2具有消极影响冲突.
对于图3(b) ,2条规则R3和R4经过规则预处理分别得到:
conditionR3={light[Light],isOn,=,1};
actionR3={curtain,isOn,=,0};
conditionR4={light[Light],isOn,=,0};
actionR4={ curtain,isOn,=,1}.
由于不需要分析规则R5,即可检测到规则冲突,所以R5不再描述. 通过规则交互关系分析,conditionR3中的light[Light], isOn与conditionR4中的light[Light], isOn相等,但conditionR3中的“=1”与conditionR4中的“=0”不是包含关系,所以它们可以同时触发,使得ComCon字段取值为真;actionR3中的curtain, isOn与actionR4中的curtain, isOn相等,所以字段SamShareSub取值为真; actionR3中的“=0”不等于conditionR4中的“=1”,使得字段DifAct取值为真. 2个规则经过规则冲突检测,符合执行矛盾冲突的形式化表达,输出规则R3,R4具有执行矛盾冲突.
上述的规则检测过程不依赖于真实环境,所以在任何环境下都可以检测到规则冲突. 但本文所比较的3种方法需要在特定的条件下才能检测出这2种规则冲突.
3. 实验及结果分析
3.1 研究问题
为了验证所提出的方法的有效性,本文提出3个研究问题:
问题1.与已有的冲突检测方法相比,本文的方法能检测的规则冲突类型是否更全面.
问题2.与已有的冲突检测方法相比,本文的方法检测结果效果是否更好.
问题3.进行方法自身的对比实验,通过删掉方法中的某一部分或某几个部分,来验证方法的有效性.
3.2 实验对象
本文的实验对象是2个物联网系统,分别为智能会议室模拟系统和智能渔业模拟系统. 这2个系统的介绍及其中所包含的规则如表3和表4所示.
表 3 智能会议室系统介绍Table 3. Introduction to Intelligent Conference Room System智能会议室系统 规则类型 条数 规则描述 设计原则 利用物联网技术,通过规则控制会议室环境和多媒体设备的模拟系统. 执行覆盖 20 每种类型规则包含6种关系运算符=, ≠, <, >, \leqslant , \geqslant . 2种逻辑运算符“与”“或”. 由于非逻辑可以通过关系运算符≠表达,所以这里不包含非逻辑. 参数取值包含边界值和中间值. 1) 依据软件测试技术中的等价类划分和边界值分析原则,设计具有代表性的规则.
2) 初始化不同场景,确保上述所有类型规则被触发执行.执行矛盾 22 消极影响 24 独占资源 28 直接忽略依赖 26 直接循环依赖 32 间接循环依赖 45 场景初始化 91 表 4 智能渔业系统介绍Table 4. Introduction to Intelligent Fishery System智能渔业系统 规则类型 条数 规则描述 设计原则 利用物联网技术,通过规则控制船舶航行、鱼群捕捞的模拟系统. 执行覆盖 22 每种类型规则包含6种关系运算符=, ≠, <, >, \leqslant , \geqslant . 2种逻辑运算符“与”“或”. 由于非逻辑可以通过关系运算符≠表达,所以这里不包含非逻辑. 参数取值包含边界值和中间值. 1) 依据软件测试技术中的等价类划分和边界值分析原则,设计具有代表性的规则.
2) 初始化不同场景,确保上述所有类型规则被触发执行.执行矛盾 26 消极影响 20 独占资源 24 直接忽略依赖 28 直接循环依赖 30 间接循环依赖 33 场景初始化 86 智能会议室模拟系统是利用物联网技术,通过规则控制会议室环境和多媒体设备的模拟系统,其中规则包括了20条执行覆盖类型规则、22条执行矛盾类型规则、24条消极影响类型规则、28条独占资源类型规则、26条直接忽略依赖类型规则、32条直接循环依赖类型规则、45条间接循环依赖类型规则、91条场景初始化规则.
智能渔业模拟系统是利用物联网技术,通过规则控制船舶航行、鱼群捕捞的模拟系统,其中规则包括了22条执行覆盖类型规则、26条执行矛盾类型规则、20条消极影响类型规则、24条独占资源类型规则、28条直接忽略依赖类型规则、30条直接循环依赖类型规则、33条间接循环依赖类型规则、86条场景初始化规则.
3.3 实验环境及参数设置
实验的软件环境为Jdk 1.8, Maven 3.6, Intelli-JIDEA 2020.1, Drools 7.4. 另外,本文对实验的数据进行处理,3个实验都从规则库的每个类型中随机抽取80%的规则文件进行实验,为了避免规则冲突类型分布不均匀的问题.
3.4 评价指标
冲突检测不仅要报告出2条规则是否有冲突,还要给出具体出现了哪种冲突. 为此采用精确率(precision,P)、召回率(recall,R)和F1值来作为实验的评估指标[35].
计算评价指标之前,首先需要计算多分类问题的混淆矩阵,混淆矩阵的每个元素cij(i ,j∈
\mathbb{N} )代表样本实际分类i,分类器判定分类j的计数;再计算实际属于i类型样本wi的二分混淆矩阵元素a,b,c,d;最后计算评价指标F1(wi). 其中\begin{gathered} a = \sum\limits_{i = 1}^m {{c_{ii}}} , b = \sum\limits_{i = 1}^m {\sum\limits_{l = 1,l \ne i}^m c_{il} } , c = \sum\limits_{i = 1}^m {\sum\limits_{k = 1,k \ne i}^m c_{ki} } , \\ d = \sum\limits_{k = 1,k \ne i}^m {\sum\limits_{l = 1,l \ne i}^m c_{kl} } (i\text{,}k\text{,}l\in {\mathbb{N}}). \end{gathered} R\left( {{w_i}} \right) = a/\left( {a + b} \right) \text{,} (1) P\left( {{w_i}} \right) = a/\left( {a + c} \right) \text{,} (2) \begin{gathered} F1\left( {{w_i}} \right) = \frac{{2 \times P\left( {{w_i}} \right) \times R\left( {{w_i}} \right)}}{{P\left( {{w_i}} \right) + R\left( {{w_i}} \right)}} \\ \\ \end{gathered} . (3) 实验中执行1次规则冲突检测方法,将算法得出的规则冲突结果与真实规则冲突结果采用以上评估指标进行量化.
3.5 实验结果及分析
1)问题1.与已有的冲突检测方法相比,本文的方法能检测的规则冲突类型是否更全面.
为了探究本文的方法能检测的规则冲突类型是否更全面,将本文的方法FRCD与现有的3种规则冲突检测方法对比,实验结果如表5所示. 其中FRCD检测到7种冲突,UTEA检测到3种冲突,SPIDER检测到4种冲突,IRIS检测到3种冲突.
表 5 4种方法对不同冲突类型的检测结果Table 5. Detection Results of Different Types of Conflics by Four Methods冲突类型 FRCD UTEA SPIDER IRIS 执行覆盖 √ √ √ √ 执行矛盾 √ √ √ √ 消极影响 √ √ √ √ 独占资源 √ × × × 直接忽略依赖 √ × √ × 直接循环依赖 √ △ △ × 间接循环依赖 √ △ × × 注:“√”代表方法能检测到这种冲突;“×”代表方法不能检测到这种冲突;“△”代表方法支持这种冲突类型检测,但在本次实验中没有检测到. SPIDER支持直接循环依赖,但在本次实验中没有检测到. 因为SPIDER算法是在系统进入冲突状态才检测到冲突,但本实验的物联网系统执行了这2种类型规则,将进入死锁状态,导致系统崩溃,所以这种冲突检测方法不适用.
UTEA支持直接循环依赖、间接循环依赖2种类型的冲突检测,但在本次实验中没有检测到. 因为UTEA算法是在系统进入冲突状态才检测到冲突,但本实验的物联网系统执行了直接循环依赖和间接循环依赖这2种类型规则,将进入死锁状态,导致系统崩溃,所以这2种冲突检测方法不适用.
本文通过调研和分析已有的物联网系统的规则,依据规则间的环路结构总结出直接循环依赖冲突、间接循环依赖冲突. 规则间冗余总结出执行覆盖冲突. 规则的约束条件部分描述了系统资源状态,可以总结出独占资源冲突. 规则的动作部分描述了系统执行状态可以总结出执行矛盾冲突、消极影响冲突、直接忽略依赖冲突. 针对物联网系统规则的每个部分,FRCD方法都进行了详细的冲突类型总结,因此可以得出结论,本文的方法能检测的规则冲突类型更全.
2)问题2.与已有的冲突检测方法相比,本文的方法检测结果的F1值是否更高.
为了探究本文的方法检测结果的F1值是否更高,将本文的方法FRCD与现有的3种规则冲突检测算法对比.
模拟智能会议室系统实验对比结果如表6所示,FRCD算法检测到7种冲突,覆盖了所有冲突类型,它们的F1指标均值为78.3%. UTEA检测到3种冲突:执行覆盖、执行矛盾、消极影响,它们的F1指标均值为68.6%. SPIDER检测到4种冲突:执行覆盖、执行矛盾、消极影响、直接忽略依赖,它们的F1指标均值为57.9%. IRIS 检测到3种冲突:执行覆盖、执行矛盾、消极影响,它们的F1指标均值为69.0%. 在智能会议室系统上,FRCD算法的检测效果超过了其他3种算法.
表 6 智能会议室系统不同方法的精确率、召回率和F1值结果对比Table 6. P, R and F1 Score Results Comparison of Intelligent Conference System for Different Methods% 冲突类型 FRCD UTEA SPIDER IRIS P R F1 P R F1 P R F1 P R F1 执行覆盖 81.8 90 85.7 100 80 84.2 37 90 52.6 45.5 90.9 60 执行矛盾 91.7 100 95.7 83.3 90.9 58.8 72.7 42.1 53.3 83.3 47.6 60 消极影响 100 71.4 83.3 100 91.7 62.9 100 83.3 90.9 100 76.9 87 独占资源 100 85.7 92.3 × × × × × × × × × 直接忽略依赖 35.5 91.7 51.2 × × × 50 26.7 34.8 × × × 直接循环依赖 100 47.8 64.7 △ △ △ △ △ △ × × × 间接循环依赖 100 60 75 △ △ △ × × × × × × 注:“△”代表方法支持这种冲突类型检测,但在本次实验中没有检测到;“×”代表方法不能检测到这种冲突. 模拟智能渔业系统实验对比结果如表7所示,FRCD算法检测到7种冲突,覆盖了所有冲突类型,它们的F1指标均值为90.9%. UTEA检测到3种冲突:执行覆盖、执行矛盾、消极影响,它们的F1指标均值为87.1%. SPIDER检测到4种冲突:执行覆盖、执行矛盾、消极影响、直接忽略依赖,它们的F1指标均值为63.1%. IRIS 检测到3种冲突:执行覆盖、执行矛盾、消极影响,它们的F1指标均值为77.5%. 在智能渔业船舶系统上,FRCD算法的检测效果超过了其他3种算法.
表 7 智能渔业船舶系统不同方法的精确率、召回率和F1值结果对比Table 7. P, R and F1 Score Results Comparison of Intelligent Fisher System for Different Methods% 冲突类型 FRCD UTEA SPIDER IRIS P R F1 P R F1 P R F1 P R F1 执行覆盖 100 100 100 100 81.8 90 45.5 90.9 60.6 43.5 90.9 83.3 执行矛盾 100 100 100 85.7 92.3 88.9 100 48 64.9 100 50 66.7 消极影响 88.9 80 84.2 100 70 82.4 100 70 82.4 100 70 82.4 独占资源 100 83.3 90 × × × × × × × × × 直接忽略依赖 88.9 85.7 87.3 × × × 100 28.6 44.4 × × × 直接循环依赖 100 80 88.9 △ △ △ △ △ △ × × × 间接循环依赖 100 75 85.7 △ △ △ × × × × × × 注:“△”代表方法支持这种冲突类型检测,但在本次实验中没有检测到;“×”代表方法不能检测到这种冲突. 本文进一步分析了FRCD检测效果优于其他3种方法的原因. 其中UTEA需要初始化规则的场景,而FRCD则不需要,这样可以避免为不充分的初始化场景制定而影响冲突检测效果. 并且实现了直接循环依赖、间接循环依赖2种冲突静态检测,避免系统因循环依赖的规则而进入死锁状态.
另外,FRCD算法考虑了连续的系统变量,但是SPIDER与IRIS只考虑规则中离散的系统状态. 在本文的实验案例对应的物联网系统中,存在连续的系统状态,因此对这些连续的系统状态检测是必要的.
实验分析可以得出,本文的方法检测结果的F1值更高.
3)问题3.通过逐渐删掉方法中的某一部分或某几个部分,来验证方法的有效性.
本文在模拟智能会议室系统上,通过逐一删掉表1中定义的规则交互关系进行实验. 其中RC(Ri,Rj)和OR(Ri,Rj)不参与删除,因为去掉其中任意一个会导致某种类型冲突不能检测. 实验结果如表8所示,FRCD在所有类型冲突指标都是最高的.
表 8 减少规则交互关系在不同方法F1值结果对比Table 8. F1 Score Result Comparison of Reduce Rule Interaction for Different Methods% 冲突类型 FRCD FRCD-CC FRCD-SSS FRCD-SMS FRCD-SA FRCD-DA FRCD-MV 执行覆盖 85.7 85.7 58.1 60 45.5 60 60 执行矛盾 95.7 95.7 61.1 64.7 64.7 48.9 64.7 消极影响 83.3 80 60.6 58.8 80 83.3 31.2 独占资源 92.3 92.3 63.2 40 25 83.3 63.2 直接忽略依赖 51.2 48.9 48.9 46.8 40.7 39.3 38.6 直接循环依赖 64.7 57.9 57.1 57.1 57.1 59.5 57.9 间接循环依赖 75 70.6 68.6 68.6 68.6 70.6 66.7 FRCD-CC代表去掉CC部分,它除了执行覆盖、执行矛盾、独占资源类型的评价指标不变,其他冲突类型指标都有所降低. 因为CC用来推断2条规则是否在同一个场景中触发,如果它取值为假,不会进入与其相关的冲突类型匹配,如果它取值为真,将进一步探测与其相关的冲突类型. 去掉CC部分,相当于CC取值永远为真,导致某些规则检测错误.
FRCD-SSS代表去掉SSS部分,FRCD-SMS代表去掉SMS部分,这2个实验的检测指标都有所降低. 因为这2个实验没有考虑到设备是否可以被共享,一些涉及设备并发的规则冲突无法检测,导致冲突检测指标降低.
FRCD-SA代表去掉SA部分,FRCD-DA代表去掉DA部分,这2个实验的检测指标,除了消极影响类型的评价指标不变,其他指标都有所降低. 因为这2个实验没有考虑规则全部的动作类型,SA和DA同时考虑才能构成规则动作的全集,它们只检测了一部分的动作类型,导致冲突检测指标降低.
FRCD-MV代表去掉MV部分,它的检测指标都有所降低. 因为此实验没有考虑不同规则影响到同一个属性值而造成的冲突,导致冲突检测指标降低.
实验分析可以得出,本文的方法有必要考虑所有的规则交互关系部分.
4. 总 结
本文提出了一种针对物联网系统架构中的核心部件系统控制逻辑中规则的冲突检测方法. 该方法首先对物联网系统的规则进行分析与归类,利用形式化的方法将物联网中的规则及不同的规则冲突进行建模. 针对不同的规则冲突,它们的形式化表达有所不同,从而使得不同的规则冲突能够清楚地得到检测. 然后,该方法能够对输入的物联网规则进行解析,得到规则的各种条件和动作,基于解析的结果,对这些条件进行分解,这样可以帮助简化规则条件逻辑. 最后,根据不同的规则冲突类型,检测出相应的冲突. 本文在2个物联网系统中开展的实验,与已有的3种物联网规则冲突检测方法进行对比,实验结果显示,本文方法的规则冲突检测效果,是这4种方法中最好的. 但是,本文提出的方法还存在完善的方面. 例如,物联网规则冲突类型分析还不够全面,同时算法只能报告哪些规则间存在冲突,不能给出修改成正确规则的指导建议,还缺少了规则间冲突关系可视化展示,这些都是将来有待研究的工作.
作者贡献声明:杨波提出了算法思路、实验方案和修改论文;郭浩然负责完成实验并撰写论文;冯俊辉参与实验;李戈提出实验方案并修改论文;金芝提出指导意见并修改论文.
我们将ASAP中每篇作文分数根据其所属区间分别划分为优、良、中、差4个等级,具体的类别标注方式见3.1节. -
表 1 ASAP数据集详细统计信息
Table 1 Detailed Statistics of the ASAP Dataset
提示
编号体裁 分数
范围作文
总数优的
数量良的
数量中的
数量差的
数量1 议论文 2~12 1783 472 1021 245 45 2 议论文 1~6 1800 82 778 763 177 3 依托文献文 0~3 1726 423 657 607 39 4 依托文献文 0~3 1772 254 570 636 312 5 依托文献文 0~4 1806 258 572 649 326 6 依托文献文 0~4 1800 367 817 405 211 7 记叙文 0~30 1569 96 488 717 268 8 记叙文 0~60 723 21 418 275 9 表 2 ASAP和ASAP++数据集属性信息
Table 2 Attribute Information for ASAP and ASAP++ Datasets
提示编号 体裁 属性 1 议论文 内容,组织结构,用词选择,
句子流畅度,书写规范性2 议论文 内容,组织结构,用词选择,
句子流畅度,书写规范性3 依托文献文 内容,主题依从性,
语言运用性,叙事性4 依托文献文 内容,主题依从性,
语言运用性,叙事性5 依托文献文 内容,主题依从性,
语言运用性,叙事性6 依托文献文 内容,主题依从性,
语言运用性,叙事性7 记叙文 内容,组织结构,书写规范性 8 记叙文 内容,组织结构,用词选择,
句子流畅度,书写规范性表 3 不同方法在ASAP数据集上的分类结果比较
Table 3 Comparison of Classification Results of Different Methods on the ASAP Dataset
方法 提示 1 提示2 提示3 提示4 提示5 提示6 提示7 提示8 平均值 Hi-att 0.2657 0.1188 0.1622 0.4439 0.4272 0.1728 0.3544 0.1962 0.2677 Hi-att-POS 0.2709 0.2145 0.4272 0.5378 0.4872 0.4378 0.3838 0.2115 0.3713 DANN 0.5113 0.5101 0.3731 0.3667 0.5701 0.5354 0.4700 0.3444 0.4601 MAN 0.4955 0.5080 0.4932 0.4938 0.5687 0.5419 0.5003 0.3022 0.4880 PAES 0.4694 0.5657 0.5108 0.6066 0.6816 0.5537 0.5354 0.2743 0.5247 CTS 0.5069 0.5699 0.4985 0.6199 0.6952 0.5645 0.5658 0.2743 0.5369 ProTACT 0.5164 0.5835 0.4705 0.6483 0.7045 0.5711 0.5537 0.3259 0.5467 CAJL(本文) 0.4985 0.6184 0.6263 0.7032 0.7487 0.5364 0.5688 0.3509 0.5814 表中粗体表示最好的结果,带下划线的为次好的结果. 表 4 不同方法在ASAP数据集上的回归结果的比较
Table 4 Comparation on Regression Results of Different Methods on ASAP Dataset
方法 提示1 提示2 提示3 提示4 提示5 提示6 提示7 提示8 平均值 PAES 0.7803 0.6038 0.5828 0.5669 0.6841 0.5465 0.6080 0.3953 0.5960 CTS 0.7901 0.6012 0.5950 0.5703 0.7010 0.5490 0.6202 0.4007 0.6034 ProTACT 0.7923 0.6081 0.6045 0.5834 0.7239 0.5413 0.6237 0.3905 0.6085 CAJL(本文) 0.7816 0.6088 0.6098 0.5758 0.7354 0.5470 0.6221 0.4227 0.6129 表中粗体表示最好的结果,带下划线的为次好的结果. 表 5 不同方法在所有提示上的属性评分结果比较
Table 5 Comparison on Attribute Score of Different Methods for All Prompts
模型 总分 内容 组织
结构单词
选择句子
流畅性规范
性主题
依从度语言
规范性叙事性 平均值 CTS 0.6034 0.4607 0.3771 0.5010 0.5385 0.4222 0.5415 0.4597 0.5759 0.4978 ProTACT 0.6085 0.4728 0.4039 0.4626 0.5451 0.4381 0.5473 0.4743 0.5659 0.5021 CAJL(本文) 0.6129 0.4847 0.4331 0.5217 0.5509 0.4263 0.5483 0.4741 0.5728 0.5138 表中粗体表示最好的结果,带下划线的为次好的结果. 表 6 模型关键模块对评分结果的影响
Table 6 The Effects of Key Components of the CAJL on Regression Score
方法 提示1 提示2 提示3 提示4 提示5 提示6 提示7 提示8 平均值 CAJL(完整) 0.7816 0.6088 0.6098 0.5758 0.7354 0.5470 0.6221 0.4227 0.6129 移除分类任务 0.7901 0.6012 0.5950 0.5703 0.7010 0.5490 0.6202 0.4007 0.6034 移除对抗训练 0.7648 0.5874 0.6029 0.5791 0.7017 0.5451 0.6243 0.4431 0.6061 采用BERT作为特征提取器 0.7778 0.6345 0.6241 0.5791 0.7298 0.5834 0.7321 0.6570 0.6647 表中粗体表示最好的结果. -
[1] Ke Z, Ng V. Automated essay scoring: A survey of the state of the art [C] //Proc of the 28th Int Joint Conf on Artificial Intelligence. Palo Alto, CA: IJCAI, 2019: 6300−6308
[2] 丁革建,刘畅. 作文自动评分技术综述[J]. 计算机应用,2022,42(S1):386−390 Ding Gejian, Liu Chang. Survey of automated essay scoring technology[J]. Journal of Computer Applications, 2022, 42(S1): 386−390 (in Chinese)
[3] Page E B. The imminence of grading essays by computer[J]. The Phi Delta Kappan, 1966, 47(5): 238−243
[4] Landauer T K. Automated scoring and annotation of essays with the intelligent essay assessor [J]. Automated essay scoring: A cross-disciplinary perspective, 2003: 87−112
[5] Attali Y, Burstein J. Automated essay scoring with e-rater V. 2[J]. Journal of Technology, Learning, and Assessment, 2006, 4(3): 1−30
[6] Kim Y. Convolutional neural networks for sentence classification [C] // (EMNLP). Stroudsburg, PA: ACL, 2014: 1746−1751
[7] Yang Zichao, Yang Diyi, Dyer C, et al. Hierarchical attention networks for document classification [C] //Proc of the 2016 Conf of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: ACL, 2016: 1480−1489
[8] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in Neural Information Processing Systems, 2017, 30: 5998−6008
[9] Cao Yue, Jin Hanqi, Wan Xiaojun, et al. Domain-adaptive neural automated essay scoring [C] //Proc of the 43rd Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2020: 1011−1020
[10] Li Xia, Chen Minping, Nie Jianyun. SEDNN: Shared and enhanced deep neural network model for cross-prompt automated essay scoring[J]. Knowledge-Based Systems, 2020, 210: 106491 doi: 10.1016/j.knosys.2020.106491
[11] Song Wei, Zhang Kai, Fu Ruiji, et al. Multi-stage pre-training for automated Chinese essay scoring [C] //Proc of the 2020 Conf on Empirical Methods in Natural Language Processing (EMNLP). Stroudsburg, PA: ACL, 2020: 6723−6733
[12] Ridley R, He Liang, Dai Xinyu, et al. Automated cross-prompt scoring of essay traits [C] //Proc of the 35th Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2021: 13745−13753
[13] Chen Yuan, Li Xia. PMAES: Prompt-mapping contrastive learning for cross-prompt automated essay scoring [C] //Proc of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2023: 1489−1503
[14] Ridley R, He Liang, Dai Xinyu, et al. Prompt agnostic essay scorer: A domain generalization approach to cross-prompt automated essay scoring [J]. arXiv preprint, arXiv: 2008.01441, 2020
[15] Ganin Y, Ustinova E, Ajakan H, et al. Domain-adversarial training of neural networks[J]. Journal of Machine Learning Research, 2016, 17(59): 1−35
[16] Chen Xinyang, Wang Sinan, Wang Jianmin, et al. Representation subspace distance for domain adaptation regression [C] //Proc of the 38th Int Conf on Machine Learning. New York: ACM, 2021: 1749−1759
[17] Mathias S, Bhattacharyya P. ASAP++: Enriching the ASAP automated essay grading dataset with essay attribute scores [C] //Proc of the 11th Int Conf on Language Resources and Evaluation (LREC 2018). Stroudsburg, PA: ACL, 2018: 1169−1173
[18] Larkey L S. Automatic essay grading using text categorization techniques [C] //Proc of the 21st Int 47th ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 1998: 90−95
[19] Uto M, Xie Yikuan, Ueno M. Neural automated essay scoring incorporating handcrafted features [C] //Proc of the 28th Int Conf on Computational Linguistics. Stroudsburg, PA: ACL, 2020: 6077−6088
[20] 彭星源,柯登峰,赵知,等. 基于词汇评分的汉语作文自动评分[J]. 中文信息学报,2012,26(2):102−108 Peng Xingyuan, Ke Dengfeng, Zhao Zhi, et al. Automated Chinese essay scoring based on word scores[J]. Journal of Chinese Information Science, 2012, 26(2): 102−108 (in Chinese)
[21] Taghipour K, Ng H T. A neural approach to automated essay scoring [C] //Proc of the 2016 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2016: 1882−1891
[22] Alikaniotis D, Yannakoudakis H, Rei M. Automatic text scoring using neural networks [C] //Proc of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2016: 715−725
[23] 王耀华,李舟军,巢文涵,等. 基于文本语义离散度的自动作文评分关键技术研究[J]. 中文信息学报,2016,30(6):173−181 Wang Yaohua, Li Zhoujun, Chao Wenhan, et al. Research on key technology of automatic essay scoring based on text semantic dispersion[J]. Journal of Chinese Information Science, 2016, 30(6): 173−181 (in Chinese)
[24] Tay Y, Phan M C, Tuan L A, et al. SKIPFLOW: Incorporating neural coherence features for end-to-end automatic text scoring [C] //Proc of the 32nd Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2018: 5948−5955
[25] 付瑞吉,王栋,王士进,等. 面向作文自动评分的优美句识别[J]. 中文信息学报,2018,32(06):88−97 Fu Ruiji, Wang Dong, Wang Shijin, et al. Elgart sentence recognition for automated essay scoring[J]. Journal of Chinese Information Science, 2018, 32(06): 88−97 (in Chinese)
[26] 周险兵,樊小超,任鸽,等. 基于多层次语义特征的英文作文自动评分方法[J]. 计算机应用,2021,41(08):2205−2211 Zhou Xianbing, Fan Xiaochao, Ren Ge, et al. Automated English essay scoring method based on multi-level semantic features[J]. Journal of Computer Applications, 2021, 41(08): 2205−2211 (in Chinese)
[27] Dong Fei, Zhang Yue, Yang Jie. Attention-based recurrent convolutional neural network for automatic essay scoring [C] //Proc of the 21st Conf on Computational Natural Language Learning. Stroudsburg, PA: ACL, 2017: 153−162
[28] Xie Jiayi, Cai Kaiwei, Kong Li, et al. Automated essay scoring via pairwise contrastive regression [C] //Proc of the 29th Int Conf on Computational Linguistics. Stroudsburg, PA: ACL, 2022: 2724−2733
[29] Lin Szu-Yin, Kung Yun-Chi, Leu Fang-Ye. Predictive intelligence in harmful news identification by BERT-based ensemble learning model with text sentiment analysis[J]. Information Processing & Management, 2022, 59(2): 102872
[30] Rodriguez P U, Jafari A, Ormerod C M. Language models and automated essay scoring [J]. arXiv preprint, arXiv: 1909.09482, 2019
[31] Briskilal J, Subalalitha C N. An ensemble model for classifying idioms and literal texts using BERT and RoBERTa[J]. Information Processing & Management, 2022, 59(1): 102756
[32] Yang Ruosong, Cao Jiannong, Wen Zhiyuan, et al. Enhancing automated essay scoring performance via fine-tuning pre-trained language models with combination of regression and ranking [C]//Proc of the 58th Association for Computational Linguistics. Stroudsburg, PA: ACL, 2020: 1560−1569
[33] Ormerod C M, Malhotra A, Jafari A. Automated essay scoring using efficient transformer-based language models[J]. arXiv preprint, arXiv: 2102.13136, 2021
[34] Sethi A, Singh K. Natural language processing based automated essay scoring with parameter-efficient transformer approach [C] //Proc of the 6th Int Conf on Computing Methodologies and Communication (ICCMC). Piscataway, NJ: IEEE, 2022: 749−756
[35] 于明诚,党亚固,吴奇林,等. 基于多尺度上下文的英文作文自动评分研究[J]. 计算机工程,2024,50(3):259−266 Yu Mingcheng, Dang Yagu, Wuqilin, et al. Research on automatic scoring for English essay based on multi-scale context[J]. Journal of Computer Engineering, 2024, 50(3): 259−266 (in Chinese)
[36] Jin Cancan, He Ben, Hui Kai, et al. TDNN: A two-stage deep neural network for prompt-independent automated essay scoring [C] //Proc of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2018: 1088−1097
[37] Do H, Kim Y, Lee G G. Prompt-and Trait Relation-aware Cross-prompt Essay Trait Scoring[C] //Proc of the 61st Association for Computational Linguistics. Stroudsburg, PA: ACL. 2023: 1538−1551
[38] Farahani A, Voghoei S, Rasheed K, et al. A brief review of domain adaptation [J/OL]. Advances in Data Science and Information Engineering, 2021: 877−894 [2021-10-30]. https://link.springer.com/chapter/10.1007/978-3-030-71704-9_65
[39] Wang Jindong, Lan Cuiling, Liu Cang, et al. Generalizing to unseen domains: A survey on domain generalization[J]. IEEE Transactions on Knowledge and Data Engineering, 2022, 35(8): 35−147
[40] Li Haoliang, Pan S J, Wang Siqi, et al. Domain generalization with adversarial feature learning [C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2018: 5400−5409
[41] Matsuura T, Harada T. Domain generalization using a mixture of multiple latent domains [C] //Proc of the 34th Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2020: 11749−11756
[42] Zhu Kaijie, Hu Xixu, Wang Jindong, et al. Improving generalization of adversarial training via robust critical fine-tuning [C] //Proc of the IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2023: 4424−4434
[43] Singh N D, Croce F, Hein M. Revisiting adversarial training for imagenet: Architectures, training and generalization across threat models[J]. Advances in Neural Information Processing Systems, 2024, 36: 1−14
[44] 封筠,史屹琛,高宇豪,等. 二次解耦与活体特征渐进式对齐的域自适应人脸反欺诈[J]. 计算机研究与发展,2023,60(8):1727−1739 Feng Jun, Shi Yichen, Gao Yuhao, et al. Domain adaptation for face anti-spoofing based on dual disentanglement and liveness feature progressive alignment[J]. Journal of Computer Research and Development, 2023, 60(8): 1727−1739 (in Chinese)
[45] Chen Xilun, Cardie C. Multinomial adversarial networks for multi-domain text classification [C] //Proc of the 2018 Conf of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). Stroudsburg, PA: ACL, 2018: 1226−1240
-
期刊类型引用(0)
其他类型引用(3)