研究论文

基于多模态知识图谱的药用植物智能问答系统构建

  • 赵豆豆 , 1, 2 ,
  • 王宇骏 , 1 ,
  • 刘蕤 , 1 ,
  • 刘昶 , 3
展开
  • 1华中师范大学信息管理学院 武汉 430079
  • 2陕西省科学技术情报研究院 西安 710054
  • 3中国医学科学院药用植物研究所 北京 100193

赵豆豆,硕士研究生;

王宇骏,硕士研究生;

刘蕤,博士,硕士生导师,通信作者,E-mail: liuruiccnu@hotmail.com;

刘昶,博士,博士生导师。

收稿日期: 2024-01-09

  网络出版日期: 2025-04-28

Construction of Intelligent Q&A System for Medicinal Plant Based on Multimodal Knowledge Graph

  • Doudou Zhao , 1, 2 ,
  • Yujun Wang , 1 ,
  • Rui Liu , 1 ,
  • Chang Liu , 3
Expand
  • 1School of Information Management, Central China Normal University Wuhan 430079
  • 2Shaanxi Institute of Science and Technology Information Xi'an 710054
  • 3Institute of Medicinal Plants, Chinese Academy of Medical Sciences Beijing 100193

Zhao Doudou, master candidate;

Wang Yujun, master candidate;

Liu Rui, PhD, graduate supervisor, corresponding author, E-mail: liuruiccnu@hotmail.com;

Liu Chang, PhD, doctoral supervisor.

Received date: 2024-01-09

  Online published: 2025-04-28

摘要

[目的/意义] 药用植物是中医药学的核心资源之一,加强药用植物信息组织与电子化利用,对中医药的传承与发展具有重要意义。[方法/过程] 首先构建药用植物知识图谱的模式层,然后对比《中国药典》一部、TCMID、PPBC、CTD等多个数据库,筛选出265种药用植物,整合多源异构数据,利用Neo4j构建多模态药用植物知识图谱。在此基础上,利用AC自动机进行用户问句实体识别,利用TextCNN完成问句意图识别,实现基于文本的智能回答功能;通过对比VGG、ResNet、DenseNet、MobileNet、EfficientNet等6个图像识别模型,优先选择EfficientNet-B3模型实现基于图像智能问答功能,并引入数据增强、标签平滑方法提升图像识别效率,最终利用Python语言PyQt库实现药用植物问答系统。[结果/结论] 构建一个包括药用植物及各植物药方、药材、化合物、图像的多模态知识图谱,包含340 772个实体和2 530 067条关系,基于此构建药用植物智能问答系统,可根据用户的自然语言提问和图片提问反馈查询结果,实验结果表明系统的图像识别准确率达到83.53%。

本文引用格式

赵豆豆 , 王宇骏 , 刘蕤 , 刘昶 . 基于多模态知识图谱的药用植物智能问答系统构建[J]. 知识管理论坛, 2024 , 9(5) : 487 -504 . DOI: 10.13266/j.issn.2095-5472.2024.036

Abstract

[Purpose/significance] Medicinal plants are one of the core resources of Chinese medicine, and strengthening the organization and electronic utilization of medicinal plant information is of great significance to the inheritance and development of Chinese medicine. [Method/process] In this paper, the pattern layer of the knowledge graph of medicinal plants was constructed, and then 265 medicinal plants were screened out by comparing multiple databases such as Chinese Pharmacopoeia, TCMID, PPBC and CTD, a nd multi-source heterogeneous data were integrated, and Neo4j was used to construct a multimodal knowledge graph of medicinal plants. On this basis, AC automaton was used to recognize the user's question entity and TextCNN was used to complete the question intent recognition, so as to realize the text-based intelligent answer function. By comparing six image recognition models such as VGG, ResNet, DenseNet, MobileNet, and EfficientNet, the EfficientNet-B3 model is preferred to realize the image-based intelligent question and answer function, and introduced data enhancement and label smoothing methods to improve the image recognition efficiency, and finally used the Python language PyQt library to realize the medicinal plant question answering system. [Result/Conclusion] A multimodal knowledge graph including medicinal plants and various botanical formulas, medicinal materials, compounds and images is constructed, including 340 772 entities and 2 530 067 relationships. Based on this, an intelligent question answering system for medicinal plants is constructed, which can feedback the query results according to the user's natural language questions and picture questions, and the experimental results show that the image recognition accuracy of the system reaches 83.53%.

中医药是中华民族智慧的瑰宝,药用植物作为中药的重要组成部分,是中医药学的核心资源之一。我国是世界上药用植物资源最为丰富的国家之一,加强药用植物的信息组织和知识推理,不仅有助于理解传统中医中药的作用机理,而且对促进药物创新以及新药研发具有重要的理论意义[1]。
知识图谱是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化描述[2]。它将结构化的信息进行整合和表示,帮助人们更好地理解和利用知识。其中,多模态知识图谱可以对多种模态实体进行关联[3],为高效利用多模态数据提供解决方法[4]。药用植物信息呈现多源、异构的特征,涉及丰富的图像、文本等多模态数据[5]。然而,有关药用植物多模态知识图谱构建及相关智能问答系统开发的研究鲜见报道。基于多模态药用植物知识图谱实现智能问答,不仅能够响应用户的自然语言查询需求,一站式呈现药用植物的文本、图像信息,还能够对药用植物的精准鉴定起到必要的辅助作用。
鉴于此,笔者以药用植物为研究对象,借鉴现有研究,对药用植物的化学成分、药材、药方等文本信息与图像信息进行整合组织,构建药用植物多模态知识图谱;设计并实现智能问答系统,探索药用植物领域多模态知识服务一站式实现路径,为药用植物智能查询与精准鉴定提供必要方法与有效工具,提高领域知识的利用效率。

1 相关研究/Related research

1.1 药用植物知识图谱构建相关研究

在药用植物知识图谱构建领域,现有研究针对药用植物的品种、产地[6]、基因组[7]开发了相关知识图谱。王运乾采用自下而上的方法构建了药用植物知识图谱PlantKG,其中包括植物品种、产地、经济用途、特征等共74 475个节点和641 986条关系[6];Y. Wu等通过手工对齐中西医症状,整合了对应的499种草药以及相关的疾病、草药成分及靶基因等信息,建立了一个大型异质网络,将中医药与现代医学融为一体,以指导药物发现[8];F. Meng等分析和组织了160个植物、195个基因组和255种草药信息,构建一个全面、可免费访问的药用植物资源,为用户提供植物基因组分析服务[9];香港浸会大学中医药学院推出药用植物图像数据库(library.hkbu.edu.hk/electronic/libdbs/mpd/),其中包括千余种药用植物的名称、归类、分布和属性等信息;药用植物数据库(db.cngb.org/mpdb/)组织多维度、多层次的药用植物研究数据,建立了一个评估药用植物种质资源和培育新品种的数据库。以上研究整合药用植物相关信息,对本研究具有借鉴意义。

1.2 基于知识图谱的问答系统相关研究

基于知识图谱的问答实现方法包括基于模板匹配的问答、基于统计的问答、基于深度学习的问答方法等[10-12]。早期的问答系统主要利用人工编写的语法和语义规则来解析问题和答案,如BASEBALL[13]和LUNAR[14]。这类系统虽然能够处理一些特定领域的问题,但是缺乏通用性和可扩展性,而且需要大量的人工干预,对于非结构化数据的回答效果并不理想。
随着互联网的迅速发展和信息体量的激增,基于规则的问答系统逐渐被基于统计的问答系统所取代。基于统计的问答系统利用机器学习和自然语言处理的技术,从大规模的文本语料中自动学习问题和答案之间的映射关系(如IBMWatson[15])。这种系统具有更好的鲁棒性和泛化能力,但是也面临着数据稀疏、噪声干扰、语义理解等挑战。
近年来,深度学习方法被广泛应用于问答系统的相关任务中[16]。吴浩锋构建基于知识图谱的食疗健康问答机器人,采用朴素贝叶斯预排序以及CNN排序学习的方式提高返回答案的准确度[17];刘璐构建基于知识图谱的政府采购智能问答系统,提出一种基于TextCNN-Attention的问句分类模型,用于判断用户的提问意图[18];李彦昉构建基于知识图谱的糖尿病问答系统,采用基于BERT-BiLSTM-CRF模型的命名实体识别算法,提取其中的关键词对用户问句进行识别[19];张淼在卷积神经网络中引入注意力机制以解决深层次语义特征提取不足的问题,这使得卷积神经网络能够获取更多提问语句和属性文本之间的语义联系[20];C. Raffel等提出了T5模型,它是一种基于Transformer的通用文本到文本转换模型,可以用于问答任务,并在各种自然语言处理任务中获得最先进的结果[21];J. Mandar等改进了BERT模型,提出SpanBERT模型,通过对跨度(Span)进行建模,进一步提高问答任务的性能[22]。

1.3 研究现状述评

综上所述,学术界和工业界在药用植物相关的知识图谱和问答系统领域取得了丰硕的研究成果。同时,已有研究仍存在进一步拓展的空间:①药用植物的图像信息有助于研究人员更直观和系统地认识植物特征,现有的药用植物知识图谱研究主要是对药用植物相关文本信息的整合,这类知识图谱未考虑到药用植物的多模态特征,难以满足多模态数据涌现下产生的跨模态检索需求;②在问答系统领域,探索药用植物领域智能问答系统设计的研究少见报道,这极大地限制了相关信息(如药材、药方等)的便利获取;③尚未实现药用植物文本、图像一站式问答,未能提供药用植物多模态问答服务。
针对以上不足,本研究主要包括如下内容:①从药用植物多模态数据出发,根据领域资源特征和用户需求,构建高质量药用植物知识图谱;②基于领域知识图谱,开发药用植物智能问答系统;③探索现有图像识别模型应用于药用植物图像问答的可行性,并验证多模态问答系统的适用性。

2 药用植物智能问答系统设计/Design of intelligent Q&A system for medicinal plants

本文以实现药用植物多模态问答服务为目标,对领域数据特征及系统的具体功能进行分析,由此构建药用植物智能问答系统。系统需要实现以下目标:①多源异构的药用植物数据整合。对不同结构的数据进行整理,建立数据间的语义关联,以便将不同结构的数据以统一的形式作为回答返回给用户。②文本问答。用户使用自然语言进行提问,系统对问句进行语义分析并返回对应答案。③图片问答。系统识别用户上传的图片,根据识别结果查询数据库并返回药用植物相关信息。
根据系统需求分析,药用植物智能问答系统架构设计见图1。该系统主要包括3个部分,即药用植物多模态知识图谱构建、智能问答功能实现、系统交互界面。
图1 系统架构图

Figure 1 System architecture diagram

2.1 药用植物知识图谱构建

首先,需要确定药用植物知识图谱数据项及数据来源。通过借鉴现有中医药相关知识图谱本体设计,确定本文药用植物知识图谱模式层。在此基础上,从多个权威的医药数据库中采集植物相关的文本、图像数据,包括植物的学名、相关药材药方信息等。然后利用数据处理工具对收集的结构化、半结构化文本信息进行清洗与组织,以药用植物唯一的拉丁学名作为依据,对不同来源数据库中的数据进行对齐。最后,将整理好的数据利用Neo4j的import工具导入至Neo4j图数据库中,完成多模态药用植物知识图谱的构建。

2.2 智能问答系统功能实现

智能问答是系统的核心模块,该模块根据用户输入的问题,对知识图谱中的数据进行查询,并将文字或图像结果返回给用户。具体而言,在用户输入文本信息时,系统会根据用户输入,利用AC自动机识别用户输入语句中包含的药用植物或者药方实体,利用Text-CNN模型进行推理并识别用户意图,基于Cypher语句进行查询;在用户输入图像(如某一植物的图片)信息时,系统则会调用图像识别模型,对上传的植物图像进行特征提取和匹配,并调用Cypher语句查询相关植物信息。最后,将查询结果利用模板包装后,通过系统交互界面返回给用户。

3 多模态药用植物知识图谱构建/Construction of multimodal knowledge graph of medicinal plants

笔者选择自上而下的方式构建多模态知识图谱,采用七步法构建药用植物知识图谱的模式层[23]:①定义领域和范畴;②考察复用现有知识本体的可能性;③列出知识本体中的重要术语;④定义类和类的等级体系;⑤定义类的属性;⑥定义属性的分面;⑦创建实例。通过Python获取实例层数据,经过处理解析将数据存储在Neo4j图数据库中。

3.1 药用植物知识图谱模式层设计

药用植物知识图谱模式层旨在将药用植物与其药用概念系统地组织起来,从而描述并揭示药用植物与相关医学概念及概念关系。中医药学语言系统(TCM Language System, TCMLS)是面向中医药领域较为成熟的规范化顶层本体,建立了规范化的中医药术语体系,提供所有中医药学概念的一致性框架[24]。遵循尽量复用现有本体模型的原则,笔者借鉴部分TCMLS本体中的已有概念和语义关系,结合已有药用植物数据库[8]信息内容,确定5类核心概念,即“药用植物”“药材”“药方”“化合物”“植物图像”。
在此基础上,进一步确定类的属性。通过具体分析核心概念确定其自身属性,并定义相关类的关系属性[25]。①药用植物:原料药材,可以通过提取或利用其部分或全部植物组织制备药材;②药方:包括名称、剂量、用法、用量等详细内容,药方通常由药材配制;③药材:用于中药治疗的原材料,可来源于药用植物,且经过配制后形成具体药方;④化合物:药用植物中所含有的具有药理活性的化合物,每个化合物在Mesh中都有唯一编码;⑤植物图像:展示药用植物外貌、特征。根据对核心概念内涵分析,基本确立“药用植物”“药方”“药材”“植物图像”自身属性,得到6类概念与概念之间的相互关系:药用植物→可制成→药材、药用植物→含有→化合物、药用植物→展示→植物图像、药材→所属药方→药方、药材→原材料→药用植物、药方→成分→药材等。根据以上工作构建模式层,如图2所示:
图2 多模态药用植物模式层

Figure 2 Multi-modal medicinal plant pattern layer

3.2 药用植物知识图谱数据层设计

3.2.1 多模态数据采集与预处理

笔者选取2015年版《中华人民共和国药典》一部、中医药综合数据库(Traditional Chinese Medicines Integrated Database,TCMID)、天然产物活性和物种来源数据库(Natural Product Activity and Species Source Database,NPASS)、比较毒物基因组学数据库(Comparative Toxicogenomics Database,CTD)[26-29]以及中国植物图像库(Plant Photo Bank of China, PPBC)作为数据源(见表1)。以植物的拉丁学名作为唯一依据,比对所有数据源中数据类目齐全的药用植物品种,共筛选得到265种药用植物。
表1 数据来源

Table 1 Data source

数据源名称 数据源内容
2015年版《中华人民共和国药典》一部 包括药材和饮片、植物油脂和提取物、成方制剂和单味制剂等
TCMID TCMID包括配方、草药和草药成分;现代药理学和生物医学深入研究的药物和疾病的信息
NPASS、CTD NPASS提供了天然产物的物种来源和生物活性方面的详细信息
CTD整合大量化学物质、基因、功能表型和疾病之间相互作用数据
PPBC PPBC收录各类植物图片共583科6 354属53 138种
根据植物的拉丁学名,利用Python从《中国药典》一部电子版、TCMID、NPASS、CTD、PPBC中获取药用植物结构化、半结构化以及图像数据,经解析和去重后得到5类实体及其属性信息,如表2所示:
表2 实体类别及数量

Table 2 Entity categories and quantities

实体类别 实体数量/个
药用植物 265
药材 15 449
药方 46 160
化合物 175 633
植物图像 103 265
共计 340 772

3.2.2 药用植物知识融合

以上述方法获得的多源异构药用植物数据需要进行知识融合。笔者以药用植物拉丁学名进行实体链接,关联不同来源的同一实体。根据不同概念之间的关联信息,定义6类关系,如表3所示:
表3 关系类别及数量

Table 3 Relationship categories and quantities

关系类别 关系意义 关系数量/个
药用植物_药材 可制成药材 3 690
药材_药用植物 原材料 3 690
药材_药方 所属药方 1 209 591
药方_药材 药方成分 1 209 591
药用植物_化合物 含有化合物 240
药用植物_植物图像 图像展示 103 265
共计/个 2 530 067

3.2.3 药用植物知识存储

笔者利用Neo4j存储药用植物知识。Neo4j是一个非结构化的高性能图数据库,通过Cypher语言可以直观呈现实体间的关联关系,为用户呈现更易于理解和交互的知识[30]。具体使用Neo4j的import工具将存储在csv文件中的实体、关系数据批量存入到图数据库中,共存储实体340 772个,关系2 530 067条。

4 药用植物问答功能实现/Realization of Q&A function of medicinal plants

4.1 文本问答功能

4.1.1 问句实体识别

命名实体识别旨在语句中快速、准确地提取出有意义的实体[31]。目前,在中医药研究领域主要采用基于字典与规则的方法、统计机器学习方法、深度学习方法实现实体识别[32-34]。本研究的药用植物智能问答功能实现主要针对包含单个实体的提问语句做出回答,实体识别功能只需识别出提问语句中包含的、指定范围内的药用植物、药材、药方等实体,因此可以通过基于字典与规则的命名实体识别方法实现问句实体识别。笔者选用AC自动机识别用户提问语句中是否存在药用植物实体[35],将上文中处理后获得的药用植物、药方、药材的名称作为关键词构建Trie树。

4.1.2 问句意图识别

意图识别是实现文本问答功能的关键步骤,其目的在于判断用户提问属于哪一类预设的问句分类,每一类问句分类对应着Cypher查询语句模板。通过对用户提问意图的判断,选择相应的Cypher查询语句。为了提高意图识别的准确率和灵活性,笔者选择基于深度学习的TextCNN模型[36],按照上文构建的概念间关系设置问句分类。由于缺乏药用植物意图识别数据集,笔者采用自建数据集的方式对模型进行训练与评估。
(1)问句意图识别语料生成。根据多模态药用植物知识图谱中的关系设置6类问句,自建数据集中包含提问语料共638 446条,按照8:1:1的比例切分为训练集、测试集以及验证集。问句数据集信息如表4所示:
表4 用户问句模拟数据集

Table 4 User question simulation data set

问句类别 问句示例 标签 数量/个
药用植物_药材 花仙子可制成哪些药材? 0 4 770
药材_药用植物 艾叶灰的原材料是什么? 1 200 837
药材_药方 哪些药方中含有巴豆仁? 2 231 735
药方_药材 升麻散中有哪几种药材? 3 177 254
药用植物_化合物 玄参中含有哪些化合物? 4 11 130
药用植物_植物图像 花仙子是什么样子? 5 5 300
(2)问句意图识别实验。
·实验环境。TextCNN模型每批次数据量(batch_size)设置为128,学习率为1e-3,卷积核大小(knerl_size)设置为2、3、4,卷积核数(filter_num)设置为256,迭代次数(epoch_num)设置为10,字向量维度数(embedding_size)设置为100,采取随机失活,验证集loss超过1000batch没有下降则提前结束训练。
·问句意图识别实验结果与分析。在训练第一个epoch时,由于检验到超过1000batch训练效果未提升,程序自动停止运行并保存当前模型参数。这说明使用TextCNN模型不到一个epoch便达到了理想的意图识别能力。经测试数据集检验,此时模型的精确率(P)、召回率(R)、F1值分别为99.70%、99.95%、99.96%,各问题类别的精确率、召回率、F1值如表5所示:
表5 问题类别分类效果

Table 5 Problem category classification effect

问句类别 P/% R/% F1/%
药用植物_药材(0) 100 99.8 99.9
药材_药用植物(1) 100 100 100
药材_药方(2) 100 100 100
药方_药材(3) 100 100 100
药用植物_化合物(4) 99.8 100 99.9
药用植物_植物图像(5) 100 100 100
通过实验发现,在用户提问语句中出现错别字、提问语句较为简短的情况下,TextCNN模型依然能较为准确地返回预测的意图类别。

4.1.3 文本提问答案生成

从用户的提问语句中识别出关键实体和用户的提问意图之后,需要对问句类型构造Cypher查询语句以支持图数据库查询。各问句类别对应的Cypher语句查询模板见表6,'##'为替换实体名称。
表6 Cypher语句查询模板

Table 6 Cypher s tatement query template

问句类别 Cypher查询模板
药用植物_药材(0) MATCH(m:Herb{name:'##'})-[p]->(n:Composition)return m,n
药材_药用植物(1) MATCH(m:Composition{name:'##'})-[p]->(n:Herb)return m,n
药材_药方(2) MATCH(m:Composition{name:'##'})-[p]->(n:Prescription)return m,n
药方_药材(3) MATCH(m:Prescription{name:'##'})->[p]-(n:Composition)return m,n
药用植物_化合物(4) MATCH(m:Herb{name:'##'})-[p]->(n:Chemical)return m,n
药用植物_植物图像(5) MATCH(m:Herb{name:'##'})-[p]-(>n:Picture)return m,n
每类问句的查询结果以回答模板的方式返回给用户,笔者建立的部分回答模板如表7所示:
表7 部分回答模板

Table 7 Partial answer template

问句类型 回答模板
药用植物_药材 此植物可制成如下药材
药材_药用植物 这些药材来源于这种植物
药材_药方 这些药方中存在这种药材
药方_药材 此药方中含有如下药材
药用植物_化合物 此植物中含有如下化合物
药用植物_植物图像 展示图像

4.2 图像问答功能

在知识图谱构建阶段,笔者共采集103 265张药用植物图片。将该数据集按照8:1:1的比例随机切分为训练集、验证集、测试集,用作后续对卷积神经网络的训练与评估。在此基础上开展2组对比试验以优选人工智能图像识别模型。对比实验均使用Python语言,Pytorch版本为1.13.0,CUDA版本为12.0,训练显卡为NVIDIA GeForce RTX 3090。

4.2.1 图像识别模型对比实验

随着卷积神经网络的不断发展,各类型的卷积神经网络开始被广泛运用于植物、中药材的图像识别中,其中效果较好且较为常见的有VGG、ResNet、DenseNet、MobileNet、EfficientNet等[37-41]。由于迁移学习能够为训练过的网络各层权重赋予新的网络[42],因此,笔者使用迁移学习结合以上6种模型以期得到更理想的效果。
以图像识别常用模型ResNet50为例,首先对预训练的ResNet50模型与基准ResNet50模型进行对比实验,验证迁移学习在药用植物图像识别任务上的有效性;然后开展VGG16、ResNet34、ResNet50、DenseNet121、MobileNetV2、EfficientNet-B0模型对比实验,以优选图像识别模型用于后续的药用植物智能问答系统构建。
(1)预训练ResNet50模型与基准ResNet50模型对比实验。预训练ResNet50模型与基准ResNet50模型训练软硬件参数相同,激活函数为Relu,优化器为Adam,学习率设置为0.001,批处理量batch_size设置为64,迭代次数epoch设置为100,验证集loss超过20个epoch未改善则提前终止训练。训练准确率(Accuracy)与训练步数(Step)关系曲线见图3,验证准确率与训练步数关系曲线见图4。实验结果显示,经过预训练(Pretrained)的模型相较于基准(Baseline)模型的图像识别准确率有较大提升,因此图像识别后续实验均基于预训练模型。
图3 训练集准确率曲线

Figure 3 Training set accuracy curve

图4 验证集准确率曲线

Figure 4 Validation set accuracy curve

(2)6种图像识别模型对比实验。为了减少网络规模对6种图像识别模型对比实验的影响,选取各模型大小较为相近的版本,分别为:VGG16、ResNet34、ResNet50、DenseNet121、MobileNetV2、EfficientNet-B0。基于自建图像数据集进行训练测试,验证集loss超过20个epoch未改善则提前终止训练。
训练准确率(Accuracy)与训练步数(Step)关系曲线见图5,验证准确率与训练步数关系曲线见图6。实验结果显示,除去MobileNetV2,其他网络均有良好的训练准确率。而从验证准确率可以看出,在药用植物图像识别任务中网络深度不断增加,其验证准确率也随之提升,验证准确率最高的模型为EfficientNet-B0。不仅如此,EfficientNet-B0模型理论参数量与训练时间远少于准确率与其接近的ResNet50和DenseNet121。各模型训练准确率与验证准确率见表8。
图5 不同模型训练集准确率曲线

Figure 5 Accuracy curves of different model training sets

图6 不同模型验证集准确率曲线

Figure 6 Accuracy curves of different model validation sets

表8 模型准确率比较

Table 8 Model accuracy comparison

模型 训练集准确率/% 验证集准确率/%
MobileNeV2 61.83 54.45
VGG16 98.91 54.77
ResNet34 99.12 62.50
ResNet50 99.81 66.39
DenseNet 99.41 68.19
EfficientNet-B0 99.78 69.72
基于对比实验得出的结果,笔者选用EfficientNet作为基本模型,在此基础上进行优化,提高模型对药用植物图像的识别能力。

4.2.2 图像识别效果改进

为了提高对用户上传药用植物图像的识别准确率,为领域鉴别药用植物的工作提供更好的辅助作用,笔者从数据增强、优选EfficientNet版本、引入标签平滑3个方面进一步提升图像识别的准确率。
(1)数据增强。通过数据增强(data augmentation)的方式能够扩充数据集的丰富度与数据量,优化模型性能[43]。笔者根据药用植物数据集的特点,采用随机剪切再调整、随机旋转、随机水平翻折3种方式扩充图像数据集。将EfficientNet-B0基于原数据集与增强数据集分别进行训练,其验证准确率由69.72%提高至80.92%。验证准确率与训练步数关系曲线见图7。结果表明,经过数据增强得到的药用植物数据集能够更准确地反映不同种类的药用植物特征,从而提高训练网络的识别性能。
图7 两种数据集的验证准确率比较

Figure 7 Comparison of verification accuracy of two data sets

(2)优选EfficientNet版本。虽然EfficientNet-B0到B7在ImageNet上的识别效果越来越好,但其对硬件要求更高,且训练时的计算量也大幅增加。因此,笔者选择图像识别准确率较高、计算参数量尽可能小的版本做进一步改进。出于识别速度与硬件要求的考量,本文暂不考虑EfficientNet-B5、EfficientNet-B6与EfficientNet-B7模型。基于数据增强的药用植物图像数据集对EfficientNet-B0到B4进行测试,训练准确率与训练步数关系曲线见图8,验证准确率与训练步数关系曲线见图9。
图8 EfficientNet-B0-B4训练集准确率曲线

Figure 8 EfficientNet-B0-B4 training set accuracy curve

图9 EfficientNet-B0-B4验证集准确率曲线

Figure 9 EfficientNet-B0-B4 validation set accuracy curve

由实验结果可知,EfficientNet-B3相对于EfficientNet-B0到EfficientNet-B2在训练准确率与验证准确率上均有一定提升,而EfficientNet-B4反而出现了准确率下降的情况。因此,最终选取EfficientNet-B3用于图像识别任务。EfficientNet-B0到B4训练准确率与验证准确率如表9所示:
表9 EfficientNet系列模型效率比较

Table 9 Efficiency comparison of EfficientNet series models

模型 训练集准确率/% 验证集准确率/%
EfficientNet-B0 89.00 80.92
EfficientNet-B1 90.57 81.83
EfficientNet-B2 91.58 82.72
EfficientNet-B3 92.15 83.41
EfficientNet-B4 89.28 80.55
(3)标签平滑。标签平滑(label smoothing)是机器学习领域中的一种正则化方法,主要用于分类问题[44]。药用植物图像数据集中存在无效照片(如药用植物指示牌等),且图像数据集体量巨大,难以通过人工或者基于规则的方法将无效照片完全剔除。标签平滑能够防止在训练过程中模型过拟合问题,增强模型的抗噪能力。笔者将标签平滑引入EfficientNet-B3中,并基于增强数据集测试不同平滑因子下EfficientNet-B3的识别能力有何变化,依据测试结果选择对模型提升效果最好的平滑因子值。EfficientNet-B3网络在不同平滑因子下的训练准确率与验证准确率见表10,实验结果表明,平滑因子设置为0.2时效果最好,验证准确率由83.41%提升至84.25%。因此笔者将平滑因子设置为0.2,将标签平滑引入EfficientNet-B3进行测试,最终将药用植物图像识别的准确率提高至83.53%。
表10 EfficientNet-B3模型的训练准确率与验证准确率

Table 10 Training accuracy and verification accuracy of EfficientNet-B3 model

平滑因子 训练准确率/% 验证准确率/%
0 92.15 83.41
0.1 92.93 84.07
0.2 92.80 84.25
0.3 92.53 84.20
0.4 91.79 84.18

5 药用植物智能问答系统/Intelligent Q&A system for medicinal plants

笔者使用Neo4j构建药用植物多模态知识图谱,使用Python的PyQt库实现智能问答流程,利用Pycharm实现智能问答系统开发。系统基于Windows10x64,处理器为Intel(R)Core(TM)i5-12490F。

5.1 实例分析

用户打开系统后显示的默认页面为系统首页,见图10(a)。在页面下方以文本的方式对本系统进行简要介绍,并设置系统使用FAQ内容,加快用户对系统的熟悉进程。系统图片提问界面、文本提问界面分别如图10(b)、图10(c)所示。
图10 系统界面展示

Figure 10 System interface display

5.1.1 文本提问实例分析

用户可以在首页或“文本提问”界面直接提出问题,系统将通过AC自动机识别问句中的领域实体,利用Text-CNN模型识别用户意图,转换为Cypher语句查询药用植物知识图谱,并将结果用模板包装后返回给用户,文本查询功能主要实现以下5种询问方式:①药材信息查询。用户可以查询药用植物可被制成哪些药材,系统将提供相关的信息,如图11(a)查询植物“牛膝”可被制成哪些药材。②图像信息查询。用户可以通过文本输入获取有关药用植物的图片,以便更直观地了解植物的外形特征,见图11(b)。③药方成分信息查询。用户可以查询特定药方中所涵盖的药材,系统将返回药方成分的详细信息,包括每种成分的作用和用量,如图11(c)查询药方“升麻散”含有的药材。④药方信息查询。用户可以查询药用植物相关的可制药方,系统将提供相关的信息和建议,如图11(d)查询药材“艾叶”可制成的药方有哪些。⑤化合物信息查询。用户可以查询特定植物中所包含的化合物信息,如图11(e)查询植物“牛膝”包含哪些有效化合物成分。
图11 药用植物文字查询示例

Figure 11 Example of medicinal plant text query

5.1.2 药用植物图像查询实例分析

图像查询模块负责处理用户上传的图片,通过EfficientNet-B3模型识别植物特征,并提取知识图谱中植物的相关信息返回给用户。如图12导入植物“益智”的图片,系统返回“益智”的学名信息以及可制成的相关药材信息。
图12 药用植物图像查询示例

Figure 12 Example of medicinal plant image query

5.2 系统评价

为了对药用植物智能问答系统返回答案的准确率进行测评,笔者收集10组测评样本数据,分别来自10位被试。其中,4人为信息管理专业师生,4人为中国医学科学院中医药领域研究人员,2人为医药行业从业人员。具体操作如下:为被试每人提供10张药用植物图片、10个药用植物相关问题,利用本系统依次输入文本问题与图片进行智能问答,要求被试记录系统生成正确答案的数量,对本系统进行测评。
以被试LJL为例,被试提供的领域问题与药用植物图片分别如表11、图13所示:
表11 被试提供问题示例

Table 11 Examples of questions provided by subjects

被试问题集
石榴皮来源于什么植物?
白术可以做哪些药材?
一寸金这味药来源于哪种植物?
熬制艾姜汤需要哪些药材?
矮地茶含有什么小RNA?
巴豆有哪些化合物?
白果的图片?
三七长什么样子?
石韦有哪些化合物?
艾附丸有哪些成分?
图13 被试提供图片示例

Figure 13 Examples of pictures provided by subjects

在测试的共100张图片和100个领域问题数据集中,经过用户对系统返回答案进行评价,有72张图片的返回答案与75个领域问题的返回答案被评价为准确。根据上述测试结果,得出此系统问答功能的平均回答准确率为73.5%,其中文本回答准确率为75%,图片回答准确率为72%。
通过上述分析,此系统智能问答系统仍存在提升空间,其中主要不足之处在于:①包含的药用植物种类较少,已有药用植物的文本数据以及种子、枝叶图片等数据还不够丰富;②预设问题种类不全。未来将在已有数据的基础上,定期对领域研究成果进行整理,用于扩充药用植物知识图谱实体信息,并进一步增加药用植物药理信息、基因组信息等类目,丰富多模态药用植物知识图谱;对于图谱中存在的独立节点,将参考相关研究完善其关系信息,以确保所构建的知识图谱能够及时反映最新的研究成果和数据信息,进一步完善知识图谱中所包含的植物相关信息,丰富植物图片类型以提高模型识别效果,进一步改进问答功能的效果。

6 总结与展望/Summary and prospect

药用植物数据来源众多、结构不一,但鲜有研究专门针对药用植物多模态数据进行整合与组织,提供药用植物一站式智能问答平台。针对这一现状,笔者首先根据领域本体七步法设计了多模态药用植物知识模式层,然后通过网络爬虫从5类医药领域专业数据库中获取了药用植物的结构化、半结构化的文本以及图像数据,对数据进行清洗、处理后构建多模态知识图谱,其中包含340 772个实体以及2 530 067条关系。在此基础上,利用AC自动机和TextCNN模型实现文本问答功能,利用EfficientNet-B3模型优化后实现图像问答功能。最后基于PyQt库实现药用植物智能问答系统客户端,该系统能够解析不同模态的用户提问数据,并返回用户查询结果,辅助用户查询药用植物相关的药材、药方、化合物、图像信息,可以辅助药用植物鉴定及植物药的开发与利用。
本文仍存在以下局限与不足:①知识图谱模式层有待完善。本文主要整合药用植物的配方材料、化学、图像等信息类目,未来将进一步增加药用植物药理信息、基因组信息等类目,丰富多模态药用植物知识图谱。②智能问答系统提供的问句类别有限。目前仅针对概念间的关系设计6类问句,还应扩充问答模板,开发连续提问连续作答功能,提升用户体验。

赵豆豆:数据收集与对齐,知识图谱构建,论文撰写与修改;

王宇骏:问答系统构建及实验,论文撰写;

刘 蕤:研究设计,研究内容与结构修改;

刘 昶:研究数据补正,提出研究思路与框架。

[1]
郝二伟,谢安然,韦棪婷,等. 澜湄五国传统药用植物防治虫媒传染病研究概况[J].中国中药杂志,2021,46(24):6303-6311. (HAO E W, XIE A R, WEI Y T, et al. Traditional medicinal plants for arthropod-borne diseases of five countries in Lancang-Mekong region: a review[J]. China journal of Chinese materia medica, 2021,46(24):6303-6311.)

[2]
徐增林, 盛泳潘, 贺丽荣, 等. 知识图谱技术综述[J].电子科技大学学报,2016,45(4):589-606.(XU Z L, SHENG Y P, HE L R, et al. Review on knowledge graph techniques[J]. Journal of University of Electronic Science and Technology of China, 2016,45(4):589-606.)

[3]
翟东升, 娄莹, 阚慧敏, 等. 基于多源异构数据的中医药知识图谱构建与应用研究[J].数据分析与知识发现, 2023,7(9):146-158. (ZHAI D S, LOU Y, KAN H M, et al. Constructing TCM knowledge graph with multi-source heterogeneous data[J]. Data analysis and knowledge discovery, 2023,7(9):146-158.)

[4]
陈烨, 周刚, 卢记仓. 多模态知识图谱构建与应用研究综述[J].计算机应用研究,2021,38(12):3535-3543.(CHEN Y, ZHOU G, LU J C. Survey on construction and application research for multi-modal knowledge graphs[J]. Application research of computers, 2021,38(12):3535-3543.)

[5]
王松,李正钧,杨涛,等.中医药知识图谱研究现状及发展趋势[J].南京中医药大学学报,2022,38(3):272-278.(WANG S, LI Z J, YANG T, et al. Current status and development trend of knowledge graph research in traditional Chinese medicine[J]. Journal of Nanjing University of Traditional Chinese Medicine, 2022,38(3):272-278.)

[6]
王运乾. 植物知识图谱PlantKG的构建研究及应用[D].贵阳:贵州大学,2021.(WANG Y Q. Construction research and application of plant knowledge graph PlantKG[D]. Guiyang: Guizhou University,2021.)

[7]
ZHU X, GU Y, XIAO Z. HerbKG: constructing a herbal-molecular medicine knowledge graph using a two-stage framework based on deep transfer learning[J]. Frontiers in genetics,2022,13:799349.

[8]
WU Y, ZHANG F, YANG K, et al. SymMap: an integrative database of traditional Chinese medicine enhanced by symptom mapping[J]. Nucleic Acids Research,2019,47:1110-1117.

[9]
MENG F, TANG Q, CHU T, et al. TCMPG: an integrative database for traditional Chinese medicine plant genomes[J].Horticulture research,2022,9:uhac060.

[10]
李贺, 刘嘉宇, 李世钰, 等.基于疾病知识图谱的自动问答系统优化研究[J].数据分析与知识发现,2021,5(5):115-126.(LI H, LIU J Y, LI S Y, et al. Optimizing automatic question answering system based on disease knowledge graph[J]. Data analysis and knowledge discovery, 2021,5(5):115-126.

[11]
FADER A , ZETTLEMOYER L , ETZIONI O .Open question answering over curated and extracted knowledge bases[C]// Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. New York: Association for Computing Machinery, 2014:1156-1165.

[12]
WU W Q, ZHU Z F, LU Q, et al. Introducing external knowledge to answer questions with implicit temporal constraints over knowledge base[J]. Future internet, 2020,12(3):45.

[13]
GREEN B F, WOLF A K, CHOMSKY C L, et al. Baseball: an automatic question-answerer[C]//Proceedings of the IRE-AIEE-ACM '61 (Western). New York: Association for Computing Machinery, 1986:545-549.

[14]
WOODS W A. Lunar rocks in natural English: explorations in natural language question answering[M]. Amsterdam: Linguistic Structures Processing,1977.

[15]
FERRUCCI D A, BROWN E W, CHU-CARROLL J, et al. Building watson: an overview of the DeepQA project [J].Computer Science ,2010,31(3):59-79.

[16]
姚元杰, 龚毅光, 刘佳, 等.基于深度学习的智能问答系统综述[J].计算机系统应用,2023,32(4):1-15. (YAO Y J, GONG Y G, LIU J, et al. Survey on intelligent question answering system based on deep learning[J]. Computer systems & applications, 2023,32(4):1-15.)

[17]
吴浩锋. 基于知识图谱的食疗健康问答机器人的研究与实现[D].上海:华东师范大学,2021.(WU H F. Research and implementation of food therapy health Q&A robot base on knowledge graph[D]. Shanghai: East China Normal University, 2021.)

[18]
刘璐. 基于知识图谱的政府采购智能问答系统研究与实现[D].重庆:重庆理工大学,2022.(LIU L. Research and implementation of government procurement question answering system based on knowledge graph[D]. Chongqing: Chongqing University of Technology, 2022.)

[19]
李彦昉. 基于知识图谱的糖尿病问答系统的研究与应用[D].太原:中北大学,2022.(LI Y F. Based on knowledge graph research and application of diabetes question-answering system[D].Taiyuan: North University of China, 2022.)

[20]
张淼. 基于中文知识图谱的智能问答系统设计与实现[D].武汉:华中师范大学,2018.(ZHANG M. Design and implementation of intelligent Q&A system based on Chinese knowledge graph[D]. Wuhan: Central China Normal University, 2018.)

[21]
RAFFEL C, SHAZEER N, ROBERTS A, et al. Exploring the limits of transfer learning with a unified text-to-text transformer[J]. The journal of machine learning research,2020,21(1): 5485-5551.

[22]
MANDAR J, DANQI C, YINHAN L, et al. SpanBERT: improving pre-training by representing and predicting spans[J]. Transactions of the association for computational linguistics, 2020,8: 64-77.

[23]
NOY N F , MCGUINESS D L. Ontology development 101: a guide to creating your first ontology[EB/OL].[2024-03-12]. https://protege.stanford.edu/publications/ontology_development/ontology101.pdf.

[24]
于彤, 崔蒙, 李海燕, 等.中医药学语言系统的语义网络框架:一个面向中医药领域的规范化顶层本体[J].中国数字医学,2014,9(1):44-47.(YU T, CUI M, LI H Y, et al. Semantic network framework of traditional Chinese medicine language system: an upper-level ontology for traditional Chinese medicine[J]. China digital medicine, 2014,9(1):44-47.)

[25]
刘丽红, 贾李蓉, 朱彦, 等.中药子领域核心概念本体模型构建研究[J].中国中医药信息杂志,2018,25(11):95-98.(LIU L H, JIA L R, ZHU Y, et al. Construction od ontological modeling for core concepts of TCM subdomain[J]. Chinese journal of information on traditional Chinese medicine, 2018,25(11):95-98.)

[26]
国家药典委员会.中华人民共和国药典:一部[M].北京:中国医药科技出版社,2015.(Chinese Pharmacopoeia Commission. Pharmacopoeia of the People's Republic of China: 1[M]. Beijing: China Medical Science Press, 2015.)

[27]
XUE R, FANG Z, ZHANG M, et al. TCMID: traditional Chinese medicine integrative database for herb molecular mechanism analysis[J]. Nucleic acids research, 2012, 41(D1): 1089-1095.

[28]
ZENG X, ZHANG P, HE W, et al. NPASS: natural product activity and species source database for natural product research, discovery and tool development[J]. 2018, 46(D1): 1217-1222.

[29]
DAVIS A P, GRONDIN C J, JOHNSON R J, et al. Comparative toxicogenomics database (CTD): update 2021 [J]. Nucleic acids research, 2020, 49(D1): 1138-1143.

[30]
张维冲, 王芳, 黄毅. 基于图数据库的贵州省大数据政策知识建模研究[J].数字图书馆论坛,2020(4):30-38.(ZHANG W C, WANG F, HUANG Y. Knowledge modeling of big data policy in Guizhou province based on graph database[J]. Digital library forum, 2020(4):30-38.)

[31]
王世奇, 刘智锋, 王继民. 学者画像研究综述[J].图书情报工作,2022,66(20):73-81. (WANG S Q, LIU Z F, WANG J M. A review of scholar profiling research[J]. Library and information service, 2022,66(20):73-81.)

[32]
MIKHEEV A, GROVER C, MOENS M. Description of the LTG system used for MUC-7[C]//Proceedings of 7th message understanding conference. Fairfax: ALC, 1998.

[33]
YU S, BAI S, WU P. Description of the Kent Ridge Digital Labs system used for MUC-7[C]//Proceedings of 7th message understanding conference, Fairfax: ALC, 1998.

[34]
PENG N, DREDZE M. Improving named entity recognition for Chinese social media with word segmentation representation learning[C]//Proceedings of the 54th annual meeting of the association for computational linguistics . Berlin: Association for Computational Linguistics,2016:149-155.

[35]
王若佳, 赵常煜, 王继民. 中文电子病历的分词及实体识别研究[J].图书情报工作,2019,63(2):34-42.(WANG R J, ZHAO C Y, WANG J M. Healthcare data mining: word segmentation and named entity recognition in Chinese electronic medical record[J]. Library and information service, 2019,63(2):34-42.)

[36]
KIM Y. Convolutional neural networks for sentence classification[EB/OL]. Eprint Arxiv, 2014[2024-04-09]. https://doi.org/10.48550/arXiv.1408.5882.

[37]
SIMONYAN K, ZISSERMAN A J C. Very deep convolutional networks for large-scale image recognition[EB/OL]. Eprint Arxiv, 2014[2024-04-09]. https://doi.org/10.48550/arXiv.1409.1556.

[38]
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016.

[39]
HUANG G, LIU Z, LAURENS V D M, et al. Densely connected convolutional networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017.

[40]
HOWARD A G, ZHU M, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL]. Eprint Arxiv, 2017[2024-04-09]. https://doi.org/10.48550/arXiv.1704.04861.

[41]
TAN M, LE Q V. EfficientNet: rethinking model scaling for convolutional neural networks[EB/OL]. Eprint Arxiv, 2019[2024-04-09]. https://doi.org/10.48550/arXiv.1905.11946.

[42]
黄兆培, 张峰源, 赵金明, 等.情感识别中的迁移学习问题综述[J].信号处理,2023,39(4):588-615.(HUANG Y P, ZHANG F Y, ZHAO J M, et al. A survey of transfer learning problems in emotion recognition[ J]. Journal of signal processing, 2023,39(4):588-615.)

[43]
EKIN D C, BARRET Z, DANDELION M, et al. AutoAugment: learning augmentation strategies from data[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. Piscataway: IEEE, 2019:113-123.

[44]
MULLER R, KORNBLITH S, HINTON G. When does label smoothing help? [C]//Canada: 33rd Conference on neural information processing systems. Red Hook: Curran Associates Inc., 2019.

文章导航

/

〈 〉