繁体   English   中英

我应该使用哪种神经网络从用于RDF规则的句子中提取关键信息?

[英]What kind of neural network should I use for extract key information from a sentence for RDF rules?

我正在研究论文,任务之一是从以下类型的句子中提取公司名称和位置:

“ Google与日本公司共享资源。”

在这里,我希望输出为“ Google Japan”。 句子结构也可能像“日本公司可以访问Google的资源”那样变化。 我尝试了基于注意力的NN,但错误率约为0.4。 谁能给我一些关于应该使用哪种模型的提示?

然后我像这样打印出验证过程: 验证打印

我得到损耗和精度的图表:损耗 和精度

它显示val_acc为0.99。 这是否意味着我的模型非常擅长预测? 但是,当我使用自己的验证功能显示错误率时为什么会得到0.4的错误率呢? 我是ML的新手。 val_acc实际是什么意思?

这是我的模型:

encoder_input = Input(shape=(INPUT_LENGTH,))
decoder_input = Input(shape=(OUTPUT_LENGTH,))

encoder = Embedding(input_dict_size, 64, input_length=INPUT_LENGTH, mask_zero=True)(encoder_input)
encoder = LSTM(64, return_sequences=True, unroll=True)(encoder)
encoder_last = encoder[:, -1, :]

decoder = Embedding(output_dict_size, 64, input_length=OUTPUT_LENGTH, mask_zero=True)(decoder_input)
decoder = LSTM(64, return_sequences=True, unroll=True)(decoder, initial_state=[encoder_last, encoder_last])

attention = dot([decoder, encoder], axes=[2, 2])
attention = Activation('softmax')(attention)

context = dot([attention, encoder], axes=[2, 1])
decoder_combined_context = concatenate([context, decoder])

output = TimeDistributed(Dense(64, activation="tanh"))(decoder_combined_context)  # equation (5) of the paper
output = TimeDistributed(Dense(output_dict_size, activation="softmax"))(output)

model = Model(inputs=[encoder_input, decoder_input], outputs=[output])
model.compile(optimizer='adam', loss="binary_crossentropy", metrics=['accuracy'])

es = EarlyStopping(monitor='val_loss', mode='min', verbose=1, patience=200, min_delta=0.0005)

首先,我要说的是如果您是ML的新手,我建议您在转向神经网络之前,学习更多的“传统”算法。 此外,您的任务是如此特定于公司名称和位置,以至于使用潜在语义分析(或类似的统计方法)来生成嵌入内容,并使用SVM确定哪些词是相关的,这比神经网络具有更少的实验和更少的结果会更好。训练时间。

现在说了这么多,这就是我可以收集的。 如果我理解正确,那么您将获得一个单独的第二个验证集,该验证集上的错误率为40%。 屏幕截图中的所有数字都非常好,这使我得出两个可能的结论:您的第二个验证集与第一个验证集有很大不同,并且您正遭受过度拟合的困扰,或者代码中存在一个错误,导致Keras相信您的模型做得很好,而实际上却并非如此。 (请记住,我对Keras不太熟悉,所以我不知道后一种选择的可能性)

现在,对于模型本身,您的任务显然是提取性的 ,这意味着您的模型不需要解释任何内容或提出源文本中没有的内容。 您的模型应该考虑到这一点,并且绝对不要犯错误,例如将印度与新西兰混淆或将腾讯与Google混淆。 您可能可以基于最近在提取摘要中的工作来建立模型,这是一个相当活跃的领域(除了关键字和关键词提取之外)。 是一篇使用神经注意力模型的最新文章,您可以使用Google学术搜索轻松找到更多内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM