-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Further update task domains & categories; Add Utility Scripts #436
Conversation
garyhlai
commented
Oct 13, 2021
- update domains and categories for tasks in mctao and cosmosqa
- add script for auto adding domains for all task files of a given dataset
- modify the test script to allow testing only a range of tasks (instead of ALL tasks)
README.md
Outdated
@@ -68,6 +68,7 @@ We would appreciate any external contributions! 🙏 | |||
* If you're building your tasks based existing datasets and their crowdsourcing templates, see these [guidelines](doc/crowdsourcing.md). | |||
* Add your task to [our list of tasks](tasks/README.md). | |||
* To make sure that your addition is formatted correctly, run the tests: `> python src/test_all.py` | |||
* To only test the formatting of a range of tasks, run `> python src/test_all.py --task <begin_task_number> <end_task_number>`. For example, running `> python src/test_all.py --task 5 10` will run the test from task005 to task010. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Make it a sub-item of the earlier item? (i.e., indent it to the right).
@@ -7,9 +7,9 @@ | |||
"mctaco" | |||
], | |||
"Categories": [ | |||
"Question Generation" | |||
"Contextual Question Generation" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also involves temporal reasoing:
Reasoning -> Temporal Reasoning
@@ -7,9 +7,9 @@ | |||
"mctaco" | |||
], | |||
"Categories": [ | |||
"Answer Generation" | |||
"Answer Generation -> Commonsense Question Answering" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also involves temporal reasoning.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(this applies to most of the tasks here)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So would the "Categories" for this be
"Categories": [
"Answer Generation -> Commonsense Question Answering",
"Reasoning -> Temporal Reasoning",
"Reasoning -> Commonsense Reasoning"
]
since temporal reasoning can be considered a type of commonsense reasoning too?
What I'm trying to get at is whether some categories are mutually exclusive (e.g. "Reasoning -> Temporal Reasoning" vs. "Reasoning -> Commonsense Reasoning")?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, your list of categories make sense to me.
Basically, we should try to indicate all the category labels that apply to each task.
@@ -3038,5 +3038,8 @@ | |||
], | |||
"Instruction_language": [ | |||
"English" | |||
], | |||
"Domains": [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're not changing its task type?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would this be "Categories": ["Classification", "Reasoning -> Commonsense Reasoning", "Reasoning -> Logical Reasoning"]?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure about "Logical Reasoning" (which is meant to indicate conclusions made using logic).
@@ -7,7 +7,7 @@ | |||
"cosmosqa" | |||
], | |||
"Categories": [ | |||
"Question Generation" | |||
"Contextual Question Generation" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One might say that this also involves Reasoning -> Commonsense Reasoning
according to the instructions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(applies to more tasks below).
@@ -0,0 +1,48 @@ | |||
import json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since this is an ad hoc function (used only for this annotation), I would prefer if we don't check this in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added it because it seems that it could be useful for other people working on #4 who would likely need it.
@danyaljj all your concerns should be addressed in my latest push. I have updated all task files accordingly. Note that I modified the
because Do you encourage me to further modify the |
Yes, that's alright (and somewhat encouraged)! We should continue massaging the hierarchy so that it best describes the space of our tasks. |
Overall, the changes look good to me. Leaving it for others to review, before merging it. |
@ghlai9665 We need to have the category "Answer Generation -> Open Question Answering" for all answer generation tasks in MCTACO and CosmosQA as the answer to those questions does not lie in the associated context. task001 and 002 (Quoref) need to have category: "Answer Generation -> Contextual Question Answering" and "Coreference -> Entity Coreference", they also can potentially have "Text Span Selection category". I assume the domains are taken from the associated paper. On a different note: In hindsight, I feel we missed creating some tasks e.g. MCTACO is originally an MCQ dataset, but we don't have an MCQ task associated with MCTACO. Should we have some action items there? @danyaljj |
@swarooprm I am pretty sure CosmosQA questions come with paragraphs.
Let's document this as an issue. |
CosmosQA has context, but answer does not lie within the context (similar to MCTACO) |
Assuming that "context" in Whether the answer is in a given context is not is a different issue (extractive vs abstractive answer generation). We can create other tags to separate these two. |
@swarooprm Done. What you said about task002 makes sense -- task001 is a bit different though because it's question generation. I have update all tasks accordingly. |
Looks good @ghlai9665
|
Then it looks like every task would either be |
task021 is a classification task, so no need to add this category ("answer generation-->extractive"). |
@swarooprm yeah technically anything can be reformulated in the format of QA and classification can be seen as answer generation. So I'm not sure about this either @danyaljj |
doc/task-hierarchy.md
Outdated
@@ -8,6 +8,8 @@ | |||
- `Answer Generation -> Fill in the Blank` | |||
- `Answer Generation -> Multiple Choice Question Answering` | |||
- `Answer Generation -> Open Question Answering` | |||
- `Answer Generation -> Extractive` | |||
- `Answer Generation -> Abstractive` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since "extractive" and "abstractive" are only defined in the context of "contextual qa", it might make sense to make them nested:
Answer Generation -> Contextual Question Answering
Answer Generation -> Contextual Question Answering -> Extractive
Answer Generation -> Contextual Question Answering -> Abstractive
What do you all think? @ghlai9665 @swarooprm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, makes sense to me.
I tend to agree w/ Swaroop on this. The task is formulated like a classification. |
Part of the confusion might be due to the naming of |
I feel like categories related to QA can be better structured. I think we can do something like:
This should cover most of the QA-related categories, and we've agreed that classification categories would be mutually exclusive with these QA categories. What do you think? @swarooprm @danyaljj |
I mostly like your structure, except that I wouldn't make
I am actually not sure about the following:
A task might be QA and classification at the same time. |
Looks good to me. |
@danyaljj @swarooprm Task hierarchy is updated and all task files accordingly. Let me know how everything looks and I'll continue for the rest of the tasks. |
Thanks! For
since that is about generating questions (not answering them), we should drop "Question Answering -> Contextual Question Answering -> Extractive" and add |
Good catch! I updated the test to extract the categories better from Task-Hierarchy -- now it raises a warning when it's just |
Let's set another convention: if a category is used, let's not include its parent category. Say, the question is of type "Question Answering -> Contextual Question Answering -> Abstractive", let's not mention its parent category of "Question Answering -> Contextual Question Answering". |
@danyaljj You mean just in the |
Looks like I didn't explain myself properly: What I'm saying is that, instead of writing, say:
drop the parent category and write:
Does that make sense? |
…ategories when it's incorrect answer generation
…natural-instructions-expansion into task-hierarchy-update
@@ -7,7 +7,6 @@ | |||
"quoref" | |||
], | |||
"Categories": [ | |||
"Question Answering -> Contextual Question Answering", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
@@ -7,7 +7,6 @@ | |||
"drop" | |||
], | |||
"Categories": [ | |||
"Question Answering", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
@@ -7,7 +7,10 @@ | |||
"mctaco" | |||
], | |||
"Categories": [ | |||
"Incorrect Answer Generation" | |||
"Question Answering -> Incorrect Answer Generation", | |||
"Question Answering -> Contextual Question Answering -> Abstractive", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be here? Didn't have it for tasks/task008_mctaco_wrong_answer_generation_transient_stationary.json
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you're right. Just fixed. Thanks!
Looks good to me, thanks! Haven't heard back from @swarooprm yet and I am not sure when we will. I think we should move on with the PR. If there is anything missing, we can address it in another one. |