計画:開発プラン:どのように開発するか
最初の開発動機にあるように、形態素解析プログラム、形態素を分散表現で表すためのword2vec、事前学習モデルであるseq2seq、Transformerまでを一体化したライブラリとして開発する。また、seq2seqやTransformerは、解答を出力とはせず文章題を解くための中間表現(prologの述語)を出力として設計する。
中間表現をprolog言語出力とするのは、2017年の文章題チャットボットプロトタイプで作った、"文章題解析ルール"に基づくルールベースシステムとのハイブリッド構成にするためである。
ハイブリッド構成をする理由は二つある。
- 正答率を上げる "Chain of Thought"の正答率はGPT-3ベース(1750億パラメータ)のもので33%程度、GPT-3の3倍のパラメータ(5400億パラメータ)を持つモデルでも56%程度である。
- 中間表現を入力としてルールベースを参照、解答文を生成する 入力文に入っていない知識は、知識ベースとして用意する。たとえばツルは鳥類で、鳥類の足の数は2本であるというような知識である。
- GPT-3やBERTでは対応できそうにない文章題に対応する 周期算や数列のような文章題は、学習テキスト(それが45TBだとしても)に含まれないワード系列を問題文に含んでいる。
学習対象のテキストを増やしてパラメータも兆単位まで増やせば正答率は上がっていくと予想できる。
数兆パラメータの深層学習システムは、もはやモンスターシステムであり、クラウド上のサービスとしても使いづらい(数年後はどうなったいるか分からないが)。
そこで、文章題領域専用の文法ルールによる解析と自然言語処理AIとの2重構成とすることで正答率を上げる。
知識ベースを参照するためにも、いったん中間表現に落とし込むことが必要となる。
中間表現から先の処理、すなわち解答の生成部分は、自然言語処理AIを使わずに対応する。
seq2seq、Transformer系のシステムでは対応できないので、文章題解析ルールの方で対応する。
解法の提示は、文章だけで無く日本語版「積み木の世界」で開発したようなイラスト図を利用して行う。
上に戻る