Beanslabo
Tech Blog

技術ブログ

ChatGPTを使った内部文書問い合わせ検証 2.ベースライン精度検証

2024.4.8

前置き

基本的に、こうしたチャットボットの最終的な回答精度は、検索手法やデータ加工、プロンプト等の工夫によって大きく変わります。

本記事の目的は、そこまでの工夫なしに前記事の手法を踏襲したベースラインの回答精度結果の紹介にあります。
その結果を踏まえて、今後の記事でどういった改善策があるのか考えていけたらと思います。

本記事で取り上げる回答精度がChatGPTを使ったチャットボットの限界を意味するわけではないことはご留意ください。

今回使用したツール

前記事で紹介した手法を実現するツールとして一般にLlama_indexLangChainが広く使用されています。

そのうち今回の検証では前者のLlama_indexを使用しました。Llama_index自体に関しては素晴らしい解説記事が少なくないので、仕組みの解説はそちらに譲ります。
たとえば、GMO INTERNET GROUP: Llamaindex を用いた社内文書の ChatGPT QA ツールをチューニングするが挙げられます。

検証データセットについて

自作した沖縄県立図書館データセットの中身をもう少し詳しく紹介します。

全91個の記事に対して合計199個の質問とその模範解答を用意しました。うち14問はどの記事にも回答が含まれない内容のため「回答不可」が正解となります。
記事ごとに用意した問題数は、記事の長さや質問の作りやすさによって左右されますが、少ないもので1つ多いもので4つの、平均の2.19問/記事となります。

たとえば、次の2記事は、
 記事id:2 移民資料コーナーについて
 記事id:4 ホール貸出(有料)
以下のような形となっています。

  1. ・記事id2
  2. ・記事タイトル:移民資料コーナーについて
  3. ・記事本文:移民資料コーナーについて\n沖縄県系人の移民に関する本やパネルを展示しており、移民一世が歩んだ歴史や県系人の現在の活躍をご紹介しています。…(以下略)…
  4. ・質問1:移民一世に関する歴史はどこで見ることができますか?
  5. ・解答1:移民資料コーナー
  6. ・質問2:移民資料コーナーに写真はありますか?
  7. ・解答2:記念誌などの文字情報はもちろん、移民が盛んであった当時の様子を知ることができる写真帳等もございます
  8. ・記事id4
  9. ・記事タイトル:ホール貸出(有料)
  10. ・記事本文:ホール貸出(有料)\nホール貸出(有料)\n 沖縄県立図書館では3階ホールの貸出(有料)を行っています。教養の向上及び調査研究の促進を図るとともに、…(以下略)…
  11. ・質問1:ホールの無料貸し出しはしていますか?
  12. ・解答1:沖縄県立図書館では3階ホールの貸出(有料)を行っています
  13. ・質問2:どういった理由でホールの利用許可が取り消される可能性がありますか?
  14. ・解答2:県内における感染者の増加等の状況

チャットボットにはどの記事と関連した質問かわからないようにして与えます。
つまり、チャットボットは質問が与えられると、まず全91記事中のどの記事に解答の根拠が含まれるかを判断してその情報から適切な回答を生成することが求められます。

今回の検証の条件は以下の通りです。
 使用モデル: gpt-3.5-turbo (temperature: 0)
 チャンクサイズ数: 300
 チャンクオーバーラップ数: 80
 チャンク分割セパレーター: “。”

また、ChatGPTに与えるプロンプトは以下の形とし、質問に答えられる記事が存在しない場合は「回答不可」と答えるよう指示をしました。

  1. QA_PROMPT_TMPL = (
  2. "文脈情報は以下の通りです.\n"
  3. "----\n"
  4. "{context_str}\n"
  5. "----\n"
  6. "事前知識を用いず、文脈情報のみを用いて以下の質問に答えてください "
  7. "質問はこちらです。\n"
  8. "----\n"
  9. "{query_str}\n"
  10. "----\n"
  11. "もし文脈情報が質問の回答に使えなかった場合、「回答不可」とのみ答えてください。\n")

※{context_str}の箇所に回答に必要な可能性が高い記事をデータベースから検索して記入します。{query_str}は質問文がくる場所です。

結果例

質問例ならびにその正解不正解とチャットボットの回答を掲載します。
下の◯と✗はチャットボットが正解できたかどうかを表しています。

  1. ◯ 「英語でおはなし会」では何を英語で読み聞かせますか?
  2. →「英語でおはなし会」では、季節にあわせた絵本や紙芝居、大型絵本等を英語で読み聞かせいたします。
  3.  英語でおはなし会の参加人数の上限はいくつですか?
  4. →英語でおはなし会の参加人数の上限は15名です。
  5. ◯ 「英語でおはなし会」の読み手は誰ですか?
  6. →「英語でおはなし会」の読み手は沖縄児童英語研究会(OASTEC)様です。
  7. どういった理由でホールの利用許可が取り消される可能性がありますか?
  8. →ホールの利用許可が取り消される可能性がある理由は、県内における感染者の増加等の状況による図書館の臨時休館です。
  9. 図書館利用に関する解説動画を教えてください。
  10. →図書館利用に関する解説動画は、以下のリンクをクリックしてください。https://www.youtube.com/watch?v=SjL57AoSjb4&feature=youtu.be
  11. 利用カードを作る際に必要なものは?
  12. →利用カードを作る際に必要なものは、利用カード申請書と身分証(免許証・保険証・学生証・マイナンバーカード等)です。
  13. 6歳の子供は本人が利用カードを作らないといけませんか?
  14. 6歳の子供は利用カードを作成するためには保護者が代理で作成することができますが、お子様ご本人の身分証も必要です。
  15. いじめ相談ダイヤルの番号は何ですか?
  16. →いじめ相談ダイヤルの番号は0120-0-78310です。
  17. 子どもの人権110番を提供している機関はどこですか?
  18. →子どもの人権110番を提供している機関は「法務省人権擁護局」です。
  19. いじめに関する図書館所蔵の関連資料を探すには、どのように検索すればよいですか?
  20. →「県立図書館」所蔵の関連資料を探す(検索条件:分類=371、フリーワード=いじめ)
  21. 会議室を貸し出している理由は何ですか?
  22. →ビジネスルームを貸し出している理由は、「地域経済の活性化に資する公益的な情報を提供する場」を目指しているためです。
  23. ビジネスルームが利用できる時間帯は?
  24. →ビジネスルームが利用できる時間帯は、県立図書館の開館日の9:00から20:00までです。
  25. ◯  病んでいるときに参考になる図書館の資料を探したい。何というキーワードで調べるとよいですか?
  26. →病んでいるときに参考になる図書館の資料を探したい場合、キーワードとして「精神科」「うつ病」「メンタル」などを検索するとよいでしょう。
  27. ビジネスルームで営利活動ができない理由は何ですか?
  28. →ビジネスルームで営利活動ができない理由は、当館が公共施設であり、ビジネスエリアは「一部の限られた利用者に利益確保(直接的な営利活動)の機会を提供する場」ではなく、「県内の個人あるいは事業者へ有益な情報を広く波及させ、地域経済の活性化に資する公益的な情報を提供する場」であることを目標としているためです。
  29. 会議室が利用できるかどうか知りたいのですが連絡先は?
  30. →連絡先は沖縄県立図書館の奉仕班のビジネスルーム担当です。電話番号は098-894-5858です。
  31. 収益を得る活動に会議室は利用可能ですか?
  32. →回答不可 (模範解答:ビジネスルームでは営利活動ができない)
  33. 新しく加わった本の紹介をしている動画はありますか?
  34. "はい、以下の動画が新しく加わった本の紹介をしています。
  35. 〇平和への道しるべ 県立図書館員が選んだ慰霊の日関連本紹介(6/22)←NEW
  36. https://www.youtube.com/watch?v=npfbA0iG8-0
  37. 〇沖縄戦体験を解説するオンライン講座 ゛絵本『すくぶん』""(6/23)←NEW
  38. https://www.youtube.com/watch?v=ltTKY3lwmOU"
  39.    (コメント:新着本紹介動画 https://youtu.be/eQbP9_q7JBI 等が正しい。NEWの文字に影響を受けた可能性がある。)
  40. エドガー・アラン・ポーの短編集を印刷したいです。どの量まで印刷できますか?
  41. →回答不可
  42.    (コメント:正しくは、短編集・論文集・分担執筆など それぞれの作品・論文・執筆箇所の半分。)
  43. 美術館で沖縄の資料を展示したいのですが借りることは可能ですか?
  44. →回答不可
  45.    (コメント:正しくは、博物館、美術館、地方公共団体などの施設において、展示利用する場合も、同様に『特別貸出』をご利用できます。)
  46.  団体で本をまとめて借りたいのですが、申請からどのくらい時間がかかりますか? 
  47. →申請から2週間程度の時間がかかることがあります。
  48.    (コメント:公共図書館、学校…(中略)…以外の場合は2週間程度かかる可能性がある記載はあるが、それ以外の場合の記載は記事にない。誤解を生じさせる回答となっている。)
  49.  申請書をメールで送った際に受け取り確認の連絡はきますか?
  50. →受け取り確認の連絡はありません。
  51.    (コメント:記載なしのため正しくは回答不可。)
  52.  成年後見制度の相談窓口を利用する際に必要な手続きや準備するべき書類は何ですか?
  53. →成年後見制度の相談窓口を利用する際に必要な手続きや準備するべき書類は、以下の通りです。\\n\\n1. 身分証明書: ご本人の身分を確認するために、運転免許証やパスポートなどの身分証明書が必要です。\\n\\n2. 関連書類: 成年後見制度に関する書類や資料を準備しておくと、相談窓口での相談がスムーズに進むことがあります。例えば、成年後見制度に関するパンフレットやガイドブック、関連法令の条文などが該当します。\\n\\n3. その他の書類: 相談内容によっては、所得証明書や医療証明書などの追加の書類が必要になる場合があります。具体的な相談内容によって必要な書類が異なるため、事前に相談窓口に問い合わせることをおすすめします。\\n\\nなお、成年後見制度の相談窓口によって必要な書類や手続きが異なる場合がありますので、事前に該当する相談窓口に問い合わせることが重要です。
  54.    (コメント:記載なしのため正しくは回答不可。記事に記載のない一般論を答えてしまっている。)

正解数:199/234
85.0%

今回、基本は人手での正解不正解の評価をしていますが、一部、gpt4-turboを用いて正解不正解を自動判定するRAGASというフレームワークも使ってみました。
その使用感等についてはまた別の記事で取り上げたいと思います。

そのまま検索システムとして公開するには心もとないですが、細かな設定に手をつけていないベースラインとしてはほどほどの正解率が出ていると思います。
今後は、この結果を考察し、具体的にどのような改善点が考えられるかを取り上げます。

Related

関連記事

Recommend

おすすめ記事