コンテストの質問リンク | コンテストの質問プロモーション ページ
FinGLM : オープンソースを使用して「AI + 金融」を促進する、オープンで公共の福祉、長期にわたる大規模な金融モデル プロジェクトの構築に取り組んでいます。
[2023/11/23 更新] 第 1 世代、第 2 世代、および第 3 世代 ChatGLM-6B モデルの PPT、ビデオ、技術文書などのコース コンテンツを追加しました。
【2023/11/17 更新】新しいソリューション「Name it Whatever」を追加しました
? 上場企業の年次報告書を深く分析するために設計された対話型インテリジェント システム。財務文書には専門用語や暗黙の情報が存在しますが、当社は AI を使用して専門家レベルの財務分析を実現することに取り組んでいます。
AI の分野では、テキスト対話では進歩が見られますが、実際の金融相互作用のシナリオは依然として大きな課題です。金融分野における AI の限界を探るため、複数の機関が共同でこのコンテストを開催しました。
上場企業のアニュアルレポートは、企業の経営状況や財務状況、将来の計画などを投資家に提示するものです。通訳の鍵となるのは専門知識であり、私たちの目標は、AI テクノロジーによってこのプロセスをより簡単かつ正確にすることです。
PDFからTXTへ:
データのセグメンテーション:
データ処理:
データベースに保存:
データ分類:SQLデータ、ESデータなど
微調整戦略を選択します:ptuningv2、lora など。
選択した戦略に基づいて微調整を実行します。
1) イベント変換
2) データのオープンソース
3) オープンソースのソリューション/コード/モデル
4) オープンなコミュニケーション
5) 学習チュートリアル
6) プロジェクトのリソースプール
創刊:
pdf2txt.py
使用して PDF ファイルを解析します。 2 番目の問題:
プロジェクト紹介ブログ:
[PPT] [ビデオ][コード]
このプロジェクトは、独自のプロジェクトと他のいくつかのチームのプロジェクトに基づいた Anshuoshuo Eye Exploration Enterprise チームを統合したものです。今後もこのプロジェクトを繰り返し、アップグレードしていきます。
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ] [コード]
[PPT] [ビデオ][コード]
当社のオープンソース データセットは、2019 年から 2021 年までの一部の上場企業の年次報告書をカバーしています。このデータセットには合計 11588 個の詳細 PDF ファイル (リスト) が含まれています。これらの PDF ファイルの内容を使用して、必要なデータベースまたはベクター ライブラリを構築できます。コンピューティング リソースの無駄を避けるために、対応するファイルを誰もが使用できるように TXT ファイルと HTML ファイルに変換します。
サイズ:69GB ファイル形式:pdfファイル ファイル数:11588
gitロード
# 要求安装 git lfs
git clone http://www.modelscope.cn/datasets/modelscope/chatglm_llm_fintech_raw_dataset.git
SDKのロード
# Note:
# 1. 【重要】请将modelscope sdk升级到v1.7.2rc0,执行: pip3 install "modelscope==1.7.2rc0" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
# 2. 【重要】datasets版本限制为 >=2.8.0, <=2.13.0,可执行: pip3 install datasets==2.13.0
from modelscope.msdatasets import MsDataset
# 使用流式方式加载「推荐」
# 无需全量加载到cache,随下随处理
# 其中,通过设置 stream_batch_size 可以使用batch的方式加载
ds = MsDataset.load('chatglm_llm_fintech_raw_dataset', split='train', use_streaming=True, stream_batch_size=1)
for item in ds:
print(item)
# 加载结果示例(单条,pdf:FILE字段值为该pdf文件本地缓存路径,文件名做了SHA转码,可以直接打开)
{'name': ['2020-03-24__北京鼎汉技术集团股份有限公司__300011__鼎汉技术__2019年__年度报告.pdf'], 'pdf:FILE': ['~/.cache/modelscope/hub/datasets/modelscope/chatglm_llm_fintech_raw_dataset/master/data_files/430da7c46fb80d4d095a57b4fb223258ffa1afe8bf53d0484e3f2650f5904b5c']}
# 备注:
1. 自定义缓存路径,可以自行设置cache_dir参数,即 MsDataset.load(..., cache_dir='/to/your/path')
2. 补充数据加载(从9493条增加到11588条),sdk加载注意事项
a) 删除缓存中的csv映射文件(默认路径为): ~/.cache/modelscope/hub/datasets/modelscope/chatglm_llm_fintech_raw_dataset/master/data_files/732dc4f3b18fc52380371636931af4c8
b) 使用MsDataset.load(...) 加载,默认会reuse已下载过的文件,不会重复下载。
注: 再利用しやすいように、pdf を txt 形式のファイルに変換します (1 つのファイルが破損しているため、合計数は pdf より 1 つ減り、合計 11587 になります)。
# Linux
wget https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/alltxt.zip
# Windows示例
Invoke-WebRequest -Uri https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/alltxt.zip -OutFile D:\alltxt.zip
注: 再利用しやすいように、pdf を html 形式のファイルに変換します (1 つのファイルが破損しているため、合計数は pdf より少なく、合計 11582 です)
# Linux
wget https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/allhtml.zip
# Windows示例
Invoke-WebRequest -Uri https://sail-moe.oss-cn-hangzhou.aliyuncs.com/open_data/hackathon_chatglm_fintech/allhtml.zip -OutFile D:\allhtml.zip
推奨される手順は次のとおりです。
1. PDF テキストと表の抽出: pdfplumber や pdfminer などのツールキットを使用して、PDF ファイルからテキストと表のデータを抽出できます。
2. データの分割: PDF ファイルのディレクトリ、サブディレクトリ、章情報に従って、コンテンツが正確に分割されます。
3. 基本的な財務データベースの構築: 財務知識と PDF コンテンツに基づいて、専門的な財務データベースのフィールドと形式を設計します。たとえば、貸借対照表、キャッシュ フロー計算書、損益計算書などを定義します。
4. 情報抽出: 大規模モデルの情報抽出機能と NLP テクノロジーを使用して、対応する金融フィールド情報を抽出します。たとえば、章名をキー、ページ番号を値としてディレクトリの内容を出力するには、json モードを使用してください。同時にテーブル内のデータを詳細に抽出し、JSON形式で出力してください。
5. 財務知識の質問と回答ライブラリの構築: 構築された財務データベースと組み合わせて、大規模なモデルを適用して、基本的な財務の質問と回答ライブラリを構築します。例えば、
{"question":"某公司2021年的财务费用为多少元?", "answer": "某公司2021年的财务费用为XXXX元。"}
prompt:用多种句式修改question及answer的内容。
{"question":"为什么财务费用可以是负的?", "answer": ""}
prompt:请模仿上面的question给出100个类似的问题与对应的答案,用json输出。
6. ベクトル ライブラリを構築する: Word2Vec や Text2Vec などのテクノロジを利用して、元のテキスト データから意味ベクトルが抽出されます。 PostgreSQL ベースの拡張機能である pgvector を使用して、これらのベクトルを保存およびインデックス付けし、効率的にクエリできる大規模なベクトル ライブラリを構築します。
7. アプリケーション: ベクトル ライブラリ、大規模モデル、langchain およびその他のツールと組み合わせて、アプリケーションの効果を向上させます。
SMP 2023 ChatGLM Financial Large Model Challengeでは、それぞれ予選、準決勝A、準決勝B、準決勝Cを実施しました。これらのラウンドのコンテストでは、合計 10,000 件のエントリの関連データに手動で注釈を付けました。
データの例:
{ "ID" : 1 ,
"question" : "2019年中国工商银行财务费用是多少元?" ,
"answer" : "2019年中国工商银行财务费用是12345678.9元。" }
{ "ID" : 2 ,
"question" : "工商银行2019年营业外支出和营业外收入分别是多少元?" ,
"answer" : "工商银行2019年营业外支出为12345678.9元,营业外收入为2345678.9元。" }
{ "ID" : 3 ,
"question" : "中国工商银行2021年净利润增长率是多少?保留2位小数。" ,
"answer" : "中国工商银行2020年净利润为12345678.90元,2021年净利润为22345678.90元,根据公式,净利润增长率=(净利润-上年净利润)/上年净利润,得出结果中国工商银行2021年净利润增长率81.00%。" }
同時にコンテスト用のレビューコードも書きました。私たちは以下のものに依存しています。
評価例:
{ "question" : "2019年中国工商银行财务费用是多少元?" ,
"prompt" : { "财务费用" : "12345678.9元" , "key_word" : "财务费用、2019" , "prom_answer" : "12345678.9元" },
"answer" : [
"2019年中国工商银行财务费用是12345678.9元。" ,
"2019年工商银行财务费用是12345678.9元。" ,
"中国工商银行2019年的财务费用是12345678.9元。" ]
}
評価計算例:
回答 1: 2019 年の ICBC の金融支出は 123,456,78.9 元でした。
最も類似した文:
2019年のICBCの財務支出は12345678.9元でした。 (スコア: 0.9915)
2019年の中国工商銀行の金融支出は12345678.9元だった。 (スコア: 0.9820)
2019年の中国工商銀行の金融支出は12345678.9元だった。 (スコア: 0.9720)
評価: 0.25+0.25+0.9915*0.5=0.9958 ポイント。
スコアリングの説明: prom_answer は正しく、すべての key_words が含まれており、類似性が 0.9915 と最も高くなります。
回答 2: 2019 年の ICBC の財務支出は 335,768.91 元です。
評価:0点。
スコアリングの説明: Prom_answer エラーはスコアリングされません。
3 番目の答え: 12345678.9 元。
最も類似した文:
2019年のICBCの財務支出は12345678.9元でした。 (スコア: 0.6488)
2019年の中国工商銀行の金融支出は12345678.9元だった。 (スコア: 0.6409)
2019年の中国工商銀行の金融支出は12345678.9元だった。 (スコア: 0.6191)
評価: 0.25+0+0.6488*0.5=0.5744 ポイント。
スコアリングの説明: prom_answer は正しく、すべての key_words が含まれておらず、類似性が 0.6488 と最も高くなります。
{ "id" : 0 , "question" : "2021年其他流动资产第12高的是哪家上市公司?" , "answer" : "2021年其他流动资产第12高的公司是苏美达股份有限公司。" }
{ "id" : 1 , "question" : "注册地址在重庆的上市公司中,2021年营业收入大于5亿的有多少家?" , "answer" : "2021年注册在重庆,营业收入大于5亿的公司一共有4家。" }
{ "id" : 2 , "question" : "广东华特气体股份有限公司2021年的职工总人数为?" , "answer" : "2021年广东华特气体股份有限公司职工总人数是1044人。" }
{ "id" : 3 , "question" : "在保留两位小数的情况下,请计算出金钼股份2019年的流动负债比率" , "answer" : "2019金钼股份流动负债比率是61.10%。其中流动负债是1068418275.97元;总负债是1748627619.69元;" }
{ "id" : 4 , "question" : "2019年负债总金额最高的上市公司为?" , "answer" : "2019年负债合计最高的是上海汽车集团股份有限公司。" }
{ "id" : 5 , "question" : "2019年总资产最高的前五家上市公司是哪些家?" , "answer" : "2019年资产总计最高前五家是上海汽车集团股份有限公司、中远海运控股股份有限公司、国投电力控股股份有限公司、华域汽车系统股份有限公司、广州汽车集团股份有限公司。" }
{ "id" : 6 , "question" : "2020年营业收入最高的3家并且曾经在宁波注册的上市公司是?金额是?" , "answer" : "注册在宁波,2020年营业收入最高的3家是宁波均胜电子股份有限公司营业收入47889837616.15元;宁波建工股份有限公司营业收入19796854240.57元;宁波继峰汽车零部件股份有限公司营业收入15732749552.37元。" }
{ "id" : 7 , "question" : "注册地址在苏州的上市公司中,2020年利润总额大于5亿的有多少家?" , "answer" : "2020年注册在苏州,利润总额大于5亿的公司一共有2家。" }
{ "id" : 8 , "question" : "浙江运达风电股份有限公司在2019年的时候应收款项融资是多少元?" , "answer" : "2019年浙江运达风电股份有限公司应收款项融资是51086824.07元。" }
{ "id" : 9 , "question" : "神驰机电股份有限公司2020年的注册地址为?" , "answer" : "2020年神驰机电股份有限公司注册地址是重庆市北碚区童家溪镇同兴北路200号。" }
{ "id" : 10 , "question" : "2019年山东惠发食品股份有限公司营业外支出和营业外收入分别是多少元?" , "answer" : "2019年山东惠发食品股份有限公司营业外收入是1018122.97元;营业外支出是2513885.46元。" }
{ "id" : 11 , "question" : "福建广生堂药业股份有限公司2020年年报中提及的财务费用增长率具体是什么?" , "answer" : "2020福建广生堂药业股份有限公司财务费用增长率是34.33%。其中,财务费用是7766850.48元;上年财务费用是5781839.51元。" }
{ "id" : 12 , "question" : "华灿光电股份有限公司2021年的法定代表人与上年相比相同吗?" , "answer" : "不相同,华灿光电股份有限公司2020年法定代表人是俞信华,2021年法定代表人是郭瑾。" }
{ "id" : 13 , "question" : "请具体描述一下2020年仲景食品控股股东是否发生变更。" , "answer" : "2020年,仲景食品控股股东没有发生变更。" }
{ "id" : 14 , "question" : "什么是其他债权投资?" , "answer" : "其他债权投资是指企业或机构投资者通过购买债券、贷款、定期存款等金融产品获得的固定收益。这些金融产品通常由政府、公司或其他机构发行,具有一定的信用等级和风险。 n n其他债权投资是企业或机构投资组合中的一部分,通常用于稳定收益和分散风险。与股票投资相比,其他债权投资的风险较低,但收益也相对较低。 n n其他债权投资的管理和投资策略与其他资产类别类似,包括分散投资、风险控制、收益最大化等。然而,由于其他债权投资的种类繁多,其投资和管理也存在一定的特殊性。" }
[PPT] [ビデオ][技術文書]
[PPT] [ビデオ][技術文書]
[PPT] [ビデオ][技術文書]
このプロジェクトに貢献したチームと個人は次のとおりです。
FinGLM オープンソース プロジェクトは完全に公共の福祉を目的としており、すべての開発者が参加申請することを歓迎します。もちろん、厳正な審査が行われます。ご興味がございましたら、フォームにご記入ください。
このプロジェクトに関連するリソースは研究とコミュニケーションのみを目的としており、商業目的で使用することは通常推奨されていません。商業目的で使用する場合は、発生する法的リスクをご負担ください。
モデルの商業利用については、ChatGLM-6B などの該当モデルのプロトコルに従ってください。