2

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

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

错误信息是,


命令开始:Fri Jun 21 21:34:48 CDT 2013 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 个许可 [并发] 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)

你会帮忙吗?高度赞赏!

4

2 回答 2

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

于 2015-06-15T11:33:06.310 回答
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 程序开始工作。

于 2015-06-17T20:26:05.343 回答