2014-08-28 91 views
0

在使用GATE工具对训练数据运行机器学习者算法(SVM)之后,我想对测试数据进行测试。我的问题是,如果我使用相同的训练数据进行测试,那么模型如何从测试数据中提取实体,而测试数据没有使用在训练数据中学过的注释进行注释。GATE工具中的机器学习

我跟着这个链接http://gate.ac.uk/sale/talks/gate-course-may11/track-3/module-11-machine-learning/module-11.pdf的教程,但最后它谈到了将数据集分解为训练和测试时有点混淆。

回答

0

在GATE中,您有3种机器学习PR模式 - 用于培训,评估和应用。

当你训练时,ML PR会检查选定的注释(比如说令牌),收集它的特征并学习目标类(即Person,Mention或其他)。使用示例文档,ML PR创建了一个模型,该模型保存要素的值并基本“学习”如何对新令牌(或句子或其他)进行分类。

测试时,您只提供具有所有功能的令牌的ML PR。然后,ML PR将它们用作其模型的输入,并决定是否提供或提供哪些内容。 ML PR实际上需要培训语料库中的所有内容,除了标签/目标类/提及 - 应该作出的决定。

我认为GATE ML PR在测试模​​式下会忽略标签,所以删除它并不重要。

评估是一个有用的选项,其中自动完成培训和测试,语料库被拆分并显示结果。它所做的是将语料库分成两部分,一部分训练,另一部分应用模型,比较黄金标准与标注的内容。重复不同的分割。

通常的顺序是培训和评估,检查结果,修复,添加功能等,当您对评估结果满意时,切换到应用程序并运行没有标签的数据。

在训练和测试时,运行相同的预处理至关重要。例如,如果在训练中运行了一个POS标记器,并且在测试时跳过这个标记,则ML PR将不具有“Token.category”功能,并将计算出非常不同的结果。

现在你的问题:)

不!不要使用相同的数据进行测试,这是一个非常常见的错误,如果您得到可疑的好结果,请首先检查您是否正在这样做。

在本教程中,当您拆分语料库时,两个部分都会像以前一样拥有所有注释,因此ML PR将具有所需的所有功能。在现实生活中,您必须先进行一些预处理,因为文档不会带有令牌或任何内容。

在他们的案例中拆分做得非常简单 - 只需将所有文档保存到文件,将文件拆分到两个文件夹中,将它们加载为两个语料库。

希望这有助于:)

+0

这是非常有益的,但我面临的问题是,当我在训练数据上运行ML PR,训练数据具有所有注释/标签中,ML公关很好地表明我的训练数据具有学习模型所需的全部内容。一旦我在我的测试数据(没有注释/标签的数据,它是原始数据)上运行应用程序模式,我看不到任何结果,正如我在评估中运行整个数据集(培训+测试数据)时看到的那样模式。 在Gate中是技术问题吗?我希望在测试数据上运行应用程序模式时看到结果。 – user3635168 2014-08-31 00:52:13

+0

请帮我解决这个问题 – user3635168 2014-09-01 05:08:30

+0

好的,问题不在GATE。猜测出现问题并不容易,但我认为,当您运行新文档时,在运行ML PR之前,您没有运行ANNIE。我在回复中说了3次......首先运行ANNIE,生成令牌和所有内容,然后运行ML PR - 您需要在训练/测试时进行的整个预处理。 – Yasen 2014-09-01 06:08:21