Frage

Ich arbeite derzeit an einem Prototyp einer Anwendung, die in der Lage sein sollte, mit Benutzeroberflächen zu interagieren.

Jetzt verfügt jede Benutzeroberfläche über einige gängige Elemente wie Schaltflächen, Scrollbars, Eingabefelder usw.

Ich möchte maschinelles Lernen verwenden, um solche Benutzeroberflächen auf eine Weise zu "interpretieren", in der ich später eine Benutzeroberfläche als Bild eingeben kann, und den Prototypen dann die Schnittstelle "ausprobieren". Verwenden von Scrollbars, die einige Text in Eingangsfelder usw. eingeben usw.

Ich weiß, dass dies mit der Bilderkennung erfolgen müsste, da es viele verschiedene Benutzeroberflächen gibt.

Ich interessiere mich speziell für Websites, Adobe Reader mit einem geöffneten PDF (das wiederum ein Formular usw. sein kann) und ein Wort mit einem geöffneten Dokument (dies kann wiederum Formulare usw. enthalten).

Meine Hauptfrage ist nun, ob in diesem Bereich, den ich verwenden kann, oder sogar ein vorhandenes Werkzeug für Teile des Prozesses bereits einige Nachforschungen vorhanden sind.

Jede Hilfe wird geschätzt :)

War es hilfreich?

Lösung

Ich würde versuchen, mit wiederkehrenden neuronalen Netzwerken zu experimentieren: http://karpathy.github.io/2015/05/21/rnn-seffectivity/. Wiederkehrende neuronale Netzwerke können Sequenzen von variabler Länge angegeben, die eine variable Länge variable Länge haben. In Ihrem Fall kann ein wiederkehrendes neuronales Netzwerk eine Sequenz wie folgt ausgeben, wenn eine Benutzeroberfläche angegeben ist: Klicken Sie auf eine Schaltfläche, wählen Sie ein Feld, geben Sie einen Text ein, drücken Sie die Eingabetaste. Für eine andere Schnittstelle kann das Netzwerk nur ausgegeben werden: Klicken Sie auf eine Schaltfläche, klicken Sie auf eine andere Schaltfläche, und das ist es. Dies wäre für Sie nützlich, da sich die Sequenz und Länge der Aktionen von der Schnittstelle zur Schnittstelle stark ändern.

Sie können auch mit Verstärkungslernen experimentieren und einen Algorithmus erstellen, der ein Ziel hat (erreichen Sie eine endgültige Seite in so wenigen Aktionen wie möglich). Der Algorithmus beginnt damit, zufällige Dinge zu tun (wie ein paar Mal auf denselben Schaltflächen zu klicken) und dann im Laufe der Zeit nach und nach lernen, um geeignete Aktionen zu ergreifen. Wenn Sie diesen Weg gehen, können Sie Deep Learning und Monte Carlo Tree Search (MCTs) verwenden, wie es Alpha Go getan hat.

In beiden Fällen benötigen Sie einen Rahmen, der einen Algorithmus schnell trainieren kann, da Sie wahrscheinlich viele Iterationen durchlaufen müssen. Tensorflow (https://www.tensorflow.org/) ist eine Option (ich habe kürzlich angefangen, und ich mag es sehr, weil es einfach zu verwenden ist). Tensorflow kann sowohl wiederkehrende neuronale Netze als auch tiefe neuronale Netze bauen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top