在信息爆炸的时代,我们获取知识的方式正在经历深刻的变革。尤其是在医疗健康领域,快速、准确地获取可靠的药品信息至关重要。药品说明书作为药品信息的权威来源,却常常因为其专业术语和冗长篇幅,让使用者感到困惑。如何让药品说明书不再“晦涩难懂”,成为我们智能用药的得力助手?(关注公众号“赛文AI药学”,获取更多AI与药学的内容)
本文将深入探讨如何利用 检索增强生成 (Retrieval-Augmented Generation, RAG) 技术,将药品说明书转化为一个高效、易用的知识库,帮助用户快速获取所需药品信息,提升用药安全性和便捷性。
1. 结构化信息提取:化繁为简,构建知识骨架
药品说明书如同医药领域的“百科全书”,蕴含着丰富的药品信息。然而,这些信息通常以自然语言文本的形式呈现,不利于机器高效检索和理解。因此,结构化信息提取 是构建药品说明书RAG知识库的第一步,也是至关重要的一步。
目标: 将药品说明书中的关键信息,例如药品名称、适应症、用法用量、不良反应等,从非结构化文本中提取出来,并按照预定义的结构进行组织。
方法:
-
人工标注与规则提取相结合: 对于药品说明书的常见结构和固定格式(例如,章节标题、表格等),可以利用规则和正则表达式进行初步提取。同时,结合人工标注,构建高质量的训练数据集,用于训练信息抽取模型。
-
自然语言处理 (NLP) 技术: 运用命名实体识别 (NER)、关系抽取 (RE) 等 NLP 技术,自动识别和提取说明书中的关键实体(如药品成分、疾病名称、症状等)及其相互关系(如药品与适应症、药品与不良反应等)。
-
基于模板的方法: 针对不同类型的药品说明书,可以设计不同的信息抽取模板,提高信息抽取的准确性和效率。
-
深度学习模型: 利用Transformer等深度学习模型,训练端到端的信息抽取模型,直接从原始文本中提取结构化信息。例如,可以使用BERT、RoBERTa等预训练模型,结合特定的下游任务微调,实现更精准的信息抽取。
结构化示例:
假设我们提取了某药品说明书的部分信息,可以将其结构化为如下 JSON 格式:
{
"药品名称": "XXX片",
"适应症": [
"用于治疗高血压。",
"用于治疗心绞痛。"
],
"用法用量": {
"成人": "口服,一次1片,一日2次。",
"儿童": "请遵医嘱。"
},
"不良反应": [
"头晕",
"恶心",
"乏力",
"偶见皮疹"
],
"禁忌症": [
"对本品过敏者禁用。",
"严重肝功能不全者禁用。"
],
"药物相互作用": [
"与某些降压药合用时,可能增强降压效果。",
"与非甾体抗炎药合用时,可能增加胃肠道出血风险。"
],
"储存条件": "密封,阴凉干燥处保存。"
}
价值: 结构化信息提取将药品说明书从“文本海洋”转化为“数据表格”,为后续的快速检索、语义理解和知识推理奠定了基础。
2. 文本嵌入 (Embedding):构建语义桥梁,实现高效检索
仅仅结构化信息还不够,我们需要让RAG系统能够理解用户提出的问题,并找到说明书中与之语义相关的内容。 文本嵌入 (Embedding) 技术正是实现这一目标的关键。
目标: 将药品说明书的文本内容(例如,章节、段落、甚至句子)转化为 向量表示 (Vector Embedding),使得语义相似的文本在向量空间中距离更近。
方法:
-
传统方法: 早期的文本嵌入方法,如 TF-IDF、Word2Vec、GloVe 等,可以将词语或文档转换为向量。但这些方法通常无法很好地捕捉上下文信息和句子级别的语义。
-
基于预训练语言模型的方法: 近年来,基于Transformer架构的预训练语言模型(如 BERT、RoBERTa、Sentence-BERT 等)在文本嵌入方面取得了显著的进步。
-
BERT (Bidirectional Encoder Representations from Transformers) 及其变种: BERT 模型通过双向Transformer编码器,能够更好地理解上下文语境,生成更具语义信息的句子和段落嵌入。
-
Sentence-BERT (SBERT): SBERT 是在 BERT 基础上进行微调的模型,专门用于生成高质量的句子嵌入,并优化了语义相似度计算的效率。
-
领域特定模型微调: 为了更好地适应医药领域的专业术语和语言特点,可以利用药品说明书等医疗文本对预训练语言模型进行微调,得到更适合医药领域的文本嵌入模型。
-
流程:
-
文本分割: 将药品说明书按照章节、段落或句子进行分割。选择合适的分割粒度需要权衡检索的精度和效率。
-
嵌入生成: 使用选定的文本嵌入模型,将分割后的文本片段转换为向量表示。
-
向量存储: 将生成的向量及其对应的文本片段存储到 向量数据库 中。常用的向量数据库包括:
-
Faiss (Facebook AI Similarity Search): 高效的相似性搜索库,适合大规模向量检索。
-
Annoy (Approximate Nearest Neighbors Oh Yeah): 另一个流行的近似最近邻搜索库。
-
Milvus: 开源的向量数据库,支持多种索引类型和分布式部署。
-
Pinecone, Weaviate, Chroma: 商业化的向量数据库服务,提供更完善的功能和易用性。
-
价值: 文本嵌入技术构建了语义桥梁,使得RAG系统能够通过计算向量之间的相似度,快速找到与用户问题语义相关的药品说明书内容,突破了传统关键词搜索的局限性。
3. 信息检索模块:精准定位,快速获取相关知识
信息检索模块 是RAG系统的核心组件,负责从构建好的知识库(药品说明书向量数据库)中,根据用户的问题,高效、准确地检索出最相关的文档或段落。
方法:
-
语义搜索 (Semantic Search): 利用文本嵌入技术,将用户的问题也转换为向量表示,然后在向量数据库中进行 相似度搜索 (Similarity Search),找到与问题向量最相似的药品说明书文本向量。常用的相似度度量方法包括:
-
余弦相似度 (Cosine Similarity): 衡量两个向量方向的相似度,在文本语义相似度计算中应用广泛。
-
点积 (Dot Product): 在向量归一化后,点积与余弦相似度等价,计算效率更高。
-
欧氏距离 (Euclidean Distance): 衡量向量之间的距离,距离越小,相似度越高。
-
-
关键词搜索 (Keyword Search): 作为语义搜索的补充,关键词搜索仍然可以在某些场景下发挥作用。例如,当用户明确知道药品名称或特定术语时,关键词搜索可以快速定位到相关内容。可以结合倒排索引等技术,提高关键词搜索效率。
-
混合检索 (Hybrid Search): 结合语义搜索和关键词搜索的优势,构建混合检索系统。例如,可以先使用关键词搜索进行初步筛选,再使用语义搜索进行精细排序,提高检索的准确性和召回率。
流程:
-
用户提问: 用户输入关于药品的问题,例如:“XXX片的副作用是什么?”
-
问题嵌入: 将用户的问题文本使用与药品说明书相同的文本嵌入模型转换为向量表示。
-
向量检索: 在向量数据库中,使用相似度搜索算法(如 KNN - K-Nearest Neighbors)找到与问题向量最相似的 Top-K 个药品说明书文本向量。
-
结果排序与筛选: 对检索到的文本片段进行排序,并根据相关性得分进行筛选,选择最相关的文本片段作为检索结果。
价值: 信息检索模块能够精准定位到药品说明书中与用户问题相关的段落,为后续的生成模型提供高质量的输入信息,保证RAG系统回答的准确性和相关性。
4. 与生成模型结合:智能问答,自然语言呈现答案
RAG 的强大之处在于,它不仅仅是检索信息,更重要的是 将检索到的信息与生成模型结合,生成自然、流畅、易于理解的答案,真正实现智能问答。
目标: 利用检索模块获取的药品说明书相关信息,作为生成模型的输入,生成自然语言形式的答案,回答用户关于药品的问题。
方法:
-
选择合适的生成模型: 常用的生成模型包括:
-
GPT (Generative Pre-trained Transformer) 系列: 例如 GPT-3, GPT-4 等,具有强大的文本生成能力,能够生成高质量、连贯的自然语言文本。
-
T5 (Text-to-Text Transfer Transformer): 将所有 NLP 任务都视为文本到文本的转换问题,具有良好的泛化能力。
-
BART (Bidirectional and Auto-Regressive Transformer): 结合了双向编码器和自回归解码器的优点,在文本摘要和生成任务中表现出色。
-
领域特定模型微调: 为了更好地适应医药领域的专业语言和知识,可以利用药品说明书等医疗文本对生成模型进行微调,提高模型在医药问答任务上的表现。
-
-
RAG 流程:
-
用户提问: 用户提出关于药品的问题。
-
信息检索: 信息检索模块从向量数据库中检索出与问题相关的药品说明书段落。
-
上下文构建: 将检索到的相关段落作为 上下文 (Context),与用户的问题一起输入到生成模型中。
-
答案生成: 生成模型根据上下文信息,生成自然语言的答案。
-
示例:
-
用户问题: “XXX片可以长期服用吗?”
-
检索到的相关段落: “【用法用量】…长期用药应在医师指导下进行。 【注意事项】…长期用药可能产生耐药性…”
-
生成模型生成的答案: “XXX片是否可以长期服用需要遵医嘱。说明书提示,长期用药应在医师指导下进行,并且长期用药可能产生耐药性。建议您咨询医生,了解您的具体情况是否适合长期服用以及如何安全用药。”
价值: RAG 将检索和生成模型结合,既利用了知识库的权威性和准确性,又发挥了生成模型的语言生成能力,使得RAG系统能够提供更自然、更人性化的智能问答服务。
5. 领域特定的微调:精益求精,提升专业领域回答质量
虽然通用预训练语言模型在很多任务上表现出色,但在医药等专业领域,仍然存在挑战。 领域特定的微调 是提升RAG系统在药品说明书场景下回答质量的关键步骤。
目标: 使生成模型更好地理解医药领域的专业术语、知识体系和语言风格,提高模型在药品相关问题上的回答准确性和专业性。
方法:
-
收集领域数据: 收集大量的医药领域文本数据,例如:
-
药品说明书: 作为核心的微调数据来源。
-
医学文献: 例如 PubMed、ClinicalTrials.gov 等数据库中的文献摘要和全文。
-
医药知识图谱: 例如 DrugBank、UMLS 等,包含丰富的药品和疾病知识。
-
医药问答数据集: 构建或收集医药领域的问答数据集,用于监督学习微调。
-
-
微调策略:
-
持续预训练 (Continued Pre-training): 在通用预训练模型的基础上,使用领域数据进行进一步的预训练,使模型更好地适应领域语言和知识。
-
指令微调 (Instruction Tuning): 使用医药问答数据集,将模型微调为指令遵循模型,使其能够更好地理解用户指令并生成符合要求的答案。
-
RAG 框架微调: 针对 RAG 框架进行端到端的微调,优化检索和生成模型的协同工作,提升整体问答效果。
-
价值: 领域特定的微调能够显著提升RAG系统在药品说明书场景下的回答质量,使其更专业、更可靠,更好地满足用户的医药信息需求。
6. 动态更新:与时俱进,保持知识库的时效性
药品说明书并非一成不变,会随着新的研究成果、药品批准信息和监管政策而更新。为了保证RAG系统提供的信息是最新的、最准确的,动态更新 知识库至关重要。
方法:
-
定期爬取或手动更新: 定期从官方网站(如国家药品监督管理局网站、药品生产企业网站)爬取最新的药品说明书,或手动收集更新后的说明书。
-
版本控制: 对药品说明书进行版本控制,记录每次更新的时间和内容,方便追溯和管理。
-
增量更新: 只更新发生变化的药品说明书部分,而不是每次都重新处理整个知识库,提高更新效率。
-
自动化更新流程: 构建自动化更新流程,例如:
-
监控药品监管部门网站的更新公告。
-
使用 RSS 订阅或 API 接口获取最新的药品信息。
-
自动下载、解析和处理更新后的药品说明书。
-
自动更新向量数据库和索引。
-
价值: 动态更新保证了RAG系统知识库的时效性,使其能够提供最新的药品信息,避免用户获取过时或错误的信息,保障用药安全。
将药品说明书作为RAG的知识库,是一项极具价值的应用。通过结构化信息提取、文本嵌入、信息检索、与生成模型结合、领域特定微调和动态更新等关键步骤,我们可以构建一个智能、高效、可靠的药品信息问答系统,打造AI数字药师。
未来的AI数字药师:
-
更智能的交互方式: 结合语音识别、图像识别等技术,实现更自然、更便捷的交互方式,例如用户可以通过语音提问、拍照上传药品包装盒等方式获取药品信息。
-
个性化用药指导: 结合用户的个人健康信息(如病史、过敏史、正在服用的药物等),提供更个性化的用药指导和风险提示。
-
多语言支持: 支持多种语言的药品说明书和用户提问,服务更广泛的用户群体。
-
与医疗专业人员协作: RAG系统可以作为医疗专业人员的辅助工具,帮助医生和药师更快速地查找和分析药品信息,提升工作效率和医疗质量。
往期内容荐读:
ChatGPT 在临床药学中的有效性以及人工智能在药物治疗管理中的作用
DDI-GPT:使用知识图谱增强的大模型对药物相互作用进行可解释的预测
诺奖得主David Baker最新Science论文:药学+AI领域迎来新机遇!
AI与药学:ChatGPT与临床培训——药学博士(Pharm-D)学生的看法、担忧和实践
人工智能大模型在用药处方审核的应用潜力:一项跨 12 个临床专科的前瞻性研究
AI用于研究药物扩大适应症:大模型架起药物分子结构与适应症的桥梁
AI与药学:DrugGPT助力减少英国每年2.37亿次用药错误
CancerGPT :基于大语言模型的罕见癌症药物对协同作用少样本预测研究
AI与药学|DAPSNet:基于双重注意力机制和患者相似性的药物推荐模型
AI与药学| Nature Medicine:大模型MEDIC显著降低药店用药指导错误
AI与药学:基于大模型的多智能体药物不良事件提取系统—MALADE
FastRx:基于 Fastformer 和记忆增强图神经网络的个性化用药推荐模型
AI与药学 | Med-Pal:轻量级大型语言模型在药物咨询领域的应用
AI与药学|当AI遇上老药新用,DrugReAlign—基于大模型的多源提示药物重定位框架
AI与药学 | 大模型赋能用药处方:迈向更清晰、个性化、无偏见的用药指导新时代
AI与药学 | TCM-FP:基于大语言模型微调的中医处方预测
欢迎关注公众号“赛文AI药学”!
赛文AI药学,致力于探索人工智能在药学场景中的创新与应用。