今天是2023年12月25日,星期一,2023年最后一周,北京,天气晴。
关于长文本评估,目前陆陆续续已经谈了多个,例如looge,longbench等,本文主要从数据的角度来看看金融领域长文本评测FinLongEval以及L-EVAL多任务长文本评估基准,重点看看对其数据构造和评估指标,会有一些启发。
供大家一起参考。
一、FinLongEval长文本测试数据集
FinLongEval长文本测试数据集是开源项目https://github.com/valuesimplex/FinLongEval所提到的一类评估基准,包括大类金融长文档和12大类问题,共计43篇金融长文档和347道问题(FinLongEval1.0版)【只公开了80道题样本,完整的需要联系官方】
先援引项目中的一个总结,说了大实话,关于幻觉以及数值类的计算实现:
在金融场景下的泛文档和泛任务处理上,通用大模型的基础能力仍然是最重要的,这个基础上,通过工具结合、金融场景的强化训练等,部分国产工具在金融长文档上面的理解和推理能力已经接近ChatGPT4和Claude2,部分问题类型上能够超过;
在金融场景下,理解用户问题、生成流畅的文本在大模型时代是一件相对容易实现的工作;
大模型的幻觉短期内无法根本解决,对于真实性和可溯源性要求严格的场景,建议采用产品功能和技术攻坚结合的方式;
金融场景下的数值计算的问题不应该寄希望于模型本身来解决,而是采用类似Code Interpreter的方式来解决。
1、数据构成
券商研究报告、上市公司公告/募集书、财经资讯、会议路演、政策文件以及学术论文。
2、测试问题类型
设计了12类不同类型的问题:
例如:
1)表格提取:从文档中识别和提取表格
2)数据计算
3)文本摘要
4)生成提纲
5)陷阱问题
6)阅读理解
7) 信息提取:从文本中获取指定类别信息
8)事件分析
9)逻辑推理
10)关键数据提取:识别统计数值
11)关键词
12)对话人识别
3、数据长度分布
超过80%以上的文件字数超过1万字,超过40%以上的文件字数超过2.5万字,包含最长字数超过50万字(约500页)的超长金融文
4、数据及评估样例
可以在:https://github.com/valuesimplex/FinLongEval/blob/main/data/sample_data.jsonl中看到公开样例数据。
评估方式上,选择6个评估维度来对各个大模型所生成的答案进行评估,分别是相关性、有用性、流畅性、连贯性、一致性和忠实度。
在https://github.com/valuesimplex/FinLongEval/blob/main/evaluation/gpt4.jsonl中可以看到总共80道题下评测模型的表现,例如:
对于数据计算的任务,指标如下,使用正确/错误来记录:
对一陷阱任务,使用是否编造来记录:
其余的数据,使用上述6个指标进行评估,例如,对于关键数据提取的,指标如下:**
二、L-EVAL多任务长文本评估基准
L-Eval(L-Eval: Instituting Standardized Evaluation for Long Context Language Models,https://arxiv.org/abs/2307.11088),是一个长文本评估基准,包含20个子任务、508个长文档和2,000多个人类标记的问答对,涵盖不同的问题风格、领域和输入长度(3k~200k词组)。
该数据集包括封闭式任务和开放式任务两种,封闭式任务组主要测试对较长语境的推理和理解能力,开放式任务组则包括更多需要汇总长文档信息的摘要任务。
地址:https://github.com/OpenLMLab/LEval/tree/main
1、数据加载方式
from datasets import load_dataset, disable_caching
datasets = [“coursera”, “gsm100”, “quality”, “topic_retrieval_longchat”, “tpo”, “codeU”, “sci_fi” ,“financial_qa”, “gov_report_summ”, “legal_contract_qa”, “meeting_summ”, “multidoc_qa”, “narrative_qa”, “natural_question”, “news_summ”, “paper_assistant”, “patent_summ”, “review_summ”, “scientific_qa”, “tv_show_summ”]
for testset in datasets:
# disable_caching() uncomment this if you cannot download codeU and sci_fi
data = load_dataset(‘L4NLP/LEval’, testset, split=‘test’)
# evaluate your model
2、数据集样例
在地址https://github.com/OpenLMLab/LEval/tree/main/LEval-data中可以找到对应的数据信息,每个任务的设计形式可以从下面来看到。
1、TOFEL (ENGLISH TESTS)
2、GSM(16-SHOT)(GRADE SCHOOL MATH)
3、QUALITY (GUTENBERG)
4、Coursera
5、SFCITION (SCIENTIFIC FICTIONS)
6、CODEU (PYTHON)
7、TOPICRET (LENGTHY CONVERSATION)
8、LONGFQA (FINANCE)
9、CUAD (LAW)
10、MULTIDOC2DIAL (DIALOGUES OVER MULTI-DOCUMENTS)
11、NATURAL QUESTIONS (WIKIPEDIA)
12、NARRATIVEQA (NARRATIVES)
13、QASPER (PAPERS)
14、OPENREVIEW (PAPERS)
15、GOVREPORT (GOVERNMENT REPORTS)
16、QMSUM (MEETINGS)
17、SPACE (REVIEWS)
18、MULTI-NEWS (NEWS)
19、BIGPATENT (PATENTS)
20、SUMMSCREEN (TV SHOW)
总结
本文主要从数据的角度看了看金融领域长文本评测FinLongEval以及L-EVAL多任务长文本评估基准,对其实现方式,数据构造情况都值得去看看,感兴趣的可以去看原论文,会有更多收获。
参考文献
1、https://github.com/valuesimplex/FinLongEval
2、https://arxiv.org/abs/2307.11088
关于我们
老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。
老刘说NLP,将定期发布语言资源、工程实践、技术总结等内容,欢迎关注。
对于想加入更优质的知识图谱、事件图谱、大模型AIGC实践、相关分享的,可关注公众号,在后台菜单栏中点击会员社区->会员入群加入。