完整报错为:TypeError: Either one of corpus_file or corpus_iterable value must be provided
解决方法
将官方案例中传递参数时指定的sentences=
删除即可,比如:
model.build_vocab(sentences=common_texts)
model.train(sentences=common_texts, total_examples=len(common_texts), epochs=10) # train
改为:
model.build_vocab(common_texts)
model.train(common_texts, total_examples=len(common_texts), epochs=10) # train
问题解析
在gensim4.0+中,不再需要sentences=
来指定传入的数据,但是官方案例没有更新,因此直接使用案例会报错没有提供数据。官方案例如下:
from gensim.models import FastText
from gensim.test.utils import common_texts
model = FastText(vector_size=4, window=3, min_count=1) # instantiate
model.build_vocab(sentences=common_texts)
model.train(sentences=common_texts, total_examples=len(common_texts), epochs=10) # train
正确的案例:
from gensim.models import FastText
from gensim.test.utils import common_texts
model = FastText(vector_size=4, window=3, min_count=1) # instantiate
model.build_vocab(common_texts)
model.train(common_texts, total_examples=len(common_texts), epochs=10) # train