Skip to content

bryant-nn/Template-Based-Financial-Report-Generation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“„ Template-Based Financial Report Generation in Agentic and Decomposed Information Retrieval

Official Implementation of Template-Based Financial Report Generation in Agentic and Decomposed Information Retrieval
To appear in the Proceedings of the 48th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2025)

πŸ“„ Paper

πŸ“Ž Template-Based Financial Report Generation in Agentic and Decomposed Information Retrieval

πŸ‘€ Authors


Yong-En Tian

Yu-Chien Tang

Kuang-Da Wang

🧾 Overview

This repository provides two generation pipelines (AgenticIR and DecomposedIR) for financial and climate report generation.
It supports task decomposition, retrieval-based generation, and multiple evaluation strategies.

πŸ“¦ Requirements

Set up the Python environment using Conda:

conda create -n myenv python=3.12.2
conda activate myenv
pip install -r requirements.txt

πŸ‘‰ Note: This project requires a .env file for API keys. Create a file named .env in the root directory and include:

OPENAI_API_KEY=your_openai_api_key_here

πŸ“ Project Structure

.
β”œβ”€β”€ Finance/                      # Financial data (to be released)
β”œβ”€β”€ SumIPCC/                      # Climate report generation
β”œβ”€β”€ crawler.py                    # Script to crawl financial data
β”œβ”€β”€ requirements.txt              # Dependencies
β”œβ”€β”€ .env
└── README.md                     # This file         

πŸ“Š Finance

πŸ“š Contents

  • AgenticIR/ – Agent-based generation

  • DecomposedIR/ – Report generation via decomposed queries

  • data/ – Earnings call transcripts, balance-sheet, cash-flow and income statement

πŸ”§ Features

  1. Agentic Report Generation:

    • Uses agents to generate financial reports.
    • Supports task decomposition and retrieval-based generation.
  2. Decomposed Report Generation:

    • Breaks down report generation into smaller subquery for improved accuracy.
    • Embedding-based retrieval of relevant data chunks.
  3. Evaluation Tools:

    • Supports DecompEval and G-Eval metrics for reference-free evaluating the quality of generated summaries and readability of generated summaries.

πŸš€ Usage Instructions

🧠 AgenticIR

  1. Generate Reports
# Arguments:
# -r, self-reflection
# -c, company (="INTC", "GFS", "SSNLF", "TSM", "UMC")
python Finance/AgenticIR/agentic_main.py -c INTC [-r]
  1. Evaluate Reports
# Arguments:
# -c, company (="INTC", "GFS", "SSNLF", "TSM", "UMC")
python Finance/AgenticIR/Eval/eval.py -c INTC
  1. View Evaluation Results
Open notebook:
Finance/AgenticIR/Eval/result_eval.ipynb

🧩 DecomposedIR

  1. Generate Reports
# Arguments:
# -r, self-reflection
# -c, company (="INTC", "GFS", "SSNLF", "TSM", "UMC")
python Finance/DecomposedIR/decomposed_main.py -c INTC [-r]
  1. Evaluate Reports
python Finance/DecomposedIR/Eval/eval.py
  1. View Evaluation Results
Open notebook:
Finance/DecomposedIR/Eval/result_eval.ipynb

🌍 SumIPCC (Climate Report Generation)

πŸ“š Contents

  • AgenticIR/ – Agent-based generation

  • DecomposedIR/ – Report generation via decomposed queries

  • data/ – Original and processed SumIPCC data

πŸ”§ Features

  1. Agentic Report Generation:

    • Uses agents to generate climate reports.
    • Supports task decomposition and retrieval-based generation.
  2. Decomposed Report Generation:

    • Breaks down report generation into smaller subquery for improved accuracy.
    • Embedding-based retrieval of relevant data chunks.
  3. Evaluation Tools:

    • Supports ROUGE and BERTScore metrics for evaluating the quality of generated summaries.
    • Compares generated summaries with ground truth data.
  4. Data Processing:

    • Processes datasets to create structured templates and ground truth for evaluation.

πŸš€ Usage Instructions

🧠 AgenticIR

  1. Generate Reports
# Arguments:
# -r, self-reflection
python SumIPCC/AgenticIR/agentic_main.py [-r]
  1. Evaluate Reports
python SumIPCC/AgenticIR/Eval/eval.py
  1. View Evaluation Results
Open notebook:
SumIPCC/AgenticIR/Eval/result_eval.ipynb

🧩 DecomposedIR

  1. Generate Reports
# Arguments:
# -r, self-reflection
python SumIPCC/DecomposedIR/decomposed_main.py [-r]
  1. Evaluate Reports
python SumIPCC/DecomposedIR/Eval/eval.py
  1. View Evaluation Results
Open notebook:
SumIPCC/DecomposedIR/Eval/result_eval.ipynb

πŸ“‚ Data Format

Original and processed SumIPCC data are organized as follows:

SumIPCC/data/
β”œβ”€β”€ all_data/                       # Raw SumIPCC data
└── process_data/
    └── Report_1/                   # Example
        β”œβ”€β”€ AgenticIR_result/       # Agent-based outputs
        β”œβ”€β”€ DecomposedIR_result/    # Decomposed outputs
        β”œβ”€β”€ full_paragraphs.txt     # Original report
        β”œβ”€β”€ groundtruth.py          # Ground truth summaries
        β”œβ”€β”€ question_decomposed.py  # Query decompositions
        └── report_template.py      # Report template structure

πŸ“ License

This project is licensed under the MIT License.

πŸ“„ Citation

Please cite our work if you find it helpful:

@inproceedings{tian2025template,
  title={Template-based financial report generation in agentic and decomposed information retrieval},
  author={Tian, Yong-En and Tang, Yu-Chien and Wang, Kuang-Da and Yen, An-Zi and Peng, Wen-Chih},
  booktitle={Proceedings of the 48th International ACM SIGIR Conference on Research and Development in Information Retrieval},
  pages={2706--2710},
  year={2025}
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors