cbiehl / wwi18dsa-nlp

Natural Language Processing Lecture Repo
3 stars 0 forks source link

Chatbot mit Fancy Flashcards #3

Open tamarab123 opened 3 years ago

tamarab123 commented 3 years ago

Der Chatbot soll Fragen auf Basis von Fancy Flashcards stellen und die gegebene Antwort des Users validieren.

Gruppenmitglieder:

tamarab123 commented 3 years ago

https://github.com/michael-spengler/wwi18dsa-semester-6/issues/7#issuecomment-845743349

tamarab123 commented 3 years ago

Hallo Clemens, wir hätten noch ein paar Fragen zu unserem Vorgehen: NLP:

Chatbot:

tamarab123 commented 3 years ago

https://github.com/LeaKleemann/Fancy_Flashcards_Bot_project

tamarab123 commented 3 years ago

In unser Repository laden wir gleich noch ein Notebook mit dem ersten Versuch tf-idf zu verwenden

cbiehl commented 3 years ago

Hi, hier einige Vorschläge zu den Fragen:

  1. Es gibt verschiedene Wege mit Synonymen umzugehen, das hängt aber sehr davon ab wo genau sie euch Probleme bereiten. Im besten Fall haben Synonyme sehr ähnliche Wortvektoren, je nachdem welche Embeddings ihr verwendet. Lasst uns dazu am Donnerstag sprechen.

  2. TF-IDF könnt ihr dafür verwenden, evtl. könnte ein Ansatz mit Word- bzw. Sentence-Embeddings für euch aber vorteilhafter sein. Hier ein Link zu einer sehr guten Implementierung von Sentence Embeddings aus Transformer Modellen: https://www.sbert.net/docs/usage/semantic_textual_similarity.html

  3. Hier bräuchte ich mehr Beispiele für die kurzen Fragen, die Probleme bereiten. TF-IDF ist in jedem Fall eine gute Baseline, damit könnt ihr die Ansätze vergleichen, die auf Embeddings basieren.

  4. Es nicht notwendig ein bestimmtes Framework zu nutzen, für das Frontend ist die Telegram API in Ordnung. Was mir noch nicht klar ist ist, ob ihr das Abfragen einer passenden Antwort zu einer Frage als Klassifikationsmodell angeht oder mit statischen Vektoren, die ihr durch einer Distanzmetrik vergleicht.

LeaKleemann commented 3 years ago

Update zum Finetuning der sentence-transformer: Hierfür scheinen gelabelte Daten (Ähnlichkeitsmaß zweier Sätze als Label) benötigt zu werden. Dies ist für unseren Use-Case schlecht umsetzbar. Ist das ebenfalls der Stand deiner Informationen, oder haben wir das etwas übersehen?

cbiehl commented 3 years ago

Richtig, dafür braucht man Labels. Ich dachte die wären vorhanden, zumal ihr wisst welche Frage/Antwort Paare zusammen gehören und als Negativbeispiele andere Sätze bzw. die anderen Fragen heranziehen könntet.