如何使用Mallet Java API导入数据

时间:2016-09-15 17:17:25

标签: mallet crf

我是Mallet的新手,并尝试使用其CRF功能来执行命名实体识别。我知道有一个例子展示了如何在他们的网站上使用Java导入数据,但是它处理的是纯文本(不是训练集格式)。 现在我有以下格式提供的培训数据(网站上显示的确切格式)。第一列是单词,第二列是标签。

a   O
50  AGE
year    AGE
old O
man GENDER
with    O
a   O
history O
of  O
suicide O
attempt O
experienced O
an  O
epileptic   O
seizure O
on  O
22-dec-01   DATE
.   O 
----

注意:它在渲染输出中不可见,但这似乎是以制表符分隔的

所以现在我被卡住了。如何使用Mallet API将上述数据导入为训练集?

我知道如何在命令行中执行此操作,但我想编写JAVA代码,以便将来可以使用他们的API添加更多功能。

1 个答案:

答案 0 :(得分:0)

您可以使用Mallet中的FileIterator或CSVIterator或ArrayIterator读取训练实例。您可以在http://mallet.cs.umass.edu/classifier-devel.php找到CSVIteartor的用法。 FileIterator和ArrayIterator用法分别位于http://www.programcreek.com/java-api-examples/index.php?api=cc.mallet.pipe.iterator.FileIteratorhttp://www.programcreek.com/java-api-examples/index.php?api=cc.mallet.pipe.iterator.Arrayiterator

您可以在http://www.programcreek.com/java-api-examples/index.php?api=cc.mallet.fst.CRF

的mallet中找到有关如何通过Java代码使用CRF的信息