次の問題があります。私は同様の意味を持つjavaの文字列を識別したい。 文字列間の類似度をStringmetricsで計算しようとしました。 これは期待通りに機能しますが、私はもっと便利なものが必要です。Javaで同じ意味の文字列を確認
String s1 = "apple";
String s2 = "appel";
そしてそれらの2つの文字列が非常に類似している:私は次の2列(1ワード)を有する場合、例えば
。
double score = cosine.compare(s1, s2); // 0.0
しかし、私はdamerau-レーベンシュタインの類似性を使用する場合、私は次のような結果を得る:私はコサイン類似度を使用すると、私は次のような結果を得る
double score = damerauLevenshtein.compare(s1, s2); // 0.8
を次の問題がたくさんあるということです単語の同義語のStringmetricsでは、これらの同義語は考慮されません。
例えばこれら2つの文字列が同じと考えるべきである。
String s3 = "purchase 10 bottles of water";
String s4 = "buy 10 waterbottles";
私はあなたたちが私を助けることができると思います。
広範囲に及ぶ。それはKIの一種です – Jens
私はあなたがこれのようなものの複雑さを把握しているとは思わない;) –
ああ、それは簡単です。あなたは5兆の 'if'文しか必要としません。完成したコードをCode Reviewに投稿してください。 – Michael