天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

ことばの意味を計算するしくみ ~ 計算言語学と自然言語処理の基礎 ~ FL#76に参加してきた

ことばの意味を計算するしくみ ~ 計算言語学と自然言語処理の基礎 ~ FL#76 - connpass

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

ことばの意味を計算する2つのアプローチをていねいに解説している本書。特に、計算言語学にかかわる形式統語論形式意味論の理論をていねいに解説し、深層学習を中心とした統計的言語処理技術に残る本質的な問題点も提示している本書のポイントを、著者である 谷中 瞳 氏にお話していただきます。

会の様子

講演

ChatGPTが登場するまでの流れ

分布意味論の考え方に代表される統計的言語処理の研究が加速したことで生まれた自然言語処理の一つの形がChatGPTであるという話がありました。

one-hotベクトル

分布意味論で単語の意味を表すためにはone-hotベクトルの技術が使われるということですが、次元数が爆発的な数になるため計算量を調整するために単語の分散表現が用いられているという話がありました。

Transformer

Attention*1に基づく系列変換モデル*2がTransformerであるという説明がありました。Transformerが生まれたことで、従来の深層学習モデルよりも計算効率が上がったので現在のような技術発展が生まれたということです。(GPT -> GPT-3 -> GPT-4)

大規模モデルの計算課題

大規模モデルは計算資源などが豊富であればあるほどよいというScaling Lawの話が一般的に言われてはいますが総例が従うわけではないという話がありました。

統計的言語処理の課題

統計的言語処理を行うにあたって、

  • 否定などは機能後の意味が分布仮説に従うかは自明ではない
  • 解釈性・信頼性が担保できない
  • 哲学や認知科学の概念として、構成性や体系性といった人間が有する特性が反映できていない(A loves BとB loves Aのどちらかを理解している人はいない)

といった課題があるという話がありました。

計算言語学

上記の課題に対して、計算言語学ではもう一つのアプローチを用いることで対応しようとしているという話がありました。

例えば、自然言語推論や単調性推論*3といった理論がその代表例だということです。

最近の研究紹介

本書でも丁寧に説明している、組み合わせ範疇文法に基づく構文解析・意味解析・推論システムの研究の紹介がありました。

話の語彙的・分布的な性質を辞書に記述して言語の普遍的性質を少数の組み合わせ規則で記述する語彙化文法が組み合わせ範疇文法(CCG)であり、解析器としても様々なものがあるということです。

Q&A

講演の後はQ&Aがありました。以下、質問と回答を一問一答形式かつ常体で記載していきます。

論理的推論やTruth maintenance systemなど多くの資産が作成されたが現状のAIで利活用する研究はあるのか?

組み合わせ範疇文法などはその一つ。現代という意味だと大規模モデルの苦手な論理的推論の改善などの文脈で活用されている。

述語論理での論理式を扱う場合ドメインとしている全要素で論理式が成立するか否かが問題になっていたと思うが、当時議論されている確率的証明法の文脈でベイズ的推論やE2E学習システムとの関連性などは議論されていないのか?

Neuro-Symbolic AIの紹介は本書でもしているが、色々な組み合わせが提案されており、探索にニューラルネットワークヒューリスティクスを使うものもあったりする。その中でもマルコフロジックや制約としての記号論理、深層学習との組み合わせなど多数のアプローチが議論されている。

解析の際2つの意味にとれる日本語があると思うが解析は複数種類出てくることもあるのか?

構文的曖昧性の問題はあるので、複数種類出てくることはある。

言語モデルのAttentionやBARTなどは英語研究が先行しているが日本語研究ならではの特徴はあるのか?

語順が適当でも良いという話や省略が多い、裸名詞みたいなところを考慮したモデルというのがある

言語の文法を学ぶとき、CCGのような複雑な導出を学んだ記憶はないのだが、CCGのような複雑な知識を人間は持っているのか?

CCGは文法規則自体は実は少ないので単純である。

地域または背景を汲んだ計算をしなくてもいい気がするのだが画一的な計算でよいのか?

西洋文化に偏った予測をしてしまうという話はあるので、強化は今後必要。

量子化と置き換えの組み合わせの体系性評価において、LLMは未知のデータを汎化するという説明だったと思うが、これはどう解釈できるのか?

人間だと100%できて欲しいところが70%くらいしかできていないというのがポイント。

本書で紹介されていないプログラム意味論はことばの意味を計算する上では有効ではないのか?

あくまでも一例として本は書いているのでそういう意図では書いていない。

P31で文と文脈とあるが、文脈のほうがリッチな意味を捉えることが基準になりそうにも思えるのだが違うのか?

違う。文脈はある語の前後の語であり、リッチさみたいなものは根本的に基準が異なるものであるため単純比較はできない。

自然言語の文章をトークンに分割したとき、トークンそれぞれの持つ意味は評価対象ではなくて問われたプロンプトを実行するうえでの統計的頻出語などが評価対象になるということか?

質問意図が若干読めていないのだが、そうではない気がする。「評価対象」がどういう意味なのかわかっていないが、前後で言葉が表される頻度ではあると思う。

文法の捉え方は母語以外の外国語習得に活用できるのか?

母語とそれ以外の評価みたいな活用はできそう。

学習データは基本的に容認度としては高いものが多いと思うが、容認度が低いものは一定の閾値を定めたうえでそれよりも生起確率が低いというところで非文扱いになるのか?

学習時には文全体の容認度に関する学習を事前にしていない。

計算言語学以外の言語学・理論言語学との知見交流はあるのか?自然言語処理の中の人からそれらの学問はどう見えるのか?

音韻論など様々な分野があるため、分野によって交流があるものもないものある。

会全体を通した感想

技術書を紹介するようなイベントは多くありますが、紹介される技術書として計算言語学自然言語処理の基礎的な本が挙げられていたのは初めてだったので説明やQ&A含め大分新鮮でした。

このあたりの基礎を知っているかどうかで生成AIの活用方針なども大分変わってきそうですし応用が効くところもありそうなので、基礎理論の勉強もしていかないとなあと刺激を受ける時間になりました。

*1:入力系列中の重要情報を直接的に用いる仕組み

*2:単語列を埋め込みベクトルに変換するEncoderモデルと1単語ずつ生成するDecorderモデル

*3:単調性と構成素の置きかえで含意関係を定める