【发布时间】:2017-09-28 12:24:18
【问题描述】:
我在做cs224n's assignment。在函数test_word2vec中,有一些python语法我不明白:
""" Interface to the dataset for negative sampling """
dataset = type('dummy', (), {})()
def dummySampleTokenIdx():
return random.randint(0, 4)
def getRandomContext(C):
tokens = ["a", "b", "c", "d", "e"]
return tokens[random.randint(0,4)], \
[tokens[random.randint(0,4)] for i in xrange(2*C)]
dataset.sampleTokenIdx = dummySampleTokenIdx
dataset.getRandomContext = getRandomContext
问题一:dataset = type('dummy', (), {})() 是什么意思?
问题二:在 dataset.sampleTokenIdx = dummySampleTokenIdx 中,我认为 dataset 没有属性 sampleTokenIdx 。那么,为什么 dataset 可以调用它呢?
【问题讨论】: