問題は、多数のテキスト断片にまたがる単語の繰り返しシーケンスを検出することです。処理したいデータが膨大なため、これは概算と効率の問題です。すでに索引付けされているテキストと一致する部分がある場合、テキストの索引付け中にテキストに番号を割り当てたい。
たとえば、インデックスを作成している TextB に、データベース内の他の 2 つのテキストと一致する部分があるとします。p1 に番号を割り当てたい。その一致する部分が長くなる場合は、p2 (p2>p1) を割り当てます。TextB に他のテキストが 1 つしかない一致部分がある場合、p3 (p3 < p1) が返されます。これらの 2 つのパラメーター (シーケンスの長さ、一致するグループのサイズ) には最大値があります。つまり、これらの最大値を超えると、割り当てられる数は増加しなくなります。
総当たりでこれを行う方法を考えることができますが、効率が必要です。私の上司は、そこで NLP と検索ソリューションについて学ぶように私に指示しました。
しかし、それが正しいアプローチであるかどうか疑問に思っているので、あなたの意見を聞きたかった.
例: テキスト 1:「アーティストになって世界中を旅したい」テキスト 2:「私はミュージシャンになりたいです。」テキスト 3:「世界を旅する。」テキスト 4:「彼女は世界を旅したい」
これらのテキストを持っていると、データは次のようになります: -「なりたい」 , 2 インスタンス , [1,2] -「世界を旅する」 , 3 インスタンス , [1,3,4]
このデータを取得した後、最後に、次の手順を実行します (前のデータを取得した後、これは些細なことかもしれません): (A という行列には、必要なインデックスでいくつかの値があります。いくつかの試行の後、これらを決定します。) 一致グループには数値があります。グループ 1 = A(4,2) % 4 単語、2 インスタンス グループ 2 = A(3,3) % 3 単語、3 インスタンス
次に、各テキストに番号を割り当てます。これは、テキストが含まれるグループの番号の合計です。
私の問題は、このデータセットを効率的に形成することです。