クリエイティブコーディングで思考回路の違いを言語的に学んだら社内会議の効率が飛躍的に上がった話(前編)

デザイン/人工/自然言語から考察する言語とその翻訳チャネルの優位性

Ko Ishihara
AppSocially Blog
17 min readAug 13, 2018

--

AppSociallyでは#knowledgesharingを定期的に行い、チームの中で自分の取り組む分野・領域についての考察と知見を共有し議論することでメンバー同士の理解を深めています。今回はクリエイテヴ・コーディングと呼ばれる考え方をより内省的な手法として用いることで、チーム・ビルディングに活かす実験をさせてもらいました

この記事でわかること

  • デザイン/人工/自然言語の概要
  • デザイン/人工/自然言語の間での翻訳関係
  • デザイン/人工/自然言語とそれらの翻訳関係への理解が、なぜ自他への理解につながるのか
  • 自分にとっての優位性のある言語と翻訳は何にあたるのか

(前半の記事と後半の記事に分けて書くつもりですが、前半は体系的な説明を行い、後半はそれに基づいた実践的なレポートを書いていきたいと思います。こちらはややお堅い感じですが、次はどう実践してどんな知見が得られたかを体験ベースで書きますので次回の方が読みやすいかもしれません。)

目次

1. はじめに
1–1. コードの内省的(武道的)側面
1–2.「 類」の言語への意識
2. 「3類」の言語について
2–1. 「類」と「科」
2–2. 類内間翻訳
2–3. 類外間翻訳
3. 優位言語、優位チャネル
3–1. 優位言語
3–2. 優位チャネル
3–3. 優位性の診断
4. 前半のまとめ

1. はじめに

1–1. コードの内省的(武道的)側面

これは受け売りですが、コードを書くということは柔道、剣道のように「コー道」と捉えることもでき、己を知り己を磨くような武道の側面があるように思えます。というのも、プログラミングは自分のロジカルな思考を外在化させる営みであり、機械と対話するためにまず己の思考と向き合うことからはじまります。もちろん、稽古や鍛錬のように日々取り組む中で、「コードを注力的に書いたら、設計を鳥瞰的に考える。」といった「集中と俯瞰」を反復する点も非常に武道と近いですよね。

ちなみに武道とはもともと殺しや戦闘のための技と術でしたが、その手段の中に「人格形成」のための意義が見出され、その意義が目的として昇華されたものです。日本武道協議会が1987年に取り決めた「武道憲章」という武道の憲法のようなものがあるのですが、そこには

「かつて 武道は、心技一如の教えに則り、礼を修め、技を磨き、身体を鍛え、 心胆を錬る修業道・鍛錬道として洗練され発展してきた」「術から 道へと発展した伝統文化である」

と書かれています。コーディングももとはと言えばなんらかのシステムを動かすための手段でしたが、武道のようにそれを書く行為そのものに意義が見出され始めています。まさに「術から道への発展」ですよね。

特に今回フォーカスしたクリエイテヴコーディングは、コードによって自分を表現する行為なのでこの側面が非常に強いといえます。コードを書く行為によって己を知り、それを表現することによって他者に己を伝えるということ、これをいかにチームへ生かすかということが今回の実験的ワークショップを行う目的となっています。

クリエイテヴコーディングの概要についてはこちらをみてみると良いとおもいます。)

1–2. 3「類」の言語への意識

自分や他人(場合によっては機械や環境)と対話をすることで内省をするわけですから当然のことながらコミュニケーションの問題として言語が大切になってきます。今回は分類することによって言語の解像度を上げ、それらを意識したワークショップを行いました。言語を自然言語、人工言語、デザイン言語の3つに分類し、それぞれの関連性に注目しながら実践することにします。もちろん、これらの領域に関してメンバーそれぞれに得意不得意がありますが、それぞれの関係性に関しても同様に得意不得意があります。

この得意/不得意領域・得意/不得意チャネル(関係性)が何かは自己を示す有用な指標となり、それを表現することがチームビルディングへの自他理解につながるだろうということです。前半の記事は準備段階としてこれについて深く考察していきます。

2. 「3類」の言語について

2–1. 「類」と「科」

先ほどもすこしふれましたが言語を3つに分類すると大きくわけて以下のように分析できます。

  1. 自然言語(Natural Language):と対話するための言語
  2. 人工言語 (Artificial Language):機械と対話するための言語
  3. デザイン言語(Design Language):環境と対話するための言語

これらは一般にコミュニケーションの対象によって分類されます。人と何が対話するのかという問い方です。自然言語であれば、普段私たちがつかっている言語で人間が進化の過程で文字通り自然に生み出した人と対話するための言語です。それに対して人工言語はプログラムを通して、機械が理解できるようなかたちに命令を落としこむことになるので、人と機械との対話といえるでしょう。最後にデザイン言語は、造形や設計によって人に何を伝えるかを考える行為になってくるので、環境と人との対話といえます。(もちろん、簡単な説明なのでそれぞれに精通している人からすれば深みにかけるかもしれませんが、詳解は記事や議論を含めてたくさんあるので、とりあえずこれこれくらいにしておきますね。)

さらにそれぞれを細分化していくと以下のように具体的になっていきます。(このような例を見た方が理解が早いかもしれません。)

  1. 自然言語

英語、日本語、フランス語、 etc…

2. 人工言語

Javascript、C++、Java 、etc…

3. デザイン言語

色、形、動き、etc…

自然言語、人工言語、デザイン言語が分類でいうところの「類」であるのに対して、これをそれぞれ細分化したものは「科」と位置付けます。これは分類学上の方式に沿って考えてみました。例えば、人間は霊長類のヒト科です。これと同じように、「Hello」は自然言語類の英語科となるわけです。Webでいえばドメインの考え方と同じですね。(ちなみにwwwにあたるのは言語「界」となるかもしれません。)

2–2. 類内間翻訳

今回は科の間における翻訳を類内間翻訳ということにします。ある内容を同じ類の言語内の異なる科のことばを用いて表現するということです。どういうことかというと、自然言語ならば自然言語の中で翻訳をします。たとえば、「Hello」という自然言語類英語科のことばを「こんにちは」という自然言語類日本語科に翻訳することです。その他の類も同様の例を挙げると以下のようになります。

それぞれの類内間翻訳の例

端的にいってしまえば、自然言語であれば英語、日本語のような外国語間、人工言語であればjavascript、pythonのようなプログラミング言語間、デザイン言語であれば色、形のような形態間での翻訳を指すことになります。(* デザイン言語は少しわかりにくいかもしれないので補足します。例えば色の内、赤は赤信号のように危険を示す役割でつかわれますが、図のような、造形の内、禁止マークによって同様に危険を示すことができますよね。)

2–3. 類外間翻訳

類内間翻訳が前述のような類の内側の翻訳であるのに対して、類外間翻訳は類をまたぐ翻訳を指すこととします。例えば自然言語類の日本語科で「禁止」をデザイン言語の色科によって赤信号として翻訳することがでます。(もちろん、完全に互換性のある翻訳とはいえず、微妙に漏れていたり失われていたりする細かい意味がありますが、裏を返せばその意味の差異があるからこそ、そららが適用されるコンテキストに適正があったりするわけです。)図で整理すると以下の通りになります。

類外間翻訳の位置付け

ちなみに、何度もいうように翻訳は常に完全な互換性を持つわけではありません。翻訳しきれない意味の部分は、ある意味その言語類でしか表現できないものかもしれません。簡単な例を挙げると、言語化できないけれども確かに作品から伝わってくる情緒なんてものはデザイン言語でしか表現できないものかもしれません。

また、これについては類内間翻訳と対比してみればわかりやすいでしょう。例えば、「木漏れ日」ということばは日本語独自のもので英語には定訳がありません。また、英語が内語(母国語)の人からするとその概念すらないことになります。これは日本語から英語に完全な互換翻訳は成立しないわけで日本語だからこそ表現可能な意味であるといえます。

逆に「Privacy」ということばはかつて日本にはありませんでした。なぜなら長屋を住居としていたように当時の日本は個人に完結するものがあまりなく、プライバシーという概念そのものもなかったわけです。完全な互換翻訳ができなかったので、カタカナでそのまま「プライバシー」と翻訳されました。英語圏に寿司はないのでそのまま「Sushi」と呼ばれているようなものですね。

人工言語で説明すればPythonにはswitch文が存在せず、ifとinを用いて再現していたりします。(人工言語優位の人はこちらの解説がわかりやすいかもしれませんね。優位性については後述します。)

このように互換性は必ずしもありませんが、逆にいえばその領域でしか記述できない意味や概念があるということです。

2–4. 類外間翻訳のチャネル

これらの類外間翻訳は、3×2通りあることになります。具体例と共にまとめると以下の通りです。それぞれの翻訳関係を以下では「チャネル」と表現します。(例えば、Natural LanguageからArtificial Languageへの翻訳はN-Aチャネルです。)

  • 自然言語 to 人工言語(N-Aチャネル) — (eg) 説明を数式に落とし込む。「容量の半分」は「capacity * 1/2」など
  • 自然言語 to デザイン言語(N-Dチャネル) — (eg) 言葉で説明した印象をグラフィックに落とし込む。ブランドのヒアリングをしてロゴを作成するなど
  • 人工言語 to 自然言語(A-Nチャネル) — (eg) 数式を言葉で説明する。「log3–9=?」は「何を2乗すると9になりますか?」など
  • 人工言語 to デザイン言語(A-Dチャネル) — (eg) 数式を用いて環境を説明する。「v = v0 + at」から、物体が等加速度直線運動しているイメージを想起するなど
  • デザイン言語 to 自然言語(D-Nチャネル) — (eg) 色彩や造形が持つメッセージ性をことばで説明する。「赤」は「危険、警戒、情熱、感情」のような印象があるなど
  • デザイン言語 to 人工言語(D-Aチャネル) — (eg) 現象を数式として記述する。ニュートンがりんごの落下という現象を見て万有引力の法則の式を発想するなど

3. 優位言語、優位チャネル

3–1. 優位言語

3つの領域で言語の分類をしてきましたが、それぞれ人によって領域に応じた得意不得意があります。もちろん諸説はあると思いますが、先天的な側面を分類して説明することはよくあります。

例えば、認知特性という言葉もあり、それぞれ頭の中での情報の処理について、視覚優位、言語優位、聴覚優位、という特性があるそうです。左脳派、右脳派でいえば映像的な思考の人と言語的な思考の人で特徴づけられたりしますよね。そうした思考のスタンスを前述した言語の「類」で整理することが可能です。端的にいえば主に頭の中に流れている言語が自然言語的(文章的)か人工言語的(数学的)かデザイン言語的(映像的)かどうかといってもよさそうですね。

「科」のレイヤーで考えてみれば、それぞれ母国語がありますよね。そして、その母国語によって人間の思考の特性が左右されています。その現象は「類」においてもある程度説明ができるはずで、それぞれの背景や生まれに応じて母国語のように優位言語(得意な言語類)が設定されていて、その言語が自分の行動や世の中の見え方に影響を与えているはずです。

(「科」のレイヤーにおける母国語の思考への影響に関する記事:使う言語が「世界の見え方」を決めている:研究結果

3–2. 優位チャネル

分野に得意不得意があるのは当たり前かもしれませんが、それぞれの翻訳のチャネル、すなわち関係性にも得意不得意があります。これは先ほどかいた3×2通りのチャネルに対する優位性を分析するための考え方になります。

ある領域(類)の言語で表現されたものを認知し、脳内で類内間翻訳を行い、他の領域(類)の言語で表現して発信するという構造があります。他の言い方をすれば脳をFunction(関数)として捉えることができます。

自然言語とデザイン言語における類内間翻訳を例にとって考えて見ましょう。これだけでも自分の優位を考えて分析することができます。以下の図を見てください。

自然言語とデザイン言語のFunction

脳内に対してそれぞれ自然言語としての入出力とデザイン言語としての入出力があると思います。そして翻訳の経路としては以下の4つに整理できます。

*n=自然言語、d=デザイン言語、f=脳内の変換器として…

  • f(n1) = n2

対象を自然言語の表現によって理解し、自然言語として出力する。

(N-Nチャネル)

Ex. 説明を聞き、理解し、それを自分のことばで文章に起こす。

-

  • f(n1) = d1

対象を自然言語の表現によって理解し、デザイン言語として出力する。(N-Dチャネル)

Ex. ブランドをヒアリングして理解し、それをロゴにして落とし込む。

-

・f(d1) = d2

対象をデザイン言語の表現によって理解し、デザイン言語として出力する。

(D-Dチャネル)

Ex. あるパンフレットをつくるために、大量に参考グラフィックを見て、吸収したインスピレーションをもとに、制作を行う。(余談ですが、Pinterestはここに対して非常に有用なツールとしてポジションをとっているのかもしれませんね。)

-

  • f(d1)=n1

対象をデザイン言語の表現として理解し、自然言語として出力する。(D-Nチャネル)

Ex. ある作品をみて、その意匠やデザイン性、メッセージ性を理解し、それを評論として説明する。

-

当たり前だと思う部分もあるかもしれませんが、こういった感じで整理ができるはずですよね。これらのどのチャネルが自分にとってスムーズにいくか、あるいはスムーズにいかないかを考えることが、チャネルによる自分の優位性や趣向を考える上で大切になってきます。自己を知る上での大事な手がかりになりますね。

3–3. 優位性の診断

ところで、察しの良い人はもしかしたお気づきかもしれませんが、ここでは実はみなさんにテストをしていました。上の解説で優位の言語と優位のチャネルという概念を説明しましたが、その解説が様々な「類」の言語によって説明されていました。

優位チャネルの経路の説明において、はじめは図で説明をしていますが、f(d1)=n1などのように式化して記述したりしています。さらにその式をことばを用いて解説をしています。もうお分かりですよね?今回はあえて、優位の言語とチャネルの概念を、自然言語、人工言語、デザイン言語の3つの「類」を用いて説明しました。

みなさんはどの解説が一番わかりやすかったでしょうか?おそらく人それぞれ分かりやすい解説が異なっていたと思います。(ちなみに僕は自然言語の説明が一番わかりやすいので自然言語優位の人間です。)わかりやすかった、もしくはわかりにくかった解説がどの「類」に属するのか、それがおそらくあなたの言語の「類」のインプットにおける優位を示す指標になってきます。(こういう意図があったので、解説がやや冗長になってしまったのは許してください。)

誰かとコミュニケーションをとる時に、話が通じやすい人とそうでない人がいるかと思うのですが、それは自分の言語の優位性と相手のそれとの相性によるものかもしれません。経験則ですが「何かこの人には伝わりにくいな」と感じたら翻訳チャネルを用いて変換してあげると、「ああ、そういうことね!」となってくれることが多いです。

なので、これらの自他における言語の優位性を知ることはコミュニケーションの円滑化や相互理解にもつながります。英語教室のキャッチコピーで「英語を話せると17.5億人とつながる」というようなものを見かけたことがありますが、脳内における翻訳チャネルを鍛えると、同様に様々な領域の人と話せるようになります。(余談ですが僕はスペキュラティヴデザインを用いて多くの人と対話と議論をすることが研究の一貫になっているので、このあたりはものすごく意識しますし、意識することによって誰とでもある程度話せるようになってきました。)

こういった側面からも自他の言語優位性、チャネル優位性を理解することが大切なのはわかるかとおもいます。こうした知見がチームビルディングに有用だといういうのはこの要因がかなり大きいですね。

4. 前半のまとめ

いったんここでここまでの話をまとめておくと、言語界には「類」と「科」という単位でそれぞれを細分化していくことができます。また、それぞれのレイヤーに翻訳関係が成立し、「科」のレイヤー同士での翻訳を類内間翻訳、「類」のレイヤー同士での翻訳を類外間翻訳ということにしました。そして、それぞれの言語領域とその翻訳関係の中で得意不得意をしめる優位性が存在しました。これらは「科」のレイヤーの類内間翻訳と対比して考えるとわかりやすかったですね。

これらの「類」における領域と関係性を分析したり洞察する能力は、コミュニケーションにおいて非常に有用で、自他理解につながるものでした。余談ですが、現在リテラシーということばは狭義に「読み書きができる」という意味で用いられてがちですが、かつてルネサンス期には「あらゆる手段を駆使して、表現・理解をする能力」というものでした。優位性の理解とそれを踏まえたコミュニケーションはある意味源流的な意味でのリテラシーを獲得することといっても差し違いないかもしれません。これらを通してチームビルディングを行うことは重要であるというのは言うまでもないかとおもいます。

さてさて、ここで「そういえばクリエイティブコーディングはどうしたの?」という声が聞こえてきそうな気がしますね。これについては後半の章で解説していきたいと思います。というわけで次回は、クリエイティブコーディングが「類」の領域の言語とその翻訳チャネルを意識するにあたってどれだけ有用であるかという側面と、その意識を実践して自他理解を深める方法を実際のワークショップを通して書いていきたいと思います。

とても長くなってしまいましたが、ここまで辛抱強く読んでいただいたあなた、ありがとうございます。まだまだ、ブラッシュアップが足りてない部分もあったかもしれませんが、次回も気合い入れて書いていきます。何かご意見・ご指摘・ご感想などがあればコメントいただければ幸いです。ぜひ議論をした上で発展させられればと思います。

石原航

--

--