Par Elisha Bajemon, Ingénieur IA chez TW3 Partners. Dernière mise à jour : 10 novembre 2026.

En bref

La méthode étudiée dans FinQA transforme une question financière en une suite d’opérations dont l’exécution fournit la réponse. Dans l’article de Chen et al., publié par l’ACL en novembre 2021, les données utiles viennent du texte et des tableaux d’un rapport. Le système sélectionne ces données, puis construit le programme qui indique comment les employer. Son langage comprend dix opérations, décrites dans le texte de l’étude. Pour une direction qui prépare des documents financiers avec un outil automatique, cette séparation aide à définir ce qui doit rester vérifiable : l’origine des valeurs, les calculs exécutés et le résultat repris dans le document.

1. Quel problème FinQA formule-t-il ?

FinQA pose un problème de réponse numérique à une question portant sur un rapport financier. Dans leur article EMNLP de novembre 2021, Chen et ses coauteurs définissent une entrée composée d’un tableau, de texte et d’une question. La sortie attendue est un programme de raisonnement, exécuté ensuite pour obtenir la réponse. Le mécanisme étudié porte donc sur un calcul répondant à une question délimitée.

Un programme de calcul désigne ici une suite explicite d’opérations avec les données nécessaires à chacune. Cette représentation donne accès au chemin qui conduit au résultat. Le lecteur peut examiner séparément le choix des valeurs, l’ordre des opérations et les dépendances entre étapes. C’est cette possibilité d’inspection qui nous intéresse pour préparer l’intégration dans un document.

Le lien avec TW3 est bibliographique et architectural. La prépublication de Gibert, Despujols et Rochet, déposée sur arXiv le 30 septembre 2026, cite FinQA parmi les travaux sur les questions financières. Son texte intégral décrit un moteur déterministe qui construit un registre de faits typés, assortis de valeurs, d’unités, de périodes et de classes de provenance. Sources et formules sont enregistrées lorsqu’elles s’appliquent.

La proposition du cabinet consiste à préciser l’interface entre ces objets : comment un calcul devient-il un fait réutilisable par le rédacteur ? Cette transposition reste une proposition de conception ; elle ne suppose aucun emploi du code FinQA par TW3.

2. Comment le programme représente-t-il le calcul ?

Le programme associe à chaque opération des arguments et permet de réutiliser les résultats précédents. Dans FinQA, Chen et al., novembre 2021, le langage dédié, appelé DSL, comprend des opérations mathématiques et des agrégations de tableaux. Un opérateur désigne l’action à exécuter ; ses arguments sont les données auxquelles cette action s’applique.

Les opérations mathématiques couvrent l’addition, la soustraction, la multiplication, la division, la comparaison et la puissance. Leurs arguments peuvent être des nombres du rapport ou des résultats antérieurs. Les opérations sur tableaux calculent la somme, la moyenne, le maximum ou le minimum d’une ligne. Elles prennent son nom comme argument. Cette différence compte : une valeur isolée et une référence à une ligne ne demandent pas la même résolution avant calcul.

La notation #n désigne le résultat d’une étape antérieure. Elle exprime une dépendance : l’opération courante attend la valeur produite à cette étape. Avec cette convention, le programme conserve le lien entre les calculs successifs sans recopier leurs résultats sous forme de nombres indépendants.

L’annexe des opérations distingue aussi leurs sorties. La comparaison greater produit un booléen, c’est-à-dire une valeur vrai ou faux ; les autres opérations présentées produisent un nombre. Pour une transposition, nous recommandons de conserver cette distinction dans le contrat du moteur. Le composant qui rédige saura ainsi s’il reçoit une mesure à afficher ou une condition à interpréter. Le nom de l’opération, ses arguments et le type attendu constituent ensemble une instruction vérifiable.

3. Comment les faits sont-ils sélectionnés ?

Le système FinQANet sélectionne d’abord les éléments du rapport qui serviront à construire le programme. La description de Chen et al., novembre 2021 présente un composant de recherche, le retriever, puis un générateur de programme. Pour traiter les tableaux, le premier transforme chaque ligne en phrases à l’aide de modèles de formulation. Il rapproche chaque fait candidat de la question, puis sélectionne les faits retenus et les remet dans leur ordre d’apparition dans le rapport.

Le générateur reçoit cette sélection. Il peut produire des éléments issus du passage et de la question, notamment des nombres ou des noms de lignes, des symboles du langage et des références aux résultats intermédiaires. Le vocabulaire du langage inclut aussi des constantes prédéfinies. Lors de la génération, des restrictions fondées sur la grammaire encadrent la structure du programme.

Dans notre lecture de méthode, cette organisation impose de vérifier les entrées avant de confier le résultat à un rédacteur. Si une valeur provient de la mauvaise période, il faut corriger la sélection avant de relancer le calcul. De même, une ligne transformée en phrase doit rester rattachée à son en-tête pour que le sens de la valeur soit vérifiable.

Pour l’intégration proposée ici, gardez avec chaque argument le passage ou la cellule d’origine, ainsi que son libellé et sa période. Faites examiner la correspondance entre la question et les faits retenus. En cas d’ambiguïté sur la ligne visée, suspendez le calcul jusqu’à résolution. Ces règles organisent la vérification métier des entrées ; elles prolongent la méthode de sélection décrite dans FinQA.

4. Que faut-il borner dans le moteur d’exécution ?

Le moteur doit appliquer un catalogue d’opérations admises et une politique numérique explicite. À partir du langage de FinQA, novembre 2021, le cabinet propose de contrôler le nom de chaque opération, le type de ses arguments et l’existence de chaque résultat référencé avant l’exécution. Une référence à une étape indisponible doit interrompre le traitement avec une cause identifiable.

La documentation de decimal de la Python Software Foundation, sans date de publication indiquée, précise les réglages nécessaires au calcul décimal. Un contexte y définit la précision, l’arrondi, les limites des exposants et les signaux traités comme exceptions. La méthode quantize permet de ramener un résultat à l’exposant demandé, avec arrondi si nécessaire. Ces mécanismes fournissent des options d’implémentation ; ils ne sont pas attribués au système TW3.

La même documentation distingue une division par zéro, une opération invalide et un résultat inexact après arrondi. Selon les exceptions activées, certaines conditions interrompent le calcul ; sinon, une valeur spéciale peut être renvoyée. Les indicateurs d’incident restent positionnés jusqu’à leur remise à zéro.

Pour l’interface proposée, définissez les conditions qui bloquent l’enregistrement et celles qui autorisent un résultat accompagné d’un signal. Consignez le contexte numérique avec l’exécution, y compris la règle d’arrondi. Un résultat non défini doit conserver un statut d’échec explicite. La direction métier peut alors décider des règles acceptables avant que le même nombre soit repris dans plusieurs passages du document.

5. Comment verser le résultat dans le registre ?

Le résultat doit entrer dans le registre avec les informations permettant de retrouver son calcul et ses entrées. La prépublication TW3 du 30 septembre 2026 décrit, dans le système étudié, des faits typés dont les sources et les formules sont enregistrées lorsqu’elles s’appliquent. La production du texte combine notamment des phrases compilées à partir de ces faits. La validation de sortie rejette les nombres sans appui après la génération.

L’annexe consacrée au pipeline d’origine décrit un autre niveau de détail : le moteur écrit un fichier de rapprochement avec une clé par nombre et un journal d’audit. Les documents sont rédigés à partir de ce même fichier ; les passes éditoriales travaillent sans recalculer les valeurs. Cette description du pipeline d’origine doit rester distincte de celle du système étudié.

Pour construire l’interface, notre recommandation est d’enregistrer ensemble le programme, les références de ses arguments et la sortie effective du moteur. Ajoutez une identification de la version du moteur et de sa politique numérique. Conservez les étapes intermédiaires utiles à la relecture et le statut de l’exécution. Ce sont des choix de conception proposés ici.

La formule lisible expose la relation entre les données. La trace d’exécution indique les données effectivement employées et la valeur obtenue sous un contexte donné. Le rédacteur reprendrait alors la valeur enregistrée, son unité, sa période et sa clé de référence. Toute modification d’une entrée déclencherait une nouvelle exécution avant la régénération des passages concernés.

6. Quelles limites conserver dans une transposition ?

La transposition doit tenir compte du périmètre documentaire préparé pour FinQA. Selon Chen et al., novembre 2021, le travail retient des tableaux de structure régulière et écarte les structures imbriquées complexes. Les annotations associent une question, un programme et les phrases ou lignes qui apportent les faits nécessaires.

Pour un livrable d’entreprise, cette préparation devient une responsabilité d’intégration. Il faut décider comment identifier une ligne, conserver son contexte et traiter une entrée ambiguë. La sélection des faits peut être relue indépendamment de la formule ; l’exécution peut ensuite être contrôlée à partir des entrées conservées. Chaque responsabilité doit correspondre à une information accessible dans le dossier de calcul.

La fiche d’interface suivante formalise notre proposition de conception. Ses champs sont à fixer entre les responsables des données, du calcul et de la rédaction avant l’intégration.

Élément à transmettreDécision à formaliser
Question et faits d’entréeConserver la question, les références documentaires, les libellés, les unités et les périodes nécessaires.
ProgrammeDéfinir les opérateurs admis, les types et les références aux étapes précédentes.
ExécutionIdentifier le moteur et sa version, le contexte numérique, les étapes et les incidents.
Résultat enregistréAssocier la valeur à une clé, une unité, une période et un statut utilisables par le rédacteur.
Reprise éditorialeFixer les champs repris et le traitement d’un résultat absent, invalide ou remplacé.

Cette fiche sert à décider quelles preuves accompagnent un nombre lorsqu’il passe du calcul au document. Elle peut être examinée avant tout choix de formulation ou de mise en page.

FAQ

Que produit le système étudié dans FinQA ?
Il construit un programme de raisonnement numérique dont l’exécution fournit une réponse à la question posée sur le rapport. Le programme conserve la suite d’opérations et leurs arguments. Cette représentation permet d’examiner le chemin du calcul, comme le décrit l’étude de Chen et al. citée ci-dessus.

Le modèle calcule-t-il tout dans sa prose ?
La méthode sépare la génération du programme de son exécution. Une étape peut reprendre le résultat d’une opération précédente grâce à une référence dédiée. Dans une transposition au document, il est utile de conserver cette dépendance pour que la relecture puisse remonter du résultat aux valeurs employées.

D’où viennent les arguments ?
Les opérations mathématiques emploient des nombres du rapport ou des résultats antérieurs ; les agrégations utilisent des noms de lignes. Le générateur dispose aussi du vocabulaire du langage, qui comprend des constantes prédéfinies. L’interface proposée dans cet article conserve l’origine des données pour permettre leur vérification.

Comment vérifier les faits utilisés par le programme ?
Une sélection incorrecte des entrées peut produire un résultat arithmétiquement cohérent avec ces entrées. La relecture proposée porte donc sur les références documentaires et leur correspondance avec la question. Elle précède l’exécution et complète les contrôles de structure du programme décrits dans FinQA.

FinQA génère-t-il une présentation complète ?
La tâche définie dans l’étude porte sur des questions financières et leurs réponses obtenues par programme. La rédaction d’un document demande une interface supplémentaire avec les résultats enregistrés. La fiche proposée ici précise les informations à transmettre et les décisions à prendre pour organiser ce passage.

Pour aller plus loin

Sources