解説(「コンピュータ言語」から)
文章の流れで,「ほら,ね,簡単に書けるでしょ」という雰囲気を作るために 「簡潔」に書きました.しかし必ずしも「簡潔」=「容易」ではありませから, ここで少し解説をします. この種の言語研究に関心を持って頂ければ幸いです. 以下ではこの色で解説対象を示すこ とにします.
文字の集合をΣとし,σ∈Σとします.また,σを1つ並べた文字列を作る規則δを δ1={σ},2つ並べる規則を集合とは,要素のまとまりのことです.例えば,集合「日本の硬貨」は,「1 円」「5円」「10円」「50円」「100円」「500円」から成るまとまりのことで す.これを,
集合「日本の硬貨」={「1円」,「5円」,「10円」,「50円」,「100円」,「500円」}のように書くことができます.「{」と「}」とで,「集合」を作る「要素」を 囲み,表現します. このように,言葉を使って表現しても良いのですが, 言葉の代わりに,記号を使った方が簡潔に書くことができます. また,慣れるとその方が読み易くなります(これ本当!). 例えば,集合「日本の硬貨」を記号Pで,各要素も順番に記号a~fで表すと,P={a, b, c, d, e, f}のように書けます.この時の記号は何でもよいです.このように「ある集合の要素は何か」を示すのではなく,逆に「ある要素は ある集合に所属している」という関係を示す時に使う記号が「∈」です. 例えば,要素aが,集合Pの要素である,という関係は,
a∈Pと書くことができます.
δ2={σσ}とします.
文字列の長さをnとする生成規則の集合をΔ={δ0, δ1, ... ,δn}とします.例えば,文字を3つしか持たない言語L3を想像してみましょう. この言語L3は,文字の集合Σ={"い", "i", "ι"}を使っ て表現される言葉とします.例えば,2文字の単語として「いi」「ιい」 「いい」...などがあります.また,3文字の単語には,「いiι」 「iιい」「いいい」...などがあります.では,10文字の単語は...(ふぅ). このような説明では,とても全ての単語を紹介できそうにありません. そこで,文字(ひとつ分)の代表者としてσを用意します. このσには,文字の集合Σにある要素がどれかひとつあてはまりま す. すると,2文字から成る単語の集合を,{σσ}と書くことができま す. 本文中にある生成規則δnを「n文字から成る単語の集合」と 思えば,分かりやすいと思います.
このようなΣとΔから成る文法G={Σ, Δ}を考えたとき, このGから生み出される言葉(言語)は,L(G)と表現できます.これで,n文字から成る全ての単語,つまり,人が作る言葉を全て集めた集 合(Δ)が作れます.
この言語L(G)は,文字列の長さを指定すると,わたし達が使う言葉を全て作り 出すことができます.ここは,要注意です.言語L(G)をこのように,文字の集合(Σ)と言葉を作 る規則の集合(Δ)から成ると定義するのは,あくまでも言語を「記号列」 として捉えたものです.もちろん,この記号には,文字の他,音声や身振りな ども含みます. しかし,ここには,わたし達がいう「意味」はありません. コンピュータの世界で意味は「1」と「0」,または「真」と「偽」の様 に,2つしかありません. 上手く動けば「1」,上手く動かなければ「0」などです. ここら辺の話は,本文にも書いていませんが, 興味を持たれた方は,「計算論」「計算モデル」「形式言語」などをキーワー ドにして文献を検索してみて下さい.英語で良ければ,こちら(注1)もあります.
本文でも種明かしをしましたが,このままでは「らしくない言葉」が沢山作ら れてしまいます. 現在,コンピュータを使ったことばの研究では,このような言葉の記号列から 「らしい言葉」を選ぶ規則を見つけようとしています. 多くは確率的な手法を使ったものですが,他にもいろいろな試み(注1)があり ます.
果たして,わたし達は,ウランちゃんを誕生させることができるのでしょうか. これには,ことばの意味の研究が大変重要になってくると思います. わたしは,ウランちゃんの誕生を信じています.
- (注1)R.Mitkov ed., 2004, The Oxford Handbook of Computational Linguistics, Oxford University Press