「このメッセージ、何か変だと思わない?」
由紀がスマホの画面を見せた。
葵が目を細めた。「確かに。構造が不自然だ」
「構造?」
「メッセージには、表層の言葉と、その下にある構造がある。構造を見抜けば、意図が分かる」
ミラが静かに近づいて、ノートに書いた。
「syntax ≠ semantics」
「構文と意味は違う」葵が翻訳した。「同じ言葉でも、構造が変われば意味が変わる」
由紀が例を求めた。「例えば?」
「『犬が猫を追う』と『猫を犬が追う』。言葉は同じだけど、構造が違う」
「あ、主語と目的語が逆」
「そう。日本語は語順が自由に見えるけど、助詞という構造マーカーがある」
ミラが次の例を書いた。
「Time flies like an arrow」
「時は矢のように飛ぶ」葵が訳した。「でも、別の解釈もできる」
「え?」
「『Time』を動詞と見れば、『時間を測れ、矢がするように速く飛ぶハエを』」
由紀が笑った。「無理やりすぎる」
「でも文法的には正しい。これが構造の曖昧性だ」
葵がホワイトボードに構文木を描いた。
「人間は無意識に、最もありそうな構造を選ぶ。これをパージングと呼ぶ」
「パージング?」
「文を構造に分解すること。プログラミング言語のコンパイラも同じことをする」
ミラが頷いて、新しい図を描いた。複雑な括弧とノード。
「構文解析木」葵が説明した。「文の階層構造を表現する」
由紀がスマホを見返した。「じゃあ、このメッセージの構造は?」
葵が分析し始めた。「まず、句読点の位置を見る。次に、接続詞。そして、主語と述語の関係」
「このメッセージは、接続詞が多すぎる。『しかし』『だから』『でも』が不自然に連続してる」
「それって何か意味があるの?」
「ある。構造が複雑すぎるメッセージは、通常、情報を隠そうとしてる。または、送信者が混乱してる」
ミラがスマホを見て、すぐに書いた。
「recursion detected」
「再帰構造」葵が驚いた。「ミラ、よく気づいた」
「再帰?」由紀が聞いた。
「構造の中に、同じ構造が入れ子になってる。『AがBだと言ったとCが言ったとDが言った』みたいな」
「このメッセージにもある?」
「ここ。『彼女は彼が彼女が好きだと言ったと言った』」
「うわ、複雑」
「再帰は、少ない要素で複雑な構造を作れる。でも、理解が難しくなる」
葵が続けた。「人間の言語は、この再帰性を持つ。それが豊かな表現を可能にする」
「でも混乱もする」由紀が苦笑した。
「そう。だから良いコミュニケーターは、構造をシンプルに保つ」
ミラが新しいメモを見せた。
「Optimal parsing: balance complexity & clarity」
「最適なパージングは、複雑さと明確さのバランス」葵が訳した。
由紀が理解し始めた。「じゃあ、メッセージを理解するには、表面の言葉だけじゃなくて、その構造を見ないといけない」
「完璧。そして、良いメッセージを作るには、相手がパージングしやすい構造を選ぶ」
「難しそう」
「でも、無意識にやってる。『これ取って』より『テーブルの上の赤いペン取って』の方が構造が明確」
「修飾語が構造を作ってる」
「そう。情報を階層化し、相手の理解を助ける」
ミラが微笑んだ。珍しい表情だった。
「メッセージの構造を見抜く力」由紀がノートに書いた。「これも情報理論?」
「広い意味では。情報の表現と理解の問題だ」
葵がまとめた。「言葉は記号だけじゃない。構造がある。その構造を理解することが、真のコミュニケーションだ」
「次からメッセージ、よく見てみる」由紀が決意した。
三人は、見えない構造の世界について、まだ話し続けた。