2

我想用这个配置尝试 word2vec:

compile "org.deeplearning4j:deeplearning4j-core:1.0.0-beta2"
compile "org.nd4j:nd4j-native-platform:1.0.0-beta2"
//compile "org.nd4j:nd4j-cuda-9.2-platform:1.0.0-beta2"
compile group: 'org.deeplearning4j', name: 'deeplearning4j-nlp', version: '1.0.0-beta2'
compile group: 'org.deeplearning4j', name: 'deeplearning4j-ui_2.11', version: '1.0.0-beta2'

    SentenceIterator iter = new BasicLineIterator(new File("E:/temp/text_1.txt"));
    TokenizerFactory t = new DefaultTokenizerFactory();

    t.setTokenPreProcessor(new CommonPreprocessor());

    Word2Vec vec = new Word2Vec.Builder()
            .minWordFrequency(20)
            .iterations(1)
            .layerSize(150)
            .seed(42)
            .windowSize(5)
            .iterate(iter)
            .tokenizerFactory(t)
            .allowParallelTokenization(true)
            .batchSize(1000)
            .workers(8)
            .elementsLearningAlgorithm(new SkipGram<>())
            .build();
    vec.fit();

包含句子的文件大约 15GB,每行一个句子。

22:33:07.116 [main] INFO  o.d.m.w.wordstore.VocabConstructor - Sequences checked: [200000]; Current vocabulary size: [48699]; Sequences/sec: 8298,07; Words/sec: 69217,82;

我怎样才能调整它以使其不那么慢?仅仅构建词汇就需要超过 24 小时。

这些是我要处理的文本文件中的一些行:

杰登阿本德 sieht sie den schatten am fenster

dann weht ein eisiger hauch ins zimmer

der unheimliche besucher laessst sich nicht abwehren

bei seinem anblick erstarrt die frau vor entsetzen

denn sie kann nicht begreifen dass ploetzlich der mann vor ihr steht den sie vor vielen jahren begraben hat

dem unheimlichen besucher eine falle zu stellen

4

0 回答 0