我正在研究一种n-gram语言模型。我的具体问题很简单,因为我的方法norm
没有成功调用另一个方法compute_bigram
。我希望前者称呼后者。
如果我实例化类型为Model的对象,请注释掉调用compute_unigram的行,然后依次调用compute_unigram和compute_bigram,不会引发任何错误。
但是,如果我只调用了compute_bigram(应该调用compute_unigram),则会引发一个compute_unigram
(表示未调用该方法。)
None type error
谁能解释我应该做些什么才能使一种方法成功调用另一种方法?
答案 0 :(得分:2)
self.unigrams = self.compute_unigram()
清除self.unigrams
,因为compute_unigram()
以return None
结尾。
删除该调用中的self.unigrams =
部分。
如果我实例化类型为Model的对象,请注释掉调用compute_unigram的行,然后依次调用compute_unigram和compute_bigram,不会引发任何错误。
是的,当您注释该行并手动调用该方法时,self.unigrams = None
步骤并未发生。