”世界 * 中心で愛を叫ぶ”だと検索できて”世界の中心 * 愛を叫ぶ”が駄目なのは何故なのでしょうか?
「ワイルドカードはサポートしていない」と言えばそれまでなんでしょうけど、実際使えるし使いこなしたいので、解りやすい解説をどうかお願いします。
【検索可能】
”世界 *** 愛を叫ぶ”
【不可能】
”世界の ** 愛を叫ぶ”
”世界の中心 *** 叫ぶ”
”世界 * 中心で愛を叫ぶ”の場合は 「世界」 と 「中心で愛を叫ぶ」のANDで検索されます。
”世界の中心 * 愛を叫ぶ”の場合は、「世界の中心」と「愛を叫ぶ」のANDで検索されます。
つまり 「世界の中心で愛を叫ぶ」 という 文字ではなくても、検索でひっかかるということですね。
たとえば 世界の中心が遠くて 彼女と愛を叫ぶ。
だと 最初の ”世界 * 中心で愛を叫ぶ”は ひっかからないはずです。
いや、現に使用できてますので…(完全とは言えなくとも)。
http://www.geocities.co.jp/WallStreet/4168/essaybodyindex06.html
2003/01/21 一つずつ解きほぐす
升田幸三 曰く「錯覚いけない。よく見るよろし」
taknt氏が示されたurlを再度ご覧ください。
『ステミングとワイルドカード
最も正確な結果を提供するため、Googleでは「ステミング」の使用や「ワイルドカード」検索はサポートせず、検索ボックスに入力されたキーワードを正確に検索します。「google」または「google*」と入力しても「googler」や「googllin」の検索は行われません。』
とあります。
升田幸三 曰く「錯覚いけない。よく見るよろし」
私が示した質問を再度ご覧ください。
>「ワイルドカードはサポートしていない」と言えばそれまでなんでしょうけど
承知の上での質問です。
サポートはしていなくても使えちゃうんです。
公式にサポートされていないから、使い方がわからないからはてなで質問なんです。
すみません。yomiuri PC 2004.10月号を見てのグーグル検索法をそのままお伝えしてしまいました。お詫びして、回答を撤回します。
いえいえ。
英文なら使用できるという事を証明(?)していただけただけでも嬉しいです。
というか、回答で回答を撤回しないでくださいね。
終了後にいわしに書くなり、忘れそうならダイアリからトラックバックしておくなり、手はありますので。
http://www.amazon.co.jp/exec/obidos/ASIN/4621072943/249-0535104-...
Amazon.co.jp: 翻訳に役立つGoogle活用テクニック: 本: 安藤 進
この業界ではよくある事なのですが、
「ワイルドカードはサポートしていない」 = 「仮に動いても知らないよ」
と言う事になります。
つまり、実装依存ですよね。
作ってる方でも、どう動くか分からないので、
よっぽど気合いを入れて調べた方が居ないと分からないと思われます…。
そういうかたを期待して質問してるんです…。
自身で調べようとしたのですが、コンピュータの知識が浅いのでわかりませんでした。
はてなの「検索の達人」ならきっと使いこなしてらっしゃるだろう、と。
この質問に大変興味を覚えました。私もこのサイトに来て、色々な検索の達人の結果を見て、自分でもと思い参加しています。
>「ワイルドカードはサポートしていない」と言えばそれまでなんでしょうけど
とありますので、サポートされていない前提で私の実際調べた中での事を書かせて頂きます。
このURLにあるように、英語版では「*」が単語1個としてワイルドカード検索ができるようです。
日本語の場合は次のように、
世界*愛を叫ぶ の検索結果のうち 日本語のページ 約 36,500 件
世界 愛を叫ぶ の検索結果のうち 日本語のページ 約 36,800 件
世界の中心*叫ぶ の検索結果のうち 日本語のページ 約 48,000 件
世界の中心 叫ぶ の検索結果のうち 日本語のページ 約 47,800 件
Google*ワイルドカード*使う の検索結果のうち 日本語のページ 約 2,170 件
Google ワイルドカード 使う の検索結果のうち 日本語のページ 約 2,170 件
複数の単語の検索に用いる「 」(スペース)と同じ機能のようです。
では、単語の区切りが「and」なのか「or」なのかというと、それよりも、下のURLにあるGoogleの検索アルゴリズムが優先されるのではないでしょうか。
私の経験では、アルゴリズム>and>orになっているように思います。
この辺のことが書いてあるページを探し出せませんでした(達人には程遠い)ので私の個人的な思い込みかもしれませんが、自分ではそのように理解して単語をくっつけたり離したりして、使っています。
http://www.searchengineoptimization.jp/seo_foundation/algorithm....
スコアリング | 住 太陽の「SEO 検索エンジン最適化」
アルゴリズムのページはとても興味深く読みました。
ありがとうございます。
「 」(スペース)は単純にandではないのですか?
or検索もしてるのでしょうか。
一つめのページにも明記されてるのですが、ワイルドカードは””(フレーズ)でないと駄目なようです。
***+%E6%84%9B%E3%82%92%E5%8F%AB%E3%81%B6&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
ちょっと不思議なんですが、私の場合ワイルドカードがちゃんと使えてるんですよ。質問者様が質問の中で例に出したもの、またコメントの中で出したもの、すべてにおいてこちらの意図した検索結果になります。なりますというよりは、実際今までそのように使ってきました。
**+%E6%84%9B%E3%82%92%E5%8F%AB%E3%81%B6&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
***+%E5%8F%AB%E3%81%B6&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
*****%E6%84%9B%E3%82%92%E5%8F%AB%E3%81%B6&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
googleでは確かにワイルドカードはサポートしていないとしていますが、確かに使えてます。
回答というよりは…みたいな感じになっちゃいましたが、入力の仕方が違うとかではないですよね。
6番のコメントにも書きましたが、””(フレーズ)なんです。
http://honyaku.jugem.cc/?eid=9
こちらのページで英文についてのワイルドカードは説明なされています。
>残念なのは、日本語ではうまく機能しない。
ともありますが、「使えない」ではないのですよね。
http://www.google.co.jp/intl/ja/help.html
Google Help
フレーズをくくってしまってる部分が全部で一フレーズとして扱われているのではないかと思ったりするんですが、どうでしょうか?
それかマイナス検索みたいにアスタリスクの前だけにスペースを入れて見るとか・・
>フレーズをくくってしまってる部分が全部で一フレーズとして扱われている
そうですね。
フレーズでないとワイルドカードの意味がないので。
ヘルプでは
>「google」または「google*」と入力しても「googler」や「googllin」の検索は行われません。
とあり、実際に出来ません。
英文の場合、このような単語を補う形でのワイルドカードは使用できず、
”I * you”や”I love *”のように、単語一つに対してなら使えるようになってます。
けれど日本語では”* の中心で愛を叫ぶ”のように前方or後方にすると駄目なんですよね。
”*の中心で愛を叫ぶ”にするとワイルドカードが効かなくなります。
# まあ、一単語にしか効かないのなら前方につけられても意味ないですが…。
>それかマイナス検索みたいにアスタリスクの前だけにスペースを入れて見るとか・・
ごめんなさい…意味がわからなかったです。
# 昨日から今日にかけて200回くらい愛を叫んだ…。
きちんとした回答にはなっていませんが、
使用者側からみた使い方という次元で
多少の参考になればとおもい回答してみます。
試しに次の組合せを検証してみました。
”世界の中心で愛を叫ぶ”が検索出力されるものには左にOKを記しています。
Googleでフレーズで検索をした結果です。
OK 1.世界* 中心で愛を叫ぶ
OK 2.世界***愛*叫ぶ
OK 3.世界***愛
X 4. 世界***愛を**
X 5. 世界の***愛
OK 6. 世界**叫ぶ
X 7. 世界の**叫ぶ
OK 8. 世界*中心*愛を叫ぶ
OK9. 叫ぶ*中心*世界*愛
X10. 叫ぶ*中心で*世界*愛
X 11. 愛を叫ぶ*中心*世界
X 12 愛を叫ぶ*世界の中心*
X 13. 愛を***中心*世界
X 14. 愛を***中心で*世界
X 15. 中心で***世界の***愛を
OK 16. 叫ぶ***世界の中心
OK 17. 愛***世界の中心
OK 18. 世界**中心で愛を
OK 19. 中心で愛を
実際に検索アルゴリズムがどうなっているかは外部からは伺えませんが、
上で試したことから分かることは、
「世界」、「中心」、「愛」や「叫ぶ」といった内容語と、
「の」、「で」や「を」といった機能語とにわけて考えると、
機能語が出て来るときは、***を指定しても検索結果がでません。
ここから、機能語は内容語と併せて指定する必要がありそうです。
また、いったん内容語と組み合わされた機能語はそれだけで、
別の内容語を構成し、その内容語自体が複数指定されても、
検索結果には影響をもたらさないようです。
ただ、私の説明では、18や19の例がなぜOKで4や5がダメなのかはっきりしません。
分かりにくくなりますが、多分次のような事だろうと考えられます。
X 4. 世界***愛を**
X 5. 世界の***愛
OK 18. 世界**中心で愛を
OK 19. 中心で愛を
補語が句(フレーズ)の構成に関するようで、
X 4. 世界***愛を**
と
OK 18. 世界**中心で愛を
とでは、
[愛を]が句を構成していないのに対して、
[中心で愛を]は、ある種の句を構成していると考えているようです。
句の境界の相違は、
OK18. [世界][中心で愛を]と
OK 2. [世界][愛を叫ぶ]の両方が可能なことから、
優先順位としては、助詞には内容語が必要だとする規則より低そうです。
なるべく分かる範囲で分かりやすく心がけたつもりですが、
分かりにくい回答で申し訳ありません。
人間もコンピュータも言語を扱うには文法が必要です。Googleの検索エンジンがどのようなアルゴリズムを用いているか不明ですが、主辞駆動句構造文法 (Head-Driven Phrase Structure Grammar: HPSG)と呼ばれるモデルが上記のサイトで触れられています。
難しい問題だという事を改めて痛感しました。
サポート外のワイルドカードと不明なアルゴリズム(と私のチープな脳)の相乗効果で複雑さを増しているのでしょうね……。
OK 9. 叫ぶ*中心*世界*愛
OK 16. 叫ぶ***世界の中心
OK 17. 愛***世界の中心
OK 18. 世界**中心で愛を
これらにはワイルドカードが効いていないようです(AND検索)。
X 10. 叫ぶ*中心で*世界*愛
X 11. 愛を叫ぶ*中心*世界
X 12. 愛を叫ぶ*世界の中心*
X 13. 愛を***中心*世界
X 14. 愛を***中心で*世界
X 15. 中心で***世界の***愛を
これらにワイルドカードが効いていたとして、そのフレーズ自体が無いのかも…。
>主辞駆動句構造文法 (Head-Driven Phrase Structure Grammar: HPSG)
半分も理解できない自分がいました。
http://www.hatena.ne.jp/1098084905#
Googleでワイルドカードを使いたいのですが、法則みたいなものがわかりません。 ”世界 * 中心で愛を叫ぶ”だと検索できて”世界の中心 * 愛を叫ぶ”が駄目なのは何故なの.. - 人力検索はてな
法則みたいなのはわかりませんが、簡単に実験してみた結果だけちょっとお知らせします。参考にしていただいて、どなたかのヒントになるかもしれないので。
まず”小池*子”で検索し、結果の一番上(環境に依るかもしれないので、たぶんですが)のAmazonのページのキャッシュを開きます。すると検索語が色付きでハイライトされていますが、この場合「小池*」が黄色、「子」が水色になっており、見て行くと実際に「小池*」と合致と見なされている部分は「小池栄子」となっていることがわかります。(これだけでも謎と言えば謎。)次に「小池**子」で同様に検索し、同じページのキャッシュを開くと、「小池**」と合致しているのが「小池栄子ザッツ」「小池栄子の」「小池栄子さん」「小池栄子見た」「小池栄子が」などとなっています。更に「小池***子」で検索すると、「小池***」との合致部分として「小池栄子のぜ」「小池栄子さんの」「小池栄子見たこと」「小池栄子が楽しめます」などとなっています。つまり「*」=「栄子」、「**」=「栄子ザッツ」「栄子の」「栄子さん」「栄子見た」「栄子が」、「***」=「栄子のぜ」「栄子さんの」「栄子見たこと」「栄子が楽しめます」ということです。最後の「***」など特にめちゃくちゃのように見えますが、おそらく2バイト文字のMIMEエンコードのソースを見ると、もう少し理屈に近づけるのではないかという気がしています。
こちらでも同様の結果が出ました(IE6,Win2k)。
Safari,MacOSXでも同じそうです。
MIMEエンコード…。
ワイルドカードではない、のでしょうか…。
私の考えなので実際の所はGoogleのシステムを構築した方に聞かないと分からないと思います。
(確かな情報ではないのでポイントはいりません)
以下は予想です。
# 検索サイトを構築した事はないので、全然見当違いの事を書いているかもしれません
ワイルドカード以前の文字列 ... A文字列
ワイルドカード以降の文字列 ... B文字列
ワイルドカード ... *
とします。
色々試してみたところ、ワイルドカードを使用した場合には
以下の条件を全て満たす検索結果を表示しているような感じがします。
・A文字列は加工せずにそのままの文字列で形態素解析の結果を検索
※形態素解析用の辞書に「○○の」、「○○が」、「○○を」等や
長い文字(質問分の場合は「世界の中心」)は通常登録していないと思います
・B文字列は形態素解析用の辞書と一致するように加工して形態素解析の結果から検索
・*の個数と、A文字列とB文字列の間の「文字 or 単語」の個数が一致する結果を検索
よって、
A文字列を「世界の」や「世界の中心」とした場合は検索結果が得られず
「世界」とした場合には検索結果を得られるのではないでしょうか?
尚、
ワイルドカードが使える事を公表していない事を考えると
システムとして完全なものでないと思います。
# 完全なものであれば公表することでGoogle利用者が増えると考えられるので
# 利益を求める企業としては当然公表するはず
# (サーバの負荷が激しいので公表していないだけかも知れませんが...)
以上です。
凄い!そのような感じがします。
質問の5種類、9番yfjnさんに試して頂いた結果の1〜8も辻褄が合うようです。
想像でしか答えられない問題ではないかと思います。
仮説にしろ私はかなり納得してしまいました。
# 途中から薄ら感じていたのですが、機能としては使えても
# 実用という意味ではあまり使えないんじゃないかしら…。
http://www.tbs.co.jp/sekai-ai/
世 界 の 中 心 で 、 愛 を さ け ぶ
アドレスはダミーです。
回答11の追加です。
# 本当はいわしに書こうと思ったのですが質問が終了していないと書けないのですね....
企業のシステム開発の観点
・同一の処理はなるべく同一の関数で処理を行う
から英文用のワイルドカードのロジックを使用していると判断して確認してみました。
※英文用のロジック → 空白で文字列を分割して検索する という部分
”世界の中心 * 愛を叫ぶ” は検索できないので
”世界 の 中心 * 愛を叫ぶ” で試してみたところ検索出来ました。
※世界の中心を「世界」「の」「中心」で分割して検索
又、
”世界 の中心 * 愛を叫ぶ” でも検索可能だったため、
Googleキャッシュを確認したところ
「の中心」を「の」と「中心」に分解しているようです。
※”世界 の 中心 * 愛を叫ぶ”とは結果が異なりますが....(原因不明)
上記から、重要なのは「先頭の単語」ではないかと思います。
なぜ先頭の文字は分解しないのかは不明ですが、
検索を行う際にこちらで単語に分解することで検索可能と思われます。
尚、質問文で検索不可能とされている
”世界の ** 愛を叫ぶ”
”世界の中心 *** 叫ぶ”
ですが、
”世界 の ** 愛を叫ぶ”
”世界 の 中心 *** 叫ぶ”
とすることで検索可能です。
ありがとうございます。
一日空けていましたが他の可能性はないようですし、hi7m149qさんの推測の通りだと思います。
”小池*子”などにはちょっと疑問なところもありますが、MIMEエンコードの問題(?)でワイルドカードとは別物、という事で納得しておきます。
皆様、ありがとうございました。
ワイルドカードとフレーズで混乱しているのですが…。
ANDではないようです。
「世界」と「中心で愛を叫ぶ」のAND検索なら「の」は検索結果として含まれない筈では?
”世界 * 中心で愛を叫ぶ”だと「の」は太字になり、キャッシュでもハイライトされます。
アスタリスクを増やすと判りやすいですね。
”世界 ***** 愛を叫ぶ”などとすると「世界の中心で愛を叫ぶ」はヒットさせず、「世界の中心で勝手に愛を叫ぶ」を出します。
この事からも、AND検索ではないだろうと。
>”世界の中心 * 愛を叫ぶ”の場合は、「世界の中心」と「愛を叫ぶ」のANDで検索されます。
検索されてないわけですし。
アスタリスク一つで代用するのは単語一つのようです。