{"id":4515,"date":"2022-03-16T04:42:26","date_gmt":"2022-03-16T04:42:26","guid":{"rendered":"https:\/\/lamarr-institute.org\/blog\/automatische-generierung-von-finanzberichten\/"},"modified":"2025-11-12T14:54:46","modified_gmt":"2025-11-12T14:54:46","slug":"automatische-generierung-von-finanzberichten","status":"publish","type":"blog","link":"https:\/\/lamarr-institute.org\/de\/blog\/automatische-generierung-von-finanzberichten\/","title":{"rendered":"ART &#8211; Ein neues Tool zur automatischen Generierung von Finanzberichten"},"content":{"rendered":"\n<p><span data-contrast=\"auto\">Einen gro\u00dfen Bereich beim F\u00fchren eines Unternehmens stellt die Erstellung von Aufzeichnungen und Berichten dar. Unter diesen ist wohl die Finanzierung eines der wichtigsten Felder. Alle Unternehmen m\u00fcssen detaillierte Informationen \u00fcber Finanzen, Kapital, Investitionen, Ausgaben, etc. aufbewahren. Dies wird vor allem aus rechtlichen Gr\u00fcnden gemacht, kann aber auch bei der Zusammenarbeit mit Analyst*innen und Investor*innen n\u00fctzlich sein. Unternehmen stellen j\u00e4hrlich \u2013 manchmal auch f\u00fcr jedes Quartal \u2013 ihre Daten, Ergebnisse und Strategien in einem Finanzbericht vor. Diese Berichte sind oft umfangreich und langwierig und erfordern daher einen hohen Zeit- und Arbeitsaufwand. Es ist davon auszugehen, dass viele Unternehmen viel Geld und Arbeitsstunden f\u00fcr diese Berichte investieren. Das Automatisieren dieses Prozesses, auch nur teilweise, hat das Potential die Effizienz zu steigern und die Ausgaben f\u00fcr Unternehmen zu reduzieren.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Die Herausforderungen der Automatisierung\u00a0<\/span><\/h2>\n\n\n\n<p><span data-contrast=\"auto\">Nat\u00fcrlich w\u00e4re es gro\u00dfartig, wenn der gesamte Bericht auf magische Weise \u00fcber einen Knopfdruck erstellt werden w\u00fcrde \u2013 die Technik ist aktuell jedoch noch nicht ganz so weit. Daher m\u00fcssen wir etwas realistischer bleiben und schauen, was \u00fcberhaupt alles automatisiert werden kann. Finanzberichte sind ein Sammelsurium aus Zahlen, Diagrammen und Tabellen gekoppelt durch schriftliche Abschnitte. Die wesentlichen schriftlichen Teile eines Finanzberichts, k\u00f6nnen in zwei Kategorien unterteilt werden: Narratives und Finanzbericht. Narratives ist jener Text, der sich nicht direkt auf die vorhandenen Daten st\u00fctzt oder diese beschreibt und ist in der Regel etwas, das sich nicht auf die Finanzen bezieht. Finanzberichte sind mehr oder weniger das genaue Gegenteil und sind sehr stark mit den Finanzen verkn\u00fcpft; hierunter fallen auch die Beschreibungen der Diagramme und Tabellen. Diese Berichte<\/span><span data-contrast=\"auto\"> \u00e4hneln den nachfolgenden in der Regel und haben daher im Allgemeinen wenig Abwechslung.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<p><span data-contrast=\"auto\">Durch diese beiden Kategorien ist es klar, dass Finanzberichte ein besseres Automatisierungspotential aufweisen. Zum Beispiel ist das Beschreiben einer Tabelle ziemlich objektiv und bietet kaum M\u00f6glichkeiten der Interpretation (Bitte nicht verwechseln mit der Erkl\u00e4rung einer Tabelle!). Sicherlich k\u00f6nnte man ein Automatisierungstool entwickeln, welches die Tabellenwerte liest und diese daraufhin in Satzvorlagen einbettet, allerdings w\u00e4ren diese Texte sehr langweilig zu lesen. W\u00e4hrend die Bedeutung eines Satzes immer gleich bleibt, bleiben Satzbau und Wortwahl dem\/der Autor*in \u00fcberlassen. Das klingt immer mehr nach einem Problem der maschinellen \u00dcbersetzung, was durchaus realistisch ist. <\/span><span data-contrast=\"auto\">Im Wesentlichen m\u00f6chten wir ein Modell entwickeln, das mit einer Tabelle von Finanzunterlagen versehen werden kann, und anschlie\u00dfend S\u00e4tze generiert, die die Tabelle beschreibt.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">\u00a0Wie liest und beschreibt man eine Tabelle?<\/span><\/h2>\n\n\n\n<p><span data-contrast=\"auto\">Es ist leicht einer Person eine Tabelle zu geben und zu bitten diese zu beschreiben. Je nach Tabelle brauchen sie vielleicht einige Sekunden, um herauszufinden was die Tabelle aussagt, doch fast jeder ist in der Lage diese Aufgabe erfolgreich zu meistern. Es ist allerdings nicht so einfach, ein neuronales Netz mit all den Tabellen zu f\u00fcttern und einen fertigen Bericht als Ausgabe zu erwarten. Ein Netzwerk dieser Gr\u00f6\u00dfe zu bauen, w\u00fcrde eine fast schon komische Menge an Rechenleistung erfordern und es g\u00e4be keine Garantie, dass es auch wirklich funktioniert. Das Problem muss also zuerst etwas heruntergebrochen werden: Anstatt sich auf ganze Tabellen und Berichte zu fokussieren, k\u00f6nnen wir das Problem vereinfachen, indem wir einen Satz nach dem anderen generieren.&nbsp;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<p><span data-contrast=\"auto\">Indem wir uns nur auf einen Satz konzentrieren, k\u00f6nnen wir die Komplexit\u00e4t des Problems, ebenso wie die Gr\u00f6\u00dfe des finalen Modells erheblich reduzieren. Das bedeutet auch, dass wir \u00fcberlegen m\u00fcssen, wie unsere eingegebenen Daten aussehen sollen. R\u00fcckw\u00e4rts gedacht haben wir einen Satz, welcher etwas \u00fcber eine Tabelle aussagt; dieser Satz st\u00fctzt sich nur auf einige wenige Zellen der Tabelle. Die anderen Zellen der Tabelle k\u00f6nnten also genauso gut nicht existieren, um diesen Satz zu schreiben, was bedeutet, <\/span><span data-contrast=\"auto\">dass die Eingabedaten jeder Stichprobe kleiner sind als die vollst\u00e4ndige Tabelle. Wenn man mit Menschen dar\u00fcber nachdenkt, macht es also Sinn: Gib ihnen eine Tabelle in die Hand und sage einfach: \u201eBeschreibe es\u201c, ist es weniger deutlich, als wenn man sagt: \u201eBeschreibe was diese Zahl bedeutet\u201c. Unsere Aufgabe hat sich geringf\u00fcgig ver\u00e4ndert, aber das Ziel bleibt am Ende dasselbe. Wir m\u00f6chten jetzt ein Modell, welches einen Unterabschnitt oder eine Liste von Zellen aus einer Tabelle verarbeiten und einen Satz generieren kann, der sie beschreibt.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Wie sollten die Daten aussehen?\u00a0<\/span><\/h2>\n\n\n\n<p><span data-contrast=\"auto\">Es gibt verschiedene Wege eine Tabelle als Merkmalsvektor darzustellen. Eine M\u00f6glichkeit w\u00e4re es, die Tabelle als Liste von S\u00e4tzen weiterzugeben, beispielsweise Zeile f\u00fcr Zeile oder Spalte f\u00fcr Spalte. Das klingt annehmbar, jedoch gehen auf diese Weise viele Informationen verloren, da wir nicht mehr wissen, wo die Zeilen oder Spalten beginnen und enden. <\/span><span data-contrast=\"auto\">Wir k\u00f6nnen einige spezielle Token hinzuf\u00fcgen, um dies zu verfolgen und es sogar erweitern, um weitere Informationen wie Zellen und \u00dcberschriften sowie Tabellentitel aufzunehmen. Diese hinzugef\u00fcgten Token lassen unsere Eingabedaten \u00e4hnlich wie HTML aussehen, mit Eigenschaften, denen die Token folgen. Beispielsweise befindet sich nach jeder Zelle eine &lt;\/cell&gt; Token und nach jeder Zeile eine &lt;\/row&gt; Token und so weiter.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<p><span data-contrast=\"auto\">Ein eingegebener \u201eSatz\u201c k\u00f6nnte zum Beispiel wie folgt aussehen:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span data-contrast=\"auto\">Insurance and Guarantee Program Liabilities of September 30, 2020 and 2019&lt;\/section_title&gt; 2020&lt;\/col_header&gt; 2019&lt;\/col_header&gt;&lt;\/row&gt; <\/span><br><span data-contrast=\"auto\">Federal Crop Insurance - Department of Agriculture&lt;\/row_header&gt; 7.7&lt;\/cell&gt; 8.9&lt;\/cell&gt;&lt;\/row&gt;.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559685&quot;:708,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/code><\/pre>\n\n\n\n<p><span data-contrast=\"auto\">Da wir wissen, wie die Daten aussehen, m\u00fcssen wir nun herausfinden, welche Zellen <\/span><span data-contrast=\"auto\">aus der vollst\u00e4ndigen Tabelle an erster Stelle ausgew\u00e4hlt werden. Zu diesem Punkt hatten wir bereits mehr oder weniger einen Korpus aus S\u00e4tzen eines Berichts, der mit der Tabelle, welchen sie beschrieben, gepaart waren. Ein Algorithmus wurde verwendet, um den Satz zu verarbeiten und alle W\u00f6rter oder Geldbetr\u00e4ge abzugleichen, die sich ebenfalls in der Tabelle befanden. Diese \u00fcbereinstimmenden Zellen bilden zusammen mit ihren jeweiligen Zeilen- und Spalten\u00fcberschriften und dem Tabellentitel die Untertabelle, die als Eingabedaten angegeben werden. Der Satz wird dann zu den Zieldaten, welche die Maschine zu reproduzieren versucht.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Transformer Network\u00a0<\/span><\/h2>\n\n\n\n<p><span data-contrast=\"auto\">Ein relativ neues, aber popul\u00e4res neurales Netz sind Transformer-basierte Modelle. Transformer k\u00f6nnen f\u00fcr verschiedenste Aufgaben genutzt werden, aber vor allem werden sie beim Natural Language Processing, der Textgenerierung und der maschinellen \u00dcbersetzung verwendet. Zuvor wurde erw\u00e4hnt, dass es sich bei dieser Aufgabe im Wesentlichen um maschinelle \u00dcbersetzung handelt, insbesondere darum, wie wir einen Satz in unserer &#8222;Tabellen-Sprache&#8220; zu einem Satz in einer vertrauteren Sprache wie Deutsch oder Englisch \u00fcbersetzen m\u00f6chten. F\u00fcr diese Aufgabe haben wir einen BERT2BERT-Transformer verwendet, welcher aus zwei verbundenen <\/span><a href=\"https:\/\/machinelearning-blog.de\/forschung\/bert\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">BERT-<\/span><\/a><span data-contrast=\"none\"><a href=\"https:\/\/lamarr-institute.org\/de\/bert\/\" target=\"_blank\" rel=\"noreferrer noopener\">Modellen<\/a> besteht.&nbsp;<\/span><\/p>\n\n\n\n<p><span data-contrast=\"auto\">Transformer werden mit Encodern und Decodern gebaut und verlassen sich stark auf Attention, insbesondere <\/span><span data-contrast=\"auto\">Multi-Head Self-Attention<\/span><span data-contrast=\"auto\">. Attention ist eine Technik, die es neuronalen Netzen erm\u00f6glicht, sich mehr auf wichtige Merkmale und Informationen zu konzentrieren sowie Abh\u00e4ngigkeiten und Muster innerhalb von Daten leichter zu lernen. Ebenfalls macht es Attention f\u00fcr Netzwerke m\u00f6glich, mit l\u00e4ngeren Informationssequenzen zu arbeiten, wenn man dies beispielweise mit rekurrenten neuronalen Netzen vergleicht. Transformer haben ein paar weitere Tricks, welche es ihnen erlauben effizienter und schneller zu trainieren. Obwohl sie mit sequentiellen Daten arbeiten, trainieren sie nicht-sequentiell mit Hilfe von Positionskodierungen. Der Vorteil davon ist, dass sie in der Lage sind, die gesamte Sequenz gleichzeitig zu trainieren, anstatt die Teile der Sequenz einzeln zu verarbeiten. In Kombination mit einer GPU kann dieses parallelisierte Training stark beschleunigt werden.&nbsp;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span style=\"font-size: 18pt;\">Funktioniert das?\u00a0<\/span><\/h2>\n\n\n\n<p><span data-contrast=\"auto\">Table-to-Text-Experimente <\/span><span data-contrast=\"auto\">werden schon seit einigen Jahren durchgef\u00fchrt und man kann verschiedene Erfolge mit Transformer erkennen. <\/span><span data-contrast=\"auto\">Die Aufgabe, Finanzberichte zu erstellen, sollte theoretisch besser funktionieren als typische Table-to-Text-Experimente. Ein typischer Datensatz, der daf\u00fcr verwendet wird, hei\u00dft <\/span><a href=\"https:\/\/github.com\/google-research-datasets\/ToTTo\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">ToTTo<\/span><\/a><span data-contrast=\"auto\"> und besteht aus 120.000 Tabellen, die in Wikipedia gefunden wurden. Dieser Datensatz hat uns eine Inspiration gegeben, wie unser Datensatz erstellt wurde, n\u00e4mlich die Tabellen, die in kleinere Untertabellen aufgeteilt wurden, sowie der Matching-Algorithmus zur Bestimmung, welche Zellen f\u00fcr den Satz relevant waren. Der ToTTo-Datensatz behandelt viele verschiedene Themen, daher muss ein Modell extrem universell einsetzbar sein. Das Team von Google konnte mit BERT2BERT einen BLEU-Score von 0,44 in seinem urspr\u00fcnglichen ToTTo-Paper erreichen.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:257}\">&nbsp;<\/span><\/p>\n\n\n\n<p><span data-contrast=\"auto\">Nach unseren Experimenten war es unserem BERT2BERT-Modell m\u00f6glich einen \u00fcberraschenden BLEU score von 0.63 zu erreichen. Da sich unser Modell nur mit Finanztabellen auseinander setzt, muss es nicht universell sein. Dies k\u00f6nnte auch erkl\u00e4ren, warum es das BERT2BERT-Modell bei ToTTo-Daten \u00fcbertraf. Die S\u00e4tze, die das Modell produzierte, waren von hoher Qualit\u00e4t und entsprachen den Daten in der Tabelle. Die Grammatik und Fl\u00fcssigkeit waren ebenfalls erstklassig, und selbst S\u00e4tze mit niedriger Punktzahl hatten, wenn \u00fcberhaupt, nur wenige grammatikalische Fehler. Als Prototyp zeigt dieses Modell sicherlich Potenzial und k\u00f6nnte nach ein paar kleinen Optimierungen oder mit einem Trainingsset von h\u00f6herer Qualit\u00e4t sogar serienreif sein.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In das Erstellen von Finanzberichten investiert ein Unternehmen viele Arbeitsstunden und viel Geld. ART ist ein neues Verfahren, mit dem es m\u00f6glich sein soll, strukturierte Tabellendaten aus Finanzberichten in Text umzuwandeln.<\/p>\n","protected":false},"author":9,"featured_media":4516,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog-category":[1416,546,396],"blog-tag":[1447,1452,1519,1558,1559,1614],"class_list":["post-4515","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-alle-blogbeitraege","blog-category-anwendung","blog-category-forschung","blog-tag-automation-de","blog-tag-bert-de","blog-tag-industrie-4-0","blog-tag-neuronale-netze","blog-tag-nlp-de","blog-tag-transformer-de"],"acf":[],"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/users\/9"}],"version-history":[{"count":0,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4515\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media\/4516"}],"wp:attachment":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media?parent=4515"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-category?post=4515"},{"taxonomy":"blog-tag","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-tag?post=4515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}