1

引用符で囲まずに 2​​ つの文字列で「フレーズ」を検出する簡単な方法があるかどうか疑問に思っています。例えば:

「ジャック・イン・ザ・ボックスが好き」「ジャック・イン・ザ・ボックスは食べ物がおいしい」

この場合、「jack in the box」が検出されます。これで、最初の文字列全体を潜在的に調べて、それが 2 番目の文字列にあるかどうかを確認できますが、そうではありません...そして、3 単語の一致が見つかるまで、長さを短くして 2 番目の文字列を実行し続けます「ジャック・イン・ザ・ボックス」...しかし、あまり効率的ではありません。

どんな助けでも素晴らしいでしょう - ありがとう!

4

1 に答える 1

2

あなたは最長共通部分列問題を参照しています。これは、文字列比較の基礎として使用されます。

この問題に関連する SO の質問はたくさんあります: https://stackoverflow.com/search?q=longest+common+subsequence

アルゴリズムの実装はそれほど難しくありません。ウィキペディアには、出発点として使用できる疑似コードがあります。

于 2012-06-29T18:11:09.330 に答える