便利で快適な入力フォーム開発に特化したJavaScriptライブラリ「InputManJS(インプットマンJS)」の最新バージョン「V6J」では、各種AIプラットフォームのAPIを利用して、リッチテキストエディタ(GcRichTextEditor)と複数行テキスト(GcMultiLineTextBox)に文章の生成、校正、要約、翻訳といったAIによる文章作成支援機能を組み込むことができる「AI文章作成アシスタントコンポーネント(GcTextAssistant)」が新機能として追加されました。
前回はリッチテキストエディタにAI文章作成アシスタントを組み込んで使用する方法をご紹介しました。
今回は上記で作成したアプリをベースに、AI文章作成アシスタントで使用できるメニューを制御したり、独自メニューを追加したりといったカスタマイズ方法をご紹介します。

前回作成したアプリは以下よりダウンロード可能です。
AI文章作成アシスタントをカスタマイズする
使用できるアシスタントメニューを制御する
AI文章作成アシスタントにはデフォルトの組み込みのアシスタントメニューとして、文章の生成や校正、要約、翻訳などの多数のメニューが用意されています。

これらのメニューは要件に合わせてエンドユーザーが使えるメニューを制御することができます。
「client/src/main.js」の中で、AITextAssistantConfigのmenuItemsオプションに、GcTextAssistantBehavior列挙型からユーザーが使用可能なアシスタントメニューを定義します。ここでは「文章を生成」「文章を校正」「文章を要約」の3つのみを使用可能に設定しています。
・・・(中略)・・・
const gcRichTextEditor = new GC.InputMan.GcRichTextEditor(
document.querySelector('#gcRichTextEditor1'),
{
width: 1250,
height: 600,
toolbar: ['newdocument', 'print', 'undo', 'redo', 'cut', 'copy', 'paste', 'pastetext', 'selectall',
'blockquote', 'bold', 'italic', 'underline', 'strikethrough', 'superscript', 'subscript',
'styles', 'fontfamily', 'fontsize', 'align', 'lineheight', 'forecolor', 'backcolor', 'removeformat',
'outdent', 'indent', 'aitextassistant'
],
AITextAssistantConfig: {
menuItems: [
// 組み込みのAI動作
{ name: GC.InputMan.AI.GcTextAssistantBehavior.GenerateText },
{ name: GC.InputMan.AI.GcTextAssistantBehavior.SummarizeContent },
{ name: GC.InputMan.AI.GcTextAssistantBehavior.ReviseText },
],
behaviorConfig: {
dialogConfig: {
width: 700,
height: 300,
}
}
},
・・・(中略)・・・実行すると設定したアシスタントメニューのみが使用可能になります。

独自のアシスタントメニューを追加する
AI文章作成アシスタントでは、独自のアシスタントメニューを追加して使用することもできます。今回は広告の文章に法令・ガイドライン違反の可能性がないかをチェックして修正するアシスタント機能を追加してみます。
「client/src/main.js」の中で、registerBehaviorメソッドを使用してカスタムメニューで実行するプロンプトの定義や、ダイアログをモーダル表示にするかどうかや、タイトルなどのオプション設定を行います。定義したカスタムメニューは組み込みのメニュー同様にmenuItemsオプションから追加します。
・・・(中略)・・・
GC.InputMan.AI.GcTextAssistant.registerBehavior('広告チェック', {
prompt: '文章について、法令・ガイドライン違反の可能性(薬機法、景品表示法、誇大表現、優良誤認など)がないか、消費者に誤解を与える表現がないか、根拠不明・断定的・過度な効果表現がないか、炎上・クレームにつながるリスク表現がないか、広告としての分かりやすさ・信頼性、などの観点でチェックして修正してください。',
dialogConfig: {
isModal: true,
resource: {
dialogTitle: '広告チェック',
generatedLabel: 'チェック結果',
}
}
});
・・・(中略)・・・
menuItems: [
// 組み込みのAI動作
{ name: GC.InputMan.AI.GcTextAssistantBehavior.GenerateText },
{ name: GC.InputMan.AI.GcTextAssistantBehavior.SummarizeContent },
{ name: GC.InputMan.AI.GcTextAssistantBehavior.ReviseText },
{ name: "広告チェック" },
],
・・・(中略)・・・実行するとアシスタントメニューに独自で追加した「広告チェック」のメニューが表示されます。

早速追加したメニューを実行して試してみたいと思います。今回はサンプルとして以下のような架空の商品(健康関連商材を想定した)の広告文を使用します。
※ 以下の広告文では広告チェック機能のデモを目的として、意図的にリスクのある表現を含めています。実在の商品・ブランドとは一切関係ありません。将来、同一または類似の名称の商品が存在した場合でも、本記事とは無関係です。
DailySampleBalance緑茶を飲むだけで、毎日の不調をすべてリセット。
年齢や体質に関係なく、誰でもスッキリした毎日を実感できます。
続けることで、疲れにくい体づくりをしっかりサポートします。
多くの愛用者に選ばれている、毎日の健康習慣です。
健康が気になる方にとって、最適な一本です。「飲むだけ」「毎日の不調を全てリセット」「年齢や体質に関係なく、誰でも」「実感できます」など、優良誤認や断定表現、効果保証に近い表現など、薬機法や景品表示法に抵触するリスクのある広告文を例として使用します。本サンプルでは、これらの表現を広告表現としてどのように評価・修正できるかという観点で動作を確認します。
こちらの文章に対して広告チェックを実行してみると、問題部分を書き替えた修正案を返してくれます。
修正後の文章にはまだ軽微な注意点はありますが、リスクはかなり取り除かれました。
※ AIの回答は法令遵守を保証するものではありませんので、最終的な適法性判断・表現可否は、各社の基準に基づき人手で確認してください。
今回作成したサンプルは以下よりダウンロード可能です。
さいごに
今回はInputManJSのリッチテキストエディタの新機能「AI文章作成アシスタント」のアシスタントメニューをカスタマイズして使用する方法をご紹介しました。AI文章作成アシスタントのアシスタントメニューはユーザーの業種や職種にあわせて柔軟にカスタマイズして使用できますので、ぜひ試してみてください。
製品サイトでは、InputManJSの機能を手軽に体験できるデモアプリケーションやトライアル版も公開しておりますので、こちらもご確認ください。
また、ご導入前の製品に関するご相談、ご導入後の各種サービスに関するご質問など、お気軽にお問合せください。
