検索でんでん

（1/27に「目指すべき道」について追記しました。）

「 **検索** 」という行為についての投稿です。

昨今、チャットUIの台頭や、AIによる精度の高いレコメンドなどが出てきました。
ともすればレガシーとも感じられがちな「 **検索** 」の本質について話し合う機会（※）があったので、そこで整理した自分の考えをまとめます。
なお、この記事では細かい検索機能やUIについては言及しません。

※ Cookpad techconf 2017、同After Party


# 検索とは何ぞや？
これ、改めて問われると、なかなか説明が難しいのではないかと思います。
細かい機能的な問題は置いておいて

1. なぜ我々は検索を提供するのか
1. なぜユーザは検索を使うのか
1. 検索によってもたされるべきものは何か

この 3点について、あなたはすぐ答えられますか？

## なぜ検索を提供するのか
これは、我々がデータをパラメータで分類し、整理して管理しているからだと考えています。
こうして整理されたデータは、パラメータを条件とすることで絞り込みが行えます。
そしてこの絞り込みを繰り返すことで、使い手が求めるデータへ辿りつくことができる（と考えている）からです。

しかし、これは作り手目線でしかないと考えています。

## なぜユーザは検索を使うのか
これは簡単な話で、サービスが提供するものの中で **一番マシ** なのが検索だからです。
ユーザは好き好んで検索しているわけではなく、**仕方なく検索しています。**
なぜなら、そもそものユーザの目的は何らかの課題解決だからです。
検索は目的達成のための 1つの過程の中での、1つの手段でしかありません。

考えてみてください。
何もせずとも、サイトを開いていきなり目的が達成されたら素晴らしいでしょう？
（もっと言えば、課題がそもそも発生しないのが最高ですが 笑）

## 検索によってもたされるべきものは何か
では、前述を踏まえた上で我々は、検索を通してユーザに何をもたらすべきでしょうか。
小難しい表現で言い換えますが、**検索体験を通して提供すべきユーザ価値** とは何でしょうか。

なぜこれを敢えて言い換えたかというと、以下の2点が重要だからです。
1. 「検索 **機能**」ではなく、「検索 **体験**」として考える
2. 検索体験は何らかの価値をユーザに提供する

### 検索体験
検索はサービス内の一機能として考えられがちです。
しかし、機能自体はユーザに対して何の価値も提供できません。
機能を通して得られる体験こそが、ユーザへの価値へと繋がります。
そのため、我々は検索機能について考える前に、もっと広いレイヤーである **検索体験** というテーマで考えるべきなのです。

### 提供価値
では次に、検索体験が提供する価値とは何でしょうか。
例えばこういう答えが出てくると思います。

「ユーザの求める情報に適切に辿り着けること」

これ自体は間違ってないと思います。ただ、問題はこの先にあります。
果たして、「ユーザの求める情報」とは何でしょうか？
ここを紐解くことで、検索体験がもたらすべき価値が見えてきます。

### ユーザの求める情報
少し前に書きましたが、**ユーザは課題解決** に来ています。
とすると、ユーザが求める情報とは **課題が解決できる情報** のことです。

もっと言うと、**ユーザが課題を解決できたと思った情報** であれば、それが正解なのです！
仮にそれが裏付けが無かったり、ユーザの元々の意図に沿っていなくても良いのです！

何を言ってるんだ……と思う方もいるかもしれないので、少し補足します。
皆さんはGoogleを使ってますよね。
入力したキーワードと違う検索結果が返ってきたことはありませんか？
例えばこんな感じの結果です。
![image](https://qiita-image-store.s3.amazonaws.com/0/72466/e8f83a74-5796-b808-5579-f28f62498c32.png)

少し極端な例かもしれませんが、この動きはユーザの意図（入力内容）と検索結果が乖離していると言えますよね。
しかし、こちらの方が明らかに課題解決ができていると思います。

また、検索結果が0件だった場合なども同様です。
何かについて検索したものの、結果が0件で情報に辿り着けない。
そこから「あぁ、これに関する情報は無いんだな」とユーザが納得すれば、それで問題ありません。

またネット上に限らず、科学的な裏付けのない噂話が蔓延しているのを見たことがあると思います。
これは、客観的な事実や裏付けなどは関係無く、自身が満足できればそれで課題解決としている人がいるからなのです。
そして、それらの人にとっては、その噂話が正解だとも言えるのです。

では、これらを正解たらしめる本質は何なのでしょうか。

## 検索体験がもたらすべき本質
ポイントは **ユーザが課題を解決できたと思った** という部分です。
解決できたと思わせるにはどうしたら良いか。
それにはまずユーザが結果を受け止め、信用してくれなければなりません。
つまり、**結果が説得力を持っている** 必要があります。
どんなに客観的に正しかろうが、ユーザを説得できなければ意味がありません。

次に、ユーザがその結果を受けて満足してくれなければなりません。
つまり、**結果がユーザを納得させる** 必要があります。
ユーザが納得しさえすれば、結果が0件だろうが問題ありません。

この、「 **説得力** 」および「 **納得感** 」の 2点が、検索体験が提供すべき価値の本質だと考えられます。

## 目指すべき道
これらの本質を意識したうえで、我々は検索についてどのように取り組むべきでしょうか。
まず大前提として **ユーザの検索体験のゴールと、事業の成長が結びつく** 必要があります。
これが満たされなければ、そのプロダクトを成長させることができません。

その上で、ユーザの満足する検索体験を提供し、それを改善するにはどうすべきか。
体験として捉えた場合、本来は検索に限らずプロダクト全体でデザインする必要がありますが、今回は前述の **説得力**、**納得感** という 2点に絞って考えたいと思います。

### 説得力を高めるために
まず絶対的に、検索対象の母数となるコンテンツの質と量が必要です。
コンテンツの量が不十分だと「我々はあなたの課題解決のために十分な準備があるのだ」と伝わりません。
また、コンテンツの質が不十分だと「これがあなたの課題を解決するものだ」と認識されません。

次に、出てきた結果が **ユーザの問い掛けに関する答えだと明確** であるべきです。
例えば、フリーワード検索ではユーザの入力内容を形態素解析したものを検索パラメータとすることがあります。
当然、検索結果はユーザの入力内容と厳密に一致しません。（単純な文字列マッチじゃないですからね）
こうしてユーザの意図と乖離する結果を提供する場合 **何故このような結果になったのか** を示す必要があります。
この「 **何故**」 が解消されないと、ユーザは検索結果を自身に対するものだと思えず、受け入れてくれません。
そのため、検索結果に対してキーワードハイライトなどを入れ、「あなたの入力内容に関連してるよ」と明示する必要があります。

また、そもそもこのような乖離が防ぐために、ユーザに適切な検索パラメータを指定させるような誘導も重要です。
例えばプレースホルダなどによる例示であったり、チェックボックスやリストボックスなどで直接パラメータを選択させる、といった内容です。

どれも当たり前の内容かと思いますが、その「当たり前となる理由」について考えられたと思います。

### 納得感を高めるために
次に納得感ですが、一番簡単なのは **ユーザ自身に選ばせること** です。
つまり、検索パラメータをユーザ自身に入力させ、結果を複数提示してどれか選ばせる、ということです。
検索機能としては当たり前なのですが、逆にこれを超える納得感の提供は相当難しいです。
よほどの信頼関係が無い限り、こちらからの提案は納得した形で受け入れられません。
よく知らない人やサイトから「オススメ」されても、納得できませんよね。

### 検索体験の改善例
検索体験の改善については[Cookpadの須藤さんのスライド](https://speakerdeck.com/sudokohey/cookpad-tech-conf2017-sudo)の内容が素晴らしいので、是非ご覧いただければと思います。

体験という観点で、ユーザの属性や背景なども考慮したゴール・シナリオ作りや、それに対して取り組んだ具体的な事例が書かれています。

## チャットなどとの対比
ボリュームが多いため、後日記載します。
「問題解決に際して、何らかの情報を得る」という内容について、検索、チャットUI、AIレコメンドの 3者を比較してまとめる予定です。

# あとがき
僕個人の勝手な話なのですが、以前から検索についてモヤモヤした部分が晴れて満足しています。
本来であれば冒頭のチャットUIなどとの対比もすぐに書くつもりだったのですが、ボリュームの関係で後日追記（または別記事で投稿？）としています。

また、「違うよ、全然違うよ」みたいな意見も大歓迎ですので、感想などコメント頂けると幸いです。

# 参考情報
[よりよい検索体験の為の情報設計とプロトタイピング](https://techconf.cookpad.com/2017/sudokohey.html)　by sudokohey （Cookpad techconf 2017）