2 つの weka 分類子を同時に更新しています。
最初の分類子を更新する方法は次のとおりです。
List(X, Y, action).zipWithIndex.foreach{
case (attrString:String, index)=> attrs.elementAt(index) match{
case attr:Attribute => instance.setValue(attr,attrString)
}
}
2番目の分類子を更新する方法は次のとおりです。
List(X, name, Y).zipWithIndex.foreach{
case (attrString:String, index) => tagattrs.elementAt(index) match{
case attr:Attribute => {
println("Setting taginstance's "+index+"th field to "+attrString)
taginstance.setValue(attr, attrString)
}
}
}
唯一の違い (私のデバッグ ステートメント以外) は、/instance/ には属性 /X、Y、action/ が必要であるのに対し、/taginstance/ には属性 /X、name、Y/ が必要であることがわかります。
次に: println(インスタンス) println(タギンインスタンス)
残念ながら、これはこれら 2 つの関数によって出力されるものです。
Setting taginstance's 0th field to DT
Setting taginstance's 1th field to warm
Setting taginstance's 2th field to JJ
DT,JJ,SHIFT
DT,JJ,?
最初の 3 行は、正しい値を設定する必要があることを示していますが、この場合、最後の行は DT、warm、JJ と表示されます。
なんてこった!