4

マレットでSimpleTaggerクラスを使い始めたところです。私の印象では、バイナリ機能を期待しています。私が実装したいモデルには正の整数値の機能があり、これをマレットでどのように実装するのか疑問に思います。また、モデルが意味をなすためには、非バイナリ機能を正規化する必要があると聞きました。これを行う方法についての提案をいただければ幸いです。

ps。はい、専用のマレットメールリストがあることは知っていますが、サブスクリプションが承認されてそこに投稿できるようになるまで、もう1日近く待っています。私はただ急いでいます。

4

1 に答える 1

1

さて、6年後です。もう急いでいない場合は、Java API を調べてインスタンスを作成できます。最小限の例:

private Instance createInstance(LabelAlphabet labelAlphabet){
  // observations and labels should be equal size for linear chain CRFs
  TokenSequence observations = new TokenSequence();
  LabelSequence labels = new LabelSequence(labelAlphabet, n); 

  observations.add(createToken());
  labels.add("idk, some target or something");     

  return new Instance(
            observations,
            label,
            "myInstance",
            null
    );  
}

private Token createToken() {
    Token token = new Token("exampleToken");

    // Note: properties are not used for computing (I think)
    token.setProperty("SOME_PROPERTY", "hello");

    // Any old double value
    token.setFeatureValue(featureVal, 666.0);      

    // etc for more features ...

    return token;
 }


public static void main(String[] args){
  // Note the first arg is false to denote we *do not* deal with binary features
  InstanceList instanceList = new InstanceList(new TokenSequence2FeatureVectorSequence(false, false));    

  LabelAlphabet labelAlphabet = new LabelAlphabet();
  // Converts our tokens to feature vectors
  instances.addThruPipe(createInstance(labelAlphabet)); 
}

または、 を使い続けたい場合は、 、 などのSimpleTaggerバイナリ機能を定義するだけですが、これは面倒に思えます。HAS_1_LETTERHAS_2_LETTER

于 2016-01-31T15:24:39.957 に答える