周六日休息了两天没干活,咨询AI获取了一些思路。
今天优化了一下第一部分的代码,之前是纯靠deepseek大模型的能力去进行实体识别。
存在一些幻觉问题等,导致后续实体值抽取的时候越走越偏,这次对实体抽取也进行了检索增强,说一下我大概的做法。
1. 把目标实体(也就是正确答案)构建了一个本体库,然后其中只包含实体的名称,然后对其进行向量化。
2. 构建一个prompt,然后利用llm对这个要抽取的内容先进行一个大致抽取,这个对大模型的要求不是很高,也方便后续转到本地部署的小模型。
3. 对第二步抽取到的内容向量化,然后去之前本体构建的向量数据库中做相似度匹配,找到一些语义相关的实体名称。
4. 对第三步中获取到的可能的实体名称列表,然后加上文本内容,让大模型从里面去选,对这些可能的实体进行标记,只让他回答yes/no/unkonw(这一步利用了一个大模型的分类能力,因为我发现分类会比生成减少很多的幻觉现象)。
5. 对分好类的实体列表输出,然后取yes的部分作为抽取到的最后实体列表。
其中会对一些经常出错的,或者大模型很难分辨的,单独提示到第二步的提示词中,进而增加正确率。
这是我最近的一些idea,代码暂时手搓到一半了,明天测试思路效果。
马甲部分:本人纯小白,发表的都是一些简单的想法,希望大家多多批评指正,不吝赐教!!!
417

被折叠的 条评论
为什么被折叠?



