2. 北方民族大学 图像图形智能处理国家民委重点实验室 宁夏 银川 750021
2. The Key Laboratory of Images & Graphics Intelligent Processing of State Ethnic Affairs Commission, North Minzu University, Yinchuan 750021, China
传统的文本分类技术在处理中文医疗短文本时,难以准确捕捉医疗短文本中独特的词汇、语法和意图[1]。中文医疗短文本包含复杂的非结构化描述,如疾病诊断、实验室检验和成瘾行为等,同时还存在医疗缩写问题。由于这些文本大多不符合标准格式,因此对其进行准确分类较为困难。此外,中文医疗短文本的非结构化特点导致文本中存在严重的词噪声,难以把握关键词之间的相关性。为了充分利用这些信息,需要考虑两个主要问题:一是如何对医疗短文本语境知识与语义知识进行学习; 二是如何增强模型的鲁棒性。
目前,中文医疗短文本分类的研究可以分为以下两类。第一类是基于神经网络的模型,如卷积神经网络(convolutional neural network, CNN)可以提取医疗短文本的关键语义[2-3],基于规则的特征和知识引导的深度学习模型嵌入CNN能够有效地识别疾病[4],通过图神经网络提取医疗文本中的关键词汇信息可以增强模型特征学习能力[5]。然而,上述基于神经网络的分类模型在全局与局部相关性方面有所忽略,导致一些关键语义未能被充分提取。第二类是基于Transformer架构的模型,如BERT[6]、ERNIE2.0[7]、RoBERTa[8]等基于双向编码器表示的多网络语言模型。文献[9]使用BERT-Encoder来处理每个文本,并获得文本级和符号级两种不同粒度的编码输出。此外,文献[10]利用预训练模型获取语义,使用CNN提取大多数判别特征, 并利用双向长短期记忆网络准确获取文本的上下文信息。以上这些并行化设计使得文本处理的效率很高,但面对非标准化医疗短文本中存在的概念模糊以及高度依赖上下文的情况,其推理能力存在一定的局限性。
为解决以上问题,本文提出一种新的多级语义融合模型(multi-level semantic fusion model,MLSFM)。该模型使用RoBERTa-wwm-ext[11]作为获得源文本语义的语言模型,采用胶囊网络[12]获得医疗短文本中关键词的语义表示,并通过注意力池化对源文本语义进行加权融合,获得文档级的语义表示。此外,使用对抗训练来解决医疗短文本中存在的高相似专业术语,以此提高模型的推理和区分能力。同时,提出了一个多特征融合分类器来预测融合后的文本特征。
1 多级语义融合模型多级语义融合模型(MLSFM)的结构如图 1所示,包括词嵌入层、语义提取层和分类层。MLSFM模型使用预训练模型RoBERTa-wwm-ext对输入文本进行编码,获得源文本的语义表示。通过胶囊网络聚合关键语义,并运用注意力池化机制对源文本语义进行加权融合,分别得到关键语义和文档级语义。将不同级别的语义进行融合并输入分类层中进行分类,相比直接利用预训练语言模型,MLSFM模型通过多级语义聚合,可以更准确地理解短文本语义,从而提高下游分类任务的性能。
|
图 1 多级语义融合模型的结构 Fig. 1 Structure of multi-level semantic fusion model |
医疗领域短文本分类任务为: 给定一组医疗领域的短文本{T1, …, Tn}和一组预定义分类标签{y1, …, yn},目标是训练一个模型F,使其能通过阅读和理解医疗短文本的语义,将文本正确分类到各个类别。
1.2 词嵌入层传统静态词向量嵌入模型如Word2Vec[13]等存在着不能根据特定任务来进行调整和优化的缺点,导致其在处理如医疗短文本这样的复杂语义问题上的不足。为了解决文本编码问题,引入预训练语言模型RoBERTa-wwm-ext作为词嵌入层,以提升嵌入层的编码能力。假设有一个短文本序列,每个输入单词都经过一个嵌入层进行编码,得到初始的词向量,即
| $\left\{\boldsymbol{e}_i^0\right\}_{i=1}^k= { Embedding }\left(\left\{\boldsymbol{w}_i\right\}_{i=1}^k\right), $ | (1) |
其中:wi表示文本中第i个词;ei表示第i个词的嵌入表示。
1.3 对抗训练医疗领域文本中存在许多专业术语,这些词语在表面上高度相似,但实际上代表着不同的语义概念。利用典型的词嵌入模型无法很好地区分这些专业术语的细微差别,会对模型理解文本的能力产生负面影响。为了解决这个问题,在获得词嵌入后,基于初始词向量添加对抗性扰动,这一过程生成了增强的词向量表示,从而提高了模型的推理和区分能力。本文使用基于梯度的对抗训练FGM算法,其步骤如算法1所示。
算法1 FGM算法
输入:分类标签y,模型F,对抗迭代次数k,扰动步长α,嵌入层参数p,学习率lr。
输出:更新嵌入层参数p。
1) 初始化模型参数p
2) While k<K
3) 计算嵌入层的梯度g=∇L(M(Embedder(x)), y)
4) IF k! =k-1
5) 计算扰动δ=α*sign(g)
6) 更新参数p←p+δ
7) 对参数进行裁剪p←clip(p, p_save-$\boldsymbol{\epsilon}, $p_save+$\boldsymbol{\epsilon}$)
8) ELSE
9) 将参数恢复为p_save
10) End While
1.4 语义提取层语义提取层的主要功能是将词嵌入层的文本序列在一个连续的空间中进行表示,通过预训练模型输出其嵌入表示。
1.4.1 源文本语义提取传统中文文本中的一词多义问题难以通过静态语言表征方法来解决,因此采用RoBERTa-wwm-ext来完成输入词嵌入的向量表示。RoBERTa-wwm-ext是在RoBERTa架构基础上开发的,其中wwm对整个词进行掩码处理。通过这种方式,模型能更好地理解上下文和语义关联。在获得中文医疗短文本的词嵌入表示ei后,将这些词嵌入送入RoBERTa-wwm-ext的多层Transformer网络中进行处理。
在Transformer网络中,每个词向量通过自注意力机制与其他所有词向量进行交互,生成新的词向量。采用最后一层的词向量作为最终的词嵌入表示,其计算过程为
| $\left\{\boldsymbol{e}_i^l\right\}_{i=1}^k={Transformer}\left(\left\{\boldsymbol{e}_i^{l-1}\right\}_{i=1}^k\right), $ | (2) |
其中:1≤l≤L,L为Transformer层数。
1.4.2 文档级语义提取注意力池化模块旨在聚合RoBERTa-wwm-ext预训练模型输出的源文本语义表示,通过加权融合这些语义特征,得到文档级语义。将编码层输出映射到一个隐向量空间,随后通过GeLU函数激活、线性变换,并最终通过Softmax归一化得到每个词的注意力权重,
| $\left\{ { att\_score }_i\right\}_{i=1}^k=\operatorname{Softmax}\left(\boldsymbol{W}_2\left(\boldsymbol{\sigma}\left(\boldsymbol{W}_1\left(\left\{\boldsymbol{e}_i^L\right\}_{i=1}^k\right)\right)\right)\right), $ | (3) |
其中:$\left\{\boldsymbol{e}_i^L\right\}_{i=1}^k$为编码器输出;W1和W2分别为两个全连接层的权重矩阵;σ为GeLU激活函数。随后, 对编码器输出进行加权求和,得到文档级的语义表示,
| $\boldsymbol{e}=\sum\limits_{i=1}^k\left( { att\_score }_i * \boldsymbol{e}_i^L\right) 。$ | (4) |
需要注意的是,在计算注意力权重时,对填充词进行了mask,使其权重近似为0,从而减少其对最终表示的影响。
1.4.3 关键语义提取采用胶囊网络模块来捕获更高级别的特征表示,并理解医疗短文本中的复杂关系。胶囊网络的设计原理在于利用胶囊的动态路由机制,这一机制能够捕获输入数据中的各种模式,并保留这些模式的重要属性,例如位置、大小和方向等。具体而言,胶囊网络由多个胶囊组成,每个胶囊可视为一个小型神经网络,负责接收输入并产生输出。胶囊的输入是上一层胶囊的输出,本文将编码层输出$\left\{\boldsymbol{e}_i^L\right\}_{i=1}^k$作为胶囊网络的输入。
胶囊网络的关键步骤是动态路由过程,该过程通过一种特殊的迭代算法来实现。在每次迭代中,每个胶囊计算其所有输入的权重,这些权重反映了胶囊输入与输出的相似度。胶囊的输出可表示为
| $\boldsymbol{h}_j={squash}\left(\sum c_{i j} * \boldsymbol{W}_{i j} * \boldsymbol{e}_i^L\right), $ | (5) |
其中:squash是一个非线性激活函数,用于归一化胶囊的输出;cij是第i个输入和第j个输出胶囊之间的耦合系数;Wij是权重矩阵。在完成所有迭代后,将所有胶囊的输出聚合起来,形成一个全局特征向量,作为文本的最终表示z,
| $\boldsymbol{z}={Concat}\left(\left\{\boldsymbol{h}_j\right\}\right), $ | (6) |
其中:Concat表示对所有胶囊的输出进行拼接。
1.5 分类层在获得语义提取层的输出表示后,构建了一个分类器,旨在融合不同级别的语义信息。首先,利用Concat函数将两种表示进行简单拼接,
| $\boldsymbol{d}_1={Concat}([\boldsymbol{e}, \boldsymbol{z}])$ 。 | (7) |
拼接后的向量同时包含了文档级文本语义(来自注意力池化层)以及文本细粒度的关键词语义(来自胶囊网络层)。其次,将源文本语义原始的CLS向量$\boldsymbol{e}_0^L$与拼接向量d1进行残差连接。CLS向量包含了源文本的整体语义信息,残差连接可以将该信息融入最终的文本表示d2中,即
| $\boldsymbol{d}_2=\boldsymbol{d}_1+\boldsymbol{e}_0^L$ 。 | (8) |
最后,对融合后的文本向量d2进行层归一化,并输入多层感知机(multilayer perceptron, MLP)中进行高级特征学习。在MLP的输出上使用Softmax分类层,将特征映射到不同类别的概率分布,
| $y\_{score}=\operatorname{Softmax}\left({MLP}\left(\right.\right. LayerNorm \left.\left.\left(\boldsymbol{d}_2\right)\right)\right), $ | (9) |
其中:y_score是预测的类别概率得分;LayerNorm是层归一化操作。
通过上述操作,分类器有效地融合了不同表示层次的语义知识,实现了一个更适合医疗短文本的分类模型。
2 实验与分析 2.1 实验设置 2.1.1 数据集实验数据集包括:来自阿里巴巴天池实验室发布的中文医学语言理解测评(CBLUE)[14]中的医疗检索语义分类数据集CHIP-CTC与KUAKE_QIC,用于测试MLSFM模型的医疗短文本分类性能;来自GitHub的公开新闻短文本标题分类数据集VSQ,用于测试MLSFM模型的通用性。数据集信息如表 1所示。
|
|
表 1 数据集信息 Tab. 1 Dataset information |
对比模型可分为两类:第一类是以进行全局语义提取的预训练模型为代表;第二类是以基于全局与局部语义特征提取的深度神经网络模型为代表。基线模型均使用与MLSFM模型相同的超参数,选择的基线模型包括BERT_base[6]、BERT-wwm-ext[11]、MacBERT-base[15]、RoBERTa-wwm-ext[11]、Ernie-3.0-base-zh[16]、BERT_CNN[17]、ECBA[18]、BERTCapsule[19]和BERTAttB[20]。
2.1.3 参数设置实验系统为Ubuntu 18.04.3 LTS,开发环境为Python3.9,Cuda版本为12.1,CPU为AMD EPYC 7551P,GPU为NVIDIA GeForce RTX 3090 24 GB, PyTorch版本为2.1.0, Transformers版本为4.34.0。在超参数设置时,初始学习率为5×10-5,Dropout设置为0.5,采用AdamW优化器与幂为0.1的余弦退火衰减策略避免过拟合现象,训练次数设置为5,最大序列长度设置为32,每次训练时传入模型的样本数设置为256。
2.1.4 评价指标评价指标采用准确率(Acc)、召回率(R)、精确率(P)和F1值,各指标的计算公式为
| $\begin{gathered}A c c=\frac{T P+T N}{T P+T N+F P+F N}, \\ R=\frac{T P}{T P+F N}, \\ P=\frac{T P}{T P+F P}, \\ F 1=\frac{2 P R}{P+R}, \end{gathered}$ |
其中:TP为正确分类的正面事件个数;FP为错误分类的负面事件个数;TN为正确分类的负面事件个数;FN为错误分类的正面事件个数。
2.2 实验结果分析 2.2.1 与预训练模型的对比实验使用目前优秀的预训练模型与MLSFM模型进行对比实验,结果如表 2所示。可以看出,在两个专用医疗数据集CHIP-CTC与KUAKE_QIC上,MLSFM模型的性能优于所有预训练模型。从宏观F1指标来看,与BERT-wwm-ext、MacBERT_base、RoBERTa-wwm-ext、Ernie-3.0-base-zh相比,MLSFM模型在两个数据集上均具有明显的优势。而在召回率的对比上,MLSFM模型相比其他单语义提取的预训练模型有着更高的水平。
|
|
表 2 与预训练模型的对比实验结果 Tab. 2 Comparative experimental results with pretrained models |
由表 2可知,在两个数据集CHIP-CTC与KUAKE_QIC的对比实验中,MLSFM模型在准确率、F1值和召回率上均超越了基线模型,表明预训练模型直接用于中文医疗短文本分类存在局限性。此外,高相似性词语对分类结果有着显著影响。MLSFM模型着重处理语义模糊概念,例如在CHIP-CTC数据集上,由于对“发热”与“发烧”等概念的精准理解,使得准确率提升至84.41%,F1值增加至79.41%。与RoBERTa-wwm-ext相比,MLSFM模型的准确率和召回率分别提升3.62和7.66个百分点。KUAKE_QIC数据集因样本量小,提升空间有限。而Ernie-3.0-base-zh模型在实体和短语关联性上的不足,导致其性能有所落后。
综上所述,MLSFM模型在医疗领域分类任务中的有效性和稳定性得到了验证。
2.2.2 与基于语义特征提取模型的对比实验在两个数据集CHIP-CTC与KUAKE_QIC上,与基于语义特征提取模型的对比实验结果如表 3所示。可以看出,针对中文医疗语句的特性,包括概念模糊和专业缩写,神经网络在语义提取方面的表现优于胶囊网络。胶囊网络受限于数据规模和类别数量,在关键信息提取和分类上表现不佳。
|
|
表 3 与基于语义特征提取模型的对比实验结果 Tab. 3 Comparative experimental results with models based on semantic feature extraction |
中文医疗短文本中的词噪声问题表明,仅依赖单一网络提取语义信息难以获得稳定的结果,需要从全局视角融合多级语义信息,以构建分类性能稳定提升的模型。通过本节实验,MLSFM模型的有效性得以证明,它能更充分地利用医疗短文本中的上下文和语义信息,从而优化中文医疗短文本的分类任务。
此外,使用MLSFM模型对KUAKE_QIC数据集的类标签进行测试,11个类别的召回率、精确率和F1值结果如表 4所示。可以看出,医疗费用、就医建议、治疗方案的评价指标略高于其他类标签,原因是医疗费用中“多少钱”“贵不贵”、就医建议中“哪家好”“哪个医院好”、治疗方案中“吃中药”“根治”等特征比较明显,因此模型可以更加充分地提取到其特征,提高该类别的分类效果。而其他类别所包含的语义表达不清晰,导致其精确率较低。
|
|
表 4 不同诊断类型在MLSFM模型中的效果 Tab. 4 The effectiveness of different diagnostic types in MLSFM models |
为进一步证明MLSFM模型在中文通用领域数据集中的有效性,在VSQ中文新闻短文本数据集上进行了对比实验,结果如表 5所示。可以看出,在VSQ数据集上,MLSFM模型的准确率达到67.64%,相较于其他基线模型在准确率上表现更为出色。具体来看,与RoBERTa-wwm-ext相比,MLSFM模型的准确率提升了0.87个百分点,显示出其在处理复杂语义和上下文关系时具有更强的能力。与MacBERT_base相比,MLSFM模型的准确率提升了0.44个百分点,表明其在语义融合和特征提取方面更为精细。此外,与BERT_base、BERT-wwm-ext、Ernie-3.0-base-zh相比,MLSFM模型的准确率和F1值均有所提升,进一步证实了多级语义融合策略在提升模型性能方面的有效性。
|
|
表 5 在VSQ数据集上的对比实验结果 Tab. 5 Comparative experimental results on the VSQ dataset |
为探究MLSFM模型中各级语义提取对中文医疗短文本分类任务的影响,去除语义提取模块,并在CHIP-CTC与KUAKE_QIC数据集上分别对模型的各个模块进行了消融实验。
1) 为了验证预训练模型对源文本语义的捕获能力,设置了Linear模型。该模型仅考虑源文本语义的作用,并通过与源模型的比较来验证常规模型对分类结果的影响。
2) 为了验证胶囊网络对关键语义的提取能力,设置了Capsule模型。该模型仅考虑将预训练模型的输出作为关键语义提取,并忽视源文本语义的作用,通过与源模型的比较来验证语义对分类结果的影响。
3) 为了验证对抗训练对模型提取关键语义的增强作用,设置了CapAttack模型。该模型仅考虑对关键语义添加扰动而产生的影响。
在两个数据集CHIP-CTC与KUAKE_QIC上的消融实验结果如表 6所示。可以看出,在医疗短文本分类效果上,与预训练模型Linear相比,提取关键语义信息的Capsule模型在两个数据集上性能有所下降,在CHIP-CTC与KUAKE_QIC数据集上准确率分别降低了0.13与0.77个百分点。其原因在于胶囊网络受限于主次胶囊与数据量的大小,单靠胶囊网络输出且在数据量较小的情况下会影响最终的分类效果。在胶囊网络的基础上添加对抗性扰动的CapAttack模型,得到了增强的词向量表示,在44分类数据集CHIP-CTC上,与预训练模型Linear和提取关键语义的Capsule模型相比,准确率有着不俗的提升。而在11分类数据集KUAKE_QIC上,并且在样本数量不多的情况下添加对抗性扰动并没有使模型性能提升,证明了胶囊网络在数据量小且分类数少的情况下并不能依靠添加对抗性扰动来改善这个缺点。而MLSFM模型在结合三级语义并添加对抗性扰动后,在两个数据集上的分类效果整体优于对比模型,证明了MLSFM模型能够在中文医疗短文本分类中获取并保留更多的文本信息,因此其在医疗短文本分类中有着更加优异的表现。
|
|
表 6 消融实验结果 Tab. 6 Ablation test results |
为解决传统网络模型在中文医疗短文本分类中对语境知识和语义知识学习不充分的问题,以及应对模型鲁棒性因文本概念模糊而下降的挑战,本文提出了一个融合多级语义的分类模型。该模型首先利用中文RoBERTa-wwm-ext模型进行深入的语义提取,通过注意力池化技术对提取的语义进行动态加权,以聚焦关键信息。其次,采用胶囊网络进一步提取和强调这些关键语义,确保模型能够捕捉到文本中的细微差别。最后,通过对抗训练,模型在面对输入数据的微小变化时能够保持其分类的稳定性和准确性。实验结果表明,多级语义融合模型在中文医疗短文本分类任务中显著提升了性能,通过在不同数据集上的对比实验,证明了模型能够更好地捕捉语境和语义信息。未来,计划通过引入外部医疗知识图谱,将结构化的医疗知识融入模型中,以进一步提升模型的语义理解能力和分类准确性。
| [1] |
GE Y, GUO Y T, DAS S, et al. Few-shot learning for medical text: a review of advances, trends, and opportunities[J]. Journal of biomedical informatics, 2023, 144: 104458-104479. DOI:10.1016/j.jbi.2023.104458 ( 0) |
| [2] |
LU H X, EHWERHEMUEPHA L, RAKOVSKI C. A comparative study on deep learning models for text classification of unstructured medical notes with various levels of class imbalance[J]. BMC medical research methodology, 2022, 22(1): 181-193. DOI:10.1186/s12874-022-01665-y ( 0) |
| [3] |
YAHIA H S, ABDULAZEEZ A M. Medical text classification based on convolutional neural network: a review[J]. International journal of science and business, 2021, 5(3): 27-41. ( 0) |
| [4] |
YAO L, MAO C S, LUO Y. Clinical text classification with rule-based features and knowledge-guided convolutional neural networks[J]. BMC medical informatics and decision making, 2019, 19(3): 31-39. ( 0) |
| [5] |
杨杰, 刘纳, 徐贞顺, 等. 融合知识图谱的预训练模型研究综述[J]. 太原理工大学学报, 2024, 55(1): 142-154. YANG J, LIU N, XU Z S, et al. Survey on pre-trained models fusing knowledge graphs[J]. Journal of Taiyuan university of technology, 2024, 55(1): 142-154. ( 0) |
| [6] |
DEVLIN J, CHANG M W, LEE K, et al. BERT: pre-training of deep bidirectional transformers for language understanding[C]//Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg: Association for Computational Linguistics, 2019: 4171-4186.
( 0) |
| [7] |
ZHANG Z Y, HAN X, LIU Z Y, et al. ERNIE: enhanced language representation with informative entities[C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2019: 1441-1451.
( 0) |
| [8] |
LIU Y H, OTT M, GOYAL N, et al. RoBERTa: a robustly optimized BERT pretraining approach[EB/OL]. (2019-06-26)[2024-05-16]. https://doi.org/10.48550/arXiv.1907.11692.
( 0) |
| [9] |
HE Y, WANG C, ZHANG S, et al. KG-MTT-BERT: knowledge graph enhanced BERT for multi-type medical text classification[EB/OL]. (2022-10-08)[2024-05-16]. https://doi.org/10.48550/arXiv.2210.03970.
( 0) |
| [10] |
IBRAHIM M, GHANI KHAN M U, MEHMOOD F, et al. GHS-NET a generic hybridized shallow neural network for multi-label biomedical text classification[J]. Journal of biomedical informatics, 2021, 116: 103699. DOI:10.1016/j.jbi.2021.103699 ( 0) |
| [11] |
CUI Y M, CHE W X, LIU T, et al. Pre-training with whole word masking for Chinese BERT[J]. IEEE/ACM transactions on audio, speech, and language processing, 2021, 29: 3504-3514. DOI:10.1109/TASLP.2021.3124365 ( 0) |
| [12] |
SABOUR S, FROSST N, HINTON G E. Dynamic routing between capsules[EB/OL]. (2017-11-07)[2024-05-16]. https://doi.org/10.48550/arXiv.1710.09829.
( 0) |
| [13] |
MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[EB/OL]. (2013-09-07)[2024-03-21]. https://doi.org/10.48550/arXiv.1301.3781.
( 0) |
| [14] |
ZHANG N Y, CHEN M S, BI Z, et al. CBLUE: a Chinese biomedical language understanding evaluation benchmark[EB/OL]. (2022-03-07)[2024-03-21]. https://doi.org/10.48550/arXiv.2106.08087.
( 0) |
| [15] |
CUI Y M, CHE W X, LIU T, et al. Revisiting pre-trained models for Chinese natural language processing[EB/OL]. (2020-11-02)[2024-03-21]. https://doi.org/10.48550/arXiv.2004.13922.
( 0) |
| [16] |
SUN Y, WANG S H, FENG S K, et al. Ernie 3.0: large-scale knowledge enhanced pre-training for language understanding and generation[EB/OL]. (2021-07-05)[2024-03-21]. https://doi.org/10.48550/arXiv.2107.02137.
( 0) |
| [17] |
CUI Y R, HUANG C B. A Chinese text classification method based on BERT and convolutional neural network[C]//Proceedings of the 7th International Conference on Systems and Informatics. Piscataway: IEEE Press, 2021: 1-6.
( 0) |
| [18] |
CHENG X, ZHANG C, LI Q X. Improved Chinese short text classification method based on ERNIE_BiGRU model[J]. Journal of physics: conference series, 2021(6): 1-11. ( 0) |
| [19] |
TIAN Y W, ZHANG Z. Text classification model based on BERT-capsule with integrated deep learning[C]//IEEE 16th Conference on Industrial Electronics and Applications. Piscataway: IEEE Press, 2021: 106-111.
( 0) |
| [20] |
HU X S, ZHANG H J, SUN Y J. Chinese medical short text matching model based on fine-tuning BERT-attention-BiLSTM[C]//IEEE/ACIS 23rd International Conference on Computer and Information Science. Piscataway: IEEE Press, 2023: 91-96.
( 0) |
2026, Vol. 58



0)