tuhinjubcse / AMPERSAND-EMNLP2019

Code and Data for EMNLP 2019 paper titled AMPERSAND: Argument Mining for PERSuAsive oNline Discussions
22 stars 7 forks source link

AMPERSAND inputs and labels for Argument Component Classification and Inter-turn Relations Prediction #4

Closed faithannong closed 3 years ago

faithannong commented 3 years ago

Hi,

Thank you very much for answering my questions in my last issue. Your answers were very helpful.

I have some further clarifying questions regarding the inputs to the Argument Component Classification and Inter-turn Relations Prediction models:

About the Argument Component Classification:

  1. Just to clarify, for each sample, is the input a single text sequence? (Not a pair of sequences?)

1a. (Side question) How does the model learn how to classify the components correctly if the context surrounding that component is not also provided to the model? E.g. Argument 1: "Dogs are better than cats. (claim) Dogs are more affectionate and friendly. (premise)" How does the machine correctly classify "Dogs are more affectionate and friendly" as a premise if it doesn't know its context, here the entirety of Argument 1?

  1. Does AMPERSAND assume that the argument-component-boundary-detection task has already been completed? And therefore the inputs to the component classification model are argumentative sub-units that have already been determined? E.g. Given Argument 1, is it assumed that we have already determined "Dogs are better than cats." and "Dogs are more affectionate and friendly" as argumentative sub-units? Is it these sub-units that will then be inputted and classified by the model?

  2. If this is so and I wanted to test the model on a new unseen dataset, would I need an additional system to identify these argumentative sub-units first before inputting it into the component classification model? i.e. carry out the component-boundary detection task?

  3. How are the labels encoded for the component classification? e.g. 0 -> claim, 1 -> premise, 2-> non-arg

About Inter-turn relations prediction

  1. The input for each sample is Sentence1 \t Sentence2. For training and testing, are these sentences complete arguments like Argument 1? Or are they just the claim components of two different arguments (e.g. just "Dogs are better than cats")

  2. How are the labels encoded for this relations prediction? From Figure 2 in your paper, the model outputs a 1 if there is a relation and 0 if there is no relation. If there is a relation present, how could we determine the type of relation i.e. is it support or attack?

General questions:

  1. Just to clarify, is the same code in run_classifier.py used for both argument component classification and relations prediction tasks? (But for each different task though we would load in the different fine-tuned models?)

  2. Are run_lm_finetuning.py, run_squad.py, run_swag.py ever used in the AMPERSAND pipeline?

Thank you for taking the time to read this issue - I know there are a lot of questions!

tuhinjubcse commented 3 years ago

About the Argument Component Classification:

Just to clarify, for each sample, is the input a single text sequence? (Not a pair of sequences?) 1a. (Side question) How does the model learn how to classify the components correctly if the context surrounding that component is not also provided to the model? E.g. Argument 1: "Dogs are better than cats. (claim) Dogs are more affectionate and friendly. (premise)" How does the machine correctly classify "Dogs are more affectionate and friendly" as a premise if it doesn't know its context, here the entirety of Argument 1?

Yes if you read our paper. For the IMHO finetuned model we finetune BERT on IMHO sentence + next sentence pairs :) So that the model learns these inductive biases

Does AMPERSAND assume that the argument-component-boundary-detection task has already been completed? And therefore the inputs to the component classification model are argumentative sub-units that have already been determined? E.g. Given Argument 1, is it assumed that we have already determined "Dogs are better than cats." and "Dogs are more affectionate and friendly" as argumentative sub-units? Is it these sub-units that will then be inputted and classified by the model?

Yes it is at a sentence level.

If this is so and I wanted to test the model on a new unseen dataset, would I need an additional system to identify these argumentative sub-units first before inputting it into the component classification model? i.e. carry out the component-boundary detection task?

Just split your text to sentences. Every sentence is a candidate. The model predictions will tell which sentence is what :)

How are the labels encoded for the component classification? e.g. 0 -> claim, 1 -> premise, 2-> non-arg 0 -> non-arg, 1 -> claim, 2-> premise

About Inter-turn relations prediction

  1. The input for each sample is Sentence1 \t Sentence2. For training and testing, are these sentences complete arguments like Argument 1? Or are they just the claim components of two different arguments (e.g. just "Dogs are better than cats")

Yes they can be claim - claim / claim-premise / premise-premise

How are the labels encoded for this relations prediction? From Figure 2 in your paper, the model outputs a 1 if there is a relation and 0 if there is no relation. If there is a relation present, how could we determine the type of relation i.e. is it support or attack?

That we don't solve in our paper. You would require to do that in your own. Though our data has annotations so it would just be training a model

General questions:

  1. Just to clarify, is the same code in run_classifier.py used for both argument component classification and relations prediction tasks? (But for each different task though we would load in the different fine-tuned models?)

Exactly :)

Are run_lm_finetuning.py, run_squad.py, run_swag.py ever used in the AMPERSAND pipeline? run_lm_finetuning.py yes to finetune BERT on domain specific data (IMHO and QR)

Thank you for taking the time to read this issue - I know there are a lot of questions! No problem but can you please STAR the repo

faithannong commented 3 years ago

Thank you for your quick response!

  1. So if text is classified sentence by sentence, what happens when a sentence contains more than one type of component? For example from the CMV dataset: <claim type="interpretation" id="9" rel="agreement" ref="title">This would eventually make the human race smarter</claim>, and <premise type="logos" id="10" rel="support" ref="9">therefore more likely to survive and advance the human race.</premise> What would this sentence be classified as?

  2. When fine-tuning your IMHO-context intermediate model on task-specific data (the CMV dataset), should I be using the run_lm_finetuning.py file or the training code in the run_classifier.py file?

  3. During this next fine-tuning, are the input formats the same as they were for the previous fine-tuning on the IMHO-context and QR? I.e. for both argument component classification and relations prediction, the input format is Sentence1 \t Sentence2 \t label where the sentences are claims/premises/non-args and the label is whether or not there is a relationship between the sentences.

Thank you very much!

tuhinjubcse commented 3 years ago
  1. i recommend u to read the paper :) See the .ann files , its at sentence level annotation

10 . Nope you will run the run_classifier.py , I already uploaded the IMHO-context intermediate model , just load it instead of QR

11 its Sentence1 \t label for arg component and Sentence1 \t Sentence2 \t label for relation prediction