![]()
言語の使われ方の比較
![]()
LLM(大規模言語モデル)は文章や単語を文脈や意味をベクトル化したものに変換して操作する。その変換は、学習に使ったテキストを書いた人たちの文化的な要因によって変化すると考えられるので、異なる文化から学習したLLMを使って同一の言語がどのように異なる使われ方をするか定量的に調べられないか考えたい。
言葉は使う人々によって絶えず書き換えられている。たとえば日本語の「とても」は、かつては否定形(とても〜ない)でしか使われなかったが、今では肯定的な強調としても定着している。同じように、「いらっしゃる」は「いかれる」「こられる」のように変化しつつあるようだ。これらは最初は誤用と言われてきたがだんだんと市民権を得てきている。いずれ正式な日本語になるかもしれないし、他の言葉で置き換えられるかもしれないし、あるいはもとに戻るかもしれない。こうした「誤用が市民権を得ていく過程」は、文章を見れば比較的はっきりとわかる。時代や文化によってどのように変わっているかも、比較的容易に調べられる。
しかし、もっと曖昧で、言語化しにくい変化もある。 例えば話す、しゃべる、語るはともに同じような意味を持つが、日常生活ではなんらかの基準によって使い分けられているように思われる。しゃべるは、会話をしているようなときに使い、語るは何か自分の体験やストーリーを比較的長めに説明するときに使うように思われるが、これが過去でもそうであるのか、あるいは多くのコミュニティに共通するものであるのかはなかなかわからない。我々はこれらを無意識に使い分けているが、その境界線が100年前と同じなのか、あるいはコミュニティによって違うのかを突き止めるのは至難の業である。ひとつひとつの文献を読み解く従来の手法では、膨大な時間がかかってしまう。
こういう状況であれば、単に興味があるからというだけで研究するのは難しく、背後に大きな目的があるような場合でないと研究ができないだろう。例えば「神」という単語の使われ方から宗教観の変化を調べる、のような大きながあれば、このような大変な作業も価値を持つ。それでも、言語化しにくいあいまいな感覚をしっかりと記述している文献は少ないであろうし、それを多くの文章から読み解いていくことは簡単にはできず、かつ客観性を担保することも難しくなってくる。しかし、実際には、このような大きなテーマにかかわらない言葉であっても、人々は大きな興味を持つだろう。たとえば、上記の話すしゃべる語るの違いは、わかればたぶん面白い。多くの単語の変化をなんとなく捉え、それを総合して文化全体の変化や異なりの検出し、見立てていくほうが興味深そうに思える。こういうアプローチで、日本の人々の活動の歴史を、新たな方向から見られるようになるかもしれない。
こういったあいまいなものや微小な変化を観察したいときには定量的なアプローチ、機械的に計算して調べて測れるアプローチも有効である。計算言語学の分野では、単語の使用頻度や他の単語との共起性の異なりを、二つの文章群の間で調べる、という方法が試みられている。たとえば、昔の聖書と現代の聖書を比較して、言語の意味や用法がどうかわっているかを調べている研究がある。比較対象として聖書が選ばれているのは、内容が同じことが保証されているからである。内容が同じであれば、使用頻度や共起性が意味や用法の違いにつながることが確実だからである。逆に言えば、内容が異なる文章群を比較するのは、このアプローチでは難しい。言葉の使い方が変わったのか、それとも話す内容が大きく変わったからかわからないからである。人々の実際の言葉の使い方を調べたければ、聖書のようなかしこまった書物ではなく、SNSの文章のような人々の雑多とした語りが分析できる方が好ましい。しかし、この頻度や共起性のアプローチでは、なかなか難しいのである。
近年では、このように意味を機械的に扱って分析する手段として、LLMが盛んに利用されている。LLMは与えられた単語や文章を、その意味や文脈に対応する高次元のベクトルに変換することができる。この機能を使えば、単語の、個別の使用状況での意味をベクトルに変換して、数値データとして捉えることができる。例えばある単語●●の意味を調べたいときには、その単語が使われている文章をLLMに入力して、続いて「●●」と入力する、あるいは「この文章における●●の意味」とすれば、この文章の文脈での●●の意味に対応するベクトルが生成される。生成されたベクトルがどのようなものであるか、それを比較すれば、意味の異なりを調べることができる。どのように異なるかはわからないが、少なくとも大きく異なるか、小さく異なるかはわかる。
このLLMの機能を用いれば、大量の過去の文章と現代の文章を機械的に比較することができる。昔の文献における●●が使われている文章を多く集め、それぞれの文脈における●●の意味を示すベクトルの集合を作り、同様にして現代の文章においても●●の意味を示すベクトルの集合を作れば、両者の集合がどのように異なるか、両者が分布する範囲はどのように異なるかなどを調べることができる。これによって、両時代における●●を用いて示される意味の範囲や、それらの異なりがわかる。直接的に明快な言葉でこの違いを記述することは難しいだろうが、少なくとも大きく異なっているかどうか、といったことはわかる。このようにして、時代性や文化の違いによる●●の意味や利用法の違いを明らかにできるだろう。
こういった数値的な解析のメリットは、単に量をはかれることではないだろう。既存の定性的なアプローチでは、このような違いを言語によって記述するしかなく、その根拠となる文章や文献などを引用し、その意味を深く解析することで、論拠とするのが一般的である。この方法だと、言葉の意味や利用法といった、うっすらと変化していくものをとえらることは大変難しく、どうしても大きな変化が観察できるような史料を集めることになってしまう。これではうっすらとした全体的な変化を見落とすことになってしまうだろう。LLMは膨大なテキストから言葉の癖を学んでいるため、そのベクトルは社会全体の言葉の空気感を反映していると考えられるとともに、ある程度の妥当性があるといっていいだろう。こうして、言葉の裏側にある文化や価値観の微細な変化を、網羅的に捉えられるようになるだろう。
このようなアプローチ、有望そうに見えるが、実際には困難な点がいくつか考えられる。一つは、●●の意味は変わっていないが、使われる場面が変わった、というものである。また、比較するテキストコーパスに含まれるトピック自体が大きく異なることもある。このようなとき、●●の使われる状況の違いが、意味の違いと認識されてしまう可能性がある。例えば、現在の料理に関わる文章には生活家電がたくさんでてくるが、昔は出てこない。これではトピックが異なることがそのまま意味の違いと見なされてしまうかもしれない。これにはいろいろな対処法が考えられるが、たとえば、すべての料理の道具、炊飯器や電子レンジ、包丁やまな板を「料理道具」というより抽象的なものに置き換えてしまう方法が考えられる。これである程度の解決は見込めるだろう。しかし、たとえば「包丁が使える」と「まな板が使える」と「炊飯器が使える」における使えるの意味を考えたとき、包丁の場合は包丁を使う技術があることをさし、まな板が使えるの場合はまな板が使える状況にあることをさし、炊飯器の場合は炊飯器の使用方法に関する知識があることをさしている。こららはどれも「使える」を異なった意味で使っているのだが、料理道具、と一般化してしまうと、その違いは吸収され消えてしまう。これでは見ようとしていた違いが見えなくなるかもしれない。この周辺には一筋縄ではいかない難しい問題が散在しているように見える。
結局のところ、解析の工夫をこらすよりも、なんのために言葉の意味の変化が知りたいか、をしっかり考えなおすことになるだろう。解析の背後にある目的にかなうように、どういうデータを用いて比較するか、それをどのように加工するか、どういった単語、あるいは単語群の違いを見るか、単語ではなく文章の違いを見るか、など、目的、データ、解析方法などにアレンジを加えることが重要になる。もともとの問題意識を持つ人文学の価値観や興味の軸をどのように設定していくか、が面白い研究の基礎になりそうである。
![]()