前期工作总结

任务:各自把前期工作总结,包括主要使用的模型或技术介绍,附上博客链接。

  1. BERT模型的改进

使用模型为bge-large模型替换bert。

bge模型(M3)以及BGE模型使用的预训练方法RetroMAE的具体技术介绍见:《M3-Embedding》汇报-CSDN博客

将BERT模型替换为BGE模型之后,由另一位同学在此基础上加入rerank模型进行重排序。

之后将large+rerank模型与有数据库版本的心法系统进行整合。

测试主要包含以下的不足:

  1. rerank模型会出现多线程错误:由于模型比较大,计算速度很慢,当带搜索框输入一条问题,并删除,再接着输入问题时,会因为前端快速连续搜索导致多个请求同时到达,导致多线程并发问题。但是只要删掉问题,等过一会模型就会自动恢复。(但是测试的结果展示,rerank加入确实有助于问答对的匹配)

  2. 关于速度的问题:模型加载缓慢,代码运行启动时,可能需要半小时。搜索框搜索稳定时,可以需要5分钟时间。

  3. 关于代码部分:进行整合的过程中发现,其实代码里面有一些逻辑问题。比如关于阈值问题,由于rerank模型控制输出5条结果,那么阈值的作用就显得没那么重要了,那么就需要考虑删除的问题。还有一些比较细节的问题,但是由于时间和测试比较麻烦(因为启动时间很长)的原因,没有进行一一排除。但是总体来说,代码是可以跑通的。

  4. 标签预测

目前暂时使用利于语义来匹配标签预测:将新添加的问答对进行一个相似度计算,计算出最相似的问答对,将最相似的问答对的标签赋给新进来的问答对。

具体使用的逻辑如下:

  1. 计算问题与知识库中所有问题的相似度,取最相似的5个问题。
  2. 统计这5个问题中每个一级标签的权重(权重为所有属于该一级标签的问题的相似度之和)。
  3. 选择权重最高的一级标签。
  4. 然后,针对该一级标签,统计这5个问题中属于该一级标签的问题的二级标签,每个二级标签的权重为包含它的问题的相似度之和。
  5. 选择权重最高的1-3个二级标签(如果不足3个,则全部选择;如果超过3个,选前3个)。

利用上面逻辑来保证一级标签和二级标签的从属关系。

上面方法的不足如下:

  1. 如果数据集中没有与新问题相似的问题,那么预测可能不准确。

  2. 如果数据集中存在错误标签,也会影响预测结果。

相关推荐
Ulana8 小时前
计算机基础10大高频考题解析
java·人工智能·算法
windfantasy19909 小时前
NCT与GESP哪个更好?线上监考与线下考点的便利性对比
人工智能
执笔论英雄9 小时前
【LORA】
人工智能
Jerryhut9 小时前
Bev感知特征空间算法
人工智能
xian_wwq9 小时前
【学习笔记】基于人工智能的火电机组全局性能一体化优化研究
人工智能·笔记·学习·火电
春风LiuK9 小时前
虚实无界:VRAR如何重塑课堂与突破研究边界
人工智能·程序人生
歌_顿10 小时前
Embedding 模型word2vec/glove/fasttext/elmo/doc2vec/infersent学习总结
人工智能·算法
胡萝卜3.010 小时前
深入C++可调用对象:从function包装到bind参数适配的技术实现
开发语言·c++·人工智能·机器学习·bind·function·包装器
Echo_NGC223710 小时前
【KL 散度】深入理解 Kullback-Leibler Divergence:AI 如何衡量“像不像”的问题
人工智能·算法·机器学习·散度·kl