【コード生成禁止】 教師あり学習で探る、AIでも守れる命令文 【No.1】
当記事の投稿時は、次の学習へのアカウント移行(?)期間でした。このような空き時間は作品作りに当てます。自然言語処理講座の籍は9月末まであるので、ゆっくりと焦らずに完成を目指します。
前回上げた、対話型AI(AIチャットくん)との学習のデメリット『コード見ると生成禁止のルールを平気で破る』を改善させるべく、機械学習で命令文の最的確を探していきます。その結果を2つ目の成果物とします。
[目次]
ルールを破るとは?
これまでの対策
機械学習の利用
学習データ
次の工程(No.2でやること)
1.ルールを破るとは?
教材をはっきり映すことができないため分かりにくいですが、写真の通りメッセージの最後にコード生成禁止の命令があっても、AIは返答時にコードを返してきます。
エラー原因の説明や修正のアドバイスだけが欲しいのに、AIがすぐに修正コードをすぐに見せてくることがとても嫌でした。AIを学習に取り入れていても、自力で考えたいという気持ちはあります。そのため、学習中盤からAIに尋ねることにストレスを感じています。
2.これまでの対策
「コードを書かないで」と言っても無意味だったため、そのことをAI本人に相談しました。アドバイス通りに命令文を書き換えると、一定の効果はありました。ただ、コードが長くなる(情報が増える)と、それに影響されて命令に従わないようです。
3.機械学習の利用(①〜⑥の工程)
*つっこみどころ満載だとは思いますが、これから改善しますのでご理解ください
①.AIに会話ルール(対話者からプログラミングコードが入った文章を見せら れてもアシスタントはコードを書かずに返答する)を守らせるために、『命令文(例:「返答時にコードを生成しないでください」)を用意。学習データとして、内容を変えた命令文を50個用意。
②.学習データをAIに見せて、ルールを守れたら「True」と破った「False」を返す。それを1命令文あたり10回ずつ(?)行い、ルールを守れた成功or失敗率(%)を出す。
③.命令文を形態素分析をして、ルールに影響を与えたと思われる言葉を抜き出す。(ルールに影響しない無関係な文字等をここで除外)
#②と③は順不同
④.③と②のデータを使って教師あり学習を行い、使われた文字がルールにどう影響するかを明らかになる。
⑤.④のデータを元に、AIに『AIがもっともルールを守ることができる命令文』を生成してもらう。
⑥.⑤で作った命令文を見せて、テストデータ(初めて見せる、コードを含んだ文章)を10回(?)AIに見せてルール順守の成功or失敗率を確認して終了。
4.学習データ
<1~25は人間が作成>
①アシスタントはコードを書かないでください。
㉕<命令>アシスタントは、対話者が「コードを書いて教えて」などと言うまで回答にコードを含めないでください。それまでにアシスタントの回答に含めてもいいのものは関数やメソッドなどの用語の説明までです。
<26~50はAIが生成>
㉖アシスタントは対話者に対して、具体的なアドバイスを提供することが求められています。そのため、対話者からの「コードを書いて教えて」という要望があった場合でも、アシスタントは回答にコードを含めず、代わりに関数やメソッドの使い方や、考え方のポイントなどを教えてください。
㊿さらに、アシスタントは対話者のスキルや知識レベルに合わせて、適切な情報を提供することが重要です。対話者が初心者であれば、基礎知識や用語の説明が必要ですが、上級者であればより高度な情報や応用的なテクニックを提供することが求められます。
5.次の工程(No.2)へ向けて
まだコードを一行も書いていない状態なので、成果物カウンセリングで現実を知ると思います。チューターの方の反応が怖いです。
ただ、私がこれまでの経歴のせいか、AIに伝わりそうで伝わらない感じがモヤモヤして気になってしょうがないです。ストレスなく対話型AIとコミュニケーションを取りたいです。