Steuerungsfilterung
Es kann viele Steuerelemente in der Anwendung geben, die für die Aufgabe möglicherweise nicht relevant sind. UFO kann irrelevante Steuerelemente herausfiltern und sich nur auf die relevanten konzentrieren. Dieser Filterprozess kann die Komplexität der Aufgabe reduzieren.
Neben der Konfiguration der Steuerelementtypen für die Auswahl in CONTROL_LIST in config_dev.yaml unterstützt UFO auch das Filtern von Steuerelementen basierend auf semantischer Ähnlichkeit oder Schlüsselwortabgleich zwischen dem Plan des Agenten und den Informationen des Steuerelements. Wir unterstützen derzeit die folgenden Filtermethoden
| Filtermethode | Beschreibung |
|---|---|
Text |
Filtert die Steuerelemente basierend auf dem Steuerelementtext. |
Semantisch |
Filtert die Steuerelemente basierend auf der semantischen Ähnlichkeit. |
Symbol |
Filtert die Steuerelemente basierend auf dem Symbolbild des Steuerelements. |
Konfiguration
Sie können die Steuerelementfilterung aktivieren, indem Sie CONTROL_FILTER in der Datei config_dev.yaml festlegen. CONTROL_FILTER ist eine Liste von Filtermethoden, die Sie auf die Steuerelemente anwenden möchten, und diese können TEXT, SEMANTIC oder ICON sein.
Sie können mehrere Filtermethoden in der Liste CONTROL_FILTER konfigurieren.
Referenz
Die Implementierung der Steuerelementfilterung basiert auf der Klasse BasicControlFilter, die sich in der Datei ufo/automator/ui_control/control_filter.py befindet. Konkrete Filterklassen erben von der Klasse BasicControlFilter und implementieren die Methode control_filter, um die Steuerelemente basierend auf der spezifischen Filtermethode zu filtern.
BasicControlFilter stellt ein Modell für die Filterung von Steuerelementen dar.
__new__(model_path)
Erstellt eine neue Instanz von BasicControlFilter.
| Parameter |
|
|---|
| Rückgabe |
|
|---|
Quellcode in automator/ui_control/control_filter.py
72 73 74 75 76 77 78 79 80 81 82 | |
control_filter(control_dicts, plans, **kwargs) abstractmethod
Berechnet die Kosinus-Ähnlichkeit zwischen den Einbettungen der gegebenen Schlüsselwörter und dem Steuerelement.
| Parameter |
|
|---|
| Rückgabe |
|
|---|
Quellcode in automator/ui_control/control_filter.py
104 105 106 107 108 109 110 111 112 | |
cos_sim(embedding1, embedding2) staticmethod
Berechnet die Kosinus-Ähnlichkeit zwischen zwei Einbettungen.
| Parameter |
|
|---|
| Rückgabe |
|
|---|
Quellcode in automator/ui_control/control_filter.py
153 154 155 156 157 158 159 160 161 162 163 | |
get_embedding(content)
Kodiert das gegebene Objekt in eine Einbettung.
| Parameter |
|
|---|
| Rückgabe |
|
|---|
Quellcode in automator/ui_control/control_filter.py
95 96 97 98 99 100 101 102 | |
load_model(model_path) staticmethod
Lädt das Modell vom angegebenen Modellpfad.
| Parameter |
|
|---|
| Rückgabe |
|
|---|
Quellcode in automator/ui_control/control_filter.py
84 85 86 87 88 89 90 91 92 93 | |
plans_to_keywords(plans) staticmethod
Extrahiert Schlüsselwörter aus dem Plan. Wir berücksichtigen nur die Wörter im Plan, die alphabetische oder chinesische Zeichen sind.
| Parameter |
|
|---|
| Rückgabe |
|
|---|
Quellcode in automator/ui_control/control_filter.py
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | |
remove_stopwords(keywords) staticmethod
Entfernt Stoppwörter aus der gegebenen Liste von Schlüsselwörtern. Wenn Sie Stoppwörter zum ersten Mal verwenden, müssen Sie diese mit nltk.download('stopwords') herunterladen.
| Parameter |
|
|---|
| Rückgabe |
|
|---|
Quellcode in automator/ui_control/control_filter.py
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | |