見出し画像

数理オタクが文系乙女を説得する方法

はじめに

こんにちは。homieでデータサイエンティストをしている大澤です。数理最適化や数値シミュレーション、統計分析などによる業務改善や意思決定の支援に従事しています。この記事では、数理最適化や統計分析といった「小難しい」内容を専門外の方に説明することについて、私の考えを共有します。対象は、あまり経験の長くない専門職の方や、専門職ではないが、AIや数理最適化をはじめとする高度なコンピューターシステムを日常的に使用する方です。具体的には、私と弊社スーパーバイザー(コンシェルジュの育成や管理を行うマネジメント職種、以下SV)で行った社内勉強会について、取り組み方やその背後にある考え方について説明します。

難しさを認める

今回の勉強会は、「シフトが作られている仕組みが知りたい」という弊社SVの要望によって開催したものですが、はい分かりましたと安請け合いして、適当に資料を作ってプレゼンすればうまくいくものでしょうか。専門的な概念をわずかでも理解するということは、門外漢だけががむしゃらに頑張ったり、専門家が説明を巧みにするだけで達成できることではないと私は考えています。大学受験向けのわかりやすい解説が巷にあふれている高校数学や高校物理の理解に苦しむ人が多いことを考えれば、さらに高度な内容を理解することがどれだけ難しいことか、想像しやすいのではないのでしょうか。難しいことをやろうとしているのだから、うまくやりさえすれば理想的な結果がすぐに得られるなどとは期待しないことが重要だと思います。

人間は群れを作り、役割分担することで生き延びてきました。我々がまだ農耕を発明していなかった頃は、狩りか採集かというレベルの分業だったでしょう。しかし人類がもつ知識体系が発達するにしたがって、専門分野が高度に分化していき、今となっては自分が学んだこと以外はますますわからなくなってきています。

人間は、自身がよく知らないものについて、冷静に考えることができない傾向にあるようです。近年特に急速に発展してきた科学技術に不安や焦り、不信感を抱いている人は多いのではないでしょうか。弊社のコンシェルジュを含むコンタクトセンターの従業員や、病院の看護師などの視点に立って想像しますと(あくまで想像に過ぎませんが)、自分たちの働き方が得体のしれないコンピュータープログラムによって決められているわけですから、反発がひとつやふたつあっても全く不思議ではありません。

一方、私のような専門職は、利害関係者に専門的な内容の説明を求められて、できるだけ平易に、工夫を凝らして説明したものの、ほとんど曲解に近い理解をされ、それを訂正しようとしたところで匙を投げられてしまった経験を少なからず持っています(私だけかもしれませんが…)。学業とキャリアのほとんどを費やして身につけてきた知識を、一回説明して分からなかったからといって諦められたら、もうサポートのしようがないと感じてしまうこともあるのです。

そうした大きな溝があるところから始めなければならないのですが、それはどちらの責任でもありません。その責任を誰かに不当に帰属させれば、その人を排除して、他の人の溜飲を下げることに終止することになります。それは求めていることでしょうか。相互に歩み寄り、長い時間をかけてようやく、相手の事情を多少は、ぼんやり、なんとなく想像できるようになるのではないでしょうか。門外漢の付け焼き刃の知識や、専門家の「わかりやすい」説明に過剰に期待すべきではないと思います。

何を説明するか

説教臭い内容はこの辺りにして、実際に伝える内容を考えなくては始まりません。私の事例では「シフト生成の仕組みが知りたい」とだけ言われました。「仕組み」という言葉を愚直に受け取れば、組合せ最適化という問題に帰着していて、その解法はこうですよと説明しそうになってしまいます。しかし、前述した感情が背景にあると仮定すると、彼らがそんなことを知りたがっているとは安易に想定できませんね。

具体的にどんな質問に答えてもらいたいかを尋ねてみると、正直なところ明瞭には答えられないがと前置きされた上で、「なぜ勤務間インターバルが短くなることがあるのか」とか「希望休の入力を間違えるとなぜ計算が止まるのか」といったことが知りたいという回答を得ました。たいへん素朴な疑問を抱いていたのですね。後者に至っては数学の話ですらなく、私がフェイルセーフのために実装した挙動に関することです。「仕組み」という言葉ひとつをとっても、ここまで認識に相違があるのですから、やはりコミュニケーションには慎重にならなければなりません。

確かに(専門職が考える)仕組みがあらかた分かればこうした疑問にも答えることができますが、それが非常に複雑であることが問題なのでしたね。ですから、厳密な理解に必要な話題は可能な限り省略して、「コンピューターを使えばこういうことができるのだが、それにはこういう特性がある」という、問題の大雑把な枠組みや長所、限界などを説明することにしました。

例えば、

  • シフト作成を手動で行うことはたいへんな苦痛が伴う作業である

  • コンピューターは計算しかできないので融通が効かないが、ハマれば強力な道具である

  • 数学的な枠組みとコンピューターは相性が良く、人間の思惑をうまく数学の言葉でコンピューターに伝えれば、いろんな問題を解決できる(数理モデリング)

  • コンピューターの計算能力を活用すれば、シフトがすべての制約条件を満たせるかどうかを判定することができる(制約充足問題への帰着)

  • すべての制約条件を満たすことはほとんどの場合で不可能である

  • 制約条件の違反度合いをできるだけ小さくするような枠組みであれば、良いシフトを安定的に得ることを目指せる(最適化問題への帰着)

  • 違反度合いを小さくしたい条件が複数ある場合、制約間のトレードオフを解決しなければならない(解のパレート最適性)

といったことなどを説明していくと良さそうです。コンピューターに関する素朴な話題を除けば、勤務スケジューリング問題や数理最適化の入門書に載っているようなド定番の内容を、数学の言葉を使わないで説明することに自然となったのです。十分専門的な内容ではあるので、説明を工夫する必要はありそうですが、アルゴリズムの話をするよりは勝算がありそうです。

反応

勉強会の終了後、参加者にこの会を通じて何が理解できたか、どう感じたかなどのアンケートをとりました。以下、一部を要約・抜粋しますと、

  • コンピューターに人間の思考をうまく伝えることが大事だと知った

  • コンピューターは計算が得意だけどあまり気が利かないので、人間がうまくフォローしてあげる必要があることを知った

  • すべての条件を叶えることはできないなど、コンピューターにも限界があることが分かった

  • トレードオフの中でバランスをとらなければいけない大変さは日々の業務でも身にしみて感じているが、シフト作成にも同じ問題があることが分かった

  • コンシェルジュ側に立つと改善したいなと思うことが複数あるが、改善は簡単ではなさそうだと思った

といった回答を得ました。なんだか色んなことを諦めさせてしまった気がするのですが(笑)こちらの伝えようとしたことは概ね伝わったように思えます。もちろん、私の作ったモデルは完璧ではありませんので、まだまだ改善の余地はあります。しかし、根本的な制約を超えたことはできないと分かってもらうことは、モデルの改善にあたっ期待値をコントロールする上でもたいへん重要なことです。そこに対する理解をわずかでも得ることができたのであれば、一回の勉強会の成果としては上出来なのではないでしょうか。

ハッピーエンド?

今振り返ると、コンピューターにシフトを生成させるという問題に対するアプローチを大雑把に説明しただけなのですが、幸いなことに良い反応を得ることができました。これは、私が説明の工夫をしただけでなく、弊社SVにその説明を聞く準備ができていたからこそ得られた結果であると思います。私が独りで「俺の話を聞け」と凄んで同じ説明をしても、異なる受け取り方をされたでしょう。

では、これにて大団円なのでしょうか。ひょっとすると、何か大きな誤解をされてしまっているかもしれません。あるいは、彼らが疑問を解消したいと思った背景にある問題は、説明を聞いただけではうまく解決されないかもしれません。事業が成長し、組織が大きくなれば、もっと違う説明を、もっとたくさんの人に向けてしなければならないかもしれません。

記事の序盤で、「門外漢の付け焼き刃の知識や、専門家の説明に過剰に期待すべきではない」と述べました。今回私がやったことは、多少工夫を凝らした説明をして、付け焼刃の知識を授けただけです。それだけで問題が未来永劫にわたって解決し、今後何の介入もしなくてすむとは考えづらいですね。職種間のコミュニケーションは、事業が続く限り組織全体で取り組む必要がある、困難な課題です。難しさを知り、長期的な視点に立つことで、課題に適切に向き合うことができるでしょう。

この記事が参加している募集