Die meisten Module zur Verarbeitung natürlicher Sprache verwenden eine bestimmte Technik für Textdarstellungen auf Zeichen-, Wort- oder Sequenzebene (Satz, Absatz oder Dokument). Daher hängt die Effizienz dieser Module stark von der Qualität der Einbettungen ab, auf denen sie aufgebaut sind.
Embeddings/Techniken/Timeline
In order to provide our customers with the best document analysis in near real-time conditions, we pay close attention to the quality of our text embeddings, the complexity they come with as well as their impact on process time.
Der Zweck dieses Abschnitts ist es, eine kurze Erklärung der am häufigsten verwendeten Arten von Texteinbettungen bei Hyperlex zu geben.
- Statistical embeddings vs distributional embeddings
Der statistische Ansatz der Textanalyse beruht auf der Verfolgung des Vorkommens bestimmter Wörter in den bearbeiteten Texten sowie ihrer Häufigkeit und Seltenheit.
In diesem Zusammenhang sind die gängigsten Einbettungsmethoden die "Bag of words"(BoW) [1] und "TF-IDF". [2].
Beide Methoden bestehen aus dem Aufbau eines vollständigen Wortinventars auf der Grundlage aller beobachteten Dokumente, das als "Vokabular" bezeichnet wird. Die Technik Bag of Words stellt jeden Text als sparsamen Vektor mit Nullen dar, die das Fehlen bestimmter Wörter im Text repräsentieren, und umgekehrt. Beispielsweise wird bei dieser Technik ein Wort durch einen Vektor dargestellt, der die gleiche Größe wie das Vokabular hat, mit Nullen in jeder Zelle außer einer, die den Index dieses Wortes im Vokabular repräsentiert. (Eine heiße Kodierung)
Wie bei der TF-IDF-Methode ist sie im Grunde eine Sammlung von Zählern für die Häufigkeit des Terms im gegebenen Text sowie für die Seltenheit des Terms im allgemeinen Korpus. Das bedeutet, dass der Begriff für die Vorhersage so wichtig ist, wie er in seinem Kontext häufig vorkommt und unter den anderen Textdokumenten im Trainingsset selten ist.
Rechtsdokumente im Allgemeinen und Verträge im Besonderen sind oftmals komplexe Texte mit einem sehr speziellen Vokabular und einer ausgefeilten Satzstruktur. Wenn es also um die Analyse dieser Dokumente geht, reicht das bloße Vorhandensein oder die Häufigkeit eines Wortes nicht aus, um die volle Bedeutung eines Vertrags oder einer Klausel zu erfassen. Aus diesem Grund haben wir uns sehr früh entschieden, distributive Ansätze für ein besseres Verständnis und eine bessere Analyse zu nutzen!
Distributionale Einbettungen basieren auf der linguistischen Hypothese der verteilten Information. Diese Hypothese besagt, dass die Bedeutung eines Wortes durch die Sammlung von Kontexten bestimmt wird, in denen es verwendet wird. Das bedeutet, dass sich unser Verständnis eines Wortes jedes Mal verbessert, wenn wir ihm in einem neuen Kontext begegnen. Dies ist der Grund, warum distributive Einbettungen einen großen Datenkorpus erfordern, um sinnvolle Einbettungen zu trainieren.
Die bekanntesten und am weitesten verbreiteten Ansätze für verteilte Einbettungen sind Word2vec und GloVe.
Word2vec [3] ist eine Gruppe von Modellen, die 2013 vom google-Forschungsteam unter der Leitung von Tomas Mikolov eingeführt wurde. Dieser Ansatz basiert auf den Paradigmen "CBOW" und "Skip-gram", um ein Wort auf der Grundlage seines Kontextes vorherzusagen.
Die "CBOW"-Technik besteht darin, die Wahrscheinlichkeit eines Wortes mit einem Kontext (der Kontext besteht aus einem oder mehreren Wörtern) vorherzusagen, während "Skip-gram"-Modelle die Wahrscheinlichkeit vorhersagen, einen bestimmten Kontext auf der Grundlage eines Wortes zu haben.
Glove [4] auf der anderen Seite heben Wortpaare Kookkurrenz in einem bestimmten Kontext auf, um eine Kookkurrenzmatrix der Form (V, V) zu erstellen, wobei V die Größe des Vokabulars ist.
Da das Vokabular oft sehr groß ist, haben wir am Ende Einbettungen der Größe V, die weit entfernt von praktischen Techniken sind, die auf diesen Einbettungen basieren. To solve this problem we perform a Principal Component Analysis to select the N most important features, N being the size of the final embeddings.
Schließlich können wir nicht über Worteinbettungen diskutieren, ohne FastText [5] zu erwähnen, Facebooks eigene Worteinbettungen (eingeführt 2016), die dem ursprünglichen word2vec-Paradigma folgen, aber eine Sammlung von Unterwörtern anstelle von Wörtern als Eingabe verwenden. Diese Einbettungen sind bekanntlich robust gegenüber unterschiedlichen Formen und Konjugationen sowie Rechtschreibfehlern.
- Der Aufstieg der Sprachmodelle
Der Erfolg von Worteinbettungen führte zu einem Anstieg des Interesses an natürlicher Sprachverarbeitung in der Forschungsgemeinschaft. Viele Forscher stützen ihre Arbeit auf Worteinbettungen und verwenden sie als Input-Feature für ihre Architekturen mit einer großen Bandbreite an Anwendungen, die von der Stimmungsanalyse bis zur Informationsextraktion reichen.
An diesem Punkt begannen wir, die Grenzen von Worteinbettungen zu beachten, da ein Wort eine Einbettung hat, unabhängig vom Kontext, in dem es verwendet wird. The problem is more noticeable when applying these WEs to a domain specific corpus where certain words have very different uses from the general domain. Dies führte zu einem Bedarf an kontextualisierten Worteinbettungen, die mithilfe eines Sprachmodellierungsansatzes trainiert werden.
Sprachmodelle sind statistische oder probabilistische Techniken, die verwendet werden, um die Wahrscheinlichkeit einer bestimmten Folge von Wörtern zu bestimmen, die in einem Satz vorkommen. In den meisten Fällen versuchen wir, das nächste Wort einer Folge vorauszusagen, wenn die N vorhergehenden Wörter gegeben sind.
Ein gutes Beispiel für beliebte und erfolgreiche Sprachmodelle ist Elmo (Peters et al., 2018)[6]. Nach seiner Veröffentlichung wurde es zu bestehenden NLP-Systemen hinzugefügt, was den Stand der Technik für jede in Betracht gezogene Aufgabe zu der Zeit deutlich verbesserte.

Abbildung 1: Verbesserungen bei der Einbettung von Sprachmodellen im Vergleich zum Stand der Technik (Peters et al., 2018) Abbildung 13 [7].
Elmo besteht aus einer bidirektionalen LSTM (Long Short Term Memory) Neuralarchitektur, die geordnete Wortfolgen als Input hat (mit Wortvektoren als Input für jedes Wort) und das nächste Wort in der Folge vorhersagt.
Im Gegensatz zu regulären Worteinbettungsmethoden benötigt ein Sprachmodell nur raw unlabeled text, der aus dem Internet gescannt oder aus bestimmten Körpern geholt werden könnte. Und, um völlig transparent zu sein, ist aufgrund der umfangreichen Trainingszeit, die diese Aufgabe erfordert, auch ein Grafikprozessor erforderlich.
- Transformieren based LM

Abbildung 2: The Transformer - Modellarchitektur (Vaswani and al.)
Abbildung 2: The Transformer - Modellarchitektur (Vaswani and al.)
Transformer(Vaswani and al.) [8] ist eine neuronale Architektur, die ausschließlich auf Aufmerksamkeitsmechanismen beruht und kontextuelle Beziehungen zwischen Wörtern in einem Text lernt.
In seinem ursprünglichen Papier führte Transformer zwei Arten von Transformatorenblöcken ein: Encoder und Decoder. Der Encoder transformiert jede Token-Eingabe in eine latente Darstellung, während der Decoder eine Vorhersage für die jeweilige Aufgabe erstellt und dabei die latenten Zustände der Eingabe beachtet.
Fast alle früheren Sprachmodelle bis zur Veröffentlichung von Transformern verwendeten eine Form von rekurrenten neuronalen Netzwerken (LSTM, GRU..) und das Forschungsteam von Open-AI war das erste, das sie in ihrem GPT-Modell [9] für die Sprachmodellierung verwendete.
Bei seiner Veröffentlichung überrumpelte GPT (steht für Generative Pre-trained Transformer) die NLP-Gemeinschaft, indem er bei einer Vielzahl von Sprachaufgaben wie Textual Entailment und Semantic Similarity State-of-the-Art Ergebnisse lieferte.
Ein paar Monate später veröffentlichte das Forschungsteam von Google sein eigenes transformatorbasiertes Sprachmodell namens BERT (Bidirectional Encoder Representations from Transformers) [10], das das GPT-Modell übertraf und das große Potenzial dieser gigantischen Sprachmodelle bestätigte.
These two models have very similar architectures with the difference being that Bert based it's architecture on the encoder block of the Transformer architecture while GPT used the decoder block.
The language modeling task was a little different as well as GPT used regular language modeling (predicting next word from left to right) where Bert used "Masked Language Modeling" (predicting one or more masked words in the original sequence). Bert hat ein zusätzliches Trainingsziel, das aus der Vorhersage des nächsten Satzes in einem Text besteht.
Seit der Veröffentlichung dieser beiden Giants im Spätjahr 2018 wurden mehrere Varianten von Bert- und GPT-Modellen eingeführt, die sich im Trainingsprotokoll oder in der Wahl der Tokenizer wie RoBERTA [11, ALBert [12] etc. unterscheiden.
Für den Rest dieses Artikels werden wir den Prozess der Feinabstimmung von Camembert auf einen relativ großen Korpus von juristischen Verträgen durchlaufen.
Camembert [13] ist eines der neuesten Bert-like-Sprachmodelle, das als französische Version des RoBERTA-Modells vom ALMAnaCH-Team bei Inria eingeführt wurde.

Abbildung 3: Datenverarbeitungspipeline
- Datenquelle
Die meisten heute verfügbaren Sprachmodelle werden auf gescrappten Daten aus dem Internet trainiert(Common Crawl Corpus [14], Oscar [15], ...).
In unserem Fall werden wir eine Untermenge unserer juristischen Vertragsdatenbank verwenden, die aus hunderten von tausenden von PDF/Word-Dokumenten besteht, die von unserer großen Kundenbasis bereitgestellt werden.
- Sicherheit
Bei Hyperlex stehen Sicherheit und Vertraulichkeit an erster Stelle. Daher haben wir ein dreilagiges Speichersystem, das im Wesentlichen bedeutet, dass jeder einzelne Vertrag unseres Kunden zu jeder Zeit verschlüsselt sein muss. Der Entschlüsselungsschritt wird nur In Memory und auf sandboxierten, unzugänglichen Servern durchgeführt.
Diese Sicherheitsmaßnahmen verleihen unseren Datenvorbereitungs- und Modelltrainings-Pipelines einen gewissen Grad an Komplexität.
Im juristischen Bereich ist die wichtigste Version eines Vertrags die endgültige und unterschriebene Version. Die meiste Zeit beschäftigen wir uns mit handschriftlichen Signaturen (im Gegensatz zu elektronischen Signaturen), was bedeutet, dass nach Abschluss der Vertragsverhandlungen die endgültige und vereinbarte Version ausgedruckt, unterschrieben, eingescannt und in unsere Anwendung hochgeladen werden muss. Daher bestehen 98% unserer Vertragsdatenbank aus eingescannten PDF-Dokumenten.
- Optische Zeichenerkennung
Der erste Schritt unserer Datenpipeline besteht darin, eine optische Zeichenerkennung (OCR) durchzuführen, um den Textinhalt dieser Dokumente zu erfassen.
Over the last two decades, OCR methods and techniques improved drastically based on the wide success of deep learning algorithms in computer vision. Dennoch sind diese OCR-Module weit davon entfernt, perfekt zu sein, und reagieren sehr empfindlich auf die Scanqualität, die Ausrichtung des Dokuments usw., was sich in Schreibfehlern und fehlenden Wörtern in der Originalversion des Vertrags niederschlägt.
- Dokument Segmentierung
Die typische Ausgabe eines OCR-Moduls ist eine Liste von Bounding Boxes mit Wörtern pro Seite im Dokument sowie das extrahierte Wort aus dem entsprechenden Bildausschnitt.
An diesem Punkt in unserer Datenvorbereitungspipeline sind wir daran interessiert, aussagekräftige Textproben für unser Sprachmodell zu erstellen, das trainiert werden soll. Die Granularität dieser Textproben hängt von der Eingabegröße unseres Modells ab.
In our case, we are interested in training/fin-tuning a camembert model which is based on the RoBERTa architecture and having input sequence length up to 512 tokens which means that we can go beyond the sentence granularity and train our model on more meaningful blocks of text in the legal context.
In der Tat ist das Rückgrat eines jeden Vertrags eine Sammlung von Klauseln, die jeweils ein bestimmtes Thema wie Laufzeit, Beendigung, Vertraulichkeit, Verfall, Haftung usw. behandeln.
Diese spezifische Struktur ermöglicht es uns, sehr reiche Kontexte für die Sprachmodellierung zu haben, die uns erlauben, diese Blöcke korrekt zu extrahieren.
To do so we have implemented a complete segmentation pipeline, which leverages in bounding boxes positions, syntactic, semantic as well as regular contract patterns to build a complete document structure (lines, paragraphs, clauses,...) based on the OCR output and ensure that we properly segment each of our documents.
- Datenauswahl/Vorverarbeitung
In diesem letzten Schritt der Datenvorbereitung besteht unser Hauptinteresse darin, irrelevante und sehr geräuschvolle Textproben herauszufiltern, die aus unserer Dokumentensegmentierung generiert wurden. Dazu gehören sehr kurze strukturelle Komponenten von Dokumenten wie Titel, Unternehmensinformationen und Unterschriftsblöcke.
Noisy text samples are samples containing a lot of spelling errors or gibberish chunks of text due to OCR poor performance on bad quality documents. In diesen Fällen versuchten wir, wenn möglich, eine Rechtschreibkorrektur vorzunehmen, aber die meisten dieser Proben wurden diskreditiert.
Training Process
Experimente und Bewertung
Wie bereits erwähnt, werden wir das vorbehandelte CamemBERT als unser Basismodell verwenden und es für 10 Epochen auf unserem Rechtsdatenbestand finetuning.
In diesem Abschnitt werden wir mehrere Experimente durchführen, um die folgenden Faktoren zu untersuchen:
- Complex embeddings: Evaluate the need for LM based embeddings by comparing with traditional embedding techniques
- Need to Fine-tune: Bewerten Sie die Notwendigkeit der Feinabstimmung auf domänenspezifische Daten.
- Textgranularität: Vergleichen Sie Modelle, die auf Sätzen und Absätzen basieren.
- Fine-Tuning-Zeit: Bewerten Sie den Effekt/die Notwendigkeit von langen Fine-Tuning-Schritten.
- Freezing LM for downstream tasks: Comparing the effect of freezing the LM weights when training on downstream tasks.
Um diese unterschiedlichen Ansätze zu bewerten und zu vergleichen, werden wir einen Klauselklassifikator trainieren, der auf Einbettungen basiert, die von diesen speziellen Modellen erzeugt werden.
Dataset
- Language modeling
We have at our disposal (post-filtering) :
- 14782 Verträge
- 3.4 million paragraphs <=> 8.4 million sentences
- Klassifizierung der Klausel
Der Klauselklassifikationsdataset enthält: - 48700 Klauseln
- 64 Klassen
Dieses Dataset ist stark unausgewogen, da einige Kategorien bis zu 4498 Proben haben, während andere Klassen so wenig wie 50 Proben haben.
For evaluation we will be using 25% of our clause classification dataset(12175 samples) and our metric of choice for this imbalanced classification is the un-weighted macro f1-score.
Implementation:
To implement and train our model, we need the original pre-trained camemBert model, an implementation of the SentencePiece tokenizer and the actual camembert(RoBERTa) architecture preferably in Pytorch.
Glücklicherweise hat das Team von HuggingFace diese gemeinsamen Bedürfnisse bereits durch ihre Transformers-Bibliothek adressiert.
Die Transformers-Bibliothek bietet allgemein verwendbare Architekturen (BERT, GPT-2, RoBERTa, XLM, DistilBert, XLNet...) für die Verarbeitung natürlicher Sprache sowie deren Tokenizer und Basiskonfigurationen, wobei eine tiefe Interoperabilität zwischen TensorFlow 2.0 und PyTorch aufrechterhalten wird.
Hugging Face beherbergt mehrere offizielle vorverarbeitete Modelle sowie vorverarbeitete Modelle aus verschiedenen Quellen und für verschiedene Domänen in mehr als 100 Sprachen. Sie haben eine Plattform zum Teilen/Downloaden von vorbearbeiteten Modellen für jedermann geschaffen, um diese für ihre Projekte zu verwenden.
Ergebnisse:
- Komplexe Einbettungen
In diesem Experiment werden wir die Auswirkungen der Technik zur Erstellung von Einbettungen auf unsere Aufgabe zur Klassifizierung von Klauseln bewerten.
Wir werden denselben grundlegenden Klassifikationskopf für dieselbe Anzahl von Epochen mit Klausel-Embeddings trainieren, die mit TF-IDF, Fasttext und vorverarbeitetem CamemBert generiert wurden.

Fasttext paragraph embeddings seem to be less effective than TF-IDF embeddings while an out of the box CamemBert language model provides better results than these two techniques but at significantly higher cost (infrastructure/ inference time)
- Need to Fine-tune
Now that we established the usefulness of complex embeddings techniques lets try push these techniques even further using transfer learning. Dieses Experiment besteht aus dem Vergleich der Leistung eines out of the box camemBert embeddings mit einer fine-tuned legal domain (für 10 Epochs) Version.
Die Feinabstimmung des ursprünglichen Camembert-Modells auf unseren juristischen Domänenkorpus verbessert die Gesamtleistung unseres Modells zur Klassifizierung von Klauseln um etwa 4%.
After a thorough analysis of the per-class performance, we noticed that the fine-tuned model performance significantly improved for certain classes like: "clause modality of payment", "clause de prix" and "clause de revision des prix". Die Besonderheit dieser Klassen besteht darin, dass sie alle das gleiche spezifische Thema mit vielen gemeinsamen Ausdrücken und sehr ähnlichen Sätzen abdecken. Dies ist ein gutes Indiz dafür, dass unser juristisches Domänenmodell ein besseres "Verständnis" für bestimmte juristische Konzepte hat.
- Textkörnigkeit
Wie bereits erwähnt, haben wir die Möglichkeit, unser Language Model auf Sätze (ähnlich wie das Originalpapier) oder Klauseln (ein oder mehrere Absätze) zu verfeinern. Daher vergleichen wir Einbettungen, die aus folgenden Quellen stammen
zwei Sprachmodellen verglichen, wobei das erste auf Sätze auf Satzebene abgestimmt war, während das zweite Trainingsinputs auf Absatzebene hatte. Beide Modelle wurden aus dem vorbearbeiteten CamemBert initialisiert und für 4 Epochen trainiert.
The granularity of text samples while fine-tuning seem to have no effect on the overall performance. Daher werden wir unser Training auf der Ebene der Klausel (Absatz) fortsetzen, da sie unserer Inferenzgranularität am besten entspricht.
- Fine-tuning time
When it comes to large language models, fine-tuning is a very expensive process given the resources required (multiple GPUs) and the considerable training time. Therefore, we are going to test the quality of embeddings generated at each fine-tuning epoch and evaluate the efficiency (cost vs performance) of further training these models.
Basierend auf dem obigen Plot ist die Leistungsverbesserung schon sehr früh in der Feinabstimmung zu beobachten, was darauf hindeutet, dass Sprachmodelle kein erweitertes Training benötigen, um sich an bestimmte Domänen anzupassen. Diese Beobachtung ist sehr wertvoll, wenn man die Kosten für die Erweiterung des Trainings für weitere Epochen in Betracht zieht.
- Freezing LM for downstream tasks
Bisher haben wir das vorverarbeitete Sprachmodell als Codierer verwendet, um unseren Klassifizierer mit Klausel-Einbettungen zu versorgen. Das bedeutet, dass die LM-Werte während des Trainings der Klauselklassifikation eingefroren wurden. In diesem Experiment werden wir diese Gewichte während des Trainings unseres Klauselklassifikators feinabstimmen und die Auswirkungen auf die Gesamtleistung bewerten.
Wir beobachten einen Leistungssprung, wenn wir die Feinabstimmung des Sprachmodells fortsetzen, während wir unseren Klauselklassifikator trainieren. Dies ist eine sehr interessante Verbesserung, wenn das LM nur für die Klauselklassifikation verwendet wird, kann aber die Generalisierungsfähigkeiten des Modells beeinträchtigen, wenn es für andere nachgeordnete Aufgaben verwendet wird. Dies wird als Catastrophic Forgetting bezeichnet.
Schlussfolgerung
In den letzten Jahren hat sich die Forschung im Bereich der Natural Language Processing rasant weiterentwickelt, da fast jede Woche effizientere Techniken eingeführt werden. The introduction of transfer learning and pretrained language models improved the performance of downstream NLP tasks and opened the door for new applications in a variety of fields such as contract analysis in the legal domain.
As observed in the previous experiments, leveraging language models helped us improve our clause classification compared to traditional embedding methods and similar improvement is also observed in other contract analysis tasks such as information extraction, entity relationships and similarity search.
Die Kehrseite der Verwendung dieser Methoden ist die Komplexität der Infrastruktur, die wir benötigen, um große Modelle einzusetzen sowie die Codebasis für diese Modelle zu pflegen Architektur, aber dank der bedeutenden Beiträge zur NLP-Gemeinschaft von Unternehmen wie Facebook, Google, OpenAi und HuggingFace war die Anwendung von State-of-the-Art Techniken und Modellen für domänenspezifische Aufgaben noch nie so einfach wie heute.
Quellen:
1[https://en.wikipedia.org/wiki/Bag-of-words_model]
2[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.115.8343&rep=rep1&type=pdf]
3[https://proceedings.neurips.cc/paper/2013/file/9aa42b31882ec039965f3c4923ce901b-Paper.pdf]
4[https://nlp.stanford.edu/pubs/glove.pdf]
5[https://arxiv.org/abs/1607.04606]
6[https://arxiv.org/pdf/1802.05365.pdf]
7[https://ruder.io/a-review-of-the-recent-history-of-nlp/index.html#2015memorybasednetworks]
8[https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf]
9[https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf]
10[https://arxiv.org/pdf/1810.04805.pdf]
11[https://arxiv.org/pdf/1907.11692.pdf]
12[https://arxiv.org/pdf/1909.11942.pdf]
13[https://arxiv.org/pdf/1911.03894.pdf]
14[https://registry.opendata.aws/commoncrawl/]
15[https://oscar-corpus.com/]
Dieser Artikel wurde von Ahmed Touila, Senior Machine Learning Research Engineer bei Hyperlex, verfasst.
We recommend also :