Unable to guess input file format. Please use corresponding loader directly
【重点】
保存模型,WordVectorSerializer.writeFullModel(vec, filePath+".vec");
读取的时候,
WordVectors wordVectors =WordVectorSerializer.loadFullModel(WORD_VECTORS_PATH)
后来调试的时候发现,不同方法,训练之后的模型文件,格式不一样,所以需要仔细研究,并对齐格式。
如果嫌麻烦,用各自对应的读写方法好了~
记录日志:
使用了word2vec谷歌版训练的,二进制和txt格式都不行,都报错。
谷歌代码训练的词向量,dl4j总是加载不起来。用dl4j重新训练
再试试dl4j自己的训练词向量的代码。训练之后的模型文件保存在
Word2VecRawTextExample
使用中文的一元分词,即每个char空格分隔。
Word2Vec vec = new Word2Vec.Builder()
.minWordFrequency(5)
.iterations(1)
.layerSize(100)
.seed(42)
.windowSize(5)
.iterate(iter)
.tokenizerFactory(t)
.build();
保存模型,WordVectorSerializer.writeFullModel(vec, filePath+".vec");
试了一下nearest方法,效果不错。
锅:[煲, 篦, 炉, 焚, 灶, 淬, 烤, 燃, 煎, 烧]