# ウェブでもアプリでもない第三の選択肢としてのチャットUIで、選択格差を是正する方法

By [taka](https://paragraph.com/@0xtkgshn) · 2022-04-29

---

選択格差とtkgshnについて
---------------

「選択格差」という、そもそも”選ぶことができる選択肢”自体が少ない場合、本人にとって有意義な進路や意思決定をすることが出来ない問題について、私自身も・短いながらも過去のキャリアから悩んできました。

_「あの時、〇〇という選択肢を知っていたら選んでいたのに」_

“知らないものは選択できない”と書くと一行で当たり前だと思いますが、それでもキャリア選択の中ではこのような苦労や後悔がある方も多いのではないでしょうか。

[中3の時にMona partyで独自の仮想通貨を作り](https://note.com/tkgshn/n/n383f977b5666)、[文化祭にスポンサーをつけ](https://note.com/tkgshn/n/ne0793105eebf)、推薦で入った[高校を3ヶ月で中退しN高に入り”学費クラファン”](https://note.com/tkgshn/n/ne0793105eebf)をし、上京と同時にハッシャダイにて従事、高校在学中に株式会社Civichatという会社を立ち上げた私ですが、わりと「人生の意思決定は知っている選択肢の多さ」次第だなと思うことがあり、自分自身を救うためにも選択格差を是正していきたいと思っています。

「ウェブ」と「アプリ」では解けない問題について
-----------------------

ソフトウェア開発に従事していた経験の中で、「ウェブ」と「アプリ」という情報空間の探索方法だけでは不十分なケースが存在するかもしれないという仮説を持ち、\*\*”ウェブでもアプリでもない第三のパターン”\*\*を探している最中です。

「どの用途でどのような探索方法を使うべきか」という問いに関しては、この記事を書くきっかけになった以下の記事が詳しいです。

[https://note.com/aijilog/n/n83f8cb8a2673](https://note.com/aijilog/n/n83f8cb8a2673)

僭越ながらまとめると、**ウェブとアプリは補完しあっている**関係性だとこの記事内では書かれています。

*   **ウェブはほしいものを見つけるために言語化する必要がある**
    
    *   検索の有用性自体は本人の検索能力に依存する（ユーザーがやりたいことがわかっていないと、適切な情報に辿り着けない）
        
*   **アプリは馴染みのものを閲覧するのに特化している**
    
    *   そもそも「アプリケーションをインストールする」というのが、普段の習慣を簡易に行えるようにしたもの（動画を見る、資産を確認する…）
        
    *   日々行う習慣の場合はアプリが有効だが、知らないものの探索には向かない
        

この記事の中で「第三の選択肢」として仮説に挙げられているのが”ウィザード”です

![https://note.com/aijilog/n/n83f8cb8a2673 より引用](https://storage.googleapis.com/papyrus_images/1a927be745701829b1b4492ea0872a1d37f1ae1b335ac63050b05d30739a2662.png)

https://note.com/aijilog/n/n83f8cb8a2673 より引用

> かつてのコンピュータは、ソフトウェアの習熟になれておらず、ソフトウェアやOSの初期設定を行うためのウィザードという機能がありました。まるで魔法使いのように、質問に答えていくだけで自分に必要なものが手に入るのです。

> ウィザードの特徴は、**情報そのものを提示するだけでなく、情報を学習していく過程を提示します**。学ぶことと目的を果たすことが同時に行われるのです。

このように、「ウェブでもアプリでもない第三の選択肢」というのが情報探索の世界では求められています。

チャットボットの質問に答えていくだけで「自分に合った公共制度」がわかるCivichat
-------------------------------------------

このような「第三の選択肢」を探しつつ私（tkgshn）が取り組んでいるのが、Civichatという会社・サービスです。

[https://civichat.jp](https://civichat.jp)

このサービスは、チャットボットの質問に答えていくことで「自分が利用できる公共制度」を絞り込むことが出来ます。

![熊本の震災の後に公布される支援制度を探している様子](https://storage.googleapis.com/papyrus_images/c28f9205d542fa70a5475b9ee0c55dc13cc4c1b1e5703cf656ea13208efaa76a.gif)

熊本の震災の後に公布される支援制度を探している様子

誰でもLINEで友達追加するだけで利用できるので、ぜひ使ってみてください！

**Civichatの友達追加リンク:**

[https://lin.ee/pgFcxfPx](https://lin.ee/pgFcxfPx)

_どんな制度(選択肢)によって出来るのかは分からないしどうでもいいが、とにかく今の自分の状況を良くしてくれるものはないだろうか_

「自分が利用できる制度を探す」という限定的な範囲であれば、チャットUIを通じた制度検索システムがうまく動作するのではないかと思い、この仕組みをCivichatでは採用しました。

### 手続き型とオブジェクト指向

「ウェブ」や「アプリ」は基本的にオブジェクト指向の原則に基づき設計されているが、対局的なものに手続き型という設計思想がある。具体的にはチャットUIが挙げられる。

手続き型とオブジェクト指向は対照的な思想だが、その前にご存知であろう”OOUI”（オブジェクト指向インターフェース）について簡潔に触れておこう。

> OOUI = object-oriented user interface
> 
> [https://www.sociomedia.co.jp/8740](https://www.sociomedia.co.jp/8740)

この言葉はソフトウェアデザインの中でも、モデリングと言われる、**表示する情報の構造を設計する段階**でよく使われる単語である。

*   まず、Objectだが「対象物」と訳すべきだろうか。この前提をちゃんと理解しないと次の理解まで辿り着けないが、英文法のSVOの中のOをイメージしてもらうといい。
    
*   次にOriented。意識を向ける方向、指向など。
    

**主体が中心にあり、それに対してユーザーが行動をするのがOOUIの概念である。**

（まぁここら辺はManabu Ueno氏の「[OOUIの目当て](https://www.sociomedia.co.jp/8740)」を読んでほしい）

![OOUI によるオブジェクティブなデザイン](https://storage.googleapis.com/papyrus_images/7a0ed1bd17b35fba753f431a74078e25bd705e05e73bb9e345da22e25b4e12a6.png)

OOUI によるオブジェクティブなデザイン

このオブジェクティブな設計とは対照的なのが、「サブジェクティブ」。**先に行動があり、それに対応するオブジェクトを選択するというイメージ**

![サブジェクティブ](https://storage.googleapis.com/papyrus_images/c0b83e94a2c3efe5002becb758b659c2b21db980f2604efdc653594d7d8d351a.png)

サブジェクティブ

**対象物を中心に、ユーザーが行動を後から決めるのが「オブジェクトベース」、まずは行動を決めてからそれに合う対象物を選択するのが「タスクベース」**

この2つの違いはこの図が納得感ある

![https://twitter.com/atochotto/status/1070273544943165445](https://storage.googleapis.com/papyrus_images/215861ab986fcd1beb71b2a8eaac9b69989c758792a36665a67e81147d75bdca.png)

https://twitter.com/atochotto/status/1070273544943165445

これを具体例で紹介するならば、CLIとGUIの例はわかりやすいだろう。

![](https://storage.googleapis.com/papyrus_images/0e989fec07c21728badf946dfde4bf7d9dfffc5934a79677d936c7539f9d469b.png)

ここら辺はこの記事にとって本質ではないので何度も繰り返すが、詳細は「[OOUIの目当て](https://www.sociomedia.co.jp/8740)」に譲る

### ユーザーが対象物を認知していないときはチャットUIが有効

これでOOUI（いわゆるGUI）の特徴はおさらいできたと思う。

ここからはCivichatの出発点となった選択格差を是正するための一つの問い、 “知らないものを知るにはどうしたらいいか?”というものに応えていこう。

*   **OOUIだと、操作対象の一覧を見せてユーザが対象を選んでからその対象物に対して可能な操作一覧を出す**
    
*   **Civichatの場合は対象物が「ユーザ本人」なので対象選択フェーズを飛ばすことができる**
    
    *   **ただし操作対象がシステム内にないので、まずユーザはそれをシステムにアップロードする必要がある**
        
    *   **知識のない人が構造化したデータを手元で作ってアップロードすることは困難なので、データを構築するプロセスを一歩一歩対話的に進める必要があり、それにはチャットUIが適している**
        

（これをまとめてくださったnishioさん、ありがとうございます）

[https://scrapbox.io/nishio/%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%8C%E5%AF%BE%E8%B1%A1%E7%89%A9%E3%82%92%E8%AA%8D%E7%9F%A5%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D%E3%81%AF%E3%83%81%E3%83%A3%E3%83%83%E3%83%88UI%E3%81%8C%E6%9C%89%E5%8A%B9](https://scrapbox.io/nishio/%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%8C%E5%AF%BE%E8%B1%A1%E7%89%A9%E3%82%92%E8%AA%8D%E7%9F%A5%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D%E3%81%AF%E3%83%81%E3%83%A3%E3%83%83%E3%83%88UI%E3%81%8C%E6%9C%89%E5%8A%B9)

![](https://storage.googleapis.com/papyrus_images/67713e33d5281437793342566ac039701536e74a6e02a4a14f61c660bea207e3.png)

![](https://storage.googleapis.com/papyrus_images/96c3435ccdead02eefd206aea2d5e132dc373993458a4fac8c85a56252ce8ce5.png)

![](https://storage.googleapis.com/papyrus_images/c17f0af6709fc518444aa634568edb21396e96410b7f40726827e0d926108e36.png)

![](https://storage.googleapis.com/papyrus_images/96b2ef613dd833ab7ab1b4f6ddc1085cbcbe57e1be3da9d1dda29ddc703327f0.png)

![](https://storage.googleapis.com/papyrus_images/c4360a3037a807c27cc506b42219709264817dbd9fe1ac60c6377d3f2e987d02.png)

### 公共制度の利用可否マトリクス

![公共制度の利用可否マトリクス](https://storage.googleapis.com/papyrus_images/6c38d277f1b48756b82588b6e7311b2f9340357fe9e620dc57b6fac0d4f7191a.png)

公共制度の利用可否マトリクス

「制度の利用条件」をチャットボットで絞ることができれば、以下のような状況にユーザーが辿り着く。

全ての制度のうち、とりあえず利用条件を満たしてない制度は弾くことにし、利用できるものだけを表示する

![チャットボットとの対話の後、利用できる制度のみが表示される](https://storage.googleapis.com/papyrus_images/ea6ca8b73b5ba53a0552ab86296f261d9ca124640420bf83f26fa3818229faa6.png)

チャットボットとの対話の後、利用できる制度のみが表示される

わりと簡単だと思うので詳細はこちらの記事に譲る

[https://scrapbox.io/sta/%E5%85%AC%E5%85%B1%E5%88%B6%E5%BA%A6%E3%83%9E%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9](https://scrapbox.io/sta/%E5%85%AC%E5%85%B1%E5%88%B6%E5%BA%A6%E3%83%9E%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9)

### 間違った例: アキネーターの例え

「数ある選択肢の中から、ユーザーへの対話を通じて選択肢を狭めていく」と聞いてアキネーターを思い浮かべる方も多いだろう。しかし、根本的にCivichatとアキネーターが違うのは\*\*”ユーザーが頭の中にオブジェクト（対象物）を思い浮かべていない”\*\*という点だ。

*   自分の頭の中にドラえもんを想像する
    
*   アキネーターの魔人の質問に対して、ドラえもんが当てはまるものを選択していく
    
*   この時点で、膨大な選択肢の中から「聞くことで最も可能性を削減できるもの」を質問していく（二分探索的な感じ）
    
*   ドラえもんが確定するまで魔人からユーザーに対して質問をし、絞り込む
    

この一連の流れの中で、公共制度の検索とは少し違うのを理解してくれただろうか。

チャットUI（エキスパートシステム）の歴史
---------------------

この記事内で触れている「チャットUI」は歴史が古く、エキスパートシステムやルールベースシステムなどと呼ばれていたりする。

> エキスパートシステムは、専門家の意思決定や問題解決の能力や手順を模倣するシステムであり、専門家のように知識に基づいた推論を行うことで、複雑な問題を解くよう設計されたものです。
> 
> \---
> 
> エキスパートシステムは基本的に、特定の分野の問題についての情報を解析するルール群から構成されるプログラムであり、その情報はシステムの利用者が提供する。 問題の分析結果を提供するだけでなく、設計によっては利用者の行動を正しく導く指針を与えることもできる。通常のプログラムとは異なった独特の構造をしている。2つの部分で構成されており、1つはそのエキスパートシステムから独立している推論エンジンであり固定である。もう1つは知識ベースで、可変である。推論エンジンが知識ベースを使って推論を行う
> 
> [https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0)

この領域は少し前には「人工知能」みたいな文脈で取り沙汰されており、文献もある程度残っている

**1960年代**

*   「Dendral」という有機化学の知識をもとに未知の有機化合物を質量分析法で分析して特定するシステム
    

**1980年代**

*   知識工学をベースした研究開発が行われる（第二次AIブーム）
    
*   ブームは終了してしまう
    
    *   包括する汎用的なロジックの表現は極めて難しい
        
    *   ニューラルネットワークで自動化する試みもされたが、超高性能なコンピューターはなかった
        

> エキスパートシステムの知識ベースに整理された知識は一般的に汎用化することが難しい. これがエキスパートシステム はごく狭い領域の問題にしか性能を発揮 で きない と い う 「システムの脆弱さ」 の原因となっていた [https://www.jstage.jst.go.jp/article/sicejl1962/42/6/42\_6\_458/\_pdf](https://www.jstage.jst.go.jp/article/sicejl1962/42/6/42_6_458/_pdf)

詳しいことは[この記事の材料にもなっている私のScrapbox](https://scrapbox.io/tkgshn-private/%E3%82%A8%E3%82%AD%E3%82%B9%E3%83%91%E3%83%BC%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0)でもまとめているが、まとめると**この領域には「エキスパートシステムを構築する際にどうやって知識を獲得するのか」という問題がある。**

[https://scrapbox.io/c4j/%E5%BD%A2%E5%BC%8F%E8%AB%96%E7%90%86%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%9F%A5%E8%AD%98%E3%82%92%E6%A7%8B%E9%80%A0%E5%8C%96%E3%81%99%E3%82%8B%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%81%AE%E8%A1%B0%E9%80%80](https://scrapbox.io/c4j/%E5%BD%A2%E5%BC%8F%E8%AB%96%E7%90%86%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%9F%A5%E8%AD%98%E3%82%92%E6%A7%8B%E9%80%A0%E5%8C%96%E3%81%99%E3%82%8B%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%81%AE%E8%A1%B0%E9%80%80)

### エキスパートシステムに探索領域を限定して知識を与える

シンプルな解として、「探索領域をより絞り込み、知識を記号化する」というモデルで回っている例は多い。

例えばCivichatもそのうちの1つで、現在316個の制度を推薦することが可能になっているが、**制度追加のたびに利用条件を論理的に定義し、システムに登録している**

![Civichatの制度データベース](https://storage.googleapis.com/papyrus_images/06a8e8f879d77ab7792ae4f8d9bc312c1f74620d110d47198ed211cd80efabf7.png)

Civichatの制度データベース

他にもAI弁護士Botとも言われる「DoNotPay」などはうまく実用化できたケースでしょう。

このサービスは駐車違反切符に異議を申し立てたい運転手向けのサービスでした。不当な違反切符に対してのアドバイスや、当局への嘆願書を作成してくれるというものです。

チャットボットと対話することで、複雑な法律をわかりやすく、状況に合わせた情報だけを表示することが可能になっています。

![https://donotpay.com/](https://storage.googleapis.com/papyrus_images/0347672fe46db7e2284fd1c5555204579d9ebd93a875fdd3580a4b2b06b9ac38.png)

https://donotpay.com/

そのほか、「自分の状況を説明することで、該当していそうな病名を教えてくれる」[Ubie](https://ubie.app/)などもそのうちの1つに入るでしょう。

![https://ubie.app/](https://storage.googleapis.com/papyrus_images/e84ffde23bd578fc46d3662b8ff5936fb0a91084e94b9eda1e81c7aed00adae0.png)

https://ubie.app/

### Webの劣化版である“チャットボットもどき”も数多く存在している

この最初に紹介した手続き型の構造と、エキスパートシステムの構造を踏まえるとチャットボットを使って探索を行うには、Webページと同じような階層構造では設計できないことに気がつくだろう。

ただの索引になっているようなチャットボットも存在し、ひとこと偉い人が「チャットボットを導入したい！」といっても市場は玉石混合であろう。

[https://twitter.com/storywriter/status/1510280278429749249?s=20&t=6Jj6GbySAqGTVdZA\_QwAtQ](https://twitter.com/storywriter/status/1510280278429749249?s=20&t=6Jj6GbySAqGTVdZA_QwAtQ)

チャットボットブームに便乗し、オブジェクトの洗い出しを怠り、バズワードに惑わされる結果、Webよりも使いにくいシステムができることは明らかであろう。

悪い例として、Civichatと同じ課題を解決しようとしている内閣官房・孤独孤立対策室からリリースされた「[支援制度検索チャットボット](https://www.notalone-cas.go.jp/)」を取り上げる。

![https://www.notalone-cas.go.jp/](https://storage.googleapis.com/papyrus_images/d21f8f1e8a65678435442eb23743faadb4437e54f68c9b417bb4fbb87d013f2c.png)

https://www.notalone-cas.go.jp/

このサービスは「本人が探したいもの」に沿って質問のフローが構築されているので、迷う。なぜなら、**ユーザーは探しているもの自体に目処がつけられていないから。**

このシステムがリリースされてから[「20日で20万回利用された」と内閣官房は発表している](https://www.cas.go.jp/jp/seisaku/kodoku_koritsu/dai5/siryou2.pdf)が、それは国家が持つ力のみでソフトウェアの設計のレイヤーでは役に立っていないのではと思わざるを得ない。

![](https://storage.googleapis.com/papyrus_images/378e557b427858dd8f6900a913f459bcc6637ccca1230fa84414a48c45a85e4b.png)

少しポジショントークをしておくと、弊社のCivichatは本人の情報のみを聞いていて（だから迷わない）、その中から利用可能な制度（論理空間）を全部検索し、最終的に利用するか否かの取捨選択はユーザーに任せている。

**これによって、「表示されているものは全て利用できるもの」という状態を作り出すことができる。**

このドメイン知識も踏まえた議論ができるソフトウェアデザイナーが有識者に入っていないことは国レベルで悲しいので、一応意見を伝えておくなどした。

終わりに
----

まぁみんな文句言っても仕方ないので論文書いてソフトウェア作って資本主義で勝ってお金稼いで楽しく生きよう

（これに関して後の世に残したいので、論文というフォーマットで一緒に書いてくれる人を募集しています）

**Twitterもフォローしてね**

[https://twitter.com/0xtkgshn](https://twitter.com/0xtkgshn)

---

*Originally published on [taka](https://paragraph.com/@0xtkgshn/ui)*
