2

スタンフォード LLDA tmt scala モデルを実行すると、いくつかの問題が発生します。そのうちの 1 つは、LLDA tmt モデルで推論しようとしたときのスレッド エラーです。私が実行しているコードは、sourceforge リンクで Shreyas Karnik によって提供されたものとまったく同じです。

@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

0

DOS/Unix の非互換性について、.csv ファイルを確認します。

私の経験は関連している可能性があります.Windowsのコマンドラインからtmt-0.4.0を実行すると、java.lang.IndexOutOfBoundsExceptionというエラーも発生しました。私のワークフローには、データ セットをトレーニングとテストの .csv ファイルに分割する Python プログラムがありました。しかし、それらは 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 に答える