Task fields are the fields extracted from the natural language instructions using RegExp. For example:
"Click on the ONE button." --> {"target": "ONE"}
Many previous works on MiniWoB++ use task fields in the action space (mostly for emit-text actions). Currently the task fields are extracted using ad-hoc methods (fields.py) and are not part of the observation space (they are in the infos dict).
Pitch
Move the field extractors to the environment classes.
Include the fields (keys + values, with a fixed key ordering) as a sequence of fixed length to the observation space. The fixed length makes it easy for RL agents to predict. The padding entries can have empty strings as keys and values.
Remove the "dummy" field. It was a hack for the RL agent in the MiniWoB paper.
Alternatives
Put the field extractors in the HTML/JS code.
Use a variable-length sequence for fields. This makes it difficult to numpify.
Checklist
[x] I have checked that there is no similar issue in the repo (required)
Proposal
Put task fields in the observation space.
Motivation
Task fields are the fields extracted from the natural language instructions using RegExp. For example:
Many previous works on MiniWoB++ use task fields in the action space (mostly for emit-text actions). Currently the task fields are extracted using ad-hoc methods (
fields.py
) and are not part of the observation space (they are in theinfos
dict).Pitch
Alternatives
Checklist