ワイルド - php string search



putjbtghguhjjjanikaのような文字列を検出する方法はありますか? (6)

私のウェブサイトで人々を検索し、これらの検索のいくつかは次のものです:

tapoktrpasawe
qweasd qwa as
aıe qwo ıak kqw
qwe qwe qwe a

私の質問は、上記の文字列に似た文字列を検出する方法はありますか?

私は彼らの100%を検出することは不可能だと思うが、任意のソリューションは歓迎される:)

編集:私は "ジベルビッシュ検索"を意味します。 たとえば、検索エンジンで "asdqweasdqw"、 "paykaprkg"、 "iwepr wepr ow"などの文字列を検索する人がいて、ちょっとした検索を検出したいと考えています。

検索結果が0かそれ以外のものであれば問題ありません。 私はこの論理を使うことができません。

「正規の言葉」と考えると、一部の新しいブランドや製品は無視されます。

ご協力ありがとうございました


Answer #1

短い答え - ジベルビッシュ検索

確率的言語モデルが機能する。

論理

単語は文字列で構成されており、2文字がより頻繁に集まっている場合、2つの連続する文字のすべての頻度を単語にまとめ、合計しきい値の限度(英語の単語)を合算すると、英語の単語。 要するに、この論理はマルコフ連鎖によって有名です。

リンク

わかりやすい数学については、ビデオhttps://www.youtube.com/watch?v=l15C8UJu17s参照してhttps://www.youtube.com/watch?v=l15C8UJu17s 。 ありがとう!!



Answer #3

あなたはちょっとひどい検索を意味すると仮定...それは価値があるよりも多くのトラブルです。 検索機能を提供していますが、検索機能を使用するようにしてください。 私は奇妙な文字グループを検出するいくつかのアルゴリズムがあると確信していますが、単純に結果を返すだけではなく、おそらくリソース/労力が増えます。


Answer #4

いくつかの人がコメントしたように、tapoktrpasaweやputjbtghguhjjjanikaのヒットはありません(もちろん、今のところあります)。APIを使って簡単にGoogle検索を行う方法があれば、 Googleの結果はなく、あなたの製品の名前でもありませんでした。 なぜあなたがこれをやりたいのだろうかという疑問は他にあります。検索ライブラリに手間をかけていませんか? 「人気のある検索用語」を手軽にレビューできるようにします。 あるいは、あなたは、広大なインターネット上の人々のいくつかの不可解な振る舞いに不満を抱いていますか? それが後者の場合、それを防ぐ方法があるとしても、私の助言はただ放置されるだけです。 他の奇妙なものが来るでしょう。


Answer #5

私はあなたが "普通の単語"を検出するのと同じ方法でこれらの文字列を検出できると思います。 パターンマッチングだけですよね?

ユーザーがこれらの文字列を検索する理由については、それが大きな疑問です。 あなたはちょっとばかげた検索を別の方法で止めることができるかもしれません。 たとえば、人々(またはスクリプト)が探しているのが迷惑メールである場合は、CAPTCHAをインストールします。

編集 :入力を解釈するもう一つのエンドランは、それをわずかに抑制することです。 10秒ごとに検索を許可します。 (フォーラムソフトウェアやSOのさまざまな場所でこれを見ていることを思い出してください)これはsdfpjheroptuhdfjを何度も検索することから何度か楽しみになりますが、同時に検索しているユーザーを妨げません彼らのもののために、そして見つけること。


Answer #6

製品の検索が実行されている場合、データベースを照会する前に、その名前またはコードをキャッシュしてそのリストに対してチェックすることができます。 そうでなければ、あなたのサイトが英語ユーザーのためのものであれば、qwkfagsdのように英語で使われていない文字列の辞書を作ることができます。 それは他の答えと合意し、そこにない場合よりも多くのリソースを消費します。





string