Sorry for writing in Japanese.
I’m studying English.
If you want an English version, please translate with any tool.
私は一般の高校生で,情報分野の専門家ではありませんが,普段の利用において考えた要望を発表します。ぜひ,知識を持つ方々の意見も聞きたいと思っています。
<前提>
ChatGPTが回答をする際,外部サイトを検索して情報を参照しますが,この際の信頼性が現時点では不足しているため,我々ユーザ側が裏付けを取ることが推奨されています。
ChatGPT には批判的に向き合い、重要な情報は信頼できる情報源で確認することをおすすめしています。
(OpenAIのヘルプの articles/8313428 日本語版より引用)
そこでChatGPTの応答内容を確認してみると,ChatGPTが情報源として挙げたものに,該当する内容がそもそも存在しないということがよくあります。また,情報源として挙げたリンク先が存在しないこともあります。
そこで,ChatGPTの引用機能を考えました。
<現状の課題>
現時点で,例えば「情報源のページのリンクと,該当する部分の原文そのままの引用を提示して」と頼むと,実際に正しく出てくることもあれば,リンク先に存在しない記述が作り出されたり,書き換えられたり,あるいは著作権の問題として拒否されることもあります。
この現象は、多くの場合ハルシネーションと呼ばれます。これは、モデルが次のような事実に正確でない回答を生成する場合を指します。
誤った定義、日付、事実
捏造された引用、研究、出典、または存在しない情報源への参照
あいまいまたは複雑な質問に対する過度に自信のある回答
(OpenAIのヘルプの articles/8313428 日本語版より引用)
<提案する機能>
このような背景を踏まえ,私が提案する機能は,「ChatGPTが回答の際,内部で引用を指定し,原文そのまま引用できる,著作権にも配慮した機能」です。
①ChatGPTが,回答生成中に内部でコマンドなどを送信し,ツールを起動します。
②ChatGPTが,ツールに対して引用先のリンクと,引用する部分を指定します。
例えば,example. com というページに以下のような記述があったとします。
「ここではエレキギターの種類を紹介します。まず,ストラトキャスターはフェンダーが開発したエレキギターの一つです。3つのピックアップを搭載していることが特徴で・・・」
ChatGPTは,「example. com の『ストラトキャスター』から『一つです。』まで」のように引用したい部分を指定します。(実際にはこのような形ではないでしょう)
③ツールは,ChatGPTのトークンを並べる生成とは完全に分離します。ツールが起動したら,リンク先から該当部分を探して,自動的にコピーされます。この際,一字一句とも改変しません。
先ほどの例で言えば,ツールが「ストラトキャスターはフェンダーが開発したエレキギターの一つです。」のような文章を取得します。
もし,該当する記述が存在しない場合や,エラーにより取得できなかった場合は,ChatGPTにつき返し,もう一度引用リクエストを出させます。ある一定の回数失敗した場合は自動的にあきらめることで,ループしないように対策します。
④著作権などの問題を考慮します。
詳しいことはわかりませんが,例えば「30文字までの引用が許可されている」と仮定します。すると,ツールは「ストラトキャスターはフェンダーが開発したエレキギターの一つです。」という文章の前の30文字だけを取り,後は自動的に除かれます。これにより
「ストラトキャスターはフェンダーが開発したエレキギターの一つで」
という文章になります。これは機械的に行う作業で,AIの手は一切介しません。
これは,原文と一切変わらない状態を保ち,信頼性を確保するためです。
このとき,単語の途中でも機械的に切ります。
生成AIを一切介さない処理なので,見た目を整える余地はありません。大切なのは一字一句一致していることです。
⑤ユーザ側に表示します。
④の作業まで内部で完了したら,ChatGPTの通常の生成とは完全に分けてユーザ側に表示します。つまり,トークン生成をする「ポンポンポン」と出てくる方式ではなく,別のボックスに「ボン」と表示します。
例えば,ユーザにはこのように表示されます。(あくまで一例です)
ChatGPT:「ストラトキャスターに関する記述を見つけました。ここにはストラトキャスターはフェンダーが開発したということが書かれています。」
引用セクション:「「ストラトキャスターはフェンダーが開発したエレキギターの一つで」」引用元:example com
大事なこと
ここで大事なことは,引用部分の指定をした後は,一切生成AIを介さずに機械的に処理を行うことです。これにより,勝手な言い換えや,存在しない内容の言及,過度な引用を防ぐことができます。
さらなる案
もし,HTML・CSSごと引用し表示できるならば,表や文字色などもそのまま見ることができ,より信頼性の高い引用になります。ただし,この場合は画像等の著作権の扱いや,どのように文字数を切るかが問題となります。
<課題>
私はここまで考えましたが,ChatGPTがどのように引用部分を指定するかが考えられませんでしたので,この部分が課題として残るかと思われます。
単語の場合は,同じ単語が複数出る可能性もありますし,指定段階で別の単語に代わってしまう虞もあります。
HTMLの段落などで指定する方法もあるでしょう。
あるいはさらなる様々な方法があるかもしれません。
<総括>
私は情報分野の専門家ではないため,技術的に実現可能かどうかを含め,この提案にはまだ検討すべき点があると思います。
しかし,ChatGPTが参照した情報源の内容をユーザーが正確に確認できるようにすることは,回答の信頼性を高めるうえで重要だと考えています。
特に,引用する文章そのものを生成AIに生成させるのではなく,AIには引用箇所の指定だけを行わせ,その後の取得・文字数制限・表示を生成AIとは別の機械的な処理として行うことが,この提案の重要な点です。
私はここまでの構想しか考えられていませんが,より専門的な知識を持つ方々から,この仕組みを実現する方法や,より良い設計について意見をいただければと思います。