Mallet CRF序列分类训练数据格式
Mallet CRF Sequence Classification Training Data Format
我正在尝试使用 Mallet 库训练 CRF 序列模型,但我遗漏了一些重要信息。我在 https://github.com/mimno/Mallet/blob/master/src/cc/mallet/examples/TrainCRF.java 的库中找到了一个示例
但是示例没有说明输入训练数据的格式,所以我不知道如何重新创建它。
Mallet 在 http://mallet.cs.umass.edu/import-devel.php 上确实有一个数据导入示例,但该特定示例似乎是针对文档分类的,而不是我的用例 CRF 序列模型。
我尝试将输入训练数据放入 http://mallet.cs.umass.edu/sequences.php 中使用的形式,即
Bill CAPITALIZED noun
slept non-noun
here LOWERCASE STOPWORD non-noun
和表格中的测试数据
CAPITAL Al
slept
here
但是根据输出日志,它似乎不是正确的格式。例如,日志中的一行是 INFO: testing label slept P � R 0 F1 �
但 slept
不是标签 - 标签应该是 noun
或 non-noun
。
所以,如果有人能告诉我训练数据应该采用什么格式,那就太好了。
您 link 的代码示例已被 the line that refers to the training file 注释掉。您的代码是否可能试图在测试文件上进行训练?这会导致 slept
看起来像一个标签,因为它位于行尾,并且会解释错误。
郑重声明,我使用您在上面提供的测试数据(使用命令行,而不是代码示例)尝试了该示例并且它有效,因此 test/train 格式似乎没问题。
我正在尝试使用 Mallet 库训练 CRF 序列模型,但我遗漏了一些重要信息。我在 https://github.com/mimno/Mallet/blob/master/src/cc/mallet/examples/TrainCRF.java 的库中找到了一个示例 但是示例没有说明输入训练数据的格式,所以我不知道如何重新创建它。
Mallet 在 http://mallet.cs.umass.edu/import-devel.php 上确实有一个数据导入示例,但该特定示例似乎是针对文档分类的,而不是我的用例 CRF 序列模型。
我尝试将输入训练数据放入 http://mallet.cs.umass.edu/sequences.php 中使用的形式,即
Bill CAPITALIZED noun
slept non-noun
here LOWERCASE STOPWORD non-noun
和表格中的测试数据
CAPITAL Al
slept
here
但是根据输出日志,它似乎不是正确的格式。例如,日志中的一行是 INFO: testing label slept P � R 0 F1 �
但 slept
不是标签 - 标签应该是 noun
或 non-noun
。
所以,如果有人能告诉我训练数据应该采用什么格式,那就太好了。
您 link 的代码示例已被 the line that refers to the training file 注释掉。您的代码是否可能试图在测试文件上进行训练?这会导致 slept
看起来像一个标签,因为它位于行尾,并且会解释错误。
郑重声明,我使用您在上面提供的测试数据(使用命令行,而不是代码示例)尝试了该示例并且它有效,因此 test/train 格式似乎没问题。