水产动物疾病是影响水产养殖业健康发展的主要因素之一,疾病防治是提升水产养殖水平的关键[1]。水产动物疾病症状复杂、扩散迅速且可能引发其他健康问题,有效的防治措施依赖于对专业知识的深入理解和灵活运用[2]。
知识图谱(knowledge graphs,KGs)是显示知识发展进程与结构关系的异构图,其以结构化的形式描述客观世界中实体及实体间关系,以组织、管理、理解和利用信息[3]。知识图谱中丰富的实体和关系信息能够补充用户和项目的关系建模,以提供更精确的建议[4]。为提高水产动物疾病防治措施推荐的准确性,有研究将水产动物疾病防治措施知识图谱通过知识感知推荐(knowledge-aware recommendation)的方法引入推荐系统[5]。
近年来,渔业领域的信息抽取、命名实体识别方法相继被提出。刘巨升等[6]采用“分层思想”设计CaBiLSTM模型进行嵌套实体识别,引入基于变换器的双向编码器表示 (bidirectional encoder representation from transformers,BERT)模型增添实体位置信息,提升了水产动物疾病诊治命名实体识别准确率。沙明洋等[7]将动态权重思想引入多模型集成的事件抽取方法,有效解决了水产动物疾病防治事件抽取中专有名词模糊和实体长度过长及长尾分布问题。姜鑫[8]针对实体关系抽取中错误传播等问题,提出了水产动物疾病实体关系联合抽取方法。宋奇书等[9]在BiRTE模型基础上引入RoBERTa编码器,提升了养殖标准文本抽取的准确性。孙哲涛等[10]针对表格结构多样、表头位置不固定的问题,提出结合规则和深度学习的渔业标准表格信息抽取方法。刘巨升等[11]使用多核卷积神经网络提取嵌套实体特征,提高了水产医学嵌套命名实体识别准确率。上述针对渔业知识图谱的研究虽取得了较好成效,但知识范围仅局限于事件或标准本身,并未根据具体应用场景进行拓展。
基于图神经网络(graph neural networks,GNN)的知识感知推荐方法建立在GNN信息聚合机制上,将多跳邻居集成到节点表示以捕获节点特征和图结构,从而建模远程连接。Wang等[12]提出知识图卷积网络 (knowledge graph convolutional networks,KGCN)和Wang等[13]提出KGNN-LS,利用图卷积网络(graph convolutional network,GCN)[14]迭代聚合项目邻域信息以获得项目嵌入;Wang等[15]提出知识图注意力网络 (knowledge graph attention network,KGAT),将用户-项目交互图与知识图结合为异构图,使用GCN递归聚合;Wang等[16]提出基于知识图谱的意图网络 (knowledge graph-based intent network,KGIN),在意图层面为用户-项目交互建模,揭示了KG交互背后的用户意图,并组合KG和交互,在用户-项目-实体图上执行GNN。基于GNN的方法通常采用监督学习的模式训练模型,依赖于原有交互信息,难以应用到新的推荐场景中。
针对交互数据和知识图谱不平衡的问题,通常采用对比学习、引入额外信号和偏好建模的方法。基于对比学习的方法通过学习知识图谱和交互数据中相似和不同之处来缓解信息不平衡的问题。知识图谱自监督合理化推荐 (knowledge graph self-supervised rationalization for recommendation,KGRec) 对知识和交互信息语义对齐,进一步整合交互对知识图学习的影响[17];面向知识感知推荐系统的多层次跨视图对比学习 (multi-level cross-view contrastive learning for knowledge-aware recommender system,MCCLK),在全局视图和局部视图上以细粒度改进KG[18];多层次交互对比学习知识感知推荐 (knowledge-aware recommendation with multi-level interactive contrastive learning,KGIC)通过图内级对比学习平衡对知识图谱和交互数据的信息利用,以平衡二者对表示学习的影响[19]。但由于缺乏冷启动用户或项目的交互数据,往往难以构建完整对比视图,无法有效解决冷启动推荐问题。基于知识图谱的时间感知路径推理推荐 (time-aware path reasoning on knowledge graph for recommendation,TPRec) 引入交互时间信号以推理知识图谱,从时间戳推断出丰富模式[20]。这种方法利用时间信息提供可解释性更高的推荐,但其训练和预测均依赖于数据的特殊性,不具备普适性。交互信息在一定程度上反映用户偏好,因此可通过用户-项目历史交互聚合结果表示不同用户或项目对知识传播的不同影响程度,以提升个性化推荐效果。基于知识图谱的元学习 (meta-learning on knowledge graph,MetaKG) 在冷启动场景中先局部聚合用户偏好,再针对不同用户进行全局泛化知识表示[21];DCRAN以关系感知注意力网络衡量知识三元组对目标用户和项目的不同贡献[22];协同引导的知识感知图卷积网络 (knowledge-aware graph convolutional networks with collaborative guidance,CG-KGR) 通过五元组(,i,r,e)使用交互信息指导知识提取过程[23];基于协同信号的知识图注意力网络 (collaborative signal knowledge graph attention network,CKGAN) 使用图注意力网络动态建模用户表示[24]。
本研究中构建融合水产动物疾病和用户信息的知识图谱,以减轻模型对交互信息的依赖程度、缓解推荐数据稀疏的问题,并提出一种基于协同指导信号的知识感知推荐模型(knowledge-aware recommendation model based on collaborative guidance signal,KRCGS),基于图神经网络聚合知识和交互信息、缓解知识结构复杂的问题,最后进行试验验证,以期提高水产动物疾病防治措施推荐效率,促进水产健康养殖发展。
为保证采集数据的全面性和多样性,从《淡水鱼病防治彩色图说》[25]等专业书籍和水生动物疾病远程辅助诊断服务网[26]等专业网络平台中获取9万余字的文本语料,经过去重筛选处理得到涵盖318种疾病的水产动物疾病防治措施语料库。由于水产动物疾病相关推荐模型数据集及推荐系统较少,为保证交互数据真实性,使用《2021年国家水生动物疫病监测和调查阴性养殖场名单》[27]构建用户数据集和用户-疾病交互数据集,其中包括1 051条用户信息和2 122条用户-疾病交互记录。此外,为丰富用户特征,从爱企查等商业信息公开网站中收集更详细的数据以补充用户基本信息。
对水产动物疾病防治措施语料库的内容进行分析,筛选出疾病类别等13个特征,其中病原、危害对象和流行情况可进一步细分;对用户数据集的内容进行分析,筛选养殖场名称等8个特征,其中养殖物种可进一步细分。疾病和用户的特征层次如图1所示,其中存在重叠部分,因此可将二者知识进行融合。通过使用文本分类、正则表达式等方法对语料库内容进行处理,分别提取出疾病特征和用户特征的具体内容,用于构建知识图谱。
图1 水产动物疾病和用户的特征层次
Fig.1 Characteristic hierarchy of aquatic animal diseases and users
对处理后的水产动物疾病防治措施语料库进行分析,并根据特征具体内容和推荐系统特点从语料库中划分出17种实体,并根据特征间的逻辑关系得到实体间的37种关系。建立病原、养殖物种等实体间的多层归属关系,形成联系更加紧密、关联程度更深的知识图谱。根据疾病和用户特征结构逻辑和语料库的文本结构特征,设计基于Neo4j图数据库[28]的自动构建程序,得到由3 108个节点(实体)和12 900条边(关系)构成的融合水产动物疾病和用户信息的知识图谱。知识图谱分布情况见表1,其中养殖场规模按照面积分为7个等级,用户年龄按照大小分为5个年龄段,从业时间按照年份分为4个时间段。实体及其之间关系的概念如图2所示,其中:Is类型的关系表示实体自身具备的特征,BelongTo类型的关系表示实体间的多层归属关系;标准物种实体仅有“物种名称”一个特征,无体长、生长阶段等其他物种特征。
表1 实体的标签及其对应实体的数量
Tab.1 Entity labels and quantities of their corresponding entities
标签 label数量 quantity疾病 disease318疾病类别 disease category36病原 pathogen527传染源 infection source42养殖物种 species cultured794并发症 complication15标签 label 数量 quantity水温 water temperature28时期或季节 period or season128水质 water quality17患病环境 sick environment47地区 region80用户 user1 051标签 label数量 quantity养殖场面积 area7用户性别 sex2用户年龄 age5教育水平 education7从业时间 years of experience4
图2 知识图谱实体及关系概念
Fig.2 Concept diagram of entities and relationships in knowledge graph
针对水产动物疾病防治措施推荐任务中存在的推荐数据稀疏、知识结构复杂问题,本模型提出两点方案。首先,将用户信息融入水产动物疾病防治措施知识,提高知识图谱完整性,同时增加用户与疾病在知识层次的关联程度;其次,聚合交互信息,形成协同指导信号[23],以指导知识聚合过程,将静态的知识聚合形成与推荐目标更相关的嵌入表示,提高知识在推荐中的针对性,从复杂知识结构中提取出丰富的深层信息。基于协同指导信号的水产动物疾病防治措施知识感知推荐模型结构如图3所示。
图3 基于协同指导信号的水产动物疾病防治措施知识感知推荐模型结构
Fig.3 Structure of KRCGS model for aquatic animal disease prevention and treatment measures
KRCGS主要由4个部分组成:交互信息聚合层、协同指导信号编码层、协同指导信号指导的知识聚合层和模型预测与优化。图中vu和vi分别表示用户和疾病的向量嵌入,用户-疾病交互可用二部图表示,即{(u,r*,i)|u∈U,i∈I},其中U和I分别表示用户和疾病的集合,r*表示用户和疾病之间的交互关系;知识图谱定义为{(e1,r,e2)|e1,e2∈E,r∈R},表示关系r连接实体e1和实体e2,其中E和R分别表示实体和关系的集合,每个用户和疾病对应知识图谱中的一个实体,即U⊆E,I⊆E。
交互信息聚合层在用户-疾病交互二部图中分别以用户和疾病为中心将其抽样邻接顶点的嵌入聚合,再聚合自身嵌入。引入协同注意力以区分用户和疾病的不同交互对象对其交互嵌入的不同重要性。
1)协同注意力。协同注意力π(u,i)取决于用户、疾病及其之间的交互关系,自适应吸收用户或疾病历史交互记录中的信息。对于用户u和疾病i之间的目标交互对(u,i),用户u的协同注意力π(u,i)及其通过softmax归一化的结果
计算公式为式中:vu,vi∈Rd为用户u和疾病i的d维嵌入;Mr*∈Rd×d为关系r*的变换矩阵,提供对用户-疾病交互关系在嵌入空间中的描述;SUI(u)表示用户-疾病交互二部图中由用户u及其抽样邻居i′(历史交互疾病)以及它们之间的边组成的子图。
将整个用户-疾病交互二部图输入到图卷积网络通常会带来较高的计算开销。因此,为提高训练效率,在每个epoch中对用户u或疾病i的一阶邻居进行固定大小的随机抽样,构成用于训练的子图SUI(u)或SUI(i)。疾病i的协同注意力在SUI(i)上进行归一化操作,计算方法与
类似。
2)用户的交互信息聚合。根据用户-疾病交互二部图,聚合用户的历史交互疾病以表示其交互信息。以用户u为中心的交互图SUI(u)的嵌入表示vSUI(u)本质上是SUI(u)中u邻域的线性组合,计算公式为
式中:i′表示SUI(u)中用户u的邻接顶点,vi′为i′的嵌入表示。
为提升信息传播中自注意力机制的数值稳定性,将普通单头协同注意力扩展到平均多头协同注意力,即取并行计算H次单头注意力的平均值,重新定义的vSUI(u)计算公式为
式中:
为第h个归一化系数。
3)疾病的交互信息聚合。与用户的交互信息聚合过程类似,以疾病i为中心的交互图SUI(i)的嵌入表示vSUI(i)计算公式为
式中:u′表示SUI(u)中疾病i的邻接顶点,
为多头协同注意力的第h个归一化系数。
4)嵌入聚合与更新。使用函数g(·,·):Rd×Rd→Rd聚合用户u和疾病i及其邻域的嵌入表示,迭代更新节点嵌入,每次迭代更新嵌入计算公式为
式中:
和
分别表示用户u和疾病i在d×d维空间中的更新嵌入表示。
使用3种不同类型的聚合器g(v1,v2)实现两个输入嵌入v1和v2的聚合:sum聚合函数取两个输入的和,concat聚合函数将两个嵌入连接起来,neighbor直接用输入嵌入v2更新输出表示,最后进行非线性变换。3种聚合器计算公式为
gsum=σ(W×(v1+v2)+b),
(7)
gconcat=σ(W×[v1‖v2]+b),
(8)
gneighbor=σ(W×v2+b)。
(9)
式中:W和b为可训练的权值和偏置值;σ为非线性激活函数,此处为双曲正切函数tanh。
在聚合用户和疾病交互信息的基础上,进一步将其编码为协同指导信号
该信号为用户和疾病的知识聚合过程提供指导,以形成与推荐目标更相关且匹配度更高的知识嵌入表示。使用4种不同类型的编码器
将用户u和疾病i的更新嵌入
和
编码为协同指导信号:sum编码器取和,mean编码器取平均值,Pairwise-max编码器取最大值,Linear Combination编码器取线性组合,计算公式为
协同指导信号指导的知识聚合层分别以用户和疾病在知识图谱中对应的实体为中心,迭代聚合并更新节点嵌入,再聚合自身嵌入以更新知识嵌入。知识聚合的过程引入协同指导信号的知识感知注意力,以区分不同用户或疾病对知识的不同关注度及实体间不同关系对中心节点知识嵌入的不同重要性。
1)协同指导信号的知识感知注意力。知识感知注意力取决于协同指导信号和实体间的关系。给定知识图谱三元组(i,r,e)及用户u和疾病i之间的目标交互对(u,i),其中e是通过关系r与疾病i相关联的实体。融合目标对(u,i)协同指导信号的自定义变换矩阵
可以同时捕获关系r及u与i的交互信息,其计算公式为
式中:f(·,·)∈Rd为协同指导信号编码层获得的用户与疾病交互的指导信号,⊙表示具有广播机制的元素积,Mr∈Rd×d为关系r的变换矩阵,提供对实体之间的关系在d×d维空间中的描述。
归一化系数
表示目标交互对(u,i)指导下KG三元组的相对信息量,三元组(i,r,e)知识感知注意力及其softmax归一化的结果
计算公式为式中:*∈{u,i},SKG(u)和SKG(i)分别表示用户u和疾病i对应KG实体的抽样邻居集,
和
分别表示用户u和疾病i对应KG实体所在三元组的归一化知识感知注意力。
2)高阶知识抽取。在知识提取过程中叠加更多跳数,抽取高阶知识并将其传播到用户或疾病中,进一步丰富用户和疾病的嵌入表示,从而提高推荐性能。以用户或疾病的对应KG实体为中心,通过固定大小的随机抽样在知识图谱的每一跳中收集KG实体,生成一个边位于连续跳的多跳子图,如长度为L的路径:u/i→r1→e1→r2→…→rL→eL,其中el∈E,r1∈R,(el-1,rl,el)为该路径上的第l个KG三元组;整数l>0,若l=0,则el-1=i。沿着这些路径收集远端信息,进一步扩展知识感知范围。在目标对(u,i)协同指导信号的指导下,l层深度的KG三元组(el-1,rl,el)未归一化的知识感知注意力计算公式为
式中:vel-1为实体el-1的唯一嵌入,用于记录el-1的初始信息。
实体el-1的邻居集SKG(el-1)的嵌入计算公式为
![]()
el-1,rl,el)vel。
(18)
式中:知识三元组(el-1,rl,el)从用户u或疾病i开始探索,即若l=1,则
或
相当于一阶相邻实体的嵌入。
重用公式(6)聚合并更新实体el-1的嵌入表示,选择ReLU作为非线性激活函数,计算公式为
3)知识提取与聚合。基于目标对(u,i)计算用户u或疾病i相邻实体的知识嵌入,计算公式为
通过高阶知识抽取聚合知识信息,最后重用公式(6)并以双曲正切函数tanh为激活函数,整合协同信息聚合层得到的交互信息,用户u或疾病i的总体嵌入表示计算公式为
式中:
和
分别表示用户u和疾病i相邻实体的嵌入表示。
内积由于其对用户-项目交互的简单有效建模,被广泛应用于基于嵌入的推荐模型中。在推荐模型的排序阶段,选择
得分最高的项目i推荐给用户u。基于学习到的目标用户-疾病对(u,i)的嵌入,使用内积估计它们的匹配分数,计算公式为
设
表示用户u的正交互项集,即
表示用户u的负采样集,即
为有效优化模型训练,设置
模型训练的每次迭代动态更新
和
损失函数计算公式为
L=
λ
。
(23)
式中:T为交叉熵损失项,Θ为可训练的模型参数和嵌入的集合,
为λ参数化的L2正则化器,用于避免过拟合。
试验使用计算机90 GB内存,12核Intel Xeon Platinum CPU @2.10 GHz,GPU GEFORCE GTX 4090ti,50 GB硬盘;运行环境是Tensorflow 1.15.5框架、Python 3.8和Cuda 11.4,Ubuntu 20.04系统。为保证试验稳定性,分别进行5次数据集划分,每次划分训练集、验证集和测试集的比例为6∶2∶2,得到包含1 274条数据的训练集及424条数据的验证集和测试集。3个数据集之间均无重叠,且验证集和测试集均通过随机抽样获得,其数据分布与训练集相似,可作为推荐的评价指标。
在Top-k推荐和点击率 (click-through rate) 预测两种推荐模式下分别进行消融试验和对比试验,以评估模型的训练效果;通过分析疾病覆盖度对疾病冷启动推荐进行评估。
1)Top-k推荐。Top-k推荐使用训练好的预测模型对
得分最高的每个用户的k个项目进行排名。采用召回率(recall,R)和归一化折损累计增益(normalized discounted cumulative gain,NDCG)作为评价指标[29],其中NDCG用于评估排序结果,计算公式为
R=TP/(TP+FN)×100%,
(24)
式中:nDCGk表示基于向用户u推荐的k个疾病的归一化折损累计增益评估;
表示用户u与疾病i的相关性系数,即匹配分数;|RELk|表示向用户u推荐的k个疾病按
由小到大排序得到的结果。
2)CTR预测。CTR预测常用于评估用户对推荐项目的感兴趣程度[30]。通过sigmoid函数将
映射到[0,1]之间,然后以0.5的阈值将点击率分配给1或0。采用AUC(area under curve)和F1值作为评价指标[31],计算公式为
F1=(2×P×R)/(P+R)×100%。
(27)
式中:M和N分别为数据集中正、负样本的数量,即用户历史交互疾病的数目和用户历史无交互疾病的数目,Pp和Pn分别为正、负样本与用户的匹配分数,P为准确率,R为召回率。
3)冷启动疾病的推荐。推荐系统的冷启动问题指的是系统由于缺乏历史数据,难以为新的用户或项目提供个性化推荐[32]。为验证模型的冷启动疾病推荐效果,计算冷启动疾病数量在推荐结果中的占比,计算公式为
Pcold-start=IC/IN。
(28)
式中:IC表示推荐结果中冷启动疾病(即交互数据集中未出现的疾病)数量,IN表示疾病总数量。
通过反复试验确定模型的参数,参数设置见表2。其中包括对模型效果影响较大的参数,如迭代次数过多会浪费大量时间和计算资源,并导致模型训练效果下降;批处理尺寸较大容易导致模型收敛在局部最优点,过小则易使模型跳出鞍点;学习率过高可能导致损失值Loss无法收敛,学习率过低可能导致收敛较慢或梯度损失。
表2 KRCGS模型参数设置
Tab.2 Parameter setting of KRCGS model
参数 parameter数值 value学习率 learning rate0.003迭代次数 number of epoch80批处理尺寸 batch size32L2正则化中的λ l2 weight0.000 01嵌入空间的维度 dimension of node64节点的最大取样邻居数目 sample size8多头注意力中的 head数 number of head8高阶知识抽取的取样层数 number of layer4聚合器类型 type of aggregatorngh编码器类型 type of encodercombine
为验证用户知识图谱的融合、协同指导信号指导下的知识聚合和高阶知识抽取对水产动物疾病防治措施推荐的有效性,设计了消融试验,设置提出模型KRCGS的3个变体作为对照模型:KRCGSw/o UKG表示仅聚合疾病知识图谱的模型变体,即在完整模型的基础上去除用户知识图谱聚合层;KRCGSw/o UCG表示无协同信号指导用户知识聚合的模型变体;KRCGSw/o UAE表示仅抽取单层知识的模型变体,即在完整模型的基础上取消高阶知识抽取机制。在Top-k推荐和CTR预测两种模式下分别进行消融试验,比较模型的推荐效果。
由于用户-疾病交互数据集规模较小,通过在{1,3,5,7,10}中改变K来评估推荐效果。所有模型的Recall@K和NDCG@K结果见表3,下划线表示次优结果,黑体表示最优结果。试验结果表明,除K=5时KRCGSw/o UAE表现优于完整模型外,完整模型的推荐效果均达到最高水平,说明蕴含用户信息的知识图谱和协同信号指导用户知识聚合均对提升推荐效果具有积极作用。当K=5时,KRCGSw/o UAE的Recall和NDCG均高于完整模型,说明单层知识抽取能更精准地按顺序推荐前5个疾病;但当K小于5或大于5时,KRCGSw/o UAE表现为次优或更差,说明KRCGSw/o UAE的推荐准确度和稳定性均不及完整模型。因此,具备高阶知识抽取机制的KRCGS更适合水产动物疾病防治措施推荐的实际应用场景。
表3 Top-k推荐的Recall@K和NDCG@K结果
Tab.3 Recall@K and NDCG@K results for Top-k recommendation
模型model召回率@1Recall@1归一化折损累计增益@1NDCG@1召回率@3Recall@3归一化折损累计增益@3NDCG@3召回率@5Recall@5归一化折损累计增益@5NDCG@5召回率@7Recall@7归一化折损累计增益@7NDCG@7召回率@10Recall@10归一化折损累计增益@10NDCG@10w/o UKG46.0052.6775.3364.8976.3365.2280.4468.5680.4468.56w/o UCG61.7866.0090.8980.0490.8980.0491.2280.1492.2280.37w/o UAE59.5666.0089.3377.9394.2282.1792.7878.9094.4479.64KRCGS63.5670.0093.4483.2291.6781.6592.8382.0094.8382.43
CTR预测的AUC和F1值结果见表4。相比于对照模型,完整模型在AUC和F1值的度量下均实现了性能提升,分别提高了0.02%和0.39%。在对照模型中,KRCGSw/o UKG、KRCGSw/o UCG和KRCGSw/o UAE 3个变体的CTR预测效果依次提升,说明用户知识图谱、协同指导信号和高阶知识抽取对CTR预测效果提升的影响依次增强。
表4 CTR预测任务的AUC和F1值结果
Tab.4 AUC and F1-score results for CTR prediction %
模型 modelAUCF1w/o UKG87.9859.17w/o UCG95.9469.61w/o UAE96.4175.54KRCGS96.4375.93
为验证KRCGS模型在水产动物疾病防治措施推荐中的有效性,以KGIN[13]、KGIC[16]、MCCLK[15]和KGRec[14]4个先进模型为对照模型设计了对比试验。使用融合水产动物疾病和用户信息的知识图谱和用户-疾病交互数据集,分别在Top-k推荐和CTR预测两种模式下进行对比试验。
通过在{1,3,5,7,10}中改变K来评估Top-k推荐的效果,所有模型的Recall@K和NDCG@K结果分别见表5,试验结果表明,当K=1、K=3、K=5、K=7时,提出模型与次优结果相比,Recall分别提高了10.63、20.68、4.45和0.61个百分点,NDCG分别提高了10.23、16.54、10.07和7.78个百分点;当K=10时,提出模型的NDCG比次优结果高5.94个百分点,Recall的最优和次优结果分别是KGIC和MCCLK,这说明基于对比学习的模型可以相对准确地预测出用户最关心的前10个疾病,且能够在一定程度上缓解训练数据稀疏造成的推荐效果下降问题,但在对候选疾病排序时,KGIC和MCCLK的表现均不如KRCGS。对比试验的结果表明,随着K值的增加,KRCGS与对照模型相比始终具有竞争力。因此,KRCGS模型性能的提升总体上是稳定且显著的,更适用于交互数据稀疏、知识复杂冗余的水产动物疾病防治措施推荐任务。
表5 Top-k推荐的Recall@K和NDCG@K结果
Tab.5 Recall@K and NDCG@K results for Top-k recommendation
模型model召回率@1Recall@1归一化折损累计增益@1NDCG@1召回率@3Recall@3归一化折损累计增益@3NDCG@3召回率@5Recall@5归一化折损累计增益@5NDCG@5召回率@7Recall@7归一化折损累计增益@7NDCG@7召回率@10Recall@10归一化折损累计增益@10NDCG@10KGIN52.9359.7770.5466.0377.2168.9079.6569.7984.8171.44KGIC39.4450.0071.1161.7087.2268.8592.2270.7798.8973.02MCCLK44.2558.2972.7666.6884.3771.5891.4774.2298.3176.49KGRec46.6752.7966.9861.1975.5264.9980.1266.6887.0068.88KRCGS63.5670.0093.4483.2291.6781.6592.8382.0094.8382.43
CTR预测的AUC和F1值结果见表6。相比于对照模型,提出模型在AUC和F1值的度量下均实现了有效且显著的性能改进,分别比次优结果提高了6.30%和12.95%。CTR预测的试验结果表明,KRCGS模型在针对水产动物疾病防治措施推荐的点击率预测任务上同样具有竞争力。
表6 CTR预测任务的AUC和F1值结果
Tab.6 AUC and F1-score results for CTR prediction %
模型 modelAUCF1KGIN81.7256.14KGIC90.1359.83MCCLK79.9462.98KGRec81.3049.54KRCGS96.4375.93
由于训练模型使用的用户-疾病交互数据集仅覆盖了17种水产动物疾病,存在严重的数据稀疏问题,而知识图谱中包含318种水产动物疾病,大部分疾病未出现在交互数据集中,导致推荐过程中产生疾病冷启动问题。在对比试验中,所选取的对照模型都对交互数据与知识图谱间数据不平衡问题所造成的性能下降提出了解决方案,但仍难以推荐交互次数为零的疾病。
为验证模型的冷启动疾病推荐性能,使用所有用户的Top-10推荐结果计算并分析冷启动相关指标。疾病被推荐次数的统计结果如图4所示,共计147种疾病得到推荐,数量远大于存在交互记录的疾病种类数量,推荐疾病覆盖率达到46.23%。为进一步验证疾病冷启动推荐对模型结果的影响,分别统计前n个(n=1,2,…,10)推荐疾病列表中冷启动疾病的占比,从图5可见,冷启动疾病占比均高于86%,变化幅度减小并逐渐趋于稳定,说明冷启动疾病在推荐结果中占比较高且稳定在较高水平,验证了冷启动疾病推荐的有效性和稳定性,表明模型在解决数据稀疏问题方面具备优势。
图4 疾病被推荐次数的统计结果
Fig.4 Statistical results of the number of recommended diseases
图5 冷启动疾病占比的统计结果
Fig.5 Statistical results of the proportion of cold start diseases
1)针对推荐数据稀疏的问题,使用水产动物疾病防治措施语料库和用户数据集构建融合水产动物疾病和用户信息的知识图谱,提高了知识图谱完整性,并增加了用户与疾病在知识层次的联系程度,为构建用户和疾病嵌入提供了丰富的外部知识。
2)针对知识结构复杂的问题,使用由用户和疾病的交互信息聚合编码形成的协同指导信号知识图谱迭代聚合,引入多头注意力机制以区分不同用户、疾病或实体对嵌入的不同重要性,从复杂的静态知识中提取出与推荐目标更相关的深层信息。本文提出的KRCGS推荐模型在Top-10推荐中NDCG提高了5.94%,在CTR预测中AUC和F1值分别提高了6.30%和12.95%,在疾病冷启动条件下实现了有效且稳定的推荐,表明该模型能够有效提升水产动物疾病防治措施的推荐效果。
[1] 阎笑彤,徐翔,郭显久,等.基于WEB的水产养殖病害诊断专家系统[J].大连海洋大学学报,2016,31(2):225-230. YAN X T,XU X,GUO X J,et al.An expert system of disease treatment in aquaculture based on WEB[J].Journal of Dalian Ocean University,2016,31(2):225-230.(in Chinese)
[2] 田飞焱.关于水产动物疾病药物防治与渔药残留问题的探讨[J].江西水产科技,2010(3):35-39. TIAN F Y.Discussion on drug control of aquatic animal diseases and fishery drug residue problems[J].Jiangxi Fishery Science and Technology,2010(3):35-39.(in Chinese)
[3] 张思佳,于红.大模型在水产养殖病害防治中的创新应用与展望[J].大连海洋大学学报,2024,39(3):369-382. ZHANG S J,YU H.Innovative applications and prospects of large models in disease prevention and control for aquaculture:a review[J].Journal of Dalian Ocean University,2024,39(3):369-382.(in Chinese)
[4] 秦琪琦.知识图谱嵌入的图神经网络推荐方法研究[D].太原:太原理工大学,2022. QIN Q Q.Research on the recommendation method of knowledge graph embedded in graph neural network[D].Taiyuan:Taiyuan University of Technology,2022.(in Chinese)
[5] 张昕,刘思远,徐雁翎.结合注意力机制的知识感知推荐算法[J].计算机工程与应用,2022,58(9):168-174. ZHANG X,LIU S Y,XU Y L.Knowledge-aware recommendation algorithm combined with attention mechanism[J].Computer Engineering and Applications,2022,58(9):168-174.(in Chinese)
[6] 刘巨升,杨惠宁,孙哲涛,等.面向知识图谱构建的水产动物疾病诊治命名实体识别[J].农业工程学报,2022,38(7):210-217. LIU J S,YANG H N,SUN Z T,et al.Named-entity recognition for the diagnosis and treatment of aquatic animal diseases using knowledge graph construction[J].Transactions of the Chinese Society of Agricultural Engineering,2022,38(7):210-217.(in Chinese)
[7] 沙明洋,张思佳,傅庆财,等.基于动态权重的多模型集成水产动物疾病防治事件抽取方法[J].华中农业大学学报,2023,42(3):80-87. SHA M Y,ZHANG S J,FU Q C,et al.Multi-model integrated event extraction for aquatic animal disease prevention and control based on dynamic weight[J].Journal of Huazhong Agricultural University,2023,42(3):80-87.(in Chinese)
[8] 姜鑫.水产动物疾病诊断的知识图谱构建[D].大连:大连海洋大学,2022. JIANG X.construction of knowledge graph to diagnose for aquatic animals disease[D].Dalian:Dalian Ocean University,2022.(in Chinese)
[9] 宋奇书,于红,乔诗晗,等.基于改进BiRTE的渔业健康养殖标准复杂关系抽取[J].大连海洋大学学报,2024,39(1):153-161. SONG Q S,YU H,QIAO S H,et al.Complex relation extraction from health aquaculture standards based on an improved BiRTE model[J].Journal of Dalian Ocean University,2024,39(1):153-161.(in Chinese)
[10] 孙哲涛,于红,宋奇书,等.基于规则匹配与深度学习AbTransformer的渔业标准表格信息抽取方法[J].大连海洋大学学报,2023,38(1):140-148. SUN Z T,YU H,SONG Q S,et al.Fishery standard table information extraction method based on rule matching and deep learning AbTransformer[J].Journal of Dalian Ocean University,2023,38(1):140-148.(in Chinese)
[11] 刘巨升,于红,杨惠宁,等.基于多核卷积神经网络(BERT+Multi-CNN+CRF)的水产医学嵌套命名实体识别[J].大连海洋大学学报,2022,37(3):524-530. LIU J S,YU H,YANG H N,et al.Recognition of nested named entities in aquature medicine based on multi-kernel convolution (BERT+Multi-CNN+CRF)[J].Journal of Dalian Ocean University,2022,37(3):524-530.(in Chinese)
[12] WANG H W,ZHAO M,XIE X,et al.Knowledge graph convolutional networks for recommender systems[C]//The World Wide Web Conference.San Francisco CA USA.ACM,2019:3307-3313.
[13] WANG H W,ZHANG F Z,ZHANG M D,et al.Knowledge-aware graph neural networks with label smoothness regularization for recommender systems[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &Data Mining.Anchorage AK USA.ACM,2019:968-977.
[14] 葛尧,陈松灿.面向推荐系统的图卷积网络[J].软件学报,2020,31(4):1101-1112. GE Y,CHEN S C.Graph convolutional network for recommender systems[J].Journal of Software,2020,31(4):1101-1112.(in Chinese)
[15] WANG X,HE X N,CAO Y X,et al.KGAT:knowledge graph attention network for recommendation[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &Data Mining.Anchorage AK USA.ACM,2019:950-958.
[16] WANG X,HUANG T L,WANG D X,et al.Learning intents behind interactions with knowledge graph for recommendation[C]//Proceedings of the Web Conference 2021.Ljubljana Slovenia.ACM,2021:878-887.
[17] YANG Y H,HUANG C,XIA L H,et al.Knowledge graph self-supervised rationalization for recommendation[C]//Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining.Long Beach CA USA.ACM,2023:3046-3056.
[18] ZOU D,WEI W,MAO X L,et al.Multi-level cross-view contrastive learning for knowledge-aware recommender system[C]//Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval.Madrid Spain.ACM,2022:1358-1368.
[19] ZOU D,WEI W,WANG Z Y,et al.Improving knowledge-aware recommendation with multi-level interactive contrastive learning[C]//The 31st ACM International Conference on Information and Knowledge Management (CIKM).Atlanta,GA,USA: ACM,2022: 2817-2826.
[20] ZHAO Y Y,WANG X,CHEN J W,et al.Time-aware path reasoning on knowledge graph for recommendation[J].ACM Transactions on Information Systems,2023,41(2):1-26.
[21] DU Y T,ZHU X J,CHEN L,et al.MetaKG:meta-learning on knowledge graph for cold-start recommendation[J].IEEE Transactions on Knowledge and Data Engineering,35(10):9850-9863.
[22] DUAN H J,LIANG X F,ZHU Y Z,et al.Reducing noise-tripletsvia differentiable sampling for knowledge-enhanced recommendation with collaborative signal guidance[J].Neurocomputing,2023,558:126771.
[23] CHEN Y K,YANG Y M,WANG Y J,et al.Attentive knowledge-aware graph convolutional networks with collaborative guidance for personalized recommendation[C]//2022 IEEE 38th International Conference on Data Engineering (ICDE).Kuala Lumpur,Malaysia.IEEE,2022:299-311.
[24] 郭伟,裴帅华.基于协同信号的知识图注意力网络推荐算法[J].计算机工程与设计,2024,45(3):911-917. GUO W,PEI S H.Collaborative signal knowledge graph attention network for recommender algorithm[J].Computer Engineering and Design,2024,45(3):911-917.(in Chinese)
[25] 王伟俊,朱心玲,王桂堂,等.淡水鱼病防治彩色图说[M].北京:中国农业出版社,2004:1-94. WANG W J,ZHU X L,WANG G T,et al.[M].Beijing:China Agriculture Press,2004:1-94.(in Chinese)
[26] 中国水产学会.水生动物常见疾病[EB/OL].水生动物疾病远程辅助诊断服务网,2020.http://www.adds.org.cn/. China Society of Fisheries.Common Diseases of Aquatic Animals[EB/OL].National Aquatic Animal Disease Remote Assistance Diagnostic Service Network,2020.http://www.adds.org.cn/.(in Chinese)
[27] 农业农村部渔业渔政管理局.2021年国家水生动物疫病监测和调查阴性养殖场名单[R/OL].中华人民共和国农业农村部,2022.http://www.yyj.moa.gov.cn/gzdt/202209/t20220923_6411472.htm. Administration of Fisheries and Fishery Administration,Ministry of Agriculture and Rural Affairs.2021 National List of Negative Aquatic Animal Disease Surveillance and Investigation Farms[R/OL].Ministry of Agriculture and Rural Affairs of the People's Republic of China,2022.http://www.yyj.moa.gov.cn/gzdt/202209/t20220923_6411472.htm.(in Chinese)
[28] 张帜,庞国明,胡佳辉,等.Neo4j权威指南[M].北京:清华大学出版社,2017:24-89. ZHANG Z,PANG G M,HU J H,et al.Neo4j The definitive guide[M].Beijing:Tsinghua University Press,2017:24-89.(in Chinese)
[29] 张涛,张志军,曹家伟,等.结合正负反馈状态表示的深度强化学习推荐方法[J].软件导刊,2024,23(12):27-35. ZHANG T,ZHANG Z J,CAO J W,et al.Deepreinforcement learning-based recommendation method with positive and negative feedback state representation[J].Software Guide,2024,23(12):27-35.(in Chinese)
[30] 杨斌,梁婧,周佳薇,等.基于注意力机制的可解释点击率预估模型研究[J].计算机科学,2023,50(5):12-20. YANG B,LIANG J,ZHOU J W,et al.Study oninterpretable click-through rate prediction based on attention mechanism[J].Computer Science,2023,50(5):12-20.(in Chinese)
[31] 刘建飞,易辉,田磊,等.基于相似度匹配的知识图注意力网络冷启动推荐系统[J].制造业自动化,2024,46(11):64-71. LIU J F,YI H,TIAN L,et al.Knowledgegraph attention network for cold-start recommendation system based on similarity matching[J].Manufacturing Automation,2024,46(11):64-71.(in Chinese)
[32] 毛骞,谢维成,乔逸天,等.推荐系统冷启动问题解决方法研究综述[J].计算机科学与探索,2024,18(5):1197-1210. MAO Q,XIE W C,QIAO Y T,et al.Survey on solving cold start problem in recommendation systems[J].Journal of Frontiers of Computer Science and Technology,2024,18(5):1197-1210.(in Chinese)