【问题标题】:deeplearning4j - use Word2Vec for named entity recognitiondeeplearning4j - 使用 Word2Vec 进行命名实体识别
【发布时间】:2016-01-05 06:24:42
【问题描述】:

我正在尝试使用 deeplearning4j 复制论文 NLP (almost) from scratch。我已经完成了以下步骤:

  1. 加载 SENNA 词向量
  2. 为 CoNLL'03 数据集编写一个迭代器:对于每个单词,我通过连接其相邻单词的单词向量来形成一个单词特征向量(窗口大小 = 5)
  3. 使用上面的数据集迭代器来训练一个简单的回归层,例如:
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
    .seed(seed).iterations(iterations)
    .learningRate(1e-8f)
    .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
    .list(2)
    .layer(0, new DenseLayer.Builder()
        .nIn(wordVecLayers * windowSize).nOut(hiddenSize)
        .activation("relu")
        .weightInit(WeightInit.DISTRIBUTION)
        .dist(new UniformDistribution(-2.83 / Math.sqrt(hiddenSize), 2.83 / Math.sqrt(hiddenSize)))
        .biasInit(0.0f).build())
    .layer(1, new OutputLayer.Builder(LossFunction.NEGATIVELOGLIKELIHOOD)
        .nIn(hiddenSize).nOut(types.size())
        .activation("softmax").weightInit(WeightInit.DISTRIBUTION)
        .dist(new UniformDistribution(-2.83 / Math.sqrt(hiddenSize), 2.83 / Math.sqrt(hiddenSize)))
        .biasInit(0.0f).build())
    .backprop(true).pretrain(false)
    .build();

我尝试了许多不同的配置,但没有一个适合我。该模型继续预测所有带有“O”标签的单词。如果您能指出我的方法有什么问题,我将不胜感激?下一步我应该做什么?谢谢!

【问题讨论】:

标签: java deep-learning deeplearning4j


【解决方案1】:

我们的 word2vec 情感示例是一个很好的起点: https://github.com/deeplearning4j/dl4j-0.4-examples/tree/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/recurrent/word2vecsentiment

这包括对词向量进行序列标记(这也是 NER)

【讨论】:

    猜你喜欢
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 2019-11-12
    • 2019-04-28
    相关资源
    最近更新 更多