pykt-team / pykt-toolkit

pyKT: A Python Library to Benchmark Deep Learning based Knowledge Tracing Models
https://pykt.org
MIT License
212 stars 58 forks source link

关于一题多知识点存在信息泄露问题的询问 #119

Open LabyrinthineLeo opened 1 year ago

LabyrinthineLeo commented 1 year ago

作者你好,非常感谢你们提供的非常有用的kt库,但是有个疑问咨询一下,在pykt论文中你们也提到一题多知识点存在信息泄露的问题,通常可以利用知识点聚合方式来避免,但是我看你们实现的代码里面关于模型输出然后loss计算那一块,也还是输入扩展后的知识点序列,然后one-by-one的预测?可能是我对代码的理解偏差,望指正,期待您的回复!

sonyawong commented 1 year ago

作者你好,非常感谢你们提供的非常有用的kt库,但是有个疑问咨询一下,在pykt论文中你们也提到一题多知识点存在信息泄露的问题,通常可以利用知识点聚合方式来避免,但是我看你们实现的代码里面关于模型输出然后loss计算那一块,也还是输入扩展后的知识点序列,然后one-by-one的预测?可能是我对代码的理解偏差,望指正,期待您的回复!

hi,感谢您对我们工作的关注~我们用扩展后的知识点序列进行模型训练,但在预测时,除了one-by-one(pykt-toolkit/pykt/models/evaluate_model.py line 47),还进行了fusion预测缓解知识点信息泄露问题(pykt-toolkit/pykt/models/evaluate_model.py line 360).

LabyrinthineLeo commented 1 year ago

作者你好,非常感谢你们提供的非常有用的kt库,但是有个疑问咨询一下,在pykt论文中你们也提到一题多知识点存在信息泄露的问题,通常可以利用知识点聚合方式来避免,但是我看你们实现的代码里面关于模型输出然后loss计算那一块,也还是输入扩展后的知识点序列,然后one-by-one的预测?可能是我对代码的理解偏差,望指正,期待您的回复!

hi,感谢您对我们工作的关注~我们用扩展后的知识点序列进行模型训练,但在预测时,除了one-by-one(pykt-toolkit/pykt/models/evaluate_model.py line 47),还进行了fusion预测缓解知识点信息泄露问题(pykt-toolkit/pykt/models/evaluate_model.py line 360).

非常感谢您的回复!理解了您的意思,所以如果涉及到一题多知识点的数据(比如NIPS20),在测试时就需要转换成evaluate_question对吧,如pykt/models/train_model.py line218/220换成evaluate_question()。这部分暂时时不支持以数据集为标识在测试时自动切换吧?|另问一个题外问题,请问贵公司含教育相关的研究院吗,是否有校招hc或者research岗的实习生名额?

sonyawong commented 1 year ago

作者你好,非常感谢你们提供的非常有用的kt库,但是有个疑问咨询一下,在pykt论文中你们也提到一题多知识点存在信息泄露的问题,通常可以利用知识点聚合方式来避免,但是我看你们实现的代码里面关于模型输出然后loss计算那一块,也还是输入扩展后的知识点序列,然后one-by-one的预测?可能是我对代码的理解偏差,望指正,期待您的回复!

hi,感谢您对我们工作的关注~我们用扩展后的知识点序列进行模型训练,但在预测时,除了one-by-one(pykt-toolkit/pykt/models/evaluate_model.py line 47),还进行了fusion预测缓解知识点信息泄露问题(pykt-toolkit/pykt/models/evaluate_model.py line 360).

非常感谢您的回复!理解了您的意思,所以如果涉及到一题多知识点的数据(比如NIPS20),在测试时就需要转换成evaluate_question对吧,如pykt/models/train_model.py line218/220换成evaluate_question()。这部分暂时时不支持以数据集为标识在测试时自动切换吧?|另问一个题外问题,请问贵公司含教育相关的研究院吗,是否有校招hc或者research岗的实习生名额?

对于所有的数据集,我们都会输出one-by-one的结果, 对于同时拥有题目和知识点id的数据集, 我们会额外进行fustion预测(pykt-toolkit/pykt/examples/wandb_predict.py line 78/86). PS: 我们有一些实习生的岗位需求,如有兴趣,可以将简历发送至huangshuyan@tal.com

LabyrinthineLeo commented 1 year ago

作者你好,非常感谢你们提供的非常有用的kt库,但是有个疑问咨询一下,在pykt论文中你们也提到一题多知识点存在信息泄露的问题,通常可以利用知识点聚合方式来避免,但是我看你们实现的代码里面关于模型输出然后loss计算那一块,也还是输入扩展后的知识点序列,然后one-by-one的预测?可能是我对代码的理解偏差,望指正,期待您的回复!

hi,感谢您对我们工作的关注~我们用扩展后的知识点序列进行模型训练,但在预测时,除了one-by-one(pykt-toolkit/pykt/models/evaluate_model.py line 47),还进行了fusion预测缓解知识点信息泄露问题(pykt-toolkit/pykt/models/evaluate_model.py line 360).

非常感谢您的回复!理解了您的意思,所以如果涉及到一题多知识点的数据(比如NIPS20),在测试时就需要转换成evaluate_question对吧,如pykt/models/train_model.py line218/220换成evaluate_question()。这部分暂时时不支持以数据集为标识在测试时自动切换吧?|另问一个题外问题,请问贵公司含教育相关的研究院吗,是否有校招hc或者research岗的实习生名额?

对于所有的数据集,我们都会输出one-by-one的结果, 对于同时拥有题目和知识点id的数据集, 我们会额外进行fustion预测(pykt-toolkit/pykt/examples/wandb_predict.py line 78/86). PS: 我们有一些实习生的岗位需求,如有兴趣,可以将简历发送至huangshuyan@tal.com

好的,非常感谢您的回复!