Skip to content
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

Some questions regarding implementation #2

Closed
bernardoleite opened this issue Jan 11, 2022 · 2 comments
Closed

Some questions regarding implementation #2

bernardoleite opened this issue Jan 11, 2022 · 2 comments

Comments

@bernardoleite
Copy link

Hey hcnoh,

Thank you very much for your implementation. It's a well-organized and clear one.
I would like to clarify some doubts, if possible.

1 - From assist2009.py, in preprocess() you perform the following operation:
df = df.drop_duplicates(subset=["order_id", "skill_name"])
Why you drop these duplicates? We can have multiple interactions with repeated order_id and skill_name/skill_id attributes right?

2 - From what I've seen in previous KT implementations, the input data (x) consists of a merge between the skill_id and the correct attributes (this would create a new synthetic feature). In turn, the data for prediction (y) will just be the correct labels. When analyzing your implementation, I can't understand how (or when) you make that merge (for both skill_id and correct) in the input data x. Can you clarify this for me?

3 - There is a specific part of the code that I am having some difficulties in understanding what is done. These are two lines fromdkt.py:

y = self(q.long(), r.long())
y = (y * one_hot(qshft.long(), self.num_q)).sum(-1)

Can you enlighten me what is done here?

Thanks in advance!
Regards,
Bernardo

@hcnoh
Copy link
Owner

hcnoh commented Jan 18, 2022

Hi. Thank you for reading my GitHub materials.

I will answer your questions.

  1. The preprocessing method is originally from the paper of DKVMN. You can check the paper in the reference list. Additionally, "order_id" is an id of one data sample. That is why I dropped the duplicates.

  2. The input data "x" is the previous interactions of the current student. You can check the definition of the interaction as "(question, response)" in the original DKT paper.

  3. Also, this part is explained in the original DKT paper. The intend of the part is for training the DKT model with only the next question's response.

I hope my answers would be helpful to you.

@hcnoh
Copy link
Owner

hcnoh commented Mar 4, 2022

Since there's been no response in a long time, I will close this issue.

@hcnoh hcnoh closed this as completed Mar 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants