AI によるインテリジェントな 4D Write Pro文書分析

多くのビジネスアプリケーションでは、顧客からのフィードバック、社内メモ、サポートチケット、レポートなどの非構造化テキストをユーザーが入力または受信します。このようなコンテンツは貴重な情報ですが、処理をおこなわなければ活用することが困難です。

ここで人工知能 (AI) が強力なツールとなります: 4D Write Pro の文書内容を自動的に分析することで、理解・並べ替え・優先順位付けに役立つメタデータを抽出することができます。

このデモでは、AI を使った 4D Write Pro文書の完全な自動分析シナリオを実装しました。シンプルなテキストから、AI は以下のことをおこなえます:

  • 内容を反映した簡潔なタイトルの生成
  • トーンの識別 (肯定的・否定的・有益・緊急…)
  • 分類タグの提案
  • 文書品質の評価

ゴールは明確です: ユーザー体験を維持しつつ、便利なメタデータを文書に自動的に付与し、充実させることです。

この機能は、多くの実用的な状況で役立ちます:

  • 受信メッセージの自動ソート:トーンや緊急性に基づいた並べ替え
  • ドキュメントの分類: 種類・テーマ・事業別など
  • 改善すべきコンテンツの検出:品質スコアが低い場合のアラート
  • 顧客感情の統計: フィードバックの傾向追跡

仕組みについて

ユーザーは、4D Write Pro ベースのインターフェースにテキストを入力またはペーストします。”保存” ボタンをクリックすると、文書がデータベースに保存され、AI によって自動的に分析されます。分析結果はデータベースに保存され、インターフェースで表示されて、文書の情報を充実させることができます。

HDI: 4D Write Pro: AI を使った文書の分類・評価

AI を使って自動的に抽出するメタデータは以下の通りです:

  • タイトル: 文書の主題とトーンを反映した簡潔なタイトル
  • トーン: 肯定的・否定的・中立的・情報提供・緊急など
  • タグ: 内容に関連する 1~3個のビジネスまたはテーマ別のカテゴリー
  • 文章品質: 分かりやすさ・構成・スペルなどに基づいて 5点満点での評価と説明コメント

 

技術的な詳細

1. 保存時に分析をトリガー

ユーザーが “保存” ボタンをクリックすると、AI による文書分析が開始されます。そして、文書と、AI が生成したメタデータの両方をデータベースに保存します:

var $infos : Object
$infos := cs.ChatManagement.new().computeInfo(WP Get text($doc); $apiKey)

var $ent : cs.DocumentEntity
$ent:=ds.Document.new()
$ent.WP:=$doc
$ent.Title:=$infos.title
$ent.Tone:=$infos.tone
$ent.Tone_Emoji:=$infos.tone_emoji
$ent.Tags:=$infos.tags
$ent.Quality_Score:=$infos.quality_score
$ent.Quality_Comment:=$infos.quality_comment
$ent.save()

2. プロンプトの構築

computeInfo メソッドは、AI に問い合わせるためのシステムプロンプトとユーザープロンプトの両方を構築します。

システムプロンプトは、分析と応答について AI に説明し、ガイドします。ユーザープロンプトには、分析する 4D Write Pro文書の内容のみが含まれます。

$systemPrompt:="次のテキストを分析して、次の情報を提供してください: \n"
$systemPrompt+="1. 短くて適切な文書のタイトルを提案してください..."
$systemPrompt+="...\n"
$systemPrompt+="以下のJSON形式で回答してください(コードブロックの囲み記号なし):\n"
$systemPrompt+="{\"title\": \"string\", ... }"

$messages.push({role: "system"; content: $systemPrompt})
$messages.push({role: "user"; content: $document})
$result:=cs.AIManagement.new($apiKey).generateInfo($messages)

return $result

3. OpenAI 呼び出しクラス

AIManagement クラスは、4D AIKit を使用して gpt-4o-miniモデルで OpenAI を呼び出すためのロジックをカプセル化します:

Class constructor($openAIKey : Text)
This.clientAI:=cs.AIKit.OpenAI.new($openAIKey)

Function generateInfo($messages : Collection) : Object
var $result:=This.clientAI.chat.completions.create($messages; {model: "gpt-4o-mini"})
return JSON Parse($result.choice.message.text)

4. AI の結果例

以下は、AI が返すレスポンスの例です:

{
  "title": "最新の製品アップデート後の失望",
  "tone": "否定的",
  "tone_emoji": "😠",
  "tags": "製品フィードバック、ソフトウェア、サポート",
  "quality_score": 5,
  "quality_comment": "明確でプロフェッショナルなメッセージ"
}

次に

このデモンストレーションは、4D Write Proドキュメントに AIレイヤーを統合し、ドキュメントを自動的に充実化させ、構造化データを抽出することがいかに簡単であるかを示しています。

ここで示されたモデルはモジュール式で、適応性があり、再利用可能です。メール・サポートチケット・社内メモ・ユーザーコメントなど、様々なタイプのコンテンツに適用できます。

ユーザーエクスペリエンスを変えることなく、既存の 4Dアプリケーションにシームレスに統合し、自動化・ソート・分析の新たな可能性を広げます。AI は目に見えないアシスタントの役割を果たし、ドキュメントを自動的に充実させ、処理を簡素化します。

あなたのアプリケーションや文書に、どのようなインテリジェンスを加えたいですか? あなたのアイデア、使用例、質問を 4Dフォーラムで共有してください!

Vanessa Talbot
- プロダクトオーナー - Vanessa Talbotは、2014年6月に4Dプログラムチームに参加しました。プロダクトオーナーとして、彼女はユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換する役割を担っています。また彼女の役割は、実装された機能が顧客のニーズを満たしているかどうかを確認することでもあります。入社以来、4Dにおける主要機能の定義に関わってきました。プリエンプティブ/マルチスレッドの新機能の大部分と、非常に複雑なテーマである組み込みアプリケーションの新アーキテクチャに取り組んできました。VanessaはTelecom Saint-Etienneで学位を取得後、Criminal Research Institute でオーディオビジュアル部門の開発者としてキャリアをスタートさせました。また、メディアや医療の分野でも、技術サポートやプロダクションの分野で働いてきました。