最近计划构建疾病主题的知识图谱,想到使用 gpt 等大语言模型从文本中直接提取相关的实体和关系,这样的优势是不用针对特定领域进行模型的训练和优化,开箱即用。尝试的思路有:
chatgpt 上自己做一些提示词的测试,gpt-4 的表现优于 gpt-3.5 ,能够得出更接近预期的答复。但是也有几个问题:
目前的设想是基于 gpt-3.5 ,结合提示词的优化达到尽可能高的效果,结合人工矫正后的例子来更好地帮助模型理解。如果有朋友做类似的工作,希望一起交流探讨一下。
1
hansjimo 2023-06-07 15:58:54 +08:00
前一阵试着用大模型构建了一个简单的领域知识图谱,gpt 是可以直接输出实体、关系和属性的,大部分基础知识输出质量还不错,从一些文本中提取实体和关系并进行格式化信息也没什么问题。过程中一度产生有了大模型还要知识图谱干嘛的困惑。不过现阶段大模型确实还存在一些问题,也需要很多手工修正工作,还需要结合爬虫等其它工具进行一些后续工作。
|
2
hanh1985 OP @hansjimo 感谢兄弟的分享。
LLM 对 KG 的影响在 youtube 上有一些讨论,我记得大意 LLM 本质是神经网络,而 KG 还有数据库的直接检索在性能和资源消耗是远优于 LLM 的;而 LLM 可以更好地支持知识的提取。所以现有的 KG 或者图数据库可以是一个高准确度高效率的知识存储方案,而 LLM 支持知识的获取以及后期的推理,总结。 请问你用的是 gpt-4 么?如何对实体和关系进行格式化呢,是不是直接限定实体和关系的类别。有没有什么框架可以辅助大模型对 KG 的构建呢? |
3
hansjimo 2023-06-08 15:08:18 +08:00
是的,知识图谱肯定在具体的工程应用中暂时还是无法替代的。
用的是 gpt-4 、Claude ,没用 api ,我是试着直接让 gpt-4 输出知识图谱的。先问应该定义哪些实体和关系类别,然后分级输出各层级概念,再给他规定要输出的实体属性格式后,给他概念让他自动把所有属性和关系补全并按格式输出。 不过确实如果是大模型训练语料中已经有的通用知识,输出效果还是不错的,不过比如一些国内特有的或者实例词级别的输出结果就不准确了,开始胡编乱造了。 后来还找到了国外比较专业的领域网站,网站的内容基本已经按照知识体系组织的很完整了,又从上面采集了很多信息吗,再扔给 gpt 帮着补全些关系。 我是有点觉得用大模型做实体识别和关系提取有点大材小用的感觉,目前的能力应该能直接输出很多实体和关系了,不过可能针对像国内医疗领域,又有很多新概念的情况下,还是需要用语料训练下的。 |
5
lilin3035 2023-07-06 12:28:26 +08:00
LLM 的知识库是参数化的,更新周期太长,而且垂直领域的回答也不一定可靠,有胡编乱造的问题。听人说有 LLM 嵌入 KG 的方法,但只是听说。目前 langchain 和 llama_index 都是文本向量化然后和查询词交互提取 top k.另外有看到有人说 LLM 输入 KG,输出 KG 的。之前风向对 KG 都不看好,重要原因之一就是 KG 的构建自动化程度低。目前的 gpt 在知识图谱构建的实体识别、关系抽取、属性抽取方面表现得很好。可以试试互相迭代。使用 LLM 辅助构建 KG ,用 KG 向量化如 Tekgen 作为数据集对 LLM 的预训练。
另外 prompt 工程,比如 github 项目 Mr.Ranedeer ,教师模式挖掘 LLM 知识库,辅助教学,也是一个方向。 llama_index 用于把项目文档向量化,帮助用户通过聊天的形式查询项目问题,都是比较适合的方向把。 |
6
hanh1985 OP @lilin3035 我也在构想用 LLM 来辅助 KG 的方案。看看是不是能整合到 label studio 里,做一个抽取,校验,训练的闭环?
|
9
clockwise9 336 天前
Schema 还是很重要的。大模型对于关系( relationship/predicate )有自己的理解,而知识图谱中的关系可能是根据行业知识甚至应用场景来定义的,两者可能不总是精确匹配。一个无用但容易理解的例子,“配偶”关系可能有很多不同的情况需要判断:前夫前妻,同性伴侣(不管是否合法登记),已经订婚但还没办婚礼没登记的,等等。
|