【ChatGPTでRAG】薬機法ガイドラインに基づいて、広告訴求文をチェックするChatbotを作ってみた
はじめに
化粧品の広告訴求文を作成する際、薬機法ガイドラインに準拠することは非常に重要です。しかし、ガイドラインの内容を完全に把握し、適切に適用することは容易ではありません。そこで、GPTsを活用して、薬機法ガイドラインに基づいて広告訴求文をチェックするChatbotを開発しました。
薬機法ガイドラインとは
薬機法(医薬品、医療機器等の品質、有効性及び安全性の確保等に関する法律)は、医薬品や化粧品などの品質、有効性、安全性を確保するための法律です。この法律に基づいて、化粧品の広告訴求文に関するガイドラインが定められています。
業界団体である日本化粧品工業連合会が発行している「化粧品等の適正広告ガイドライン」には、化粧品の広告訴求文に関する基準が詳細に記載されています。
化粧品の広告訴求文に関する基準の例
例えば、化粧品における使ってしまいがちな広告訴求文として「シワが消えます!」や「シワを予防します!」などがあります。これは、化粧品ではなく医薬品の効果になりますので、ガイドラインで明確に禁止されています。
このように、薬機法ガイドラインには、化粧品の広告訴求文を作成する上で、守るべきルールが詳細に定められています。ガイドラインを遵守することで、消費者に正確な情報を提供し、安全性を確保することができます。
薬機法ガイドラインに基づいた広告訴求文のチェックは大変
化粧品メーカーにとって、薬機法ガイドラインに沿った広告訴求文をつくることは必須です。しかし、これには課題があります。
手作業でのチェックに多くの工数がかかる
薬機法ガイドラインの内容を熟知し、適切に判断できる人材が限られている
今回開発したChatbotの活用により、下記効果が見込まれます。
大量の広告訴求文を自動でチェックでき、工数を大幅に削減
ガイドラインの内容をknowledgeとして設定しているため、専門知識がない人でも適切な判断が可能
Chatbotを活用することで、効率的かつ正確な広告訴求文のチェックが可能になり、ガイドラインに準拠した広告を作成することができます。これにより、化粧品会社のマーケティング部門における広告訴求文のチェックの課題を解決できます。
GPTsとは
GPTs(Generative Pre-trained Transformers)は、OpenAIが提供する大規模な言語モデルを利用した AI サービスです。GPTsは、普通のChatGPTとは違い、事前に「やってほしいこと」を学ばせておくことができ、ある用途に特化したツールとして働かせることができます。
普通のChatGPTとの違い
専門的な知識の活用:GPTsでは、特定の分野に特化した知識(ナレッジベース)を事前に登録することができます。これにより、その分野に関する質問に対して、より正確で詳細な回答を得ることができます。今回のChatbotでは、薬機法ガイドラインの内容をナレッジベースとして登録しました。
カスタマイズ性:GPTsでは、ユーザーが独自のプロンプトを入力しておくことができます。これにより、ユーザーの業務に特化した言語モデルを作成できます。
API利用:GPTsは、APIを通じて他のシステムと連携することができます。これにより、既存の業務システムにGPTsの機能を組み込むことが可能です。
knowledgeとは
knowledgeは、GPTsにおいて、特定の分野の知識を提供するための機能です。わかりやすく言うと、GPTsに「あらかじめ教えておく知識」のようなものです。
例えば、私たちが学校で学ぶとき、教科書に書かれた内容が先生から教えてもらう知識にあたります。この教科書の内容がGPTsにおけるknowledgeだと考えてください。
今回のChatbotでは、薬機法ガイドラインの内容をknowledgeとして設定しました。つまり、Chatbotに薬機法ガイドラインという「教科書」を読み込ませたようなものです。
knowledgeを使うメリット
正確な情報に基づいた回答:knowledgeを使うことで、Chatbotは信頼できる情報源から得た知識を基に回答することができます。これにより、より正確で専門的な回答が可能になります。
特定の分野に特化した対話:knowledgeを使うことで、特定の分野に関する深い知識を持ったChatbotを作ることができます。例えば、医療に関するknowledgeを与えれば、医療に特化したChatbotができあがります。
一貫性のある回答:knowledgeを使うことで、Chatbotは常に同じ知識ベースを基に回答するため、回答に一貫性が保たれます。これにより、ユーザーは安心して利用できます。
knowledgeの設定方法
knowledgeは、主にテキストファイルで提供されますが、PDFも入力することができます。ただ、GPTが読みやすい形式にしておくことが、精度をあげるコツです。
今回は、データの中身をマークダウン形式にし、mdファイルにまとめ、knowledgeとして設定しました。
RAGとは
RAG(Retrieval-Augmented Generation)は、知識を活用して文章を生成する手法の一つです。日本語では「検索による拡張生成」などと呼ばれることもあります。
RAGを簡単に説明すると、「知識を探しながら文章を作る」ということです。例えば、私たちが質問に答えるとき、まず自分の知識の中から関連する情報を探し出し、それを組み合わせて回答を作ります。RAGは、このプロセスをコンピュータで行うための技術です。
RAGの仕組み
RAGは、以下の2つのステップから成り立っています。
検索(Retrieval):与えられた質問や文脈に関連する知識を、大規模なデータベースから検索します。このデータベースには、事前に収集した情報(例えば、ウェブページや書籍の内容)が格納されています。
生成(Generation):検索で得られた知識を基に、自然言語の文章を生成します。この際、GPTsなどの言語モデルが使われます。言語モデルは、検索で得られた知識を参考にしながら、文脈に合った自然な文章を生成します。
つまり、RAGは知識を探す部分と文章を作る部分を組み合わせた技術だと言えます。
RAGの利点
RAGを使うことで、以下のようなメリットがあります。
幅広い知識の活用:RAGでは、大規模なデータベースから関連する知識を検索するため、Chatbotの知識の幅を大きく広げることができます。
最新の情報に基づいた回答:データベースを定期的に更新することで、RAGを使ったChatbotは常に最新の情報に基づいて回答することができます。
文脈に合った自然な回答:RAGでは、検索で得られた知識を言語モデルが処理するため、文脈に合った自然な文章を生成することができます。
今回開発したChatbotでは、薬機法ガイドラインの内容をデータベース(knowledge)とし、それを検索しながら広告訴求文をチェックするためにRAGを使用しました。これにより、ガイドラインに沿ったより正確なチェックが可能になりました。
RAGは、知識を活用した自然言語処理の重要な技術の一つです。データベースと言語モデルを組み合わせることで、より賢くて自然なChatbotを作ることができるでしょう。
Chatbotの動作例と性能評価
実際にできたGPTsがこちらになります。
では実際に動かしていきましょう。GPTsを開くと、「校正を始める」というボタンが表示されるので、押してみます。
すると、商品の種類と広告訴求文を入力するように促されます。対象商品とチェックしてもらいたい訴求文を入力していきます。
すると、ChatGPTのデータ分析機能である、Advanced Data Analysisが走り、knowledgeに添付されているguideline.mdを読みにいきます。そして、入力文に該当する箇所を抜き出してきます。
該当箇所と照らし合わせて、入力文がOKなのかNGなのかを判定してくれます。人間が実際にガイドラインを見に行く挙動と同じですね。
今回は、化粧品で、「アンチエイジング効果のある成分を配合!気になるシワに浸透!」という怪しい訴求文を入力してみました。
すると、この広告訴求文はNGであり、理由が「アンチエイジング効果のある成分を配合」「気になるシワに浸透」という表現が医薬品的な効果を示唆しているためと表示されています。そしてこれはガイドラインに記載されていることです。
さらに、「年齢と共に気になる前にうるおいを与え、ハリをサポートする成分を配合」という問題がない表現も提案してくれています。
今後の展開
Actionsを用いて外部APIを使用して、より精度の高いRAGを行う
現在のChatbotでは、knowledgeとして設定された薬機法ガイドラインのみを参照していますが、Actionsを用いて外部APIと連携することで、より幅広い知識を活用したり、より精度の高い検索方式のRAGを行うことができるようになります。
他の規制分野への応用可能性
今回開発したChatbotは、薬機法ガイドラインに特化したものですが、同様の手法を用いることで、他の規制分野におけるチェックにも応用できる可能性があります。
まとめ
GPTsとknowledgeを活用することで、薬機法ガイドラインに基づいて広告訴求文をチェックするChatbotを開発しました。このChatbotにより、広告訴求文の作成者は、ガイドラインへの準拠状況を簡単に確認でき、適切な修正を行うことができます。今後は、外部APIとの連携やモデルの継続的な改善により、さらに高度なチェック機能を実現していきたいと考えています。
この記事が気に入ったらサポートをしてみませんか?