0

scala中是否有命令忽略所有类型的数字,例如“ IgnoreNumbers() ~> ”?

我是一个 scala 新手,事实上,我只需要使用这种语言的一个脚本。

非常感谢您的帮助!

这是来自这里的标记器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,但通过简单地删除用法,基于WordsAndNumbersOnlyFilter修改(或更好地创建新类型)看起来很简单,例如Number

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 回答