jennyzhang0215 / dkvmn Goto Github PK
View Code? Open in Web Editor NEWDynamic Key-Value Memory Networks for Knowledge Tracing
Dynamic Key-Value Memory Networks for Knowledge Tracing
Congratulations on your paper. It is very interesting, and I enjoyed it very much.
When I read your paper I have the following question:
Should an separate instance of model be created for each student in actual use? Or, is the interaction sequence of all students going through a single model in order (according to timestamp)?
Could you tell how do you process the data assist2015 ?
I really liked the DKVMN model and wished to extend it further. I have read the code in detail and had some doubts:
Dear author:
I have read the code in detail and had a doubt: Where can I find the one-hot coding process for 'q' and 'qa'? And I only find: 'q' is q_tag and 'aq' is q_tag*(1 + a_tag), and not find the corresponding one-hot vector of 'q' and 'qa'.
Please help me, thanks.
I am trying to execute this code on Mac OS and I am unable to do so.
Error:
I get the message compile with USE_CUDA=1 for gpu usage
When I try to install gpu version of mxnet with the command "pip install mxnet-cu102==1.6.0" , it hows ERROR: No matching distribution found for mxnet-cu102==1.6.0
I have MAC with intel graphics card.
Can you please help me out
Thanks
Hello!
I know it's 2023, but I've been reading the paper and played around with the code lately, and there's somethingI I don't quite understand regarding data splitting and sequence length.
In the paper it's mentioned that for Assist2009 the maximum sequence length was set to 200. In the code, I was expecting that the sequences would be cut at 200 questions per user, and further questions would not be considered, but it seems this is not the case.
For instance, let's take as example the comment in load_data.py
, in function load_data
15
1,1,1,1,7,7,9,10,10,10,10,11,11,45,54
0,1,1,1,1,1,0,0,1,1,1,1,1,0,0
If we set seqlen
to 10, what the code would do is:
Q
will be set to [1,1,1,1,7,7,9,10,10,10,10,11,11,45,54]
A
will be set to [0,1,1,1,1,1,0,0,1,1,1,1,1,0,0]
if len(Q) > self.seqlen
is True
, n_split
will be math.floor(len(Q) / self.seqlen)
, which is math.floor(15/10)
, which is 1
, but since len(Q) % self.seqlen
is not 0, n_split
will be 2
, as per line 43q_dataArray
will have:[
[1,1,1,1,7,7,9,10,10,10],
[10,11,11,45,54,0,0,0,0,0]
]
meaning that it has shape [n_split, self.seqlen]
, or [2, 10]
def train(net, params, q_data, qa_data, label):
N = int(math.floor(len(q_data) / params.batch_size))
q_data = q_data.T # Shape: (200,3633) <-- Here
qa_data = qa_data.T # Shape: (200,3633) <-- Here
# Shuffle the data
shuffled_ind = np.arange(q_data.shape[1]) # <-- Here
np.random.shuffle(shuffled_ind)
q_data = q_data[:, shuffled_ind]
qa_data = qa_data[:, shuffled_ind]
seqlen
same as in the example given above)?I'd appreciate your input, answers and comments. Feel free to correct me if I didn't get something.
Thank you!
Hello! This DKVMN model inspired me a lot. I have several questions about your paper and hope for your reply.
1.Every Student has their own value matrix, but the key matrix are the same, right?
2.What the meaning of mt in your paper Equation(11) section 4.5 ? If possible, can I get the code of this section (like how to achieve Figure(6))? I am really interested about it.
Thanks very much
Which assistment 2009 dataset are you using? According to this link (https://sites.google.com/site/assistmentsdata/home/assistment-2009-2010-data/skill-builder-data-2009-2010) there are 2 versions after the detection of the duplicate row problem.
Version (1) with one row per student-problem-skill and version (2) with one row per student-problem. If the problem has multiple skills it is give as skill1_skill2 (see image below).
Are you using version 1 or version 2?
Thank you for your help!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.