パッセージを複数 (数千またはそれ以上) の異なるパッセージと比較して、それらのパッセージの一部が最初のパッセージで正確に使用されているかどうかを確認できるようにしたいと考えています。
確認したい名前のパッセージがA
あると想像して、他の何千ものパッセージからの文または文の一部が含まれているかどうかを確認します。
私は非常に非効率的な方法を考えましたが、これ以上の答えは思い浮かびません。私のやり方は、入力パッセージ ( ) から最初の 3 つの単語を読み取ることA
です。次に、数千のテキストすべてのデータベースに完全に一致するものがあるかどうかを確認します。4-word
一致するものがある場合は、それらをリストしてから、4 番目の単語を文字列に追加し、一致するリストの中から文字列に一致するものを見つけます3-word
。文字列との一致がなくなるまでこれを行いn-word
ます。のリストは(n-1)-word
、この実行の結果として保存されます。次に、新しい3-word
文字列はnth
, となり(n+1)th
、(n+2)th
ドキュメントが終了するまですべてが再び開始されます。
これは、入力テキストが大きく、テキストを比較する巨大なデータベースの場合、非常に非効率的です。より良いアルゴリズムはありますか?