私はトークンを解析するために英語トークナイザを使用しています。本当に/ replyのような言葉がrealli、repliに変換される奇妙な状況に直面しています。Lucene English tokenizerは奇妙な言葉を返します
以下は、私が使用しているコードスニペットです。
object Learning {
def tokenize(content: String): Seq[String] = {
val tReader = new StringReader(content)
val analyzer = new EnglishAnalyzer()
val tStream = analyzer.tokenStream("contents", tReader)
val term = tStream.addAttribute(classOf[CharTermAttribute])
tStream.reset()
val result = mutable.ArrayBuffer.empty[String]
while(tStream.incrementToken()) {
result += term.toString
}
result
}
def main(args: Array[String]): Unit = {
println(tokenize("This deal looks really interesting, I will look into it and reply"))
}
}
これは、ArrayBuffer(deal、look、realli、interest、i、look、repli)として出力されます。限り、私は見ることができます、英語のようなrealli、repliのような言葉はありません。
これはなぜこのような出力を与えるのですか?
人工茎の代わりに単語の基本形(補題)が必要な場合は、 "レシタイザ"を探します。 –