こんにちは。エイチームライフデザイン技術開発室の鈴木です。 先日弊社のニュースリリースもあったとおり、人工知能学会全国大会にて研究開発の成果を発表してきました。
2023年度 人工知能学会全国大会概要
2023年度 人工知能学会全国大会は、6月6日から9日までのあいだ、熊本城ホールにて行われました。
公式サイトに掲載されている速報値によると現地来場者数は2,455名、リモートを含めた総参加者数は3,566名とのことで、とても多くの人が集まっていました。一部の講演はYoutubeで一般公開されているようなので、気になる方は見てみてください。
研究成果発表
「見出し階層性を考慮したウェブ記事目次テキストの自動生成」というタイトルで口頭発表してきました。朝一番のセッションの一番手でしたが、多くの方に聴講頂きました。
発表内容の概要ですが、Webメディアに掲載するための記事コンテンツを自然言語処理技術によって自動で生成できないか、という物になります。私達エイチームライフデザインはイーデスを中心とした様々なメディアを展開しています。これらのメディアに掲載するための記事コンテンツ作成のフローの一部を自動化してコンテンツ作成に取り入れる事によって、品質の一律化や生産性の向上ができないかという研究を進めていました。特に本研究では、記事の見出しの自動生成を目標としていました。
実際の記事作成のフローにおいても、まずこのような記事全体の構造を表す見出しを作成してから、本文や図表などを作成していくのが一般的です。見出しの作成が自動化できるならば、メディアの記事コンテンツ作成における補助ができるのではないかと考えました。
原稿の方では理論的な話を中心に記述しているので、このブログではそれ以外の実装面での内容について、すこし説明します。
GPTのファインチューンイングを利用したWeb記事生成のアイデア
今回の発表の核となったアイデアは、見出しレベルを特殊トークンと変換してGPTモデルにファインチューニングさせるというものです。
見出しの生成を考えるにあたって、実際のメディアの記事を学習用データとして試行錯誤をしていました。あるとき、HTML文書中の<h1>
〜<h6>
タグに含まれる見出しレベルの情報をそのままトークナイザに与えるのではなく、[h1]
〜[h6]
という独自に登録した特殊トークンに変換して扱うという実験をしてみました。
<h2>見出しの階層性をあらわす親</h2> <h3>見出しの階層性をあらわす子1</h3> <h3>見出しの階層性をあらわす子2</h3> ↓ 見出しレベルを特殊トークンに変換 [h2]見出しの階層性をあらわす親 [h3]見出しの階層性をあらわす子1 [h3]見出しの階層性をあらわす子2
このデータでファインチューニングしたモデルで実験してみたところ、出力に[h2]
や[h3]
などの見出しレベルをあらわすトークンが適切に出現し、階層性を含む複数の見出しの連続を"そこそこ良い感じ"に出力させることができました。
このアイデアを元に、ひとつのWeb記事が生成できるようにシステムを組みました。また、"そこそこ良い感じ"に生成されたとは実際どれくらいなのか、という見出しの評価も行いました。詳細は今後公開される原稿を参照してください。
ファインチューニングの実行環境
ファインチューニングする元となる事前学習モデルには、rinna株式会社によって2022年に公開されたオープンソースライセンスのrinna/japanese-gpt-1bを利用し、huggingface/transformersを用いてファインチューニングしました。日本語のWeb上のテキストを中心に学習されており、Web記事を生成するのに適しているのではないかと考えました。 なお、rinna株式会社は2023年5月により大規模なパラメータを持つモデルやChatGPTと同様に強化学習を施したモデルなど、性能の向上した複数のモデルを公開しました。今から開発をする場合は、これらのモデルを活用することでより品質の高い日本語が生成できる可能性があると思います。
ファインチューニング用の環境には、Google CloudのCompute EngineでNVIDIA T4搭載のn1-standard-8 をプリエンプティブルVMとして利用し、JupyterHubをインストールして利用しました。 プリエンプティブルVMは、価格が安い代わりに途中で停止する可能性があるなど可用性が低いインスタンスです。本研究で利用した範囲では、開発の途中で停止してしまい作業できなくなるようなことはほとんど無かったので、低価格な環境を便利に使うことができました。 なお今から構築するならば、プリエンプティブルVMの後継にあたるSpot VMのほうがメリットを受けられると思います。特に、プリエンプティブルVMは最大24時間しか起動できないため長時間のモデルの学習には向いていなかったのですが、Spot VMではその24時間の制限が撤廃されています。
今後について
本研究によって、記事コンテンツの見出しを生成できることは分かったのですが、評価をしたところまだ様々な課題があることが分かりました。たとえば自動で生成された見出しは独自性に乏しく、学習データと一字一句まったく同じというような見出しはあまり登場しないのですが、内容がどこかで見たような話ばかりになってしまうという問題があります。
本研究の途中でGPT-4が登場し、こちらを利用したコンテンツの生成も調査をしていますが、同様の課題は見られます。こういった課題を解決し、より良いコンテンツを作成するためのお手伝いをするために引き続き研究開発を進めていきます。