0

「 IgnoreNumbers() ~> 」など、すべての種類の数値を無視するコマンドがscalaにありますか?

私は scala 初心者ですが、実際、この言語で使用する必要があるスクリプトは 1 つだけです。

助けてくれてありがとう!

ここからのトークナイザー用ですhttp://nlp.stanford.edu/software/tmt/tmt-0.4/examples/example-1-dataset.scala :

val tokenizer = {
  SimpleEnglishTokenizer() ~>            // Remove punctuation
  CaseFolder() ~>                        // Lowercase everything
  WordsAndNumbersOnlyFilter() ~>         // Ignore non-words and non-numbers
  MinimumLengthFilter(3)                 // Take terms with >=3 characters
}
4

1 に答える 1

0

私は ScalaNLP を使用したことがありませんが、WordsAndNumbersOnlyFilterNumberに基づいて単純に使用法を削除するだけで変更 (または新しい型を作成) するのは簡単なようです。

case class WordsOnlyFilter() extends Transformer {
  // original from WordsAndNumbersOnlyFilter
  // override def apply(terms : Iterable[String]) =
  //   terms.filter(term => TokenType.Word.matches(term) || TokenType.Number.matches(term));

  // Modification that doesn't use/accept TokenType.Number
  override def apply(terms : Iterable[String]) =
    terms.filter(term => TokenType.Word.matches(term));
}

それで:

val tokenizer = {
  // ..
  WordsOnlyFilter() ~>         // Ignore non-words
  // ..
}
于 2014-05-02T09:15:40.047 に答える