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方法,效果不错。
锅:[煲, 篦, 炉, 焚, 灶, 淬, 烤, 燃, 煎, 烧]