Classi開発者ブログ

教育プラットフォーム「Classi」を開発・運営するClassi株式会社の開発者ブログです。

英文法問題の制作プロセスに生成AIを取り入れた話

こんにちは。データサイエンティストの高木です。
弊社では昨年6月に「学習トレーニング」機能をリリースし、機能の利用促進や改善が進んでいます。
corp.classi.jp

このような学習機能を通して、より質の高い個別最適な学習を実現するためには、多くの「問題」が必要となります。
しかし、問題制作には膨大な時間と費用がかかってしまいます。

そこで、これらの制作時間や費用の削減を目的として、これまで制作工程の一部を自動化する試みを行ってきました。

tech.classi.jp

本記事では、2月にプレスリリースで公表された、学習トレーニングの英文法問題の制作プロセスに生成AIを取り入れた話について紹介します。

prtimes.jp

問題の制作工程

問題の制作工程は以下になります。

図1 問題の制作工程

まず、企画要件に合う問題を教材や過去に作成した問題から選定します(図1: 1)。
次に、それらを基に原稿を作成します(図1: 2)。このとき、全く同じ問題にならないように改題します。
もしも、過去の問題に企画要件に合う問題が存在しない場合は新規で作成します。

そして、作成された原稿をチェック・修正し(図1: 3-4)、社内のCMS(Contents Management System)へ搭載します(図1: 5)。
さらに、テスト画面上でチェック・修正し(図1: 6-7)、問題がなければ本番環境で公開されます。

今回、制作の対象とする英文法問題の例は以下になります。

図2 英文法問題の例

1つの問題は、問題文、選択肢(正答、誤答)、解説文から構成されており、英語の例文の空欄箇所に合う選択肢を1つ選ぶ問題となっています。
空欄箇所で問われる内容(選択肢の種類)について、今回の取り組みでは、英文法問題でよく出題される「動詞の種類」を問う問題を主に作成しています(図2の左の問題)。

また、文法項目に入れ込みながら、語彙力を強化していく目的で「語彙」を問う問題も数問作成しました(図2の右の問題)。

課題とアプローチ

制作工程の中で最も時間と費用がかかるのが、問題の土台を作る図1の1と2の工程です。
問題の制作者(以下、作問者)はいくつもの教材や過去の問題を目視でチェックし、手作業で問題を収集しなければなりません。

さらに、英文法の問題の場合、例文の正しさや長さ、英単語の語彙レベル(単語の難易度)や文脈の適切さ、などが求められます。
これらを考慮して収集した問題を改題したり、場合によっては新規作成しなければなりません。
英語や作問に関する知識があるプロの作問者でもかなり難しい作業です。

そこで、我々はこれらの選定や改題の作業の手間を省くために、作問者の要件(高校英語の単元、語彙レベル、選択肢の種類など)に合う英文法問題を自動生成し、一括で出力することが可能なアプリを構築しました。

具体的な手順の詳細は後述しますが、基本的には、予め、高校英語の単元ごとに出題されるであろう例文を大量に用意しておき、それらをベースに選択肢や解説文を生成するというものです。
これらの生成過程を分解し、GPTやBERT、その他自然言語処理技術を適用することで問題の生成を実現しています。

問題選定時(図1: 1)にこのアプリを利用することで、様々な教材から手作業で選定する時間が削減され、制作費用も削減されることが期待されます。

取り組みのねらい

今回の取り組みでは、社内検証にとどまらず自動生成した問題を実際にリリースすることを目指しました。理由としては以下です。

  • 今後の検討のために各工程に及ぼす効果のベースラインを作っておきたい
  • 制作からリリースを一気通貫することで見えてくる課題や効果がある
  • 技術検証のみで終えず、ユーザーである先生や生徒に届けたい

しかし、作問はとてもクリエイティブな作業であり、人間が行うのも難しい作業です。
この作業を自動化すること自体とても難易度が高いです。

そこで、これらの取り組みをリリースにつなげるために、問題制作の専門家であるコンテンツチームと、自然言語処理技術や教育工学的視点から見た作問についての知見を持っている大学と連携しながら進めてきました。

また、生成AIを使った前例を作っておきたかったというのも一つのねらいです。
今後これらの活用はさらに活発になっていくと思われ、社内でLT会を開いて活用アイデアを出し合ったこともありました。

tech.classi.jp

しかし、著作権など活用するうえで注意しなけれならない点も多々あります。
まだ前例がなかったので、そういった課題とどのように向き合い活用していけば良いかが不透明でした。

そこで、今回の取り組みで、ある程度これらの課題をクリアにし、今後の活用のしやすさに繋げられればと考えました。
実際に、今回の取り組みを機に、生成AIガイドラインが作成され著作権リスクをチェックするプロセスが作成されました。

図3 取り組みの全体像

英文法問題の自動生成

英文法問題の自動生成手順を以下に示します。

図4 英文法問題の自動生成手順

問題を生成する前の準備段階として、高校英語の単元や学習項目ごとに例文データを2つの方法で作成しておきます。
1つは、弊社で過去に出題された問題から例文を抽出する方法です(図4: ①)。
もう1つは、GPTで例文を生成する方法です(図4: ②)。

出題された問題から抽出した例文は、同じ例文にならないように言い換えたものを使用しています。
言い換えの例は以下です。

(変換前)Everyone in our class likes ms. brown.
(変換後)Ms. Brown is well-liked by everyone in our class.

この変換にはGPTを使用しており、以下のようなプロンプトで変換しています。

I'm going to show you some sentences, please rewrite them in different structure and keep their meaning, and try to avoid too high level words.
The rewritten sentences should be clean and natural, without any unnecessary characters.
If the sentences are likely to be in a dialog, you should keep them as a dialog.
Sentences in a dialog start with `-- `.
You should fix mistakes in the sentences if there is any.
You can ignore meaningless words if necessary.

一方で、GPTによる例文の生成では、以下のようなプロンプトで生成しました。

受動態の例文で、例)のような例文を5つ下さい。また、日本語訳も下さい。
例)This car was repaired by brother.

このように例文データを予め大量に作成しておきます。
そして、作問者が作成したい問題の学習項目や例文にマッチする例文を例文データから検索します(図4: ③)。
この検索では、例文間の係り受け構造(dependency tree)をSpacyで解析し、それらの構造の近さから類似度を判定しています(下図)。

図5 係り受け構造に基づく例文間の類似度判定

そして、問題で問われる空欄箇所を特定し選択肢を生成します(図4: ④)。
選択肢の生成では、BERTのbert-base-uncasedモデルを使用しています。

また、選択肢の語彙レベルを制御して出力することも可能となっています。
語彙レベルの制御には使用許諾を取ったうえでCEFR-Jのwordlistを使用しています。

最後に、GPTによって解説文を生成します(図4: ⑤)。
解説文を生成するプロンプトの例は以下になります。

次の日本文に合う英文になるように,( ) に適するものを一つ選びなさい。
{日本文}
{英文}
選択肢
{選択肢}

正答を教えてください。
また、次の順番で以下のキーワードを使って解説をしてください。
{キーワード}

この設問文の文型と意味を説明してください。

これらの手順を組み込んだアプリとその出力例が以下になります。

図6 英文法問題の自動作問アプリの入力画面

図7 自動作問アプリの出力例

リリースと検証

今回、受動態の英文法問題21問を自動生成し、それらの問題が学習トレーニング上でリリースされました(図2)。
実際の作業では、まず、64問を自動作問アプリで生成しその中から21問を選定しました。
その後の作業は、図1の工程2以降の作業と同様です。

これらの作業をコンテンツチームの制作担当者に行ってもらい、自動生成された問題の質はどうだったか、制作時間や費用は削減されたのか、などを評価・検証しました。

自動生成された問題の質

自動生成された問題の質を評価するために、(1)問題内容のチェックによる評価(定性)と(2)問題内容の修正割合による評価(定量)を行いました。

(1)問題内容のチェックによる評価 

はじめに、作問の専門家であるコンテンツチームに問題の品質チェックで必要となる観点をヒアリングしました。
さらに、研究分野における問題作成ガイドライン*1などを参考にし、12個の評価項目を作成しました。

この評価項目を基に、リリースされた21問の問題について作問者に評価してもらいました。
各項目の「適切か」の基準は「修正を入れずにそのまま使えるかどうか」としました。
そして、各項目を満たしていた問題の割合を算出しました。

評価結果は以下になります。

表1 作問者による問題の評価

評価項目 評価項目を満たした問題数(問) 割合(%)
①学習項目に適した問題になっているか 20 95.2
②例文の語彙レベルは適切か 17 81.0
③例文の長さは適切か 21 100.0
④例文の文法は正しいか 18 85.7
⑤例文の文脈は適切か 13 61.9
⑥例文のブランク箇所は適切か 20 95.2
⑦選択肢の語彙レベルは適切か 19 90.5
⑧正解選択肢は唯一となっているか 20 95.2
⑨誤答選択肢はもっともらしいか 11 52.4
⑩解説文に正解となる理由が述べられているか 20 95.2
⑪解説文に誤答選択肢について説明がされているか 20 95.2
⑫解説文の内容は適切か 0 0.0
平均 16.6 79.0

12項目中9項目で80%を超えており、概ね良好な結果となりました。
例文の文脈や誤答選択肢の適切さが少し低い値となっています。
解説文については1つもそのまま使えるものがなかったという結果でした。

今回自動生成した解説文は、正答選択肢と誤答選択肢の説明をするように出力していましたが、実際には正答選択肢の説明のみのシンプルな解説文が必要となり修正が発生したため、このような結果となっています。

(2)問題内容の修正割合による評価

自動生成されてからリリースまでに修正された文字列の割合を算出し評価しました。 修正された文字列の割合 \text{edit_dist_rate} 0 \leqq \text{edit_dist_rate} \leqq 1を満たし、以下の式で計算されます。

 \displaystyle
\text{edit_dist_rate} = \frac{\text{Levenshtein distance(修正された内容, 自動作問の内容)}}{\text{Max(Len(修正された内容), Len(自動作問の内容))}}

計算結果を以下の表に示します。

表2 修正割合による評価

問題文 和訳 選択肢 解説文
 \text{edit_dist_rate}(平均) 0.24 0.21 0.06 0.86
 \text{edit_dist_rate}(中央値) 0.13 0.00 0.00 0.86

問題文、和訳、選択肢ともに中央値は低い値となっています。
(1)の評価結果から、文脈や誤答選択肢でそのまま使えないものはあったものの、修正された文字数としては少なかったと考えられます。

一方で、解説文は高い値となっています。
(1)の結果の通り、シンプルな解説文に修正されたためこのような結果になりました。
解説文を生成するプロンプトを変更することで改善されると考えられます。

自動作問アプリによる費用や時間の削減効果 

図1の各工程では、1問あたりにかかる費用と時間が設定されています。
今回の作業を通して、自動作問アプリを使った場合、各工程1問あたりにかかる費用がどのくらい削減されるかを制作担当者に見積もってもらいました。
そして、それらの費用の削減率から削減された時間を計算しました。

(1)制作時間

図1の工程1から4にかけて、自動作問を利用した場合、1問あたりの制作時間が24%削減されました。

また、工程6の画面チェックにおける修正件数を、自動作問アプリを使った場合と使わなかった場合で比較しました。
その結果、使わなかった場合の修正件数が73件だったのに対して、使った場合は7件に減少しており、指摘の修正や確認作業にかかる時間が約90%削減されていました。

さらに、今回の制作担当者にヒアリングしたところ、以下のような意見を頂きました。

  • 制作が楽になった、時間短縮された
  • 新規の場合、1から作る手間が省ける
  • 流用する場合、そのまま使えない(改題しないといけない)のでその手間が省ける
  • 単語の差し替えくらいで済む

(2)制作費用と運用費用

制作にかかる労力が軽減されたことで、図1の工程1から3で1問あたりにかかる費用が38%削減されました。

また、英語の問題制作では、工程3でネイティブチェックが必要となります。今回はほとんど修正されることがなかったため、そこでかかる費用が大幅に削減されていました。

さらに、Classiの学習トレーニング機能では、課題配信機能や生自主学習機能により数十万人もの生徒に問題が利用されます。
問題を流用した場合にかかるはずだった利用料が、今後100%削減され続けます。

最後に

今回は、英文法問題を自動生成してリリースした話をしました。
問題の制作工程の中でも最もコストのかかる「問題選定」部分に着目し、生成AIをはじめとする自然言語処理技術を組み合わせて問題を自動生成できるアプリを構築しました。

評価や検証の結果、自動生成された問題はリリース作業に利用できる品質であり、かつ、制作コストの削減への効果も大きいことが分かりました。
さらに、今回の取り組みにおいて研究的成果をまとめ、言語処理学会第30回年次大会にてポスター発表も行っています。

prtimes.jp

一方で、今回対象とした問題は英文法問題のみとなっています。
今回のロジックを英単語の意味を問う問題や英文法の並べ替え問題などの制作に応用することは可能だと考えられます。
しかし、教科が変わった場合、今回のロジックをそのまま応用できるとは限りません。

このような技術の汎用性は今後も課題となるので、まずは、現状のロジックの応用範囲を明らかにしつつ、問題制作のニーズや制作される問題の汎用性などを考慮して、着手する対象を決めていきたいです。

また、生成AIの教育現場への活用という広い視野で考えると、コンテンツ制作だけでなく、生徒の新しい学習体験の創出や先生の業務支援なども考えられます。

今回のように、大学や他チームと協業して、このような新たな価値を探索していく活動は継続していきたいです。
そして、ビジネスとアカデミックの両方にインパクトを与えられるような成果を発信していきたいと考えています。

*1:坪田 彩乃, 石井 秀宗: 多枝選択式問題作成ガイドラインの実証的検討, 日本テスト学会誌, 2020, 16 巻, 1 号, p. 1-12

© 2020 Classi Corp.