前回、Power AppsでスマートフォンアプリにOCRの機能を追加しました。OCRとしては100%の認識率はなかなか難しいところですが、文章としての概要を把握する場合にはある程度の認識率でも十分許容できる範囲です。今回は、OCRとしては難易度の高い縦書き日本語の新聞記事を読み取ってChatGPTを使っての要約にチャレンジしてみます。
目次
Power Automateフローの作成
まずは、Power Appsから呼び出すPower Automateのフローを作成します。
以前の記事(ChatGPTを利用してTeamsでチャットボットを開発してみる)ではAzure AutomationからChatGPTのAPIを呼び出していましたが、今回はPower Automateのフローからの呼び出し方法を実装します。
フローの全体は以下となります。

アクションを一つずつ確認していきましょう。
Power Appsから呼び出されたタイミングで、OCRで取得されたテキストを取得します。

Open AIのAPIキーを取得したものを変数に格納しています。
(参考:APIキーの取得 https://developers.gmo.jp/31137/)

APIに渡すプロンプトを作成します。
#命令書\n\n
以下の文章は前後の順番が逆になっていたり、余分な文章が含まれています。意味が分かるように概要を日本語で教えてください。\n\n
#文章\n\n
@{triggerBody()['text']}
HTTPアクションでAPIにPOSTします。
| URI | https://api.openai.com/v1/chat/completions | |
| ヘッダー | Content-Type | application/json |
| Authorization | Bearer @{variables(‘API_Key’)} | |
| 本文 | { “model”: “gpt-3.5-turbo-0301”, “messages”: [ { “role”: “user”, “content”: “@{variables(‘プロンプト’)}” } ] } |

ChatGPTからの回答を格納する変数を定義します。

受け取った回答本文はJSON形式となるので解析を実施します。
受け取ったJSONのサンプルから生成したスキーマはこちらです。
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"object": {
"type": "string"
},
"created": {
"type": "integer"
},
"model": {
"type": "string"
},
"usage": {
"type": "object",
"properties": {
"prompt_tokens": {
"type": "integer"
},
"completion_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
}
},
"choices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"content": {
"type": "string"
}
}
},
"finish_reason": {
"type": "string"
},
"index": {
"type": "integer"
}
},
"required": [
"message",
"finish_reason",
"index"
]
}
}
}
}

回答は分割されているので、変数に格納してまとめます。

まとめた回答をPower Appsに戻ります。

Power Appsのアプリ作成
これまでの記事を参考にAI Builder テキスト認識エンジンを実装したアプリを作成します。
ラベル「Label1」を配置して、「Text」プロパティーに変数「_Text」を設定します。最初にOCRで取得した文字列を表示します。解析ボタンを選択した後、Power Automateからの実行結果=要約内容を受け取りこちらに表示します。

左メニューの「フローの追加」から作成した「PowerApps_OCR4」を選択して追加します。
要約ボタンを追加して、「OnSelect」に以下を設定します。
Set(_Answer,PowerApps_OCR4.Run(_Text));
Set(_Text,_Answer.回答);ボタンを選択すると、“_Answer”変数にはPower Automateのフロー実行結果が格納されます。
“_Text”変数に、“_Answer.回答”を設定することで、要約内容を取得して、ラベルに表示されます。

テスト
こちらの新聞記事をスマホで撮影して要約してみました。

OCRで認識された文字としては縦書きということもあり、文脈が入り乱れて意味が分からない状態です。

ChatGPTによってきれいに分かりやすまとめられた文章となっています。
OCRから新聞記事の要約チャレンジに成功しました!

以上、Power AppsのOCRとChatGPTを組み合わせて難易度の高い新聞記事の要約にチャレンジしました。今回はうまくいきましたが、記事や撮影範囲によっては、うまくいかない場合もありますが一応実用範囲の結果は得ることができました。OCRのエンジンがどうしても左上から認識を開始するので、横書きの文章であればかなりの確立で的確に内容を要約できるようですが、縦書きの場合はなかなかの難易度になります。各ワードの位置情報も取得できているのですが、並べ替えも難易度が高そうです。そのあたりは要点となる単語を拾ってChatGPTの文章生成能力におまかせといったところですが、さすがです。
著書の紹介欄
Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!
できるPRO Windows Server 2016 Hyper-V
◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。
初めてのWindows Azure Pack本が発売
Windows Azure Pack プライベートクラウド構築ガイド
本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(608)
-
イベント(242)
-
カルチャー(61)
-
デザイン(77)
TAG
- 5G
- Active Directory
- AI
- AI for DevOps
- AI TALK
- AI 機械学習強化学習
- AI/機械学習
- AIO
- AIエージェント
- AIコーディング
- AIコーディングエージェント
- AIセキュリティ
- AI人財
- AI教育
- AI活用
- AI研究
- AI駆動
- Behind the Scenes
- BIT VALLEY
- blockchain
- ChatGPT
- ChatGPT Team
- Claude Code
- Claude Team
- cloudflare
- cloudnative
- CNDO
- CNDT
- CODE BLUE
- ConoHa
- ConoHa VPS
- ConoHa VPS MCP
- CSS
- CTF
- DEF CON
- DEF CON 34
- Designship
- developer
- DevRel
- DevSecOpsThon
- Docker
- DTF
- EDR
- Engineering Journey
- expert
- EXPERT CROSS
- GMO AI&ロボティクス商事
- GMO AIR
- GMO DESIGN AWARD
- GMO Developers Day
- GMO Developers Night
- GMO Flatt Security
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOインターネット
- GMOインターネットグループ
- GMOインターネットグループ陸上部
- GMOグローバルサイン
- GMOコネクト
- GMOサイバーセキュリティ byイエラエ
- GMOサイバーセキュリティbyイエラエ
- GMOデジキッズ
- GMOヒューマノイド・ラボ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメイクショップ
- GMOメディア
- GMOロボッツ
- GMO大会議
- GMO天秤AI
- Go
- GPUクラウド
- GTB
- Hack-1グランプリ
- IETF
- iOS
- IoT
- ISUCON
- Japan Drone
- JapanDrone
- Java
- JJUG
- JSAI2026
- K8s
- Kaigi on Rails
- Kerberos
- Kids VALLEY
- LLM
- LLMO
- MCP
- MetaMask
- MySQL
- NFT
- OpenStack
- OSS
- Perl
- PHP
- PHPcon
- PHPerKaigi
- Python
- QUIC
- RFC
- RPA
- Ruby
- SECCON
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- Takumi byGMO
- Terraform
- TypeScript
- UI/UX
- vibe
- VLA
- VPN
- VPS
- VS Code
- WebRTC
- Webアプリケーション開発
- XR
- XSS
- Yoitoi Summit
- ZTNA
- アウトプット
- アドベントカレンダー
- イベントレポート
- インターンシップ
- インハウス
- インフラ
- エキスパート制度
- エキスパート座談会
- エンジニア採用
- エンジニア文化
- お名前.com
- クラウド
- クリエイターインタビュー
- クリエイティブ
- コーディングエージェント
- コンテナ
- コンピュータビジョン
- サイバーセキュリティ
- サマーインターン
- スクラム
- スパム対策
- スペシャリスト
- セキュリティ
- セキュリティカンファレンス
- セキュリティ人材
- センシング
- ソフトウェアサプライチェーン
- ソフトウェア開発
- チームビルディング
- データサイエンティスト
- デザイン
- ネットのセキュリティもGMO
- ハーネスエンジニアリング
- バイブコーディング
- バックエンド
- ヒューマノイド
- ヒューマノイドロボット
- フィジカルAI
- フルスタック開発
- プログラミング教育
- ブロックチェーン
- フロントエンド
- プロンプトインジェクション
- ペアリング暗号
- ペネトレーションテスト
- ホワイトハッカー
- ゆめみらいワーク
- リモートワーク
- レッドチーム
- レンタルサーバー
- ロボット
- ロボット導入
- ロボティクス
- ワークフロー
- 世界モデル
- 京大ミートアップ
- 京都大学
- 京都未踏
- 人型ロボット
- 人工知能
- 人工知能学会
- 光学
- 国際ロボット展
- 国際標準化
- 基礎
- 多拠点開発
- 大阪公立大学
- 宇宙セキュリティ
- 宮崎オフィス
- 強化学習
- 応用
- 技育プロジェクト
- 技術イベント
- 技術ブログ
- 技術同人誌
- 技術広報
- 技術書典
- 拡張知能
- 新卒
- 新卒研修
- 新規サービス開発
- 映像
- 映像クリエイター
- 映像制作
- 暗号
- 未踏
- 業務効率化
- 機械学習
- 次世代育成
- 決済
- 生成AI
- 産学連携
- 研究開発
- 社会実装
- 社内コミュニティ
- 組織横断
- 耐量子暗号
- 脆弱性診断
- 自動化
- 自律実行
- 若手人材育成
- 通信技術
- 開発組織
- 開発者
PICKUP
-
【エキスパート座談会 #1】生成AI活用の現在地:作業の自動化から「仕組みづくり」へ
技術情報
-
【第4回・AI TALK】GMOインターネットグループ・石丸智輝さんに聞く、AI時代に「人が書く意味」
技術情報
-
近畿圏の若手14名、半年の開発の起点に。「京都未踏」ブースト会議レポート
イベント
-
【第3回・AI TALK】GMOインターネットグループ・真次さんに聞く、ヒューマノイドの現在地と研究者としての挑戦
技術情報
-
【DEF CON 34 参加レポート】GMOインターネットグループが挑む、世界最高峰セキュリティカンファレンスの最前線
イベント
-
【Expert Cross #4・後編】「場づくり」を通じて新しい概念を組織に浸透。横のつながりと共に広がった「エキスパートとしての視野」
技術情報