一、一些参考资料留档
视频教程:
【官方来源】neo4j使用大模型构建知识图谱的原理解析
最详细GraphRAG教程-环境配置、本地部署流程、本地数据库导入、neo4j构建知识图谱
博客:
基于Neo4j知识图谱的构建及可视化_neo4j知识图谱可视化-CSDN博客探究使用大模型进行知识图谱构建以及问答_大模型抽取知识图谱-CSDN博客 [1]
知识图谱与大模型 Part 1:使用大型语言模型自动进行知识图谱构建_大模型构建知识图谱-CSDN博客 (这篇没有找到原英文论文)
如何用大语言模型自动构建知识图谱_利用大语言模型构建知识图谱-CSDN博客
文章/论文:
[1]
LLMs for knowledge graph construction and reasoning: recent capabilities and future opportunities
二、思考探索
1、传统的思路是人工构建知识图谱,一方面利用其增强LLM,另一方面是通过LLM进行前端生成输出,进行更好地语义交互。
2、基于思路1,更注重知识图谱本身的含金量,需要的是算力不多的小模型
3、现在很多思路可能在于直接利用LLM构建KG,那么对LLM的性能就提出了要求。同时需要对比实验LLM→KG和单纯的KG谁的准确性更高、性价比更高。是否存在这样的判断准则?
4、以前KG的主要作用是可以为搜索引擎提供支撑,现在很多人搜问题直接用LLM,是不是也在一定程度上说明了KG的被替代性?
5、LLM因为其知识的丰富性,在推理上可能表现更出色,但是KG又有特殊的优势
优缺点比较
三、初步途径
思路一:直接利用大模型来构建知识图谱,靠大模型自动化挖掘非结构化数据中的关系,再结合结构化的数据,构建知识图谱,后期数据持续更新、推理。同时在前端使用大模型的对话功能,用户提问时就可以根据知识图谱给出相应答案。
思路二:人工构建知识图谱,使用小模型GraphRAG的方式,将知识谱图作为一个外挂知识库使用,减轻模型的负担,模型仅作为前端查询生成。
优缺点分析:
思路一:
优点:
- 自动化挖掘: 大模型如GPT-4等可以从非结构化文本中自动识别实体和关系,从而减少人工构建的工作量,尤其在处理大量文档时,自动化能够显著提高效率。
- 灵活性高: 这种方式在面对新的数据或不规则信息时具有较好的适应性,能够快速地调整和扩展知识图谱。
- 提升问答系统的效果: 通过大模型直接与知识图谱结合,可以为用户提供更加灵活和准确的回答,尤其是跨领域的知识问答。
缺点:
- 计算资源消耗大: 大模型尤其是像GPT系列这类大规模模型,对于计算资源的需求较高。如果你的数据量庞大或实时性要求高,可能需要额外的计算能力来支撑。
- 自动化准确性问题: 大模型对非结构化数据的处理并不总是完全准确,特别是在关系抽取和实体识别时,可能会出现误差。这需要对模型进行定期的验证和更新。
- 复杂度较高: 将大模型与知识图谱结合并进行端到端的自动化构建,需要解决许多技术细节,比如如何处理数据融合、如何保持图谱的一致性等。
思路二:
优点:
- 高可控性: 人工构建知识图谱可以确保图谱的准确性和质量,尤其是在企业领域知识较为复杂或重要时,人工设计可以更精确地把控关系的正确性。
- 资源需求低: 使用小模型(如GraphRAG)作为查询接口,相较于使用大模型,计算资源的消耗会小得多,适合对计算成本有较高要求的应用场景。
- 图谱结构稳定: 由于知识图谱是提前构建好的,所以它的结构相对稳定,不容易发生像大模型那样的泛化误差,确保了图谱在长时间内的有效性。
缺点:
- 人工成本高: 如果知识图谱涉及的数据量庞大,人工构建的工作量可能会非常大,而且需要不断更新和维护,增加了工作量。
- 灵活性差: 与思路一相比,这种方式的灵活性较差,尤其是当新数据(如新文档)出现时,需要再次人工添加进知识图谱,更新频繁。
- 推理能力较弱: 小模型(如GraphRAG)虽然轻量级,但相对而言,其推理能力和处理复杂问题的能力比大模型要弱,可能无法充分发挥知识图谱的潜力。
综合下来看,好像可以实现先使用人工构建知识图谱作为基础框架,确保基础知识的稳定性和准确性。在此基础上,使用大模型来自动化挖掘新的关系和知识,动态更新知识图谱。大模型可以在前端进行实时查询和推理,而知识图谱作为支持层提供结构化的信息。但是中间有很多连接性的工作,感觉坑不小。