运行stanford LLDA tmt scala模型时出现线程错误

时间:2013-06-22 04:11:16

标签: scala models

当我运行stanford LLDA tmt scala模型时,我遇到了一些问题。当我尝试使用LLDA tmt模型进行推理时,其中一个是线程错误。我正在运行的代码正是Shreyas Karnik在sourceforge链接中提供的代码,

@Skarab:以下是我以前用于bit.ly/ocK2T9(学习)和bit.ly/qIWb6C(推理)的代码的链接,如果您仍然遇到任何错误,请告诉我。

错误消息是,


命令开始:CDT 2013年6月21日星期五21:34:48 java -Dscalanlp.distributed.hub = socket://crick7.mayo.edu:41080 / hub -Dscalanlp.distributed.id = / tmt / 0 -Xmx100000m edu.stanford.nlp.tmt.TMTMain“/ data4 / bsi / nlp /s110067.sharp/bioask/tmtModels/example-7-llda-infer.scala“

加载模型......

TSVFile("test.csv") ~> IDColumn(1) ~> Column(2) ~> TokenizeWith(SimpleEnglishTokenizer.V1() ~> CaseFolder() ~> WordsAndNumbersOnlyFilter() ~> MinimumLengthFilter(3))

生成输出...... [并发] 128个许可证 [Concurrent] 128次许可

Exception in thread "Thread-3" java.lang.IndexOutOfBoundsException: 1
    at scala.collection.LinearSeqOptimized$class.apply(LinearSeqOptimized.scala:51)
    at scala.collection.immutable.List.apply(List.scala:45)
    at scalanlp.stage.Column.map(ColumnSelectors.scala:51)
    at scalanlp.stage.Column.map(ColumnSelectors.scala:46)
    at scalanlp.stage.generic.Mapper$$anonfun$apply$1$$anonfun$apply$2.apply(Mapper.scala:36)
    at scalanlp.stage.Item.map(Item.scala:32)
    at scalanlp.stage.generic.Mapper$$anonfun$apply$1.apply(Mapper.scala:36)
    at scalanlp.stage.generic.Mapper$$anonfun$apply$1.apply(Mapper.scala:36)
    at scala.collection.Iterator$$anon$19.next(Iterator.scala:335)
    at scala.collection.Iterator$$anon$19.next(Iterator.scala:335)
    at edu.stanford.nlp.tmt.data.concurrent.Concurrent$$anonfun$map$2.apply(Concurrent.scala:96)
    at edu.stanford.nlp.tmt.data.concurrent.Concurrent$$anonfun$map$2.apply(Concurrent.scala:88)
    at edu.stanford.nlp.tmt.data.concurrent.Concurrent$$anon$4.run(Concurrent.scala:45)
你能帮忙吗?非常感谢!

2 个答案:

答案 0 :(得分:2)

对于许多用户来说,这是tmt-0.4.0的已知问题。 tmt-0.2.1工作正常。 但是tmt-0.4.0的支持已经停止,tmt-0.2.1甚至在此之前就已经停止了。 您可以查看http://mallet.cs.umass.edu/,它还具有易于启动的GUI,例如http://www.themacroscope.org/?page_id=391

答案 1 :(得分:0)

检查任何.csv文件是否存在DOS / Unix不兼容。

我的经验可能是相关的: 当从Windows上的命令行运行tmt-0.4.0时,我也收到了错误java.lang.IndexOutOfBoundsException。我的工作流程有一个python程序将我的数据集分成训练和测试.csv文件。但它们是以DOS模式编写的。例如,见 http://www.cs.toronto.edu/~krueger/csc209h/tut/line-endings.html

对此的确认是,当在Excel中打开它们时,有一个额外的行,当在Emacs中打开它们时,有一个告密^ M。

我在.csv文件上运行dos2unix,然后TMT Scala程序运行。