自然言語理解とそのモデリング

はじめに

 さいきん自然言語処理分野では「自然言語理解」なるものをどう考えるかについて議論があったりします。膨大なパラメータを大量のコーパスで訓練したシステム( GPT-3 とか)を用いると言語理解が関わるようなさまざまなタスクで高い性能が達成できることがわかってきた今日このごろ、そうしたシステムが本当に「言語理解」なるものを実現しているのかということが焦点です。これは言語理解である、言語理解ではない、そもそも言語理解ってなんやねん……などなど、考えさせられる議論が論文やブログ記事などで展開されています。読んでいても何もわからん……状態になったので、ともかく自分の理解を整理してみようというのがこの記事を書き始めた動機です。

 こうした議論から得られる帰結(あるいは教訓)のひとつは、結局は理想的な言語理解なるものを定義しようと試みても決着しないので、具体的にどういった振る舞いがそれに含まれるのかを適切に切り出してタスクとして評価可能にする、という方針です。そこで上記議論を追ったのち、「言語理解にはどのような振る舞いが含まれるか」について分類の方法論の可能性を書き出してみようと思います。こうした分類は振る舞いを評価する仕方について直接的な検討を与えることになります。

 他方で私たちはひとつの営為としてそうした振る舞いを実現する機構を何らかの形でモデル化します。モデルは言語理解についてのある種の理論として機能するわけですが(厳密ではない)、モデルの作り方や作ったモデルの種類などによって得られる知見はおそらく異なります。そこで最後に「私たちはモデルの構築を通じてどのように対象についての納得を深めることができるのか」について考えます。

1. 言語理解についての最近の議論

 議論の発端となったのは 2018 年の Twitter 上での議論 のようです(おそらく GPT の直後?)。非常に長いスレッドが生まれているのですが、本記事では後続の議論の嚆矢になった Bender & Koller (ACL 2020, 以降 B & K) の論文を見ていくことにします。

 この論文のおもな主張は、「 形式 (form) のみで学習したシステムは意味を理解することができない」というものです。ここで形式は「(文字や発話など)言語的な情報が何らかの形で表現されたもの」であり、意味の理解は「形式から伝達意図 (communicative intent) を取り出すこと」、伝達意図は「その形式を産出した主体が伝えようとしている情報」と定義されています。かなり抽象度が高くぼやっとした印象がありますが、とりあえず進めます。

 「形式のみで学習したシステム」というのは、ありていに言えば最近流行っているテキストデータのみで事前訓練した言語モデルベースの深層学習モデルのことを指しています。こうしたモデルは伝達意図を捉えることができない、というのが B & K の主張です。こうした主張を説明する道具として、彼らは論文のなかで octopus test という思考実験を提案しています:

英語話者 A と B がおり、それぞれ別の無人島に漂着した。無人島には通信機があり、海底ケーブルでつながっていて互いに通信できる。海底にはタコがいて、英語はわからないがケーブルの通信を傍受してふたりの会話から統計的なパターンを見つけることができ、一定の期間を経て B が A に対してどう応答するかを高精度で予測できるようになった。あるときタコはケーブルを切断し、 B のふりをして A に応答することを試みた。タコは A に疑われないように応答を続けることができるだろうか?

 タコが A を欺けるかどうかは、 A がどのような話題を出すかに依存するように思われます。A と B は普段から日常的な会話を続けており、必ずしも発話内容が話者や無人島の状態と適切に結びついている必要はありません(検証できないため)。したがってタコは日常会話くらいなら普通にこなせるかもしれません。しかしあるとき A はクマに襲われてしまい、通信先の B (実際はタコ)に対処のための助言を求めたとします。でもタコは A の発話内容と物理的な対象を結びつけることができないので、その場の A の状況に応じた助言ができないかもしれません。このように伝達意図を理解することが要求される状況では、形式的な情報しか学習していないタコは適切な応答ができないかもしれません。

 この思考実験の意図は、タコの得られる情報が形式的なもの(ここでは発話)のみであり、それを実世界に grounding するための情報は何も得ていないために伝達意図の理解ができないということを指摘するという点にあります。のちに Michael (2020) が指摘するように、これは Turing test のような評価タスクというよりも一種の直観ポンプ*1であり、あくまで読み手に要点を掴ませるための設定であると捉えるのが良さそうです。

 さて B & K の主張ですが、本当にタコは言語理解ができないと言えるのか考えてみましょう。Michael (2020)ACL 2020 会議中の議論をまとめてくれているのでそれをざっくり追うことにします。まずこの実験設定にはタコの出力が形式のみであるという制約が存在するため、タコががんばって A を助けに行かなければならないような話ではありません。したがって、(評価タスクではなく思考実験にすぎないとはいえ)B ならこう話して A を助けることができるという想定解があると考えるのが自然でしょうし、とても賢いタコがその想定解を出力できる可能性はゼロではないかもしれません(言語モデルで同じ実験を考えると、インターネットのどこかに「クマに襲われたらこうしよう!」という文章が存在し、それが偶然 A の状況に合致したアドバイスになっていた、ということがありえます)。もちろん B & K の主張は特定の設定に依存したものにしたいわけではないでしょうから、一般化すると「形式のみを学習したシステムと人間(意味理解ができるエージェント)を区別できるような何らかのテストが常に存在する」と言い換えることができるかもしれません。しかしこう捉えてもなかなか決定不可能な主張のようにも感じられてよくわかりません。というのはこの主張の構成要素はさまざまに変わりうるようにも思えるからです。たとえば「そのテストに関するどのような事前知識が学習対象の形式に含まれているのか」が気になります。もちろん任意の事前知識を含めることは困難ではあるので、コーパスに存在しないような何らかの新奇な例を入れてみるのがよいかもしれません。自分がいつも出している例は Levesque (2013) の「ワニは障害物競走ができるか」で、こうした新奇な例を集めたデータセットが出ていたりします(StrategyQA, Geva (2021) )。しかしまたいたちごっこにこうしたテストをパスしてしまうかもしれないシステムを想像することは可能であり、究極的にはあらゆるテストはパス可能かもしれません(これは中国語の部屋がそもそも実現可能なのかという疑問に関わる気がします)。ただもちろん形式的なデータのみを使わなければならないというルールがあるわけではないので、 B & K の本来の主張のように形式以外のシグナルを含めたシステムを作るのが現実的には素直なようには思えます(Potts (2020) も似たことを言っています)。GPT-3 から DALL-E の話はまさにそんな感じでしょうか。

 では「形式のみ」の状況設定から少しだけ外れて何らかのシグナルを入れてもよいとするとどうなるでしょうか。形式のみの学習でもモデルによっては何らかの潜在表現を獲得していると考えられます。その潜在表現の空間が適切に知覚情報の意味空間にマッピングされるのであれば、実は形式以外にほんの少しのシグナルがあるだけでその全体の対応付けを構成できるかもしれません。たとえば色について、すべての色の語彙がそのスペクトラムのどこに位置しているかを知っているとすれば、少数の色さえ grounding できればすべての色を grounding できるかもしれません。そのために必要な最低限の情報(議論の中では toehold や prior と呼ばれています)は、機械学習システムなら inductive bias として含めることができるかもしれませんし(ここは自分が少し勘違いしているかもしれませんが、タスクとしてのシグナルなら訓練データですが、そこから得られるであろう一般的なシグナル自体をシステムに入れることも可能だと思います)、動物がすでに持っているようなものかもしれません。たとえば octopus test で登場するのがタコではなく人間 C であり、C は A と B が使っている言語を知らないとしたらどうでしょうか。最終的に C は自分の持っている知識に照らし合わせて A と B のやりとりを理解できるようになるかもしれません。だとすると、A と B のやり取りを理解するために C が持っているべき事前知識の量はどこまで小さくしていくことができるでしょうか。C が非常に賢ければ最初から完全な言語を獲得している必要はないかもしれません。その賢さはどのような類のモデルで実現しうるのか、モデルに必要な事前知識は何であるのか、私たちはそれらを実際に構成できるのか、というのがここまでの議論から出てくる実践的な問いになるのかなと思います。

 ここまで踏まえると B & K が最初に提示していた主張はかなり雑に言うと「すでにかなり賢いと思っていたタコがそれよりもさらにめちゃくちゃ賢い可能性がある」という指摘で否定されてしまったかのようにも見えるのですが、ひとつ気をつけたいことがあります。それは彼らはあくまで「人間らしい (human analogous) 言語理解」を要請しているという点です。この前提だとたとえば「人間はそういう汎化はしないだろう」といったような汎化能力(人間よりも膨大に事例を覚えてそれを組み合わせるなど)は想定できないということになります。現にタスクベースの分析だと含意関係認識や読解で「そういう解き方はしないだろう or これは解けなきゃダメだろう」と stress testing や probing をする論文は数多く存在します(自分のこれまでのデータセット分析をする研究もここに位置付けられます)。これ自体が妥当な要請かどうかはさておき(規範的な主張なので)、そうなるとなるべく人間らしい言語獲得をしてもらうにはどうすればいいかという話になります。 B & K の論文中では、人間は形式のみから言語獲得はできないという研究が引用されています。さらに言えば、知覚情報だけでなく身体性や社会的な環境における共同注意 (joint attention) や志向性の共有 (shared intentionality) がおそらく必要でしょう(このあたりは Tomasello (2003) Constructing a Language (辻ほか訳 (2008)『ことばをつくる』)や Tomasello (2014) A Natural History of Human Thinking ( 橋彌訳 (2021)『思考の自然誌』)が詳しいです)。同様の指摘は Bisk et al. (EMNLP 2020) でもなされています(後述)。この方向性の研究もこれからどんどん増えてくると思いますが、一方で言語獲得を評価する方法をどうデザインするかは難しいことも多い気がするので一筋縄ではいかないかもしれません。

 長くなりましたが、ここで一旦話を冒頭に戻してみましょう。かなり抽象的な議論を続けていましたが、実際のところ「言語を理解する」という振る舞いに厳密に正しい定義を与えることは困難ですし(抽象度が高すぎて究極的には規範的言明にならざるをえないと思います。そうなると No true Scotsman fallacy *2は避けられないかもしれません)、その内実には多様な振る舞いが含まれます(Sahlgren & Carlsson (2021) は Singleton fallacy という名前をつけて指摘しています)。そしてそれを評価するためにタスクを作らなければならないとなれば、言語理解なるものをトップダウン*3に掘り下げていって個別の振る舞いを切り出してじわじわ着実に進めていくしかありません(タスクによる評価を積み重ねることで理論(モデル)自体の反証可能性を高めていくという捉え方をします)。これは Dietterich (2019) も指摘していました*4。ということで、その切り出しをやるためにはどういうことに気をつけるのがよさそうか、を次の節で触れたいと思います。

2. 言語理解とは何か、どう分解していくか

 私たちは言語理解という振る舞いに対してどのような説明を与えることができるでしょうか。まず規範的には、つまりその振る舞いはどういったものであるべきかという観点からは、ある言語的な入力が与えられたときに共同体における自分の生存のために不利益にならないように振る舞うことなどと説明する考え方があります (目的論的意味論や起源論的な説明に自分がある程度納得している、ということの表明だとご理解ください)。その言語的な入力あるいはより一般に記号は(厳密には志向的表象は)、その記号の生産者や消費者がそうした記号をやりとりすることによって自然選択において有利だったようなものとして説明されます(系統発生的には、ヒトの記号のやりとりが言語という文化と呼べるようになるのは志向性の共有から起きたものであるという(Tomasello の)説明があり、自分はこれは確かにそうかもなあと思っています)。ただしかしこれはあくまで規範的な説明ないし定義であり、いくらでも変容しえます(「真の言語理解」問題)*5。この手の話が気になる人は 戸田山 (2014)『哲学入門』Millikan (2004) Varieties of Meaning信原訳 (2007)『意味と目的の世界』) を読むとよいかもしれません(恥ずかしながら自分の知識はここから前進していません。最近どうなっているのか知りたい。たとえば Millikan (2017) Beyond Concepts が比較的新しいですが、自力で読み通す能力と時間がありません)。

 したがって実践的には言語理解にはどのような振る舞いが含まれているか具体的に記述していく方針がよさそうです。たとえば普通私たちは言語的なコミュニケーションを経て必要な行動ができます。文章を読んで必要な情報を入手し、自分の行動のために活用したり知識として蓄えたりすることができます。これはみんな大好き David Marr のいう 3 つの記述のレベル における計算のレベルに相当します(何がどのレベルかというのはあくまで相対的な気もしますが)。タスクで振る舞いを観測する・評価するという観点からこの区別を見ると、他の2つのレベル、つまり振る舞いがどのような内部的な情報処理で起きるのか(アルゴリズム・表現のレベル)、その内部的な情報処理が物理的にどのように実現されているのか(実装のレベル)、といったことはタスクの遂行可能性とは基本的に独立であるということになります。もちろん「どのようにモデリングするか」という論点としては非常に大事ですので、次の節で触れます。

 さて、振る舞いとしての言語理解を噛み砕いていくとき、 まず入出力のメディアを考えるのが簡単かもしれません。いろいろありえますが、さしあたり Bisk et al. (2020) を下敷きにすると次の3つの分類がありそうです:

  1. 形式(コーパス・インターネット)
  2. 知覚情報(形式による指示や相互の変換など)
  3. 環境情報(身体性・行動・社会的環境における知覚情報・形式情報の処理)

 ただこの分類はあくまで便宜的なもので、たとえばメタファーのような形式を理解するために知覚情報や身体的な感覚を経由するほうが便利な場合など、下位のデータを理解するのに上位の情報を必要とすることは往々にしてありえます(どっちが上とか下とかいう話でもないのですが)。ただし前節の議論で言われていたように、出力が下位のデータのみに留まる限りは「膨大なテキストデータ」から正しい振る舞いを導くことができる可能性が常に存在します(少なくともそのようなモデルは存在可能である、くらいの意味です)。たとえばメタファー表現は身体性を伴う場合がありますが、たとえばメタファー表現を理解する(適切な対応を選択する)ことを身体的な情報なしで行った場合(そのようなモデルを想像することは可能です)、これは起源的には理解しているとは言えないかもしれませんが、テキストデータのみの入出力でそれを区別する意味はあまりないかもしれません*6*7

 文章の処理において心理学では surface structure / textbase / situation model の区別があります(たとえば Kintsch (1998) とか、 Construction--integration model あたりを探すと出てきます)。それぞれ、入力情報から変換された言語的な表現(分節性の認識も含む)、その表現から構成された命題、命題が知覚情報なども含めて相互に関連付けられた心的表象、を指します。 NLP では parsing や tagging レベルの処理、文関係の認識や知識推論、要約や(高度な)読解(利用可能ならマルチモーダルな情報を含む)や対話履歴などのみを文脈情報とする対話タスクもありえます。Situation model そのものは「文章を読んだときに心的表象として何を思い浮かべるか」を規定する概念だと思われるためここに書いていますが、これをもとに「与えられた文脈情報をもっとも良く説明する situation model を構成すること」を読解の定義として与えている人もいます(Zwaan (1998)Hernández Orallo (2017) の流れ)。Fauconnier の Mental space みたいな話も近いと思います*8

 この3層の区別は理解における強さや深さのような性質として取り扱えるような気もします。たとえば認識論や科学哲学にまたがる領域では こういう論文 があったりしますが、この議論では理解の種類として次のようなものが挙げられています(かなり圧縮しています):

  • 個別的な事物や概念にかかわる世界知識、言語知識で構成されるもの(記号の単純な指示など)。
  • 単一の事象について主体や客体を認識するもの(事象内の関係)。
  • 事象に関わる因果関係や歴史的経緯、含意、帰結等を把握するもの(関係の集合)。

これは前述した心理学的な計算モデルが措定するものに似ています。前者は「人間の情報処理がそうなっている(表象に分節性・階層性・合成性がある)」ということを言うための概念でしたが、後者のこの分類は「より一般に主体が何らかの理解する際に取り扱われる情報にもそういう構造がある」と言えなくもなく、とりあえずはこういうものに行き着くよなあという印象があります。

 また、命題の理解という言い方をする際にはその命題の factuality が問題になることもあります(これは前節の Michael (2020) の議論でも触れられていました。言語モデルから知識を取り出せるかどうかの研究も最近は盛んですね)。命題の真理条件(と言っていいのかわかりませんが)はそれを認識するスコープ(あるいはフレーム、ドメイン、準拠領域)が何かということに大きく依存しますが、特定の振る舞い・技術を単一のタスクで評価するという方法論の枠内ではあまり明示的に意識されることは少ないかもしれません。 Factuality が問題にすることはつまり、ある情報を一定のスコープで表象できるとき「わかっている」ことにするか、あるいはその情報の事実性がスコープによって異なりうること(たとえば言語学的な分析は Carlson & Pelletier (1995) など)を考慮できるところまで含めて「わかっている」ことにするか、という論点になりそうです。

 断片的な記述になってしまいましたが、要点をまとめておきます。言語理解なるものを語るときには、少なくとも以下が考慮されるとよいかもしれません。

  • 定義の仕方:規範的(あるいはかなり抽象的)か、記述的か
  • 記述のレベル:外部から観測可能な振る舞い、内部的な情報処理、その物理的な実現
  • 入出力のメディア:テキストデータ、知覚情報、身体性、社会性
  • 内容の分節性・合成性:単一の概念、命題、より広い状況
  • スコープ:命題の真理条件を与えるもの、その任意性

3. 理解のモデル化と納得について

 自然言語処理・計算言語学の営みの形態のひとつのあり方はおそらく「人間の言語を何らかの形で処理するモデルを作り、用意したタスクでその振る舞いを評価する」だろうということを 以前の記事 で述べました。その考えは大きく変わっているわけではなく、タスクのデザインについては前節のようにこういうことをがんばるのが良さそうということが少しずつ得られているかもしれないのですが(怪しい)、一方で「モデルをつくること・シミュレーションをすること」を通して私たちはどういう情報が得られれば納得できるか・最終的に目指すものがなんなのか、というもやもやがずっとあり、それをもう少し解消したい気持ちがあります(個人的な気持ちです)。

 科学哲学と呼ばれる分野では、科学者がその研究の過程で作り出すモデルに着目した議論があります。モデルにはどういう種類があり、存在論的・認識論的な立ち位置は何であり、どのような役割を果たしているのか、といったことを考えるみたいです(概説は Models in Science (Stanford Encyclopedia of Philosophy) がよいと思います)。ここでとくに Weisberg (2013) Simluation and Similarity: Using Models to Understand the World松王訳 (2018) 『科学とモデル』*9を参考にしながら、この分野で論じられていることを下敷きにして自然言語処理・計算言語学におけるモデリングについて考えてみます。あまり関係しなさそうな内容は省きますので、気になる人は本を参照してください。

 非常にざっくりまとめます(この段落は飛ばしてもよいです)。まずモデルには具象的なもの (concrete) 、数理的なもの (mathematical) 、計算論的なもの (computational) の3種類があります*10。それぞれのモデルは構造 (structure) と解釈 (construal) からなり、モデルの分類によって異なる構造が与えられます(数理的なものと計算論的なものの決定的な違いは無いようですが、手続き的な処理が中心となるモデルを計算論的なものとして別のくくりにしているみたいです)。モデルの解釈は割り当て(assignment; 構造の部分が現象の何と対応するか)、意図された範囲(intended scope; 対象となる現象のどの範囲を表現するか)、忠実度基準(fidelity criteria; モデルが現象とどれだけ類似しているか)という 3 つの部分からなります。忠実度基準には動的なもの(dynamical; モデルの出力が現象にどれだけ類似しているか)と表現的なもの (representational; モデルの構造が現象の因果的構造とどれだけ類似しているか) があります。またモデルは作成者によって現実から何らかの形で現象を理想化 (idealization) しており、対象となる現象は(単純化や要素の捨象を経て)歪められた形でモデルに表現されることになります。この理想化を経ているため、モデルが信頼できる予測に資することを評価するためには頑健性の分析 (robustness analysis) を行う必要があります。分析の対象としてはパラメータ・構造・表現が考えられ、モデルを記述するパラメータの変化、モデルの構造の変化(たとえ変数の追加や手続きの変更)、モデルがある特性を表現する方法の変化などを通して「モデルの部分が意図した現象の再現に結びついているか」を検証します*11。これは「科学者はこうやっているだろう」(あるいは「こうするのがよいだろう」)という科学的営為に対する Weisberg の解釈です(たぶん)。

 さて、ふだん自然言語処理・計算言語学で作っているものはおそらく計算論的なモデルです。計算論的なモデルはデータとしての入力を何らかのアルゴリズム的な手続きによって変形して出力します。構造と解釈の区別ができるという観点に立てば、モデルの作り方には 2 つのやり方があると言えるかもしれません。ひとつは構造の部分に対して解釈を与えながらモデルの全体を作成し、それを振る舞わせる方法(解釈優先)。もうひとつはモデルの全体的な構造を先に与えてからそれを振る舞わせ、あとから構造の部分に対して解釈(個々の振る舞いへの割り当て)を与える方法(構造優先)。ボトムアップトップダウンと呼んでもよいかもしれませんが(いずれにせよ相対的な呼び方ですが)、 前者の解釈優先な方法が特徴をあれこれして明示的に定義された手続きの総体としてタスクを実現する古き良き言語処理、後者の構造優先な方法が深層学習全盛で end-to-end に全体的な構造を与えてぐりっとタスクを実現するナウな言語処理とも言えるかもしれません。この解釈優先・構造優先のそれぞれの良し悪しについてもう少し考えてみます。

 解釈優先の方法では、対象としている現象(振る舞い)はこのように再現できるだろうという仮説を立て、それを何らかの手続きや数値計算に落としこむ(構造化する)ことでモデルを作ります。そのため手続きはある程度の粒度で意図的なものであり、その手続きをこう変更したら振る舞いはこう変わる、ということがある程度期待できます(ここが重要です)。一方でその手続きの意図を外れた事象には対応できず表現力は限定的になります。対して構造優先の方法、とくにニューラルネットのように表現力の高いモデルを用いる場合は、その全体の構造を与えることはさほど難しくないかもしれませんが、モデルの部分構造(あるいは表現そのもの)がどのような振る舞いに対応しているかを特定することがそこそこ困難です(もちろんたくさん研究がありますが)。これにより、タスクで要求されるような粗い粒度(あるいはデータセットの分布の範囲内)ではうまくモデルの振る舞いが予測できたとしても、自然言語が備えている合成性・創造性に基づいて多様に細かく入力が変化した際にどのように振る舞うかを予測するのは困難になります*12。ということで振る舞いの予測ができない・部分構造に解釈を与えられない、というのが「納得感の欠落」の要因かもしれません。

 少し繰り返しになりますが、理想化や頑健性の分析とも話をつなげてみましょう。自然言語処理によくある「タスクを定義してその枠内でモデルを評価する」という方法論においては、たとえば理想化は「入力として受け取れるのはテキストデータのみ」「理想的には無限に入力があってほしいがそれは無理なのでデータセットの範囲の入力で汎化を目指してもらう」「理解という振る舞いを含意関係の認識や文章の質問応答で評価する」などに相当し、本当はもっと違う理想的なやり方があるかもしれないものを現実的な制約から妥協したり部分問題に落としたりして定式化しています。そうした制約(理想化)のなかでそれでも理想的に振る舞うことを期待するためには、そのモデルの頑健性を調べることが必要になりそうです(統計や機械学習の文脈における頑健性よりもぼやっとした意味だと思います)。頑健性の分析は、モデルのパラメータや部分構造、表現形式に何らかの変化を与えたとき(=介入したとき)に期待する振る舞いの変化が得られるか(=因果関係が見いだせるか)どうかを評価するわけですが、ここで構造優先でモデルを組んでいると振る舞いの部分的な解釈をモデルに帰属させた形で分析を進めることができなくなります。このままでは、モデルを通して得られた説明を信頼することができず、理論的な強度を上げることが難しくなります*13。繰り返しになってしまいますが、これが自分の「わからんなあ」感の一因になっているように感じます*14

 では、以上の話をタスクとモデルのそれぞれの観点からまとめてみます。

  • タスク:言語理解なるものはそれを構成するより細かい振る舞いの単位に分割することができるかもしれません。そこで周期的に・規則的に発生する振る舞いについて予測したりその因果関係について説明したりすることが(学術的にも実用的にも)ひとつの意義のあることになりそうです。そのためには、振る舞いの総体だけでなくその細かい単位(これは自分が今まで「能力」と読んでいたものや、言語知識・世界知識まで含みます)まで検証できるようなタスクであることが求められるかもしれません。

  • モデル:まずどのようなアルゴリズム・(内部)表現がそのような細かな振る舞いの単位を実現するかについて仮説を立てるということをします。その仮説は、解釈優先の場合は対応する個々の手続きとして実現されるか、構造優先の場合には構造の部分に割り当てを与えることになります。そして特定された手続きや部分構造を変化させたときに意図した振る舞いが得られるか検証することでその割り当ての信頼度を高める、ということが行われるべきかもしれません。

 ということで、結局のところ「モデルの内部構造」と「タスク上の細かな振る舞い」がより密接に対応して評価されること(理想的な振る舞いの総体に対してたくさんの割り当てが得られること)が自分が納得するためのひとつの手段なのかな、と思いました。

おわりに

 最後にいくつか所感を述べたいと思います。ここまで書いて改めて実感したことは、当たり前のことなのかもしれませんが、どうにも自然言語処理・計算言語学の人たちだけでできることには限りがあり、他の分野の人たちと協力しなれば分野を進展させるのはかなり大変そうである、ということです。本記事の最初の節の議論を見ていても認識論の思考実験や議論に詳しい人が交通整理をすることは可能かもしれませんし、理解と呼んでいる振る舞いを適切に分割していくためにはもっと言語学的・認知心理学的知見に依拠して言語現象レベルの共通項を抜き出していく必要があるでしょう。モデリングの区別や解釈については認知科学で特にモデリングをしている人やもちろん科学哲学でそのあたりを重点的にやっている人が近くにいたりすれば自分たちの立ち位置や方向性をより明確にすることができるかもしれません。シミュレーション環境での視覚・言語・身体性を織り交ぜた研究をするのに人間の言語獲得(認知心理学発達心理学;もちろん生成文法認知言語学も)に詳しい人に話を聞くことは仮に完全に人間を模倣するわけでないとしても対照のために必要でしょう。といっても日々のけんきゅ〜という観点からは「目の前にある今できることを粛々とやれ」ということしか言えないのですが、だんだんともうちょっと広い視点のことも言わなければならない場面もあったりなかったりしたりしなかったりという感じになってきている気がしないわけでもないわけです(本当か?)*15。より端的には「あんたら何やってんの?」と聞かれたときにその人たちにわかってもらえる言葉でなるべく伝えたいわけで、そのための語彙を持たねばなあという感じです(ちょっと媚びたことを書きすぎな気がするのですが、あまりにも知らないことが多すぎて困ったなあと強く思っていることは事実です。素人がこんな感じでまとめを書いただけではどうしてもただのパッチワークのように感じてしまいます)。ちなみに、自分がこのように「対象の全体像をなるべく把握しておきたい」と感じるのは学部を卒業する頃に van Gelder (1998) The Roles of Philosophy in Cognitive Science を読んだことに由来しています*16

 最後に最近のことについて。いま自分はおもに次の 2 つのことに取り組んでいます。

  • 自然言語理解が関わりそうなタスクのデザインとデータセット構築。現状の強いシステムにまだできないような振る舞いを洗い出して、それを評価指標が整った品質の高いタスクとして提示します。このテーマは幸いにも JST さきがけ「信頼される AI 」領域 に採択されて取り組んでいます。2020年度は断続的にクラウドソーシングをするためのツールを書いたりしていて(タスク内容や作業者を管理するためにサーバを立てて MTurk API を叩きまくり ます)、現状ようやく「とりあえずタスク投げてみるか」のループが早く回せるようになってきています。このあたりの背景は 自分の過去の記事 などがもう少し詳しいです。
  • 機械による自然言語理解のモデリング(を人間)の(言語理解と接続する)ための理論的基盤づくり。生成文法認知言語学の理論面からの研究を把握したり、認知心理学で文章理解がどう取り扱われているかを追ったり(再現性の危機*17 が叫ばれるなか、計算論的なモデルを作る人たちにこちらから貢献できることがあったりしないのかなあと思ったりします)、哲学的な話が絡む議論を整理したり、あるいはここ一ヶ月くらいでかなりモデルやデータセットのもうちょっと数理的な取扱いについて手を動かす気が湧いてきています(Perez et al. (2021) とか。ミーハーすぎるな……)。これに連なって、自然言語理解の研究するうえで心理学の状況モデルの考え方や妥当性概念から学べることがあったりしそうだね〜と 議論する論文 は EACL 2021 に採択されました。査読では抽象的すぎてわからんって言われまくりました(Accept 出してくれた査読者が丁寧に誘導してくれて内容が充実しました、本当にありがたい。議論メインの内容を良い会議に通すのは英語が激下手なのもありかなり無謀な試みでしたが、よい経験になりました)。こういった探索を通じて、タスクデザイン・モデル構築に対してどういったアプローチがありえて、何が有望そうかということにあたりをつけるということをやりたい気がしています。どう見ても風呂敷を広げすぎですが、半年〜1年くらいでいったん収束させたいと思います。

上記それぞれについて、共同研究などご興味のある方はぜひご連絡ください。よろしくお願いします。

*1:Dennett が作った言葉で、哲学的な議論で読み手に要点を掴ませるための思考実験のこと

*2:真のスコットランド人が定義できない状況で「真のスコットランド人は……をしない」と反証不可能な意見を述べる詭弁・誤謬。Michael (2020) で初めて知りました。

*3:B & K が論文中で主張していたことでもあります

*4:Dietterich は(科学)哲学的な議論にも触れつつ書いています。彼のおすすめに従って、たとえば Chinese room argument の SEP の記事 を読んで議論の類型を知っておくのも悪くないかもしれません。

*5:書いていて気が付きましたが、自分は規範的な説明と抽象度の高い記述的な説明をあまりしっかり区別していなかった気がします。

*6:ある因果連鎖の始点と終点を直接結ぶ知識を(形式的情報のみから)獲得することによって中間項を短縮できる、というのがどこでもありえるというのがこの手の話の難しいところです。これは志向的表象の入れ子構造・埋め込みの話に近いよな、と思ったりします(戸田山 (2014) 参照)。

*7:理解という振る舞いをその主体の何に帰属させるかという話になりそうですが、これはもう哲学的ゾンビやスワンプマンの話と同じな気もしてしまいます(どういった議論があるのかあまり詳しくないですが)。

*8:Tayler (2012) Mental Corpus で知った

*9:よい本だと思います。計算論的なモデル(後述)については The Scientific Imagination (2019) というアンソロジーの Chapter 8 でも詳しく述べられています。

*10:松王訳は computational = 数値計算 だったのですが、個人的な嗜好でこう呼んでいます

*11:自分の解釈ですが、忠実度基準が単純な類似度の指標であるのに対して、頑健性の分析は割り当ての信頼度に関わるものなのかなと思いました。微妙にわかりきっていませんが。

*12:機械学習モデル的な意味での頑健性や、取り扱う分布にシフトがある際の振る舞いの保証の問題に近いかなと思います。もちろんモデルの部分構造(ないし表現)に解釈を与えなくても良く振る舞うようにできるかもしれませんし、その振る舞いを予測できるようになる道具立てはあるかもしれません(できればそれで納得したい)。あまり突っ込んで書いても仕方ないですが、結局はいろいろ上手くいってしまったものを後から解釈するということを繰り返していくのだと思います(人間に対してもそうでしょうし)。

*13:怪しい言明

*14:じゃあ具体的にどのような理論(と仰々しく表現するのがよくないんですよね、説明と言えばいいんです)が得られたら嬉しいのか、どれくらいの解像度があるとよいのか、について決定的なことは(本来的に)言えないのですが、このあたりはもうちょっと勉強して出直そうと思います。

*15:手近な研究ネタをやるのも人生大事なのですが、目を背けたくなるあれこれ(?)を進めるにはそういう言語化もたぶんたまに必要……。

*16:この論文を知ったのは 戸田山 (2002) がきっかけです。

*17:自分の関心に近いことをやっているところの Zwaan さんが書いているのを見つけたので貼りましたが、よいレビューだと思います。日本語の解説で勉強になったのは 日心若手シンポスライド とか(ちょっとズレますが)。機械学習分野だと Bouthillier et al. (NeurIPS 2019) が記憶に新しいでしょうか。