我是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添加更多功能。
答案 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.FileIterator和http://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的信息