情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

Amazon注文履歴検索の検索結果がおかしい(多すぎる)原因と対策

Amazon (170)

Amazonの購入履歴をキーワード検索しようとすると、検索に引っかからないはずの注文がたくさん表示される場合があります。その原因と対策について紹介します。変な検索結果の仕組みについても紹介しますが、その検索機能の変な動作を見ると、「N-Gram」のような単語を知っている人は「ほほう」と思うかもしれません。

Amazonの購入履歴検索(注文検索

アマゾンの注文履歴は、「注文を検索する」という検索ボタンを使って検索することができます。

amazon-order-history-search

検索結果がおかしい?

検索してみると、キーワードを含まない商品の注文履歴まで表示されてしまうことがあります

検索結果がおかしい例

例えば、次は「ポストカード」で注文履歴を検索した結果です。

amazon-order-history-search-result

画像では、「ポストカード」で検索したはずなのに、「グラフィックボード」「キーボード」「ジェルリストレスト」「コンパクトキーボード向け」が検索結果に表示されています(本当はこの下に、さらに結果がずらっと並んでいる)

これは「ポストカード」で検索した結果とは思えない、おかしな検索結果です

原因を考えてみる

ここからは、知識とパズルなゲームなのですが、実は、この検索結果はとある法則に基づいています

もう一つの例を紹介すると、「グラフィックカード」で検索すると、「マルチパック」や「オフィス用品」「ブラック」などなどが結果に表示されました。

原因:検索キーワードが2文字ずつに分割されている

実は、この検索結果は、検索キーワードを2文字ずつに分割し、その2文字セットが含まれている単語すべてを「ヒット」扱いして表示しているようなのです。

例えば最初の例では、「ポストカード」の「ード」の2文字が「グラフィックボ『ード』」や「コンパクトキーボ『ード』」に含まれており、「ポストカード」の「スト」の2文字が「ジェルリ『スト』レスト」に含まれていたわけです。

2つ目の例も同様です。いろいろ試してみて気が付きました(ただし、「キヤノン」で検索して「Canon」が出てくるような機能もあるので、ここまで完全に単純ではありません)

このように、Amazonの注文履歴検索機能では、日本語の扱いが変なことになってしまっています。しかもこれは、ずっと前からです。

※「N-Gram・バイグラム」のような単語を知っている人向けにメモしておくと、この検索結果は、検索キーワードを2文字ずつに分解して検索するまでは良かったものの、その後にそれらの検索結果たちの「AND」を取ってほしいのに、「OR」を取って表示していると理解できます。ただし、次に紹介する対策的にも、これはこれで「そういう仕様なんだ」「こっちのほうがいいでしょ」なんて意見もあるかもしれません。見落とすより表示された方がいいとかそういう、極端に大雑把な部分一致です。ただ、普通に使っていて、あまりに大量の検索結果が出てきて困っている人は多いと思います

対策

対策はあります。どうすればいいかと言うと、例えば「グラフィックボード」を本当に含む注文を検索したいときは、「"グラフィックボード"」のように、「"(Shift+2)」で囲んであげればOKです。

すると、もう「ブラック」やら「オフィス用品」なんかは結果に出てきません。

つまり、「"」で囲って初めて完全一致になるようなのです(完全一致になる前が、そこそこいい感じなら良いものの、2文字合致はちょっと極端)。

それでも違うキーワードに引っかかる?

実は、これでも「ブラック」が出てきました。

それはどうしてかというと、その「ブラック」を含む商品と同時に「グラフィックボード」を購入していたからです。このように、一緒に注文したものがヒットした場合には、検索結果に出てきてしまいます。これの回避方法はわかりません(ちなみに、ちゃんとその一緒に注文したものも、それはそれで検索結果に出てきます)。

どうしてずっと治らないのか

あまり使われていないのでしょうかね。自分は使い慣れていて、もういつものこと、って思っていたのですが、あまりに長いので。

ただ、今年度からは領収書を注文履歴から印刷しないといけないので、確定申告の締め切りが迫る中、この変な検索結果に苦しめられている人が相当数いるのではないでしょうか。

参考:今年度からAmazonが「領収書・納品書」の扱いを変更したので要注意

コメント(0)

新しいコメントを投稿