1

ユーザーが投稿するシステムがあります。この投稿にはタイトルが含まれ、投稿のコンテンツ自体は、コンテンツは20〜3000語の範囲で、プレーンテキストで構成されます。

また、700 を超えるカテゴリのセットもあり、一部はトップ レベルのカテゴリで、残りはサブカテゴリです。

ユーザーが投稿のコンテンツを入力すると、ユーザーが入力した内容に基づいて自動的に選択された、最大 5 つの関連カテゴリが表示される必要があります。

これを行う最善の方法は何ですか。私はPHPとMySQLを使用しています。ライブラリまたはコードサンプルへのリンクが役立ちます。

4

1 に答える 1

0

ユーザーの視点

php/mysqlだけで同じページの1つのステップでこれを行うことはできません。あなたの質問には主に2つのオプションがあります。

  • また、クライアント側の言語を学習/使用し、それを実装して、ページを変更せずに検索を実行します。よくわからないので、具体的なことはお勧めできませんが、このスレッドが参考になるはずです。

  • 真ん中のページを使用します。そうは言っても、ユーザーはそのコンテンツを投稿し、それを送信した後、それを解析し、ユーザーが新しいページで選択できるカテゴリを提供します。これには、コメントで「送信」を押した後、ウィンドウが直接送信されることを期待しているため、多くのユーザーがウィンドウを閉じる可能性があるという問題があります。良い点は、php/mysqlのみを使用することです。

テキストの解析

もう一度、これが最も効率的な方法かどうかはわかりませんが、これを試して、期待される結果が得られるまでテストを続けます。

まず、カテゴリごとにいくつかのキーワードのリストを作成します。4または5でうまくいくはずですが、カテゴリ、テキスト、その他の多くの要因に大きく依存します。

次に、10個の要素の配列を作成します。5はカテゴリのIDであり、5は各カテゴリの「スコア」です。たとえば、見つかったキーワードごとに1のスコアを設定できます。最初にいくつかの値を割り当てることを忘れないでください。そうしないと、比較するものが何もありません。

次に、テキスト内の各カテゴリのキーワードを検索します。以前に取得したスコアよりも優れたスコアを取得した場合は、新しいカテゴリの代わりに最小のスコアを使用してください。

スクリプトの最後に残っている5つのカテゴリをエコーし​​ます。それらは5より適切であるはずです。ただし、この構文解析の問題に取り組む方法は他にもたくさんあることに注意してください。

于 2012-06-22T00:24:28.037 に答える