摘要
大语言模型(Large Language Model, LLM),包括 ChatGPT,在理解和响应人类指令方面表现突出,对自然语言问答影响深远。然而,由于缺少针对垂直领域的训练,LLM 在垂直领域的表现并不理想。此外,由于对硬件的高要求,训练和部署 LLM 仍然具有一定困难。为了应对这些挑战,以中医药方剂领域的应用为例,收集领域相关数据并对数据进行预处理,基于 LLM 和知识图谱设计了一套垂直领域的问答系统。该系统具备以下能力:(1)信息过滤,过滤出垂直领域相关的问题,并输入 LLM 进行回答;(2)专业问答,基于 LLM 和自建知识库来生成更具备专业知识的回答,相比专业数据的微调方法,该技术无需重新训练即可部署垂直领域大模型;(3)抽取转化,通过强化 LLM 的信息抽取能力,利用生成的自然语言回答,从中抽取出结构化知识,并和专业知识图谱匹配以进行专业验证,同时可以将结构化知识转化成易读的自然语言,实现了大模型与知识图谱的深度结合。最后展示了该系统的效果,并通过专家主观评估与选择题客观评估两个实验,从主客观两个角度验证了系统的性能。
关键词:大语言模型(LLM);知识图谱;问答系统;垂直领域;中医药方剂
引言
问答系统(Question Answering, QA)能够自动回答用户提出的自然语言问题,是信息检索和自然语言处理的交叉研究方向。将知识图谱(Knowledge Graph, KG)与问答系统融合,正确理解用户语义是一大挑战。虽然知识图谱问答能够通过对问题分析理解,最终获取答案,但面对自然语言的灵活性与模糊性,如何处理复杂问题的语义信息,如何提高复杂推理问答的高效性仍是研究难点。
面对专业领域的问题,大语言模型的生成结果可能缺乏真实性和准确性,甚至会产生'幻觉事实'。为了增强大语言模型应对专业领域问题的能力,很多工作采取数据微调的方式修改模型参数,从而让大模型具有更高的专业能力。然而一些文献指出这些数据微调的方法会产生灾难性遗忘(catastrophic forgetting),致使模型原始对话能力丧失,甚至在处理非微调数据时会出现混乱的结果。为了应对这些问题,本文结合大语言模型与知识图谱,设计了一种应用于专业领域的问答系统。该问答系统通过将知识库(Knowledge Base, KB)中的文本知识、知识图谱的结构化知识、大语言模型中的参数化知识三者融合,生成专业问答结果,因此无需使用数据微调的方式修改模型参数,就能够理解用户语义并回答专业领域的问题。同时,通过采用类似于 ChatGLM-6B 这样对硬件资源要求较低的模型,以降低硬件对系统的约束。
另外,随着大语言模型技术的发展,认知智能范式的转变将是接下来的研究重点,如何将大语言模型与知识图谱进行有效结合是一个值得研究的课题。因此,本文参照研究问答系统的形式,进一步研究'大语言模型 + 知识图谱'的智能信息系统新范式,探索知识图谱与大语言模型的深度结合,利用专业性知识图谱来增强 LLM 的生成结果,并利用 LLM 理解语义抽取实体对知识图谱进行检索与增强。
主要贡献
本文的主要贡献有两点:
- 提出大语言模型 + 专业知识库的基于提示学习(Prompt Learning)的问答系统范式,以解决专业领域问答系统数据 + 微调范式带来的灾难性遗忘问题。在提升大模型专业能力的同时,保留其回答通用问题的能力。在硬件资源不足的情况下,选择较小的大模型部署专业领域的问答系统,实现能和较大的大模型在专业领域相媲美甚至更好的效果。
- 探索了大语言模型和知识图谱两种知识范式的深度结合。实现了将大语言模型和知识图谱的双向链接,可以将易读的自然语言转换为结构化的数据,进而和知识图谱中的结构化数据匹配,以增强回答专业性;可以将 KG 中的结构化知识转换为更易读的自然语言知识来方便人们理解。
相关工作
随着以 ChatGPT 为代表的大语言模型表现出令人震惊的能力,国内诸多厂商纷纷投入构建中文大语言模型,并涌现出了一系列的模型,如百度的文心一言、阿里的通义千问、华为的盘古大模型等。这些模型虽然具有一定的问答能力,但是正如上文所言,它们在专业领域都有着巨大的局限性。GLM(General Language Model)是清华提出的预训练语言模型,它的底层架构是通用语言模型,在超过 4000 亿个文本标识符上进行预训练。本文系统的应用示例同样是基于 GLM。
在垂直领域存在很多的工作,它们主要采用的方法仍然是数据 + 微调的范式,即使用不同的专业数据对预训练语言模型进行微调,如 P-tuning、P-tuning v2 等,以获取语言模型在相应领域的专业能力。通过更新少量参数,减少了对硬件资源的要求。虽然减弱了微调产生的灾难性遗忘问题,但是此问题仍然存在。
从以上工作可以总结出,垂直领域的范式还是通过不同来源的数据 + 不同的模型基座进行微调,仍然无法避免微调的固有缺陷,而本文使用的专业知识库 + 大语言模型的新范式能够解决这一问题。
LangChain 是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序,可以为 LLM 的开发利用提供有力支撑。它提供了一套工具、组件和接口,可以简化创建由 LLM 或聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与大语言模型的交互,将多个组件链接在一起,并集成额外的资源。利用 LangChain,本文设计的问答系统可以轻松建立知识库与大语言模型间的链接,将知识注入到大语言模型当中。
系统概述
本文提出的专业问答系统基于大语言模型与知识图谱,旨在探索大语言模型 + 专业知识库的问答系统范式,探索大语言模型与知识图谱的深度结合,以实现专业的垂直领域问答效果,并为用户提供专业问答服务和友好交互服务。 基于以上目标系统实现了以下功能:信息过滤、专业问答、抽取转化。 为了实现这些功能,系统基于专业知识与大语言模型,利用 LangChain 将两者结合,设计并实现了大语言模型与知识图谱的深度结合新模式。
信息过滤模块旨在减少大语言模型生成虚假信息的可能性,以提高回答的准确性。专业问答模块通过将专业知识库与大语言模型结合,提供专业性的回答。这种方法避免了重新训练大语言模型所需的高硬件要求和可能导致的灾难性遗忘后果。


