luopeixiang / named_entity_recognition

中文命名实体识别(包括多种模型:HMM,CRF,BiLSTM,BiLSTM+CRF的具体实现)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

对数据集的疑问

beagood opened this issue · comments

您好,我对数据集内容还有部分疑问,烦请解答
1、项目中dev\test\train三个文件分别是做什么用的数据集?
2、这些数据集中的标注是人工标注的吗?
3、训练好的模型是如何测试准确率的?
谢谢!

您好,我对数据集内容还有部分疑问,烦请解答
1、项目中dev\test\train三个文件分别是做什么用的数据集?
2、这些数据集中的标注是人工标注的吗?
3、训练好的模型是如何测试准确率的?
谢谢!

1.项目中的数据集是2018 ACL论文Chinese NER using Lattice LSTM中收集的简历数据,这篇论文就是研究中文实体识别的,这些数据是论文作者从新浪财经爬取的,用于证明论文中提出的lattice LSTM方法的有效性。原论文关于这个数据是这么写的:

For more variety in test domains, we collected a
resume dataset from Sina Finance, which consists
of resumes of senior executives from listed compa-
nies in the Chinese stock market. We randomly se-
lected 1027 resume summaries and manually an-
notated 8 types of named entities with YEDDA
system (Yang et al., 2018).

2.数据集是人工标注的。

3.测试准确率是先计算模型预测的标注中有多少个标注是正确的,将这个数除以标注的总数即为准确率。假设我们的目标标注是"B O O O E",而模型预测的标注是"B O O B E",这个时候正确的标注有四个,总的标注数为5,那么准确率就是4/5 = 80%.

感谢您的回复,对于第一个问题我还有一点疑问。
dev\test\train三个文件分别是做什么的?
我理解中,train数据集用来训练模型,之后用test数据集进行测试,但不知道dev数据集的作用。
烦请再次解答,感谢!

感谢您的回复,对于第一个问题我还有一点疑问。
dev\test\train三个文件分别是做什么的?
我理解中,train数据集用来训练模型,之后用test数据集进行测试,但不知道dev数据集的作用。
烦请再次解答,感谢!

dev是验证集,是用来调节模型超参数的。在一些模型中,像SVM模型中的核函数,LSTM的层数、隐向量的维数就是模型的超参数,验证集是用来比较相同的模型下,哪种超参数效果比较好进而选择该超参数下的模型作为结果(比如在验证集上的测试结果表明,LSTM选择1层的效果要比2层效果好,那我们就将LSTM模型的层数设置为1层)
如果还不明白,可以看看下面这些博客:
https://blog.csdn.net/Neleuska/article/details/73193096
https://blog.csdn.net/u014038273/article/details/80145317
https://blog.csdn.net/JNingWei/article/details/78170171

谢谢您的回答!我去看看博客~