こんにちは。イノベーションセンター Generative AI チームの安川です。今回はrokadocのパブリックベータ版( https://rokadoc.ntt.com/ )が公開されたため、その紹介と解説をします。
本記事では「ドキュメント変換技術」であるrokadocの概要を説明した上で、実際の使い方や結果を紹介します。
使い方の部分では、WebUIを用いて簡便にドキュメント解析を行う方法や、解析結果が実際にRAG(Retrieval-Augmented generation、検索拡張生成)で有用なのかを示します。また、手元のRAGへ組み込むためにAPI経由で処理を実行する方法についても紹介します。
rokadoc概要
「AIの力で埋もれた情報を価値あるものに」 というコンセプトの元、rokadocは開発されています。 そして、生成AIで取り扱うには難解なドキュメント類を効果的に利活用可能なデータへ変換するための技術として、2025/2/19 にパブリックベータ版が公開されました。 昨今、LLM(Large Language Model)をはじめとした生成AIは爆発的なブームを迎えています。しかし、実際にLLMを使ったものの、必要な情報を精度高く得ることができず悩んだ方や、RAGをいざ構築したは良いものの、ドキュメントからうまく情報を抽出できずにもどかしく感じた方はいると思います。
rokadocは、このような問題を解消するために作られ、以下の特徴を持っています。
多様なファイルへの対応
ファイル形式は、PDFに加え、Microsoft Word、Excel、PowerPointを利用可能です。
高い検索精度
変換後のテキストを用いて行った検索では他社製品に比べて高い精度を示しました。
rokadocは複数の機械学習モデルと、それらの機械学習モデルに合わせたアルゴリズムを用いており、多数の要素を持った複雑なドキュメントが対象であっても精度高く変換します。 また縦書きなどの日本語特有の要素を含むドキュメントであっても対応が可能です。
オンプレミス対応
私たちは、オンプレミスで動く精度の高いモデルの開発も行なっています。 公開したパブリックベータ版とは異なる構成で、オンプレミスで動く形での提供も今後行っていく予定です。 こちらを利用すれば、インターネットに接続することなく、自社のネットワーク環境に閉じた状態で rokadoc を利用できます。
利用方法
ここからは、具体的な使い方について紹介していきます。
rokadocはWebUIとAPIの2つの利用手段があります。
WebUIからの利用方法
ここではWebUIから利用する手順を示します。 今回はつい先日行われた言語処理学会第31回年次大会(NLP2025)へ、当チームのメンバーが投稿した「chakoshi: カテゴリのカスタマイズが可能な日本語に強い LLM 向けガードレール」 *1 という論文を対象にrokadocを使ってみます。
ドキュメントの解析
以下が、WebUIからログインした場合のホーム画面です。このページの左側から、解析したいファイルをアップロードします。
アップロードを行うと、右側に解析状況が表示されます。進捗が”Succeeded”へ切り替わった後にファイル名をクリックすると解析結果が表示されます。 対象とした論文 を見るとわかりますが、このPDFは二段組かつフッターも存在し、表や図が文章中に登場するという複雑な構造のものになっています。今回は、
- 文章の読み取り
- 表の読み取り
- 図の読み取り
の三点に焦点を当て、解析結果の一部を例示します。
1. 文章の読み取り
このドキュメントは、以下のようにベースが二段組となっており、フッターが存在する複雑な構成となっています。
しかしpage 3の解析結果を見ると、
(前略) 4.1 有害性判定に関する評価実験 本実験の目的は、日本語の有害表現に対する, chakoshi の判定精度の評価である. 既存の代表的なモデレーション API やガードレールを比較対象とし,3.2 節で構築したデータセットを用いてファインチューニングした chakoshi モデルの性能を評価する. 4.1.1 実験手続き (中略) 4.2 カテゴリ追従性能の評価実験 本実験の目的は, chakoshi のカテゴリカスタマイズ機能の評価である. 医療相談や金融相談など, chakoshi が元々対応していない新規カテゴリを自然言語で追加し,それらへの追従性能を検証する. This work is licensed by the author(s) under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). –– 2805 ––
と、テキストを正確に読み取るだけではなく二段組であることを理解し、「4.1 有害性判定に関する評価実験」の途中で段組が変わっている部分に対しても問題なく繋げることができています。また末尾にはフッターとして表示されているものも正確に出力できています。
2. 表の読み取り
page 3には以下の表が掲載されています。
この表は結合したセルが存在した上で罫線が引かれていない部分が存在しているなど、複雑な構造を持つ表となっていますが、解析結果を見ると、
表1 ベースラインと chakoshi モデルの比較結果 <table border="1"> <caption>表1 ベースラインと chakoshi モデルの比較結果</caption> <tr> <th rowspan="2"></th> <th colspan="2">XSTest</th> <th colspan="2">RTP-LX</th> </tr> <tr> <th>F1</th> <th>F2</th> <th>F1</th> <th>F2</th> </tr> (中略) <tr> <td>gemma-2-9b-it-chakoshi</td> <td>0.835</td> <td>0.884</td> <td>0.966</td> <td>0.964</td> </tr> </table>
と、セル内部のテキストを正確に取得した上で、列及び行方向に結合したセルも正確に構造を取得できています。
3. 図の読み取り
page 2には以下の図が掲載されています。
アイコンを用いて処理に登場する要素を、矢印で処理の流れを表現しています。 またアイコンや矢印に対応する文字も記載されています。 このように多数の要素が含まれますが、解析結果を見ると、
**画像の説明:** 1. イラストは「chakoshiの概念図」と題されており、ユーザーが入力するテキストを基に、システムがその安全性を評価するプロセスを示しています。図の中央には「chakoshi」という名称が記載されており、矢印を使ってプロセスの流れが説明されています。 2. 左側には「ユーザー」のアイコンが描かれており、ユーザーが入力するテキストが「入力が安全だと考えられるケース」「入力に害があるケース」「出力に害があるケース」の3つのケースに分類されることが示されています。 3. 右側には「LLM(Large Language Model)」のアイコンが描かれており、システムがテキストを評価する際にLLMを活用することが示されています。 4. 矢印の先には「判定の例示イメージ」として、以下の具体的な数値が記載されています: - 「判定結果:safe」 - 「unsafeスコア:0.13」 - 「判定結果:unsafe」 - 「unsafeスコア:0.89」 - 「カテゴリ:暴言」 5. 図の下部には「※1 入出力はどちらもテキスト形式」との注釈が記載されており、入力または出力がテキスト形式であることを補足しています。 このイラストは、chakoshiがどのようにテキストの安全性を判定するかを視覚的に説明しており、プロセスの流れや具体的な判定例が詳細に示されています。
と、グラフについての情報を正確に出力するだけではなく、各図がキャプションに対してどのように対応しているかも含めて解析ができています。
以上のように、複雑な構成や多種多様なコンテンツを含むものでも、正確に解析できました。
RAGの実行
以下のドキュメント解析結果の画面上部にある「チャット」ボタンからチャット画面へ遷移できます。ここでは論文の解析結果に基づいた回答が可能か試してみます。
例えば「chakoshiは画像も対応できますか?」と入力すると、以下の内容が返ってきます。
いいえ、chakoshiは画像や音声といったマルチモーダルな入出力には対応していません。関連情報によると、chakoshiはテキストベースの入出力に特化しており、シンプルかつ確実な有害性の検出を目指しています。この設計方針により、ユーザー固有の環境でのテキストチャットでの利用を想定しており、画像や音声などの非テキスト形式のデータは対象外となっています。したがって、chakoshiはテキスト形式のデータに限定して動作するガードレールモデルです。
また「chakoshiの性能について端的に教えてください」と聞くと、以下のように解説してくれます。
chakoshiは、日本語特有のニュアンスや表現に対応した軽量なLLM向けガードレールモデルであり、以下の特徴を持っています: 1. 高い判定精度 - 有害性判定において、既存のモデルを上回る性能を示し、XSTestでF1スコア0.835、RTP-LXでF1スコア0.966を達成しました。 2. カテゴリカスタマイズ機能 - 防ぎたい話題を自然言語で指定できる柔軟性を持ち、新規カテゴリ(例: 医療相談、金融相談)でも高い検知率を達成しました(医療相談87.1%、金融相談93.1%)。 3. 日本語特化 - 日本語特有の遠回しな嫌味やハラスメント表現にも対応可能で、文化的背景を考慮した設計がされています。 全体として、chakoshiは日本語に強く、ユーザー固有の要件に応じた安全性確保が可能なモデルです。
このように論文の内容を踏まえた正確な回答ができています。
APIを用いた利用方法
自身の環境で構築したRAGにrokadocの解析結果を用いたい場合、WebUIから1つずつファイルをアップロードしていくのではなく、CLIから操作したい場合もあると思います。そのような場面を想定して、APIを用いてドキュメント解析を行う例を提示します。
前提
まずAPIキーを確認しておく必要があります。APIキーは以下のホーム画面の上部にある「ユーザ設定」の「APIキーの確認/切替」から確認ができます。
また利用方法の詳細はAPIリファレンスから確認が可能です。同様にホーム画面の上部にある「ユーザ設定」をクリックし、「APIキー発行」をクリックすると以下の画面に遷移します。
その後上部の「APIリファレンス」をクリックすると、各APIの使い方や挙動を確認できます。
解析の実行
1. 変換処理
以下のコマンドを実行することで、対象のドキュメントの解析ができます。
api-key
には先程確認した APIキー を設定します。 upload_file
には対象のドキュメントを指定します。今回は対象の論文ファイルである @NLP2025_P7-7.pdf
を指定しています。
curl -X POST "https://beta-api.rokadoc.ntt.com/v1/api/conversions" \ -H "Cache-Control: no-cache" \ -H "api-key: {YOUR_API_KEY}" \ -F "upload_file=@NLP2025_P7-7.pdf" \ -F "from_page=1" \ -F "to_page=6"
ここでfrom_page及びto_pageはそれぞれ、対象のドキュメントの中で解析するページの範囲を選択するために使用します。 こちらを実行すると、
{"code":202,"status":"Pending","conversion_id":"{conversion_id}"}
のようなメッセージが返却されます。このconversion_idを用いてファイルの解析結果を確認できます。
2. ジョブ一覧の確認
以下のコマンドを実行することで、これまで行ったジョブの状況が確認できます。
curl -X GET "https://beta-api.rokadoc.ntt.com/v1/user/conversions" \ -H "Cache-Control: no-cache" \ -H "api-key: {YOUR_API_KEY}"
こちらを実行すると、
{"code":200,"total_count":1,"last_page_number":1,"data":[{"status":"Running","conversion_id":"{conversion_id}","document_name":"NLP2025_P7-7.pdf","created_date":"202503021710","updated_date":"202503021711"}]}
のようなメッセージが返却されます。ここでstatusがSucceededになっていれば解析処理が完了しています。上記のようにRunningになっている場合は実行中ですのでお待ちください。
3. ジョブ結果の表示
以下のコマンドを実行することで、対象のジョブの実行結果が確認できます。
curl -X GET "https://beta-api.rokadoc.ntt.com/v1/user/conversions/{conversion_id}/document" \ -H "Cache-Control: no-cache" \ -H "api-key: {YOUR_API_KEY}"
長くなるため実行結果は省略しますが、これで各ドキュメントに対するAPIでの処理が実行できました。この結果をRAGの検索データベースに格納することで、お手元の環境にあるRAGでrokadocの解析結果を用いることができます。
おわりに
この記事では、2025/2/19にパブリックベータ版を公開したrokadoc について紹介しました。 利用回数に上限はありますが無料で利用可能ですので、気になった方は是非ともお試しください。 利用上限なしで使いたい方向けに個別相談も可能です。もっと使いたい!と思っていただけた方は、rokadocお問い合わせフォームからお問い合わせください。
それでは皆さん、お読みいただきありがとうございました。
*1:新井一博, et al, "chakoshi: カテゴリのカスタマイズが可能な日本語に強い LLM 向けガードレール", 言語処理学会 第31回年次大会, 2025