Azure OpenAIを活用して所得税チャットボットを作成する
Azure OpenAI Serviceは現在のところビジネス利用に限られており、ビジネスドメインのメールアドレスで利用申請を行う必要があります。私は1月に開業したので利用申請を行ったところ、許可がおりたため利用できるようになりました。
今回はAzure OpenAIを活用して所得税チャットボットを作成し、WEBアプリケーション化してみます。
生成AIに外部参照データを与えて、参照データに基づいて回答させる技法はRetrieval-Augmented Generation(RAG)と呼ばれます。生成AIのハルシネーション(幻覚)を低減させることが可能です。
現在のChatGPT PlusやBingChat、GeminiなどはWEB検索データに基づいて回答することが可能ですが、専門的な事柄を聞いたときにしばしば信用できないデータソースを用いて回答が出力されます。
たとえば、所得税の取り扱いについて聞いたときに税法の原典を参照したり、国税庁・大手会計事務所の発信を参照することは信頼性が高いといえますが、ブログやSNSの真偽不明の情報を拾ってきてしまうこともあります。
今回作成するチャットボットは税法と国税庁WEBサイトのデータのみを参照して回答するようにします。
作成したチャットボットの構成は上記の通りです。おそらくRAGの構成として最小限のものです。
Azure OpenAIのmodelはGPT4を用います。
Azure AI Serachの検索手法はセマンティック検索、ベクトル検索が好ましいと思われますが、今回は概念実証的に最も簡易な全文検索を用います(Embeddingの作成には追加のコストがかかるので、ある程度方向性を確かめたら使ってみます)。
Azure Blob Strageには参照データとして下記ドキュメントを置いています。
所得税法
所得税法施行令
所得税法施行規則
国税庁タックスアンサー
国税庁通達
これらの参照データの収集にはBeautifulSoupを使ったPythonスクリプトを活用しました。
HTMLデータが元になっているため、最初からある程度構造化されており、Azure AI Document Intelligenceを活用してきれいに整形することができました。これがPDFデータだと少し(場合によっては、かなり)苦労することになると思います。
作成したチャットボットをWEBアプリケーションとして公開し、実際に利用してみたものが上記です。パッと見て回答の精度は高そうです。参照したリファレンスデータを確認することもできるため回答の確かさを事後的に検証することも容易です。
確かな原典に遡れることは専門家業務にとって欠かせないことです。このチャットボットはユーザーが利用するだけでなく、専門家がケースから原典を逆引きするのにも有用であると感じました。
このチャットボットはWEBアプリですが、公開した際の従量課金のコントロールに自信がないので現在はクローズド運用しています。私のクライアントに利用してもらうのもよさそうです。
最後に、この領域の生成AI活用には税理士法の解釈の問題が生じうることを付言しておきます。弁護士ドットコムはリーガル分野での生成AI活用に関連して、弁護士法との関係の整理を法務省に照会しています。
上記は弁護士の独占業務に関連した内容ですが、税理士の無償独占の領域はこれよりも広域に及ぶと考えられます。
税理士法との関係性は今後明らかになってくると思いますが、現状では税理士以外がサービスに活用することはリスクがあると思っています。
この記事を書いた人
兎耳山ルカ
会計V/MBA, CPA, CIA, CISA, AFP, 税理士/銀行→会計事務所→独立/AI, Python, GAS, RPA/会計×デジタル/勉強中:ST(午前Ⅰ免除), CFP(1/6)/メタバースやYouTubeで会計の魅力を発信しています
X: @TomiyamaLuca