単語ゲームに必要なのは、合法な文字列のリストだけではありません。それぞれの文字列が何を意味するのかを伝える必要があり、意味こそ最も保存しにくいものなのです。
英語で執筆・編集されました。この日本語版は機械翻訳によって作成されたものです。正確さが重要な箇所については、英語の原文が正式なものです。 英語の原文を読む →
WordChessは25×25の盤面で、148,941語の英語辞書を使ってプレイします6。見出しは平均8.6文字で、最長のものは27文字に及びます。ここまでは簡単な部分です。合法な単語のリストとは、ゲームが受け付ける文字列の集合にすぎません。興味深いのは、盤上にある文字列が何を意味するのかをプレイヤーに伝え、しかもそれを22の言語で同時に行うことです。
辞書編纂者は、見出し語(レンマ)とその屈折形との間にはっきりと線を引きます。見出し語とは、辞書で引く語、たとえばrun(走る)、house(家)、be(である)です。その周りを、表層形のパラダイムが回っています。runs、ran、runningといった形です。それぞれは同じ中核的な意味を担いながら、異なる文法的役割に合わせて装いを変えています。3 辞書は見出し語に説明の文章を費やし、影の方には見出し語を指し示させるだけにとどめます。
ひとつの単語がどれだけの影を落とすかは、言語によって異なります。英語は分析的な言語です。語順と小さな補助語に頼るので、動詞がほんの数個以上の形を持つことはまれです。フィンランド語は膠着語で、語幹に接尾辞を貼り合わせることで意味を組み立てます。フィンランド語の名詞ひとつが、単数と複数のそれぞれでおよそ15の格に屈折し、その上に所有接尾辞や接語が積み重なります。実際に区別される形の数は数千にのぼります。4 ハンガリー語は、英語のin my house(私の家の中で)というひとつの句全体を、házambanという1語に詰め込みます。5
定義は、誰でも編集できる無料の辞書、ウィクショナリー(Wiktionary)から取られています。その規模は膨大で多言語にわたります。このプロジェクトは100をはるかに超える活動中の言語版と数千万の項目を擁し、有給の編集委員会ではなくボランティアによって共同で書かれています。1 22の言語で動くゲームにとって、網羅性の点でこれに迫る無料の語彙資源はほかにありません。
しかし、書面上の網羅性は、そのまま読み出せる網羅性ではありません。ウィクショナリーは屈折形を、人間の編集者が同じ語釈を1万回も書かずに済むような方法で保存しています。見出し語でない項目は、定義を書き出す代わりに、form-ofテンプレートを持っています。これは要するに「これはあの見出し語の特定の文法形である」と告げる小さなポインターです。2 smoulders(くすぶる)の項目は文章ではなく、「third-person singular simple present form of smoulder」(smoulderの三人称単数現在形)と表示されるテンプレートなのです。1
こうしたポインターは、無視できる誤差ではありません。英語版ウィクショナリーでは、約127万の定義のうち、およそ47万8,000、つまり3分の1をはるかに超える数が、文章で書かれた語義ではなく「〜の形」という定義です。1 データはそこにあります。ただ折りたたまれているだけなのです。
ですから、重要だった課題は決して「単語が欠けている」ことではありませんでした。単語の意味が、素朴なパーサーなら捨ててしまうテンプレートの中に収まっていたことだったのです。WordChessの定義は、ウィクショナリーの生のダンプを読み込み、屈折テンプレートを言語ごとに展開することで作られました。各ポインターが何を意味するかをパーサーに教え、それを平易な語釈に書き換えたのです。6
言語ごとに、屈折形は異なる仕組みの陰に隠されています。スペイン語は動詞の活用形を{{forma verbo}}の陰にしまい込んでおり、これは「Xの動詞形」へと解決されます。ドイツ語は、名詞類の格変化形や動詞の活用形に{{Grundformverweis Dekl/Konj}}を使います。フィンランド語は{{taivutusmuoto}}に頼っています。ロシア語はしばしば形のテンプレートをまったく持たず、屈折した語が単なるリダイレクト(собаки → собака)になっていて、「〜の形」という語釈を取り戻すにはそれをたどる必要があります。6 それぞれの慣習に対応すれば、網羅率は跳ね上がります。
| 言語 | 前 | 後 | 増加 |
|---|---|---|---|
| ドイツ語 | 45% | 92% | +47 |
| オランダ語 | 58% | 90% | +32 |
| フィンランド語 | 54% | 74% | +20 |
| ロシア語 | 20% | 70% | +50 |
| ギリシャ語 | 15% | 57% | +42 |
本プロジェクトの設計・開発ノートから計測。百分率は、使える定義または解決済みの「〜の形」という語釈を持つ辞書項目の割合です。
データが欠けていたことは一度もありません。それはポインターの中に折りたたまれていたのであり、機械に単語を与えるとは、それを広げる方法を学ぶことだったのです。
ゲームがいま何を保持しているのかについては、正直であるべきでしょう。WordChessがсобакиはсобака(「犬」)の形だと示すとき、それは何も理解していません。人間の編集者が残したのと同じポインターをたどって、ある文字列を別の文字列、つまり語釈へと対応づけただけです。これはレンマ化(見出し語化)と呼ばれるもので、自然言語処理の働き者です。表層形をその基本形に還元し、機械が追跡すべき別個のものの数を減らすのです。7
それは本物の、役に立つ種類の「知っている」です。そのおかげでゲームは、辞書編纂者をスタッフに抱えることなく、アテネでもアムステルダムでも「この単語は何?」に答えられます。しかしそれは、意味としての知識ではなく、参照としての知識です。語釈とは、それを読んだ人がその単語を理解できるだろうという約束です。機械はその約束を保持し、読み手が意味を補うのです。
一部の言語は、どんなパーサーにも持ち上げられない天井にぶつかります。広げるべきデータがそもそも存在しないからです。ハンガリー語の項目は、語源と訳語の表だけで定義文をまったく持たないことが多く、完璧な読み手でも何も得られません。最も難しいケースは、言語学的に最も難しいところに集中しています。巨大なパラダイムを生み出すフィンランド語やハンガリー語のような膠着語と、そもそもコミュニティによる網羅が薄いキリル文字やギリシャ文字の言語です。ギリシャ語は15%から57%に上昇しました。それがドイツ語の92%に遠く及ばないのは、コードではなく、情報源についての事実なのです。6