+1 Daumen
592 Aufrufe

(ursprünglicher Titel: Wie kann ich wissen, wenn ich keine Fragen beantworte und Mund halte?)

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


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ß ...

Ich würde die Frage in die Stacklounge verschieben, wenn ich sicher wäre, dass sie dort hingehört. D.h. z.B. ob sie dort verstanden und beantwortet wird. Ansonsten: https://www.stacklounge.de/2822/matrix-bei-levenshtein-distanz und Links, die dort angegeben sind.

Sorry für mein schlechtes Deutsch, ich bin Franzose und Student in Natural Language Programming und helfe mir mit der Software, die ich gemacht habe, um meine Frage auf Deutsch zu stellen.

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.

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.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community