第8章 AIを用いたXML変換の展望
中西 明日輝
8.1 はじめに
ここまでの章では、実務に際し、テキストデータをJATS XML形式の文書に変換する方法、およびその利用方法について紹介してきました。2024年現在は、これらの方法を用いてXML変換が行われていますが、近年開発が進む生成AI技術によって、これらの方法を用いた作業は将来様変わりするかもしれません。
本章では、AIを用いたXML変換の展望についてご紹介します。
8.2 生成AIとは何か?
生成AI技術は、2022年末ごろより急速に注目されつつある、文書や画像の生成に特化した人工知能技術です。
生成AI技術を活用した対話型システムでは、ユーザーの入力に基づいて、AIが適切な返信を自動生成します。たとえば、ユーザーが「こんにちは」と入力したとすると、システムは入力されたテキストが日本語のあいさつ文であることを解釈し、それに対する最も適切な応答は何かを計算して、その結果を応答します。日本語の挨拶であいさつ文である「こんにちは」に対して、最も適切な応答は、その返事だと考えられますから、この場合、システムは「こんにちは」というように返事を返してくれることでしょう。これらのシステムでは、従来型のチャットボットシステムのように、あらかじめ用意された定型文を返信するのではなく、システムがユーザーの入力したテキストの文脈や意図に沿った応答を自動で生成するため、ユーザーの入力に対してより柔軟に対応することが可能であるとされ、近年、自動受付や機械翻訳などの様々な分野での活用が期待されています。
生成AI技術によるこれらのコンテンツ生成を可能とするのが、深層学習によりインプットされた膨大な量の学習用データです。生成AI技術を用いたシステムには、インターネット上に存在するテキストや画像などの様々なデータから、どのような入力に対して、実際にどのような応答がなされたかを解析したデータセットが組み込まれており、これにより「あるテキストに対して、適切な応答はどのようなものか」を判断しています。生成AIシステムの生成物の品質は組み込まれているデータセットに左右されるため、Google社、Apple社等の著名な巨大テック企業各社は優れたデータセットを作り出そうと、巨額の投資を行い、しのぎを削っています。
生成AI技術を用いた対話型システムとして、著名なものには「ChatGPT」(図8.1)「Gemini」「Stable Difusion」などが存在します。

8.3 生成AIを用いたXML変換
生成AI技術は、「入力されたテキストに対して最も適切な応答は何か」という問題を解いて、その結果を出力するシステムです。そのため、例えば「以下のテキストを英語に翻訳してください」と入力すると、ユーザーが指示した通りに、入力したテキストを英語に翻訳して出力してくれます。英語に翻訳せよという指令に対して最も適切な応答は、与えられたテキストが翻訳された英文であろうからです。
この理屈を応用すると、テキスト応答型の生成AIに、「以下の文章をJATS XML形式に変換しなさい」というような指令を与えれば、望むJATS XML形式の文書を得ることができるはずです。
実際に、著名な生成AIシステムである「Microsoft Copilot」にこの指令を与えて、JATS XML形式の文書を生成できるか試してみましょう。
(1) 「Microsoft Copilot」の概要
「Copilot」(図8.2)は、Microsoft社が開発した汎用型の生成AIシステムです。チャットアプリのような画面で構成されており、下部にはユーザーのテキストを入力するためのテキストボックスが、上部にはこれまでのやり取りのログが表示されます。入力ボックスにテキストを入力して送信すると、その内容はログに記録され、その後、AIがそれに適切な応答を生成して、ログに記録していきます。これを繰り返すことで、まるで人格を持ったAIとチャットでやり取りを行っているかのような体験をユーザーに提供することが可能です。

(2) 単純な指令を実行した場合と、不適切な応答
ここでは、「Copilot」に対して、以下のような指令を実施しました。
以下のテキストをJATS XML形式に変換してください。 ~~~~~
「~~~~~」の部分には、Word原稿を開いて、そのテキストの内容の上付き部分(本文以前の、タイトル~キーワードまでの部分)をコピー&ペーストして、転記した内容を入力しました。現状、「Copilot」を含む多くの生成AIシステムは、その入力をシステム内へのテキストボックスへの入力に限っており、ファイルをアップロードして読み込むことなどには対応していないことがほとんどです。そのため、このようなシステムでXML変換を試す場合には、入力ボックスに入力できるように、原稿からテキストのみを抽出して、入力ボックスへ転記する必要があります。
すると、しばらくの実行時間の後、システムからは以下の返答テキストを得ることができました。
JATS(Journal Article Tag Suite)形式への変換にはいくつかの方法があります。以下のいくつかの方法を紹介します。 J-Stageの全文XML作成ツールを使用する方法: J-Stageは、オープンアクセス論文の公開を支援するサービスで、DOIも付与してくれます。 J-Stageの全文XML作成ツールを使用すると、ワードやLaTeXのファイルを読み込んでJATS/XML形式に変換できます。このツールは非常に便利で、マニュアルも提供されています。 ただし、一部の例外的な事象に対応するために、XML編集機能を使用することもあります。 オンラインツールを使用する方法: オンラインのXMLコンバータツールを利用することで、テキストファイルをXML形式に変換できます。例えば、FreeConvertやMiConvなどがあります34。 どちらの方法を選択するかは、具体的な要件や作業の効率性によります。全文XML作成ツールを使用する場合は、JATS形式のデータを柔軟に作成できることを考慮してください。
これは、望んでいた結果とは異なります。この内容は、これまでにも前述したXML変換方法を紹介する内容です。私たちが必要としているのは、JATS XMLの本体ですので、この返信は適切ではありません。
実は、Copilotを含む多くの汎用生成AIシステムは、このような返答を返すことが少なくありません。このような受け答えを回避するためには、後述の「プロンプトエンジニアリング」と呼ばれる手法を用います。
(3) プロンプトエンジニアリング
生成AIシステムでは、与えられた入力に応じて応答を生成するため、与えられる応答が異なると、違った答えが応答されます。これは生成AIシステムに限らず、世に存在する多くのシステムでも同様です。例えば、自動販売機をひとつのシステムとして考えた場合、コーヒーの購入ボタンを押したときと、ジュースの購入ボタンを押したときでは、出力される結果(取り出し口に出てくる飲料の種類)は当然異なります。生成AIシステムに与えられる入力は口語であるため、小さな言い回しが変化するだけで、出力されるテキストも大きく異なってしまいます。そのため、生成AIシステムを用いて望む結果をユーザーが得ようとする場合は、システムに応じて、そのシステムが受け取りやすい言い回しに気を付けて、入力を考慮する必要があります。こうした、システムに合せた入力を行う考え方のことを「プロンプトエンジニアリング」と呼びます。
ここでは、以下のように入力する文章を変更します。
あなたの役割は、与えられたテキストをJATS XML形式に沿った文書に変換することです。あなたには以下のテキストが与えられました。このテキストをJATS XML形式に沿った文書に変換してください。 ~~~~~
このような形で入力すると、システムは以下のように応答しました(図8.3)。

もちろんです。与えられたテキストをJATS XML形式に変換します。以下が変換されたテキストです: ~~~~~ このXML文書は、JATS (Journal Article Tag Suite) 形式に従って構造化されています。タイトル、著者、抄録、キーワードなどが適切にタグ付けされています。必要に応じて本文の部分を追加してください。また、your-journal-id、Journal Title、Publisher Name、City, Country、10.1234/journal.doiなどの適切な値を実際の情報に置き換えてください。 : このXMLサンプルは、JATS形式の一般的な構造を示すものであり、実際のジャーナルに適用する際にはさらなるカスタマイズが必要です。詳細については、JATS DTDおよびガイドラインを参照してください。
「~~~~~」の部分には、XML文章が出力されました。
このように、入力するテキストを変化させることで、ユーザーが望む形での結果を得ることができるようになりました。入力した文書には、文章のどの部分がどのような意味を持つテキストなのかを表現するタグ付けは一切行っていませんが、AIが生成した出力には、AIがそれぞれの部位をどう解釈したかに従って、その解釈にふさわしいタグ付けがなされています。
これまでの方法では、どのような方法をとるにせよ、変換前の文章の中からタグ付けを行うためには、人の手による作業が多かれ少なかれ必要でした。その文章のどの部分が、どのような意味を持つかを正しく解釈することは、従来型のプログラムでは困難だったからです。
しかし、生成AIシステムは、入力されたテキストから、どの部分がタイトルで、どの部分が著者名、それも姓名はどこで区切られるかなど、与えられた入力の解釈を行って、それに応じた応答を出力することが可能です。これは生成AIシステムを使用することで、従来型のシステムだけでは難しかった、変換前の文章から一足飛びにXMLを得ることができることを意味します。
もし、生成AIシステムを用いたXML変換が実用化できるのであれば、XML変換の作業は大幅に効率化されることでしょう。
8.4 生成AI技術の問題点
生成AI技術を用いたXML変換は大変便利なように思えますが、残念ながら、現時点では、生成AI技術を用いたXML変換、特に和文テキストのXML変換に特化したシステムは存在しておらず、生成AI技術を用いたXMLの変換には以下のような課題があります。
(1) 長文を変換することができない
たいていの生成AIシステムでは、ユーザーが与える入力テキストに文字数の制限が設けられています。そのため、現時点では、例えば変換したい論文の全文を入力に含め、ひとつの論文全体を一括でXML変換させることは不可能です。上述の「Microsoft Copilot」を用いた例でも、与えているのは本文以前の部分までであり、本文を含めた全文を変換するように指令を行うことはできませんでした。また、ある一定以上の長さを持つテキストをXML変換するように指令を行うと、今回の試行では必ず以下のような出力を行い、出力を省略しました。
~~前略~~ </sec> <!-- 以下、本文の他のセクションも同様にタグで囲んで構造化します。 --> </body> </article>
プロンプトエンジニアリングの工夫によって、こうした応答拒否は回避することが可能かもしれませんが、入力テキストボックスの入力制限はシステムで定められた制約であるため、どうすることもできません。そのため、実際には入力テキストに含められる形になるまで論文テキストを分割し、分割したそれぞれに対して生成AIシステムでの変換をかけるなどの工夫が必要となるでしょう。
ただし、このようにして対策したとしても、入力を分割した時点でAIはそのそれぞれを独立した文書と認識し、それぞれに対して別々のXMLを生成することとなります。出力されたXMLをつなぎ合わせて一つの文書に戻すためには相応の手間が必要となるに違いありません。
(2) 出力の正確性に欠ける
現時点の生成AI技術は、必ずしも正しいXMLを出力してくれるわけではなく、出力されるXMLには誤りが散見されます。例えば、前項で解説した「Microsoft Copilot」を用いた出力では、以下の誤りが確認されました。
- ● 日本語で入力を与えた部分の内容が英訳されて出力される。 (例:中西秀彦と与えた著者名がHidehiko Nakanishiとして出力された)
- ● 2行に分かれた論文タイトルを入力すると、1行目を刊行雑誌名、2行目が論文タイトルであると認識して、タグ付けを行った。
この他にも、生成AIシステムを用いた出力には、以下のような誤りが発生することが散見されます。
- ● 入力に与えた文書には含まれない内容を含んだ結果を出力する。
- ● 入力に与えた文書の内容を改変して出力する。
- ● JATS XMLのタグスイートに含まれないタグでタグ付けをする。
- ● タグの終了宣言がないなど、XMLとして妥当ではない文書を出力する。
厄介なのは、生成AI技術を用いて出力したXMLには誤りが含まれる可能性が高いものの、文書全体が明らかに誤っているわけではなく、総体としては「もっともらしい」ものが出力できてしまうという点です。誤りが散見されるといっても、一部分を切り取ってみてみれば、正しい形で生成されている箇所もあるでしょう。このため、現状では、生成AI技術を用いて出力したXMLの中から正しいXML文章を得るためには、どの部分が誤っているかを精査し、誤っている箇所を正しく修正するために、結局のところ、JATS XMLの形式に精通した人間の作業者が目視で確認する必要があります。
(3) 常に一定の出力が得られるわけではない
「プロンプトエンジニアリング」の項目ですでに説明したように、生成AIシステムでは、入力するテキストの細かな言い回しが変わるだけでも生成される応答テキストも異なるものとなってしまうため、どれだけ技術の発展により誤りを抑えられたとしても、常に一定の出力を得ることができず、実行のたびに得られる出力が異なってしまいます。たとえ、指令として与える「以下の文章をJATS XML形式に変換しなさい」といった入力を統一したとしても、AIシステムは、その次に来る返還元の原稿テキストまでも含めて入力として解釈するため、出力の「揺らぎ」を抑えることは不可能でしょう。
そのため構造上、どれだけ高度な生成AI技術を使ったとしても、「誤りがないことを保証する」ことはできません。
どの程度のミスまでを許容とするかは、そのXMLの用途等によって異なるため、用途によってはこうした誤りが発生する可能性をある程度許容した上で、生成AIによるXML変換を行うことは可能でしょうが、例えば人の命に係わるような医療情報等を取り扱う場合、少しの確率でも誤りが発生することは許されません。AIが起こす誤りには法則性がなく、機械的に処理を実行する既存のプログラムによる変換では起こりえないトラブルが発生する可能性もあるため、どれだけ生成AI技術が発達したとしても、作業者の目視による確認を省略することには一定のリスクが含まれることは否定できないでしょう。
(4) 入力データは外部に送信される
極めつけに懸念しておきたいのが、現状の生成AIシステムは端末内で完結するシステムではなく、そのほとんどが入力を外部、海外のサーバに送信し、サーバ内で処理した出力結果を受信してくる形式をとっていることです。例えば未公開論文や個人情報のような機密性の高いテキストをこのような形で外部に送信することの是非は問われてしかるべきでしょう。あらかじめシステムの規約や構造を確認したり、与える入力から機密情報を切り分けたりする工夫は必要です。
このように、現状では生成AI技術を用いたシステムによるXMLの変換には問題点があり、現状での実用化は難しいと言わざるを得ません。ただし、生成AI技術はますます発展を続けているため、近い将来に、これまでに紹介したXML生成のための手法を代替することが期待されています。