murawaki の雑記

はてなグループから移転してきました

Areal pressure in grammatical evolution: An Indo-European case study

Chundra Cathcart, Gerd Carling, Filip Larsson, Niklas Johansson and Erich Round. 2018. Areal pressure in grammatical evolution: An Indo-European case study. Diachronica 35(1). (appendix, code).

言語変化には縦の継承と横の接触という現象が関わり、両者をどうモデル化するかはいまだに決定打のない問題。この論文は普通はあえてやらないことをやっている。具体的には、縦のモデルたる系統樹モデルを使って (つまり接触については陽にモデル化せずに)、特徴を fitting し、系統樹上で変化の起きた時刻と場所を推定する。次に変化の時刻と場所をかきあつめて、2つの変化の時刻と場所が近ければ接触の可能性があると考える。

類型論の特徴の変化を単純化、複雑化、中立の 3 種類に分類し、それらと接触の関係を調べている。著者らは、複雑化に分類される変化は有意に非接触的だと主張している。

そういう結果が出ても不思議ではないが、手続きに微妙な点がいろいろある。そのあたりを整理するために書き出してみる。

系統樹モデルの限界

接触があると系統樹モデルは失敗するかもしれないというのが話の前提。この前提がありながら、系統樹を使って推定した結果から接触の分析を行うところがこの研究の意外性。

系統樹に沿った特徴の時間変化を考える。与えられるのは (時刻つき) 系統樹と葉の状態。推定するのは内部ノード (根を含む) の状態と、変化を支配する遷移率パラメータ。

魔法があるわけではない。子孫が同じ状態を共有していれば、それらの共通祖先も同じ状態だと推定できる。直感的にはそんな感じ。もちろん基本的には古い時代になればなるほど推定の不確実性が高まる。

系統樹モデルにおいて接触はどのような影響を及ぼすか。1 例を示す。各ノードが言語、その色が着目している特徴の状態を表す。? の記された内部ノードの状態は本当は知らない。

図 (a) が実際に起きた変化とする。矢印が接触を表す。モデルに推定させると、図 (b) のような結果が得られる可能性が高い。バツは変化の起きた地点を表す。このように推定した方が変化の回数が少なく、高い確率が得られるから。

接触があるのに系統樹モデルの適用を強行した場合、こんな感じの誤推定があちこちで起きるはず。つまり、系統樹モデルから接触を調べるのは garbage in, garbage out である危険がある。あえてやろうとは思わない。

祖先性制約

この問題への対策であると論文中で明確に主張しているわけではないが、著者らは系統樹モデルに祖先性制約 (ancestry constraint) を導入していることを強調する。よく見ると、今回の論文の第 1 著者が 2015 年の論文の第 2 著者だった。しかし、2015 年の論文は言語学的な分析と統計モデルの使い方の両方が本格的で驚いたが、今回の論文は統計面では怪しさが目立つ。やはり Will Chang が特異的にすごかったのだろうか。*1

祖先性制約について振り返っておく。現代語データに加えて文献記録の残る古代語のデータを系統樹モデルに与えるとき、通常は古代語も葉ノードにする。現代語は古代語の直接の子孫とは限らず、文語の近い親戚であるところの口語の子孫と考えた方が良い場合がある。このとき、内部ノードとして現代語・古代語共通祖語が系統樹上に設定される。共通祖語から古代語への枝がごくごく短いことが期待される。しかし、実際に推定してみると非常に長い枝が得られる場合がある。これは、共通祖語の状態が正解から程遠いものになっていることを示唆する。これに対し、祖先性制約は古代語が現代語の祖先となるよう取り得る系統樹候補に制約を加える。そうすると、古い時代にさかのぼる途中で強制的に古代語の状態になり、正解からかけ離れた状態を推定するのを防ぐ。

落ち着いて考えてみると、系統樹モデルで過去を復元したとき、実は既知であるところの過去には問題があったので対策を打ったという話である。既知の部分がそんな調子なら、本当に知りたいところの未知の過去についての推定結果が信用できるのかとつっこみたい気がしないでもない。現時点で得られるデータからの推定であって、データが増えたら推定結果も変わるものだとベイズ的に捉えるのが良いだろう。

祖先性制約は接触への対策であるはずなのに、なぜか著者らはそれを議論しない。上図の例で言うと、もし右3つの葉ノードの共通祖先の状態が黄色だと知っていたら、誤って青色と推定することはない。祖先が黄色で子孫が青色なら枝の途中で最低 1 回は変化が起きたことになる。これが祖先性制約の成功例。

失敗例も同じ図で説明できる。今度は右3つではなく、右4つの葉ノードの共通祖先の状態を知っていたとする。この場合は制約が役にたたず、図 (b) のように推定を誤ったままとなる。

結局、制約があるところでは (ある程度) うまくいっているかもしれないし、うまくいっていないかもしれない。制約がないところではうまくいっているかわからない。そして、著者らはこの問題をまったく調べていない。

その他

一番の問題を片付けたので残りを順番に見ていく。

データとしては Diachronic Atlas of Comparative Linguistics (DiACL) を使っている。というか、作っているのは第 2 著者。印欧語族を中心にアマゾン流域の言語とオーストロネシア語族を追加したような偏ったデータベース。日本語は載っていないし、個人的には使う気がしない。しかし、古代語の類型論的特徴が少しだが登録してあるのは魅力的。*2

データベースの中から印欧語族のみ取り出している。Greenberg 以来の類型論の研究では、複数の語族、地域で成り立つということが重要だったはず。Dunn et al. (2011) に対する批判がそのままこの研究にもあてはまる。

古代語を含む基礎語彙データをまず Will Chang が改造した BEAST に与えて年代付き系統樹を得る。この際地理位置も同時推定しているが、詳細を説明しない。*3 内部ノードが海上に置かれたりしているのを見ると、地理は考慮せずに単なるブラウン運動としてモデル化していると推測。根の地理位置の事前分布として平均 0、分散 0.001 の正規分布を緯度、経度それぞれに対して置くという意味のわからないことをやっている。一様分布では駄目なのか?

年代・地理位置付き系統樹を 20 個サンプリングし、根がユーラシアの外に出てしまった 2 個を取り除いて 18 個を分析に使う。どうしてこんなに少ないのか。自動処理なのだからもっと増やしても問題ないはず。1,000 個ぐらい使いたい。

基礎語彙から得られた年代・地理位置付き系統樹に今度は類型論的特徴を fitting する。得られた複数の木は Pagel and Meade (2006) のように、一つのモデルに組み込むと理論的にきれいだが、別々に処理している。内部ノードの状態はサンプリングすると得られる。

ノードの状態を決めると、それをもとに変化が起きた変化の位置 (時刻、地理位置) を推定する。親の状態が 1、子の状態が 0 のように親子間で状態が異なる枝に着目する。親から子の状態変化が 1 → 0 (死亡) なら、1 回しか変化が起きていないと仮定する。しかし、これは厳密には誤り。1 → 0 → 1 → 0 のように 3 回変化が起きた場合も考慮しなければならない。同様に、親子で同じ値であっても、1 → 0 → 1 のように偶数回の変化が起きた可能性もわずかだがある。*4

変化の位置を決めると、次に地理位置を決める。しかし、ここで説明している式 (7) は明らかに誤っている。気持ちを汲むと、親の時刻から変化地点までの長さに比例した位置を求めている。コードを確認するとそうなっていた。そうだとしてもやはり変で、仮にブラウン運動でモデル化していたとすると、親から子へと一直線に一定速度で動いているわけではない。本当は確率分布からサンプリングしないといけない。

6.1.1 でモデルの定量評価を行っているが、説明を読んでもよくわからない。またあとで読み返すかも。

6.1.3 で特徴間の依存関係について議論している。自明な、論理的な依存関係だけしか見ていない。ぼんやり読んでいると Greenberg 的な implicational universal も議論しているかのように錯覚する。著者らはモデルには何の対策も加えず、推定された結果における論理的に取り得ない値の組み合わせの割合を調べている。

とにもかくにも、こうして系統樹上での変化の時刻、地理位置が得られると、各変化タイプの性質を mean nearest-neighbor distance (MNN) という尺度で要約する。ある変化 (e.g. ある特徴の誕生) の系統樹上の事例に着目したとき、同じ変化の事例のなかで一番近いもの (nearest neighbor) の距離を得る。その平均が MNN。ここで距離を定義する必要がある。時間と空間を無理やり混ぜた変な尺度を式 (9) で導入している。

MNN を更にいろいろ補正して最終的な値が得られる。最初に書いたように、特徴の変化を、単純化、複雑化、中立の 3 種類にわけて傾向の違いを見たとき、複雑化だけは接触的ではないとしている。ここの補正も怪しい気がするが、気が向いたらまた考えることにする。

さてツッコミの時間。系統樹上で同じタイプの変化を探すという方針は妥当だろうか。わかりやすい例でいくと、SVO 語順の言語の話者が SOV 語順の言語だらけの地域にやってきて SOV 語順を獲得したとする。この場合、接触は起きているが変化するのは 1 言語だけなので、接触した言語は nearest-neighbor にならない。それで良いのだろうか?

印欧語族しか考えないのはどうか、例えばバルカンでトルコ語を無視してよいのかについては議論している。この議論は系統樹そのものと絡めて議論すべきだと思う。系統樹は、時間をさかのぼるにつれてノードを合流させていき、次第にノード数が減っていく。古代に話されていた言語の数が少なく、特定地域に集中していたわけではもちろんない。子孫を残さずに滅びていた言語が同時代に存在したのである。これは何も印欧語族と他の語族との接触に限らず、印欧語族内でも起きていること。

言語は、一度置き換えが起きてしまうと、置き換え前の状態は失われてしまって復元できない。せいぜい若干の痕跡が確認できるくらい。言語データは本質的に厳しい。DNA であれば、接触が起きたあとの状態から接触前の状態が復元できてしまう。言語と同じ離散データだが、接触の結果起きるのは頻度の変動であって、上書きされるわけではないから。ある allele の頻度が 0.8 の集団と 0.4 の集団が混じって 0.7 になるといった具合。こういう点が数十万のオーダで得られるおかげで、純粋な形では現存しない幽霊集団であっても復元できてしまう。接触を言語だけから特定するのは限界がある。何とかして遺伝データを活用したいところ。

そんなこんなでツッコミどころの多い論文である。Diachronica は言語系の雑誌だし、査読者も編集者も統計的な部分をろくに理解しないまま通してしまった疑惑。*5

*1:第 1 著者が書いた Python のコードはかなり汚い。

*2:autotyp 0.1.0 も中東の古代言語を収録している。

*3:公開されているコードには BEAST の設定ファイルは含まれていない。

*4:この論文が参照している Nielsen (2002) は正しく説明しているのに。

*5:editorial board に Quentin D. Atkinson がいるけど。