Commit 3573c99c authored by pracht's avatar pracht
Browse files

Add notes for todays meeting

parent 70f4914d
Loading
Loading
Loading
Loading

documentation/notes.md

0 → 100644
+171 −0
Original line number Diff line number Diff line
# Notes

## Mission

Generation von Dialog-Datensätzen zum Trainieren von Chatbots.
Die generierten Dialoge wollen wir automisiert analysieren und auf Qualität prüfen.
Wir vergleichen mit den Metriken verschiedene Prompting-Architekturen:

- Prompt-Priming (verschiedene Instruktionen testen)
- Context-injection (durch hinzugabe von Knowledge-Graph-Triplets)
- Multi-Agent Dialogue

### Prompt-Priming

- Verschiedene Aufgabenstellungen
- Wie stark kann man ohne Qualitätsverlust generalisieren?
- Werden die Dialoge besser mit einem Beispiel?
- Generierung von negativen Beispielen mit zusätzlichen Verhaltensmuster-Vorgaben
  - "System: Sei unhöflich"
  - "User: Wechsel random das Thema"
  - ...

### Knowledge Graph

Mit einer Schnittstelle kann man dem Modell während der Generierung Informationen zuspielen.
Das können Datenquellen, wie z.B. ATOMIC, WikiData, oder Fakten über Hotels, etc., sein.

Ablauf: 1. Echte, problemorientierte Daten (Hotels, Restaurants, scrapen aus OSM API) 2. Datenbank aufsetzen 3. Informationen embedden 4. API entwickeln, damit das Modell relevante Daten anfragen kann (Similarity Search)

### Multi-Agent

Wir schreiben ein Programm, dass zwei Sprachmodell-Instanzen miteinander verbindet, um einen interaktiven Dialog zu simulieren.

Ablauf: 1. Schnittstelle programmieren 2. Die Sprachmodell-Instanzen miteinander einen Dialog führen lassen (Automatisierte User + System) 3. Vergleich zwischen One-Shot Dialogen und Multi-Agent Dialoge mit unseren Metriken

## Datensätze

- WOZ Datensatz (task oriented) https://github.com/budzianowski/multiwoz/tree/master
- PersonaChat (open dialogue) https://www.kaggle.com/datasets/atharvjairath/personachat

## Metriken

### GRUEN [BOTH]

Code: https://github.com/WanzhengZhu/GRUEN

Submetriken: - Grammaticality - Non-redundancy - Focus - Structure and Coherence

Returns a combined score.

### ACCENT [OPEN]

Code: https://github.com/pluslabnlp/accent

- Uses ATOMIC https://allenai.org/data/atomic-2020
- Coherence with focus on sentiment
- Event common-sence reasoning

### GRADE [OPEN]

Code: https://github.com/li3cmz/GRADE

- topic transitions --> topic coherence

### Slot Accuracy [TASK]

- ! Needs Gold-Standard

### Joint-Goal Accuracy [TASK]

- ! Needs Gold-Standard

### S3BERT [BOTH]

- Similarity score
- ! Needs Gold-Standard?
  Code: https://github.com/flipz357/S3BERT

### FactScore

Code: https://github.com/shmsw25/FActScore

- ! Needs Knowledge-Base

### DEAM [BOTH]

Code: https://github.com/PlusLabNLP/DEAM

- Generiert negative examples
- Meta metric

### Labruna [MANUAL]

Paper: https://arxiv.org/pdf/2305.14556.pdf
Daten: TBA

Manual annotated metric, only feasable for a small sample.

1. Consistency
2. Realism
3. Formality
4. Respectfulness
5. Spontanity/Naturalness
6. Has Conclusion

## Ressourcen

### Computing

- Local PC (3080 10GB)
- Coli-Cluster

### Daten

- [OpenStreetMap API](https://wiki.openstreetmap.org/wiki/API)

### Modelle

#### Closed

- GPT-3.5 API
- GPT-4 API

#### Open Source

##### Falcon

[HuggingFace](https://huggingface.co/tiiuae/falcon-7b-instruct)
[Announcement](https://huggingface.co/blog/falcon)

##### Llama

[Website](https://ai.meta.com/llama/)
[HuggingFace](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf)

##### Mistral

[HuggingFace](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.1)
[Announcement](https://mistral.ai/news/announcing-mistral-7b/)

##### T5

[Documentation](https://huggingface.co/docs/transformers/model_doc/t5)

## Szenarien

### Task Oriented only mit Gold Standard

- MultiWOZ als Gold Standard
- FactScore nicht anwendbar

### Task Oriented only mit Knowledge Base

- Knowledge Graph z.B. aus OpenStreet Map API konstruiert
- MultiWOZ kein Gold Standard mehr

### Open Dialogue only mit Knowledge Base

- Event Coherence metrics (ATOMIC) anwendbar
- FactScore nicht anwendbar
- Mehr Metriken
- mehr semantische/sprachliche analyse

​​​​

## Offene Fragen

- Projektumfang (Knowledge-Graph API + Multi-Agent vermutlich zu viel)
- Open dialogue/task oriented (welches szenario, metriken würden begrenzt werden)
  - Wie wichtig ist es Gold Standard aus WOZ zu haben
- Knowledge Base extrahieren aus WOZ, von OSM scrapen oder fertigen Datensatz nehmen