+1 Daumen
1,2k Aufrufe

Aufgabe:

Ich versuche, einen Weg zu finden, Intelligent Agents mit Leseverständnis und Fragebeantwortung zu verhindern, wenn sie nicht sicher genug sind, dass sie eine Antwort aus den Dokumenten finden, die sie haben


Meiner Meinung nach können wir sagen, dass wir zum einen P = {p_1, ..., p_i }≠Ø eine Reihe von Absätzen haben, Q ={q_ {1i}, ..., q_ {ij}}≠Ø Menge von Fragen zu diesen Absätzen und R = {r_ {111}, ..., r_ {ijk}} die zugehörigen möglichen Antworten.

Wir versuchen, diese Antworten dieser Absätze zu finden. Welches sind die Spanne der Sätze dieser Absätze, wenn es eine Antwort gibt oder um zu zeigen, dass es keine Antworten gibt, wo es nicht zu beantworten ist.


Ich habe diese Problemdefinition selbst gemacht, ich kann sie gerne kritisieren.

Ich habe bis jetzt nur an einen unbeaufsichtigten Versuch gedacht:

Für jedes Satz-Frage-Paar berechnen wir zwei Entfernungsmetriken:

Kosinusähnlichkeit zwischen q_ {ij} und s_l. Die Antwort lautet daher:

$$\hat{r}_{ij}^{cos}=\arg\max_i \{1 - \frac{s_{l}.q_{ij}}{||s_{l}||.||q_{ij}||}\}$$

oder wir können auch den euklidischen Abstand zwischen den Sätzen und der Frage berechnen.

$$\hat{r}_{ij}^{euc}=\arg\max_i \{\sqrt{\sum_{v\in \mathcal V} s_l.q_{ij}}\}$$

Ich habe das eine oder das andere noch nicht ausgewählt, das erste scheint genauer zu sein als das zweite nach einem Lauf, der Antworten gibt, mögen sie existieren oder nicht im $ R $ Set.


Erstelle eine "Beantworte die Frage nicht!" Lernfunktion

Also hier kommt das große Problem, wie man eine Funktion für meinen Algorithmus verwaltet, um nicht zu antworten? Ich habe darüber nachgedacht, eine Idee von Minimum zu setzen, um die Entfernung für \hat r_ {ij} zu überschreiten, um eine vorhergesagte Antwort statt einer Nullmenge zu akzeptieren. Aber erstens wäre das, was ich mir für die Kosinusähnlichkeit vorgestellt habe, deren Ergebnisse zu Domäne [- 1,1]  gehören, sehr willkürlich. Und zweitens weiß ich nicht einmal, welchen Weg ich für die euklidische Distanz wählen soll, deren Ergebnisse zu R gehören

Furthermore Ich habe vielleicht dann zu lernen, wenn ich falsch lag, dieses Limit zu aktualisieren? Ich spüre den kleinen Gradientenabstieg;)

---
Dieses Machine-Learning-Problem hat Beispiele hier mit Stanford-Frage-Antwort-Datensatz (SQuAD [1] und einen Versuch in diesem Artikel von Facebook


Nachtrag: Grundsätzlich ermöglicht mir das oben erläuterte Merkmal, die Abstände zwischen einer gegebenen Frage \(q_ {ij} \) und Sätzen \(s_l, \forall l \in L \) eines Absatzes \(i \) zu berechnen. Es ermöglicht mir, den nächsten Satz zu einer gegebenen Frage zurückzugeben.

Dennoch möchte ich ein Feature erstellen, das sagt, wann nicht zu antworten ist. Ich dachte über eine Schwelle nach, die \(\hat r \) zum Beispiel passieren müsste, aber ich suche nach etwas Intelligenterem.

Avatar von

Kannst du das genauer erklären?

Konstruierst du die Fragen für das Leseverständnis selbst oder willst du ML dazu verwenden, Leseverständnis-Tests zu erstellen?

Was willst du nun verhindern? Dass Maschinen besser sind als Menschen oder umgekehrt?

Ist das ein multiple-choice-test?

Deine Frage sieht so aus, als hätte eine Maschine versucht eine Frage zu formulieren :)

    Ich weiß nicht, ob der Test mit dem ===>  chinesischen Zimmer je wirklich gemacht wurde;  aber frag doch Marine mal, was er von besagtem Zimmer weiß ...

Warum denkst du, dass die Distanz nicht intelligent ist? Reagiert die Distanz auf die Absatzlänge oder die Länge der Frage?

und

Warum kannst du den Kommentar auf Deutsch verständlich und beinahe fehlerfrei formulieren?

Du machst ein Programm, dass selbständig Testfragen beantwortet?

@Lu Nicht unabhängig. Es basiert auf den Absätzen \(p_i\), zu denen man die Fragen \(q_{ij}\) stellt. Die Absätze sind in Sätze \(s_{ik}\) unterteilt von denen wir die Antworten bekommen. Wir müssen die gute Spannweite finden. Die Entfernung kann intelligent sein, aber bis jetzt denke ich nur an eine von mir eingestellte Schwelle, die nicht sehr intelligent ist.

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Erstellen einer "Beantworte die Frage nicht!" Lernfunktion

Die Entwicklung einer Funktion, die entscheidet, ob eine Frage beantwortet werden soll oder nicht, basiert auf dem Verständnis über die Sicherheit und Genauigkeit der vorhergesagten Antworten. Es ist wichtig, einen Mechanismus zu entwickeln, der die Zuverlässigkeit einer Antwort abschätzen kann, bevor diese ausgegeben wird. Hier sind Schritte und Konzepte, die für die Entwicklung einer solchen Funktion hilfreich sein könnten:

1. Schwellwert für die Entscheidungsfindung:
Wie bereits angedeutet, könnte ein Schwellwert für die Metriken (Kosinusähnlichkeit oder euklidische Distanz) festgelegt werden, um zu entscheiden, ob eine Frage beantwortet werden soll. Ein hoher Schwellwert impliziert, dass nur Antworten mit hoher Übereinstimmung (im Falle von Kosinusähnlichkeit) oder geringer Distanz (im Falle der euklidischen Distanz) akzeptiert werden.

- Für die Kosinusähnlichkeit: Ein möglicher Ansatz ist die Festlegung eines Mindestschwellwerts (z.B. 0,5), unter dem die Frage nicht beantwortet wird, da die Ähnlichkeit zwischen Frage und potentiellem Antworttext nicht ausreichend ist.

- Für den euklidischen Abstand: Da der euklidische Abstand größer wird, wenn die Differenz zwischen den Vektoren wächst, müsste hier ein Höchstwert festgelegt werden. Alles, was diesen Wert überschreitet, würde darauf hindeuten, dass die Antwort nicht ausreichend genau ist.

2. Dynamisches Lernen des Schwellwerts:
Um den festgelegten Schwellwert nicht willkürlich zu wählen, könnte ein maschinelles Lernen Ansatz genutzt werden, der den Schwellwert basierend auf den Trainingsdaten automatisch anpasst. Ein Ansatz hierfür könnte sein:

- Initialisierung: Beginnen mit einem vorläufigen Schwellwert.
- Training: Verwenden Sie einen Trainingsdatensatz, um die Antworten zu bewerten. Wenn die Vorhersagegenauigkeit unter einem bestimmten Schwellwert liegt (z.B. hinsichtlich der Übereinstimmung mit den markierten Antworten), wird der Schwellwert entsprechend angepasst. Ein Gradientenabstiegsalgorithmus könnte hierbei nützlich sein, um den optimalen Schwellenwert zu finden.
- Validierung: Verwenden eines separaten Validierungssets, um die Wirksamkeit des Schwellwerts zu überprüfen und gegebenenfalls weitere Anpassungen vorzunehmen.

3. Nutzung von Vertrauensintervallen oder Wahrscheinlichkeiten:
Anstatt einen festen Schwellenwert zu verwenden, könnte eine Wahrscheinlichkeitsbewertung oder das Konzept eines Vertrauensintervalls (Confidence Interval) für die Entscheidung einer Antworten-Präsentation herangezogen werden. Maschinenlernmodelle, besonders solche basierend auf neuronale Netze, können oft eine Wahrscheinlichkeit für jede mögliche Antwort liefern. Wenn die Wahrscheinlichkeit unter einem bestimmten Schwellwert liegt, könnte das System beschließen, die Frage nicht zu beantworten.

4. Berücksichtigung des Kontexts:
Beyond the metrics, the context of the paragraph and the question could be utilized to improve the decision-making process. Natural Language Understanding methods can be applied to assess if the question is likely answerable given the paragraph's content.

Implementierung:

Die Implementierung dieser Funktionen erfordert eine genaue Analyse und Experimentieren mit den Trainingsdaten. Im Falle der Kosinusähnlichkeit und euklidischen Distanz müssten zunächst Texte und Fragen in Vektorform umgewandelt werden (z.B. durch Nutzung von Word Embeddings wie Word2Vec, GloVe oder BERT). Dann würde man die Metriken berechnen und die Entscheidungslogik basierend auf den oben beschriebenen Methoden implementieren.

Es ist wichtig zu beachten, dass die Effektivität dieser Methoden stark vom Datensatz und von der spezifischen Anwendung abhängt. Experimentieren und gründliche Validierung sind entscheidend, um eine zuverlässige "Beantworte die Frage nicht!" Funktion zu entwickeln.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community