9. クリティカルシンキング ~ 理学やシステム開発では当たり前?だけど、社会学だと難しいらしい
はじめに
今回は、クリティカルシンキングを取り上げます。ビジネス系の啓発系本では、何かと、○○シンキング(思考)という言葉が多いですね。なんとなく言葉と概要を知っていた、クリティカルシンキングについて、今回は、これまでのこのマガジンの流れで調べてきた圏論や言語哲学、概念モデリングなどの観点から、深堀していきます。
参考にした書籍
今回の記事を書くにあたり、以下の4冊を参考にしました。
丹治信春著「実践!クリティカル・シンキング」
Joel Best 著、飯嶋貴子訳「Think Critically クリティカル・シンキングで真実を見極める」
E.B. ゼックミスタ、J.E.ジョンソン著「クリティカルシンキング 入門篇」
著者同上「クリティカルシンキング 実践篇」
このリストの順番は、私が読み進めた順番と同じです。
”クリティカルシンキング”とは
クリティカルシンキングは、英語で、Critical Thinking のカタカナ訳(訳してないかw)です。Critical を日本語訳すると、”批判”あるいは”批判的”となり、クリティカルシンキング=批判的思考 ということになります。要するに
”議論について、詳しく吟味しながら論理的に考察する”
ということなのですが、これだけだと微妙なので、リストの2番目に挙げた本から引用することにします。
具体的にどうすれば”クリティカルシンキング”を実践できるのか、その基本を、リストの3番目に挙げた本から抜粋します。
リストに挙げた3番目と4番目の本は、クリティカルシンキングを実践する際に、具体的にどんなやり方をすればいいかという、ハウツー本的な本でした。90の”クリシン原則”がまとめられていて、問題解決におけるクリティカルシンキングのフローが、4番目の本の 248ページに明示されていて、参考になります。
また、推論を行うには、図を描いたり数値を表にまとめたりグラフを書いたりし、それをもとに行う議論は、当然のことながら言葉・文章を使うことになります。きちんとした論理的な議論を言葉・文章で行うとなると、当然、論理学や述語理論が出てくることになります。リストに挙げた1番目の本は、まさに、その推論の方法について詳~しく解説されています。文章の基本構造から始まって、人間の特性としてありがちなアブダクション推論の排除、現象学に通じる思い込みの排除、因果関係、相関関係、多義性などなど、流石は哲学者の著者による本だなという感じです。
クリティカルシンキング的な、態度、知識、技術は、巷にあふれるフェイクニュース、いい加減であいまいな政治家の答弁など、様々なw誤情報に騙されないための必須のものでしょう。
素朴な疑問
クリティカルシンキングの一連の書籍を読む前、生兵法的にクリティカルシンキングを斜めから見ていたころ、抱いた素直な感想は、
理学屋さんや技術屋さんは普段当たり前にやってるよね、これ
でした。私はもともと学生時代が実験物理専攻で、30年以上ソフトウェア開発技術畑の職として過ごしてきた身としては当然の感想だと思います。物理学においては、物理現象の解釈、理論の組立て、検証のための実験方法の確立、実験結果の解釈、論文の記述…、ありとあらゆるところで、”議論について、詳しく吟味しながら論理的に考察する”ことを当たり前のように行います。ソフトウェア開発においても、こういう思考形態は、適切に動作するプログラムは作れないし、障害が発生したときにも、障害発生状況の分析、原因の推定と確定、原因となっている箇所の修正など、随所で活用されます。
なんでビジネス系の人たちはこんな当たり前の思考方法をありがたがるんだろう…
なるほど納得
その疑問は、リストの二番目の本で解消。この本によれば、社会学という分野は、理学や工学とは異なり、クリティカルシンキングを行うのが大変難しいとのこと。社会学が扱うのは複雑で多義的な人間社会の問題であり、推論の根拠となる客観的な証拠を得ることがそもそも難しいので、系統的な手法が必要だということでした。データを集めるにしても、サンプリング方法、調査方法、問題設定自体が、計測しようとする対象の状態を変えてしまう恐れがあるし、得られた結果の集計についても、全く同じデータセットから全く異なる結論が導かれる場合もあるような世界は、理学的工学的な世界とは違うというのは納得のいくところです。
このあたり、前に読んだ、
この二冊の本でも詳しく書いてあるので参考になるところです。
計測が対象に影響を与えてしまうっていうのは、まるで、量子力学の世界ですね…ん?
そういえば…
素朴な思い込みで、理学や工学の世界はクリティカルシンキングを自然にやっているよな…と思っていましたが、過去を振り返ってみれば、長らく太陽が地球の周りを回っている(二体問題で考えれば、その解釈も正しいんですけれど)天動説が幅を利かせていたわけだし、プランク定数レベル、というか、計測時の誤差以下のデータ変動が問題になるような実験では、社会学とそんなに変わらないと。現代の生活で必須の半導体の原理となっている量子力学についても、シュレディンガー流の量子力学は多分に統計的だしね。
ソフトウェア開発においても、クリティカルシンキング的な厳密な推論や議論ができるようになるのは、ある程度プログラムが確立しだした後からであって、ビジネスシステム開発において、ビジネスが抱える問題の定義やその解決策の立案という、要件定義にあたる部分では、人間の営みであるビジネス活動をどう適切に捉えるか、や、適切なテスト方法の確立などという部分では、クリティカルシンキングが非常に役立つのは間違いないでしょう。解決すべき問題をはき違えて作ってしまったビジネスシステムほど始末が悪いものはありませんからね。
概念モデリングとクリティカルシンキングの関係
さて、このマガジンは、現実世界をモデル化することについての一連の記事で構成される場です。クリティカルシンキングの詳細は、皆さん、各自で紹介した書籍を読むなりなんなりして調べてもらうことにして、ここからは、”Art of Conceptual Modeling”で解説している概念モデリングを、クリティカルシンキングの実践での併用を考えてみることにします。
論理の帰結として
まずは基本的なところから。概念モデリングは、ドメイン分割によって問題領域を設定し、その領域においての現実世界を構成する概念要素と要素間の意味的な関係を定義する方法なので、推論のための前提条件やクリティカルシンキング適用の対象を、適切に記述して理解するための強力なツールになると考えてよいでしょう。
文章間の対応を明確にする
複雑な現実の問題を言葉・文章で記述する場合、当然ですが、それを記述する文章は、複数の文章から構成されることになります。「実践!クリティカル・シンキング」では、複数の文章から構成される例題がたくさん掲載されています。ひとつのテーマを複数の文章で記述する場合、同じ対象を意味する単語が、当たり前の話ですが、一つの文章内、そして、複数の文章に出現します。一般常識の眼で何気なく読めば、同じ単語が出ていれば、同じことを意味するのと同じ対象を指していると思ってしまうと思うのですが、果たして本当にそうなのでしょうか?次にとりあげる多義性の排除にも関連する話ですが、文章群だけでは、たとえ同じ単語を使っているからといって、それが同じ意味、同じ対象を指しているという明確な証拠は大抵の場合存在しません。しかし、概念情報モデルを記述して、その概念情報モデルをもとに概念インスタンスとリンクを元に言葉を紡げば、文章中の単語は、概念インスタンス、または、概念インスタンスの特徴値の値、もしくは、概念インスタンス間のリンクのどれかに対応し、それらの一意性を間違いなく示すことができます。詐欺師とまではいかなくても、案外、他人を丸め込みたい意図を持っているレトリックのうまい人、いやいや、普通に思考がとっ散らかった人は結構いて、故意、無意識に限らず、いつの間にか同じ単語が別の意味、対象になってしまっていることは日常ではままあることで、それによって生じる誤解は、概念情報モデルを活用することによって、排除が可能です。繰り返しになりますが、複数の文章の記述は、概念モデリングにおいては、特徴値の値が確定した概念インスタンス群と2つの概念インスタンス間を接続するリンク群で記述されます。これらは概念情報モデルで規定されたルールに従ってのみ記述可能なので、対象世界のモデル構造を壊すような状態をそもそも記述することはできない、つまり、何らかの間違いや矛盾を含むような文章に相当するような状態を構成することはできず、結果として何らかの間違いや矛盾を含むような、意味が偽になる言葉・文章を構成することを防ぐことになります。
多義性の排除
「8. 概念モデルの言語論理学からの考察 ~ Frege、Russel、Wittgenstein」で解説したように、文章中の言葉の意味は、文脈や言語空間全体で確定します。それゆえ、今回紹介している書籍群のクリティカルシンキングに対する説明の中で扱われている、”言葉の多義性”問題は言葉・文章で対象を記述し議論する中では発生を避けられません。概念モデリングにおいては、言葉や単語は、クラス名、特徴値名、データ型名、リレーションシップの両端の意味名、事象名と、モデル内でお互いに連携した定義が行われます。加えて、ドメイン(問題領域)ごとにモデル(連携した言葉の塊)を構築する
ので、文章だけの記述よりも、単語の多義性の曖昧さの排除が可能です。
データ項目とデータ項目との関係性の明確化
概念モデリングによる、文章間の対応の明確化、多義性の排除を行う仕組みは、定性的、定量的にかかわらず着目したい複数のデータ項目間の関係性の明確化にも寄与します。データ項目は、概念モデリングにおいては、概念情報モデルで定義された、どれかの概念クラスのどれかの特徴値に対応するはずです。特徴値は必ず一つの概念クラスに紐づき、かつ、対象世界の意味論において、リレーションシップを通じて他の概念クラスと連携しているので、データ項目間の複雑な関係性に対する明確な見通しが、概念情報モデルから得ることが可能です。また、同じ一つのデータ項目が、見方を変えると複数の意味を持つような場合が良くありますが、概念モデリング的には、
”それぞれの見方=異なるドメイン”ととらえることができるので、一つのデータ項目ととらえていたものを、複数のドメインに存在するものとして扱うことにより、どちらの見方が正しいかというような不毛な論争の排除や、無視されがちでも重要な概念世界の見落としを防ぐことができます。
概念モデリングでクリティカルシンキングを活用する
前のセクションでは、概念モデリングがクリティカルシンキングで以下に活用できるかを見てきました。
しかし、全ては、クリティカルシンキングの対象となる問題領域を正しく記述した概念モデルがあれば、成り立つという理想論にすぎません。
概念モデルの作成には、問題領域の正しい把握・理解が必要であり、作成したモデルが正しく問題領域を記述しているか検証も必要です。
ビジネスシステムの構築や日々の業務における問題解決、ちょっと大げさな話では社会が抱える問題の解決においては、対象は、社会学が扱う範疇の世界になります。この世界においては、演繹的な論理的取り組みだけでは足りず、統計学的帰納法のデータサイエンスの取り組みも必要なのは言うまでもありません。そんな世界を対象として概念モデルを作成する時には、「クリティカルシンキング 実践篇」の 248ページでまとめられている図10‐1のフローが役立ちそうです。
また、作成した概念モデルの検証では、「実践!クリティカル・シンキング」の第二章で紹介されている推論の構造が役に立ちそうです。作成した概念情報モデルをもとにして状態(値が確定した特徴値を持つ概念インスタンス群と概念インスタンス間をつなぐリンク群)を構成して文章化し、推論の構造図を描いた検証を行う、さらには、状態モデルとアクション記述をもとにした事象発生による状態変化も同様に文章化して、構造図で検証してみる、というやり方が効果がありそうです。
この手の世界は、とかく、どちらかが良いんだと一方的に主張しあう宗教論争になりがちですが、二者択一ではなく、良さげなやり方は、その良さを成り立たせている原理原則を崩さないように配慮しつつ、うまく活用するのが良いでしょう。
最後に
今回は、これでおしまいです。
まぁ、ここに書いた内容の、クリティカルシンキングに関する項目は、まだまだ知識レベルの机上の空論状態。具体的な問題を設定して実践し、血肉にしていきたいと思っています。思考実験的なウォークスルーでもやってみますかね。