「なんとなく嫌」の分解

Share

嫌いなものなら説明できる。辛い食べ物が嫌い。寒い朝が嫌い。理由は明快で、誰に聞かれても答えられる。しかし「なんとなく嫌」は違う。理由がない。理由がないのに避けたい。避けたい理由を聞かれると困る。困るから「なんとなく」と言う。

「なんとなく」は説明の放棄ではなく、正確な記述だ。本当に「なんとなく」なのだから。

「嫌い」と「なんとなく嫌」は別の現象である

「嫌い」には構造がある。対象があり、理由があり、経験がある。犬に噛まれたから犬が嫌い。怒鳴られた記憶があるからあの部屋が嫌い。原因と結果が追跡可能だ。

「なんとなく嫌」には構造がない。あるいは、構造が見えない。特定のUIを触ったときの居心地の悪さ。特定の言い回しに対する微かな反発。特定の場所に入ったときの、帰りたいという衝動。どれも、問い詰められれば答えに窮する。

この二つは質的に異なる。「嫌い」は意識の出来事だ。「なんとなく嫌」は意識の手前の出来事だ。身体が先に反応し、意識が後から「なんとなく嫌だ」と報告する。報告はされるが、報告書の原因欄は空欄のままだ。

感情が判断を先取りする

認知科学は、この現象にひとつの枠組みを与えた。感情ヒューリスティック(affect heuristic)だ。

ポール・スロヴィックらの研究によれば、人は対象に対する判断を下す際、利用可能な情報をすべて検討するのではなく、その対象に紐づけられた感情的なタグを参照する。ポジティブなタグがついていれば、リスクは低く利益は高いと判断する。ネガティブなタグがついていれば、その逆だ。

ここで重要なのは、この感情的タグが意識に上らないことがあるという点だ。ダニエル・カーネマンが「システム1」と呼んだ、高速で自動的な思考がこの処理を担う。あなたが特定のウェブサイトを「なんとなく嫌」だと感じるとき、システム1はすでに判定を終えている。システム2(遅く、意識的な思考)が起動する前に、結論は出ている。

つまり「なんとなく嫌」は、理由がないのではない。理由が意識に届いていないだけだ。身体と無意識の判断システムは理由を持っている。ただ、その理由を意識に翻訳する回路が細いか、存在しない。

微細な不快の堆積

では、感情的なタグはどこから来るのか。

多くの場合、それは過去の微細な不快経験の蓄積だ。個々の経験は意識に残らないほど些細だったかもしれない。少しだけ読みにくかったフォント。少しだけ暗かった照明。少しだけ冷たかった対応。どれも単体では「嫌い」にならない。しかしそれらが同じ対象に繰り返し紐づけられるとき、感情的タグは徐々にネガティブに傾いていく。

あなたは昨日と同じことをするで論じたように、反復は意識の下で溝を彫る。回避もまた習慣になる。最初は微かな不快感だったものが、反復によって「なんとなく嫌」という安定した傾向になる。そしてその傾向の起源は、習慣と同じく、消去される。なぜ嫌なのかを忘れたまま、嫌だけが残る。

UXデザインの分野では、この種の不快感の原因を特定するために、ユーザビリティテストやヒートマップ分析が用いられる。興味深いのは、ユーザー自身が不快の原因を言語化できないケースが少なくないことだ。「このページ、なんか使いにくい」。その「なんか」の正体を突き止めるために、デザイナーは視線の動きやクリックパターンを解析する。感情が先にあり、理由は後から発掘される。

直感と偏見の間

ここで厄介な問いが生じる。「なんとなく嫌」は信頼すべきなのか。

直感は、経験の圧縮された結晶だという見方がある。長年の経験を持つ消防士が「この建物は危ない」と感じるとき、その直感は膨大な経験データの無意識的な処理結果だ。ゲイリー・クラインの認知的直感モデル(Recognition-Primed Decision Making)は、専門家の直感が多くの場合において合理的であることを示した。

しかし、直感はつねに正しいわけではない。「なんとなくあの人が嫌」という感覚が、実際には外見や話し方に対する無自覚な偏見に過ぎない場合がある。初対面の相手に対する「なんとなく嫌」は、過去に似た外見の人から受けた不快な経験の転移かもしれない。あるいは、文化的に刷り込まれたステレオタイプの発露かもしれない。

線はどこにもなかったが示したように、直感と偏見の間に明確な境界線はない。同じ認知メカニズムが、有用な直感も有害な偏見も生産する。感情ヒューリスティックは、生存に有利な高速判断を可能にすると同時に、不当な排除の温床にもなる。

「なんとなく嫌」を無条件に尊重すれば、偏見を温存する。「なんとなく嫌」を無条件に無視すれば、身体が発する警告を見落とす。どちらの態度も、片手落ちだ。

「なんとなく好き」との非対称性

不思議なことに、「なんとなく好き」は問題にならない。

好きなものに理由を求められることは少ない。「なんとなく好き」は微笑ましい。個性的で、人間らしい。なぜこの音楽が好きなのか。なぜこの街並みが好きなのか。答えられなくても、誰も困らない。

しかし「なんとなく嫌」は違う。嫌いには理由を求められる。理由がなければ、不合理だと言われる。偏見だと言われる。了見が狭いと言われる。好きに理由は不要で、嫌いには理由が必要。この非対称性はどこから来るのか。

おそらく、好きは他者を傷つけないが、嫌いは他者を傷つけうるからだ。「あなたのことがなんとなく嫌い」は、相手にとって、理由のある嫌悪よりもきつい。理由があれば改善の余地がある。理由がなければ、どうしようもない。「なんとなく嫌」は、拒絶の中でもっとも救いのない形だ。

もうひとつ。好きは放置できるが、嫌は気になり続ける。心理学で「ネガティビティ・バイアス」と呼ばれる現象だ。人はポジティブな刺激よりもネガティブな刺激に強く反応し、長く記憶する。進化的には、危険を見逃すコストは快楽を見逃すコストよりも高い。だから脳は嫌なものに敏感に作られている。「なんとなく好き」は意識の表面を滑っていくが、「なんとなく嫌」は意識に引っかかり、留まり、気になり続ける。

名前をつけることの功罪

「なんとなく嫌」を分解しようとする試み自体に、ひとつの問題がある。

言語化できない不安の正体で論じたように、言葉にした瞬間、感情は変質する。「なんとなく嫌」に名前をつけると、その曖昧さが失われる。「それは第一印象バイアスだ」と名づけた途端、あなたの感覚は認知科学の一項目に回収される。「それはUXの問題だ」と名づけた途端、あなたの居心地の悪さはデザインの改善課題になる。

名前だけが残るで触れたように、名前のない感情は名前がないだけで存在している。しかし名前をつけた瞬間に、その感情は名前の枠に収まってしまう。「なんとなく嫌」の「なんとなく」の部分にこそ本質があるのだとしたら、分析は本質を殺す行為かもしれない。

認知行動療法は、曖昧な不快感を具体化し、検証可能な形に分解することを勧める。それは有効な手法だ。しかし分解できた部分は、元の感覚のすべてではない。分解の残余がある。分析のふるいを通り抜けた、名づけようのない何かが、つねに残る。

分解の限界

「なんとなく嫌」を分解しようとした。感情ヒューリスティックという枠組みを借り、微細な不快の蓄積という仮説を立て、直感と偏見の境界を問い、言語化の限界に突き当たった。

わかったことはある。「なんとなく嫌」には理由がないのではなく、理由が意識に届いていないこと。その理由は過去の経験の堆積であること。同じメカニズムが有用な直感も有害な偏見も生み出すこと。嫌いには好きにはない非対称な社会的圧力がかかること。

しかし、分解してもなお、「なんとなく」は残る。分析は感覚を照らすが、感覚を消しはしない。あなたがあるものを「なんとなく嫌」だと感じるとき、その感覚は分析の前にも後にも、同じようにそこにある。

たぶん、それでいい。「なんとなく嫌」は、あなたの経験の総体が、意識を経由せずに発する信号だ。その信号を無視する必要もないし、絶対視する必要もない。ただ、信号が鳴っていることに気づいていればいい。

理由がわからないまま、嫌だと思っていい。ただし、その嫌悪で誰かを裁くなら、理由を探す義務がある。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu