Closed sanxing-chen closed 1 year ago
Hey Sanxing, thanks for the great questions!
import json
a = json.load(open('items_human_ins.json'))
lens = [ a[list(a.keys())[j]][0]['instruction_options'] for j in range(len(a))] # extract all instruction options
lens = [len(_) > 0 for _ in lens] # whether has instruction option or not
print(sum(lens[:500]), sum(lens[500:1500])) # 402 795
Hey @ysymyth, thanks for your information!
items_human_ins.json
is not the same as human_goals.json
which is used to determine the splits in train_choice_il.py
. But it doesn't matter though)Hi @sanxing-chen , I just checked the choice oracle with searching the instruction text, and it has a success rate of 0.854, which is close to your 0.868 (there could be some variance coming from the price sampling).
In the paper we may have implemented a wrong algorithm, which only enumerated choosing every SINGLE option (which led to 0.636 success rate in my re-implementation), instead of every COMBINATION of options. We will revise the choice oracle part of the paper accordingly, thanks again!
I'll close it now and feel free to open for new questions!
I have some questions and hope you can help me answer
Please let me know if any of these questions are unclear, thanks!