Answer to Question 1-1
Bei Word Embeddings, wie z.B. word2vec, werden Wörter in einem Vektorraum dargestellt, wobei ähnliche Wörter nahe beieinander liegen. Der Kontext wird durch die Verwendung von neuronalen Netzen oder anderen maschinellen Lernalgorithmen berücksichtigt, die die Umgebung eines Wortes bei seiner Darstellung erfassen. Das heißt, Wörter werden anhand des Kontexts, in dem sie auftreten, eingebettet.

Bei TF-IDF hingegen wird der Kontext eines Wortes nicht direkt berücksichtigt. Stattdessen wird die Häufigkeit eines Wortes in einem Dokument im Verhältnis zu seiner Häufigkeit in einem gesamten Korpus gewichtet. Somit wird die Bedeutung eines Wortes durch seine relative Häufigkeit in einem Dokument im Verhältnis zu anderen Dokumenten bestimmt.

Der Hauptunterschied besteht darin, dass Word Embeddings den Kontext eines Wortes direkt erfassen und dabei semantische Beziehungen zwischen Wörtern berücksichtigen, während TF-IDF nur die Häufigkeit eines Wortes in Bezug auf ein Dokument und den gesamten Korpus betrachtet, ohne den Kontext zu beachten.





****************************************************************************************
****************************************************************************************




Answer to Question 1-2
Um den Satz "I love NLP a lot" mit den gegebenen BPE-Codes zu segmentieren, müssen wir die einzelnen Teilwörter schrittweise ersetzen. Hier ist die Aufteilung:

1. "I love NLP a lot"
2. "I love NP la lot" (N + L -> NP)
3. "I love F NP la lot" (F + N -> FN)
4. "I love F la NP la lot" (la + N -> laN)
5. "I love F la NP le lot" (la + lot -> la lot)
6. "I love F laN P le lot" (laN + P -> laNP)
7. "I love F laNP le lot" (NP + L -> NPL)

Segmentierter Satz: "I love F NPL le lot"





****************************************************************************************
****************************************************************************************




Answer to Question 1-3
a) Die Ausgabeprojektion hat die Form einer Matrix mit den Dimensionen 10.000x300, da für jedes Wort im Vokabular ein 300-dimensionaler Vektor erstellt wird.

b) Ich stimme Bart nicht zu. Die Kontextfenstergröße beeinflusst zwar, welche Wörter als Kontext für das Training verwendet werden, aber sie hat keinen direkten Einfluss auf die Form der trainierten Word Embeddings. Die Trainingspipeline ist daher wahrscheinlich nicht defekt.





****************************************************************************************
****************************************************************************************




Answer to Question 1-4
a) F\"ur die Verarbeitung morphologisch reichhaltiger Sprachen ist die Verwendung von Teilw\"ortern besser als ganze W\"orter.
- Richtig. Teilw\"orter k\"onnen die Morphologie besser erfassen und sind in vielen Sprachen effektiver als ganze W\"orter.

b) Wenn wir die H\"aufigkeit jedes Wortes in einem Korpus haben, k\"onnen wir ein Unigramm-Sprachmodell ableiten.
- Richtig. Ein Unigramm-Sprachmodell basiert auf der H\"aufigkeit einzelner W\"orter im Korpus.

c) One-Hot-Wortrepr\"asentationen k\"onnen verwendet werden, um den semantischen Unterschied zwischen zwei W\"ortern zu messen.
- Falsch. One-Hot-Wortrepr\"asentationen erfassen die Semantik nicht, da sie nur die Anwesenheit eines Wortes darstellen.

d) Bei der Latent Dirichlet Allocation (LDA) wird ein Dokument als eine Verteilung \"uber W\"orter modelliert.
- Richtig. LDA modelliert Dokumente als Mischung von Themen-Verteilungen, welche wiederum als Verteilung \"uber W\"ortern betrachtet werden.

e) Bei der Term Frequency-Inverse Document Frequency (TF-IDF) verringert die Term-Frequency die Bedeutung von W\"ortern, die in vielen Dokumenten vorkommen (z.B. Stoppw\"orter).
- Richtig. TF-IDF gewichtet W\"orter basierend auf ihrer H\"aufigkeit im Dokument und im Korpus, wodurch h\"aufige W\"orter weniger Gewicht erhalten.

f) Bei der Verwendung von Hidden Markov Modellen (HMMs) f\"ur das Part-of-Speech-Tagging sind die verborgenen Zust\"ande die W\"orter.
- Falsch. Die verborgenen Zust\"ande in HMMs sind die Part-of-Speech-Tags, nicht die W\"orter.





****************************************************************************************
****************************************************************************************




Answer to Question 2-1
a) Um die Anforderungen Ihres Chefs zu erfüllen (geringste Anzahl Parameter, kürzeste Trainingszeit), könnten Sie ein einfaches lineares Modell verwenden. Dieses Modell besteht aus einer Eingabeschicht, die die 300-dimensionalen vortrainierten Word Embeddings annimmt, gefolgt von einer Ausgabeschicht mit 3 Neuronen (eine für jede Klasse - happy, neutral, sad). Die Eingabe hat somit eine Dimension von 300, die Ausgabe eine Dimension von 3. Da es sich um ein lineares Modell handelt, gibt es insgesamt nur 900 Parameter (3 Neuronen mal 300 Eingabe-Verbindungen).

b) Das zuvor beschriebene lineare Modell wäre nicht geeignet für die Klassifizierung von Audio-Äußerungen aus folgenden Gründen:
1. Spektrogramme haben eine andere Datenstruktur (2D-Matrix) als Word Embeddings (1D-Vektor), was bedeutet, dass verschiedene Operationen zur Verarbeitung erforderlich sind.
2. Audio-Daten haben spezifische Merkmale, die in den Spektrogrammen kodiert sind (z.B. zeitliche und frequenzspezifische Informationen), die vom linearen Modell nicht erfasst werden könnten.

c) Ein verbessertes Modell für die Klassifizierung von Audio-Äußerungen könnte ein einfaches CNN (Convolutional Neural Network) sein. Die Eingabe besteht aus 80-dimensionalen Spektrogrammen, die als Input für eine oder mehrere Convolutional-Schichten dienen. Anschließend können Pooling- und Fully-Connected-Schichten folgen, bevor die Ausgabe über eine Softmax-Schicht erzeugt wird, die die Wahrscheinlichkeiten für jede Klasse berechnet. Die Parameterdimensionen hängen von der genauen Architektur des CNN ab, können aber bei einem simplen Modell mit wenigen Schichten ähnlich wie das lineare Modell gehalten werden (normalerweise nicht mehrere Hunderttausend).





****************************************************************************************
****************************************************************************************




Answer to Question 2-2
a) Der vorgeschlagene Ansatz zur Sequenzklassifikation, bei dem die Eingabe eine Äußerung selbst und die Ausgabe die Dialog-Act-Klasse ist, könnte in diesem Beispiel nicht optimal sein, da die Bedeutung einer Äußerung oft vom Kontext abhängt. Ein Fall, in dem das Modell mit Sicherheit einen Fehler macht, ist die Äußerung des Patienten "For a week, right?", die je nach vorheriger Kontextinformation entweder als Bestätigung der Behandlungsdauer oder als Frage interpretiert werden kann.

b) Die Aufgabe würde sich besser als Sequenz-Labeling-Problem modellieren lassen. Dabei werden die bereits bekannten Dialog-Act-Klassen als Labels in einem Sequenz-Labeling-Ansatz den Äußerungen zugeordnet. Dieser Ansatz ist vorzuziehen, da er auf bekannten Klassen basiert und das Modell direkt auf die Klassifizierung der Dialog-Acts trainiert.

c) Basierend auf der Auswahl des Sequenz-Labeling-Ansatzes könnte ein Modell für die Dialog-Act-Identifizierung wie folgt aussehen:  
- **Eingabe**: Eine Sequenz von Sätzen, die als Vektoren fester Größe (Satz-Embeddings) repräsentiert sind. Jeder Satz wird als ein Embedding dargestellt.
- **Zwischenoperationen**: Die Embeddings der Sätze werden in einem Modell wie z.B. einem BiLSTM (bidirektionales LSTM) verarbeitet, um den Kontext der Äußerungen zu erfassen.
- **Ausgabe**: Die Klassifizierung der Dialog-Acts für jede Äußerung in der Dialogsequenz, basierend auf den vordefinierten Klassen wie z.B. "greeting", "symptom_kneePain", "medication" usw.





****************************************************************************************
****************************************************************************************




Answer to Question 3-1
a) Im Falle des Transformer-Decoders bedeutet "autoregressiv", dass bei der Generierung eines jeden Tokens in der Ausgabe-Reihenfolge die vorherigen Tokens als Kontext verwendet werden. Das heißt, der Decoder erzeugt ein Token nach dem anderen und nutzt dabei die bereits generierten Tokens als Eingabe für den nächsten Schritt.

b) Während des Trainings des Transformer-Decoders muss die Self-Attention teilweise ausgeblendet (masked out) werden, um Leakage von Information von zukünftigen Tokens zu verhindern. Durch das Maskieren der zukünftigen Positionen wird sichergestellt, dass ein Token nur auf vorherige Tokens aufmerksam sein kann, nicht aber auf Tokens, die es noch nicht geben dürfte, um autoregressive Eigenschaften zu erhalten.

c) 
| BoS | E | F | G |
|-----|---|---|---|
| x   | x | x | x |
|     | x | x | x |
|     |   | x | x |
|     |   |   | x |

d) Um zu zeigen, dass in den Sequenzen "John loves Mary" und "Mary loves John" die Attention-Gewichte für das Wort "Mary" gleich sind, müssen wir die Berechnung der Attention-Gewichte entsprechend durchführen. In beiden Fällen wird "Mary" als Query verwendet, und da die Implementierung der Self-Attention symmetrisch ist, sind die Aufmerksamkeitsgewichte unabhängig von der Reihenfolge der Wörter in der Sequenz gleich.





****************************************************************************************
****************************************************************************************




Answer to Question 3-2
**Antworten:**

a) Zwei Lösungen für das Problem der unbekannten Wörter in einem auf Nachrichten trainierten Zusammenfassungsmodell, das für den medizinischen Bereich angepasst wird, sind:

1. **Verwendung von Domain-spezifischen Sprachmodellen:** Durch die Integration von medizinischem Fachwissen kann das Modell unbekannte medizinische Begriffe und Konzepte besser verstehen und generieren.

2. **Einbindung von Entitätsauflösung:** Durch die Implementierung von Entitätsauflösungstechniken können unbekannte Wörter anhand des Kontexts oder von externen Wissensquellen wie medizinischen Datenbanken identifiziert und ersetzt werden.

b) ROUGE-n basiert auf der Berechnung von Übereinstimmungsmetriken zwischen automatisch generierten Zusammenfassungen und Referenzzusammenfassungen. Es bewertet die Qualität der Zusammenfassung anhand von Übereinstimmungen in n-Grammen (Wortsequenzen) zwischen der Generierung und den Referenzsätzen.

c) Das Modell erhält trotz der nicht-grammatischen Ausgabe hohe ROUGE-2-Werte, weil es in der Lage ist, wichtige Schlüsselwörter oder Phrasen aus den Referenztexten abzurufen und in die Zusammenfassungen einzufügen, auch wenn sie mehrmals wiederholt werden.

Eine andere Metrik, um das Problem der Wiederholungen zu vermeiden, ist die **Diversität der Ausgabe (wie BLEU oder METEOR)**, die die Variation und Einzigartigkeit der generierten Sätze bewertet.

Um die Anzahl der Wiederholungen in der Ausgabe zu reduzieren, können **Methoden wie Beam Search Regularisierung** angewendet werden, indem eine Diversitätsstrafe in die Generierungsfunktion integriert wird, um die Wiederholungen einzuschränken. Dadurch wird die Diversität der generierten Sätze erhöht und die Wiederholungen minimiert.





****************************************************************************************
****************************************************************************************




Answer to Question 3-3
a) Ein Vorteil dieses Ansatzes ist, dass BERT als vortrainierter Text-Encoder bereits eine gute semantische Repräsentation von Texten gelernt hat, was bei der maschinellen Übersetzung hilfreich sein kann. Ein Nachteil könnte sein, dass BERT ursprünglich für die Verarbeitung von einzelnen Sätzen oder Absätzen entwickelt wurde und möglicherweise nicht optimal für die kontinuierliche Verarbeitung von langen Texten wie bei der Übersetzung geeignet ist.

b) Um die Leistung des Modells zu verbessern, könnte man die Eingabe in kleinere Segmente aufteilen und diese segmentweise an BERT übergeben, um die Verarbeitung von längeren Texten zu ermöglichen. Eine Möglichkeit wäre, ein Mechanismus einzuführen, der die Zwischenrepräsentationen der einzelnen Segmente auf sinnvolle Weise kombiniert, um die Übersetzungsqualität zu verbessern.





****************************************************************************************
****************************************************************************************




Answer to Question 3-4
a) Um ein Modell für die Text-to-SQL-Aufgabe zu beschreiben, könnten wir ein sequenzielles Modell verwenden. Dieses Modell würde aus mehreren Schichten von Neuronen bestehen, die die natürliche Sprache der Frage und die Struktur der Datenbanktabelle in SQL-Abfragen übersetzen. Das Modell würde während des Trainings die Beziehung zwischen Fragen, Tabellen und SQL-Abfragen lernen, um korrekte Abfragen generieren zu können. Dies kann mit Methoden des maschinellen Lernens wie dem Seq2Seq-Modell in Verbindung mit Attention-Mechanismen erreicht werden.

b) Um mit unbeantwortbaren Fragen umzugehen, könnten wir das Modell um eine Schritt der Frageerkennung erweitern. Das Modell würde zunächst überprüfen, ob die gestellte Frage überhaupt beantwortbar ist, bevor es versucht, die SQL-Abfrage zu generieren. Dies könnte durch die Integration eines Frageklassifizierers erreicht werden, der zwischen beantwortbaren und unbeantwortbaren Fragen unterscheidet. Wenn eine Frage als unbeantwortbar erkannt wird, könnte das Modell eine entsprechende Fehlermeldung ausgeben oder einen Standardeintrag zurückgeben.





****************************************************************************************
****************************************************************************************




Answer to Question 4-1
a) Der Vorteil dieses Ansatzes besteht darin, dass die BERT-Parameter eingefroren werden können, was bedeutet, dass das feinabgestimmte Modell schneller und mit weniger Daten trainiert werden kann. Die Adapter ermöglichen es, nur eine geringe Anzahl an zusätzlichen Parametern hinzuzufügen, um die Performance des Modells zu verbessern.

b) Die Adapter würden in jeder der BERT-Schichten nach der ersten Schicht eingefügt werden. Da die Architektur der Schichten sich wiederholt, würde jede Schicht ein Adapter-Modul enthalten. 

c) Um die Anzahl der zusätzlichen Parameter zu berechnen, müssen wir die Dimensionalität der ersten Projektion (256) und die Dimensionalität der ursprünglichen Schicht (768) berücksichtigen. Die Anzahl der zusätzlichen Parameter ergibt sich aus der Multiplikation dieser beiden Dimensionen.





****************************************************************************************
****************************************************************************************




Answer to Question 4-2
a) Beim DPR wird der BERT-CLS-Token verwendet, um Satzrepräsentationen zu erstellen, im Gegensatz zum Pooling von Wortvektoren (z. B. Meanpool oder Maxpool). Der Hauptunterschied besteht darin, dass der BERT-CLS-Token eine aggregierte Darstellung des gesamten Satzes ist, die während des Trainings auf das spezifische Aufgabenziel feinabgestimmt wird, während beim Pooling die Wortvektoren auf eine bestimmte Weise kombiniert werden, um eine Satzrepräsentation zu erstellen. 

Die Vorteile des BERT-CLS-Tokens im Vergleich zum Pooling von Wortvektoren sind:
- Berücksichtigung der Kontextinformation des gesamten Satzes
- Feinabstimmung auf das spezifische Aufgabenziel während des Trainings
- Berücksichtigung von Zusammenhängen zwischen Wörtern, die bei Word-Pooling möglicherweise verloren gehen

Um die Abbildung des BERT-CLS-Tokens zu zeichnen, würde ich einen einfachen Kasten zeichnen und darauf hinweisen, dass dieser Token eine aggregierte Darstellung des gesamten Satzes in BERT darstellt.

b) Es ist wichtig, irrelevante/negative Paare in das Trainingsziel des DPR einzubeziehen, um das Modell darin zu trainieren, zwischen relevanten und irrelevanten Informationen zu unterscheiden. Wenn wir die irrelevanten/negativen Paare im Trainingsziel weglassen, würde das Modell nicht in der Lage sein, zwischen relevanten und irrelevanten Informationen zu differenzieren und könnte daher nicht effektiv funktionieren, wenn es auf neue Daten angewendet wird. Das Einbeziehen von irrelevanten/negativen Paaren sorgt dafür, dass das Modell robust und genauer wird, da es lernt, die relevantesten Informationen für die Frage zu identifizieren.





****************************************************************************************
****************************************************************************************




