コルネの進捗や備忘録が記されたなにか

進捗や成果物や備忘録てきななにかを雑に更新していきます。

Power Appsに新しく追加されたAI関数を試してみる


スポンサードリンク

はじめに

Power Appsにいつの間にか新しいAI関数が追加されていました!

learn.microsoft.com

今回紹介するのは、以下6つの関数です。

  • AIClassify
  • AIExtract
  • AIReply
  • AISentiment
  • AISummarize
  • AITranslate

AI関数を試してみる

これらの関数を利用するためには、Dataverseの"Enviroment"テーブルをアプリに追加する必要があります。

また、正直公式ドキュメントの記載わかりにくいなぁ。。。と思いますが、

AI 機能はキャンバス アプリ、AI Builder、およびローコード プラグインで動作するため、ソリューションに簡単に統合できます。

とある通り、AI関数の利用にはAI BuilderのCapacityが必要です。

AIClassify

AIClassify 関数は、テキストを指定されたカテゴリに分類します。

構文

Environment.AIClassify({Text: <Text>, Categories: <Categories>})
パラメータ 必須 データ型 説明
Text 必須 テキスト型 分類を行う文章
Categories 必須 テーブル型 Textを分類するカテゴリ

戻り値は Classification で返され、テキスト型です。

実行例

UpdateContext({Classify: Environment.AIClassify({Text: TextInput.Text, Categories: ["Power Apps", "Power Automate", "Power BI"]}).Classification})

実行結果

公式ドキュメントのPower Appsの説明を対象の文章として行ってみます。

Power Apps は、ビジネス ニーズに合ったカスタム アプリを構築するために短時間で開発できる環境を提供する、アプリ、サービス、コネクタ、およびデータ プラットフォームのスイートです。 Power Apps を使用すると、基盤データ プラットフォーム (Microsoft Dataverse)、あるいはさまざまなオンラインおよびオンプレミス データ ソース (SharePointMicrosoft 365、Dynamics 365、SQL Server など) に接続するカスタムのビジネス アプリをすばやく構築できます。

learn.microsoft.com

続いて、公式ドキュメントのPower Automateの説明を対象の文章として行ってみます。

Power Automate は、反復的なタスクを自動化して組織に効率をもたらすために使用できるサービスです。

クラウド フロー、デスクトップ フロー、または ビジネス プロセス フロー を作成できます。

さまざまな種類のフローについては、このビデオをご覧ください。

learn.microsoft.com

最後に、公式ドキュメントのPower BIの説明を対象の文章として行ってみます。

Power BI はソフトウェア サービス、アプリ、コネクタのコレクションで、これらを組み合わせることで、関連性のないデータ ソースから、まとまりがあり、実体験的な対話型の分析情報を得ることができます。 Excel スプレッドシートや、クラウドベースとオンプレミスのハイブリッド データ ウェアハウスのコレクションなど、さまざまなデータを使えます。 Power BI を使うと、ご利用のデータ ソースへの接続、重要事項の視覚化と検出、必要に応じた任意のユーザーまたはすべてのユーザーとの共有を、簡単に実行できます。

learn.microsoft.com

いい感じに分類できてますねー

AIExtract

AIClassify 関数は、テキストから指定されたエンティティを抽出します。

ただし、ドキュメントにも記載されている通り開発中のため正しく動作しない場合があります。

私が検証した限りでは一度も動いてくれませんでした(´・ω・`)

構文

Environment.AIExtract({Text: <Text>, Entity: <Entity>})
パラメータ 必須 データ型 説明
Text 必須 テキスト型 データ抽出を行う文章
Entity 必須 テキスト型 Textから抽出を行うエンティティ

戻り値は ExtractedData で返され、テーブル型です。

実行例

Environment.AIExtract({Text: TextInput.Text, Entity: "State"}).ExtractedData

実行結果

Entityを変えたり文章を変えたりしてみましたが、動かなかったです。。。

AIReply

AIReply 関数は、メッセージに対する返信のサンプルを作成します。

構文

Environment.AIReply({Text: <Text>})
パラメータ 必須 データ型 説明
Text 必須 テキスト型 応答を行うテキスト

戻り値は PreparedResponse で返され、テキスト型です。

実行例

Environment.AIReply({Text: TextInput.Text}).PreparedResponse

実行結果

以下のようなメッセージで実行しました。

お世話になっております。社内のシステムにログインできなくなってしまいました。パスワードをリセットしていただけないでしょうか?

その結果以下のようなメッセージが作成されました。

お世話になっております。ご連絡いただきありがとうございます。システムへのログインに問題が発生しているようで、お手数をおかけして申し訳ありません。

パスワードのリセットについては、システム管理者にお問い合わせいただく必要があります。システム管理者に連絡し、パスワードのリセット手続きをお願いいたします。もし、システム管理者の連絡先がわからない場合は、詳細を教えていただければ、より具体的なアドバイスをお伝えできます。

お手続きに関して何かお力になれることがありましたら、お知らせください。よろしくお願いいたします。

社内ドキュメントなどを参考にしているわけではないので、所謂ChatGPTなどに質問したときと同様の返信結果が得られます。

AISentiment

AISentiment 関数は、メッセージに対するセンチメントを返します。

構文

Environment.AISentiment({Text: <Text>})
パラメータ 必須 データ型 説明
Text 必須 テキスト型 センチメントの抽出を行うテキスト

戻り値は AnalyzedSentiment で返され、テキスト型です。
返される値は「Positive」、「Neutral」、「Negative」の3種です。

実行例

Environment.AISentiment({Text: TextInput.Text}).AnalyzedSentiment

実行結果

まずは以下のようなメッセージで実行しました。

今年のサマーピクニックは素晴らしかったです!会場の雰囲気、食事、そしてスタッフの対応が素晴らしく、参加者全員が楽しめました。来年もぜひ開催してほしいです。

次に以下のようなメッセージで実行してみました。

社内セミナーで新しいツールの導入についてのプレゼンテーションがありました。内容は分かりやすかったですが、質疑応答の時間が少なかったのが残念でした。

最後に以下のようなメッセージを実行してみました。

忘年会の会場が狭すぎて、参加者同士のコミュニケーションが取りづらかったです。また、料理の味もあまり良くなかったです。来年は改善してほしいです。

AISummarize

AISummarize 関数は、テキストの要約を作成します。

構文

Environment.AISummarize({Text: <Text>})
パラメータ 必須 データ型 説明
Text 必須 テキスト型 要約を行う文章

戻り値は SummarizedText で返され、テキスト型です。

実行例

Environment.AISummarize({Text: TextInput.Text}).SummarizedText

実行結果

公式ドキュメントのPower Appsの説明を対象の文章として行ってみます。

Power Apps は、ビジネス ニーズに合ったカスタム アプリを構築するために短時間で開発できる環境を提供する、アプリ、サービス、コネクタ、およびデータ プラットフォームのスイートです。 Power Apps を使用すると、基盤データ プラットフォーム (Microsoft Dataverse)、あるいはさまざまなオンラインおよびオンプレミス データ ソース (SharePointMicrosoft 365、Dynamics 365、SQL Server など) に接続するカスタムのビジネス アプリをすばやく構築できます。

learn.microsoft.com

以下のような要約結果が返ってきました。

Power Apps is a suite of apps, services, connectors, and a data platform that allows for the quick development of custom apps tailored to business needs. With Power Apps, users can rapidly build custom business apps that connect to foundational data platforms like Microsoft Dataverse, as well as various online and on-premises data sources such as SharePoint, Microsoft 365, Dynamics 365, and SQL Server.

うーん。。。
日本語の文章を要約しても英語で返ってきてしまいます。

日本語訳すると以下のようになります。

Power Apps は、アプリケーション、サービス、コネクタ、およびデータプラットフォームのスイートであり、ビジネスニーズに合わせたカスタムアプリケーションの迅速な開発を可能にします。Power Appsを使用することで、ユーザーはMicrosoft Dataverseのような基盤となるデータプラットフォームや、SharePointMicrosoft 365、Dynamics 365、SQL Serverのような様々なオンラインおよびオンプレミスのデータソースに接続するカスタムビジネスアプリを迅速に構築することができます。

要約できている...?

もとの文章が簡潔だったってことかな?

冗長な文章で試してみます。

お世話になっております。私たちのチームは、最近新しいプロジェクトに取り組んでいます。このプロジェクトは、当社の製品ラインを拡大し、市場での競争力を高めることを目指しています。

プロジェクトの背景には、顧客からの要望や市場の変化があります。私たちは、これらの要因を考慮して、新しい製品を開発し、既存の製品を改善しています。

プロジェクトのスコープは広範で、多くの部門が関与しています。設計、開発、テスト、マーケティング、販売、サポートなど、さまざまな活動が進行中です。

私たちは、プロジェクトの進捗状況を定期的に報告しており、ステークホルダーと連携しています。課題やリスクも適切に管理しています。

プロジェクトの成功に向けて、私たちは全力を尽くして取り組んでいます。今後も引き続き報告を行い、進捗を共有していきます。

ご質問やご意見があれば、お気軽にお知らせください。よろしくお願いいたします。

以下のような要約結果が得られました。

Our team is currently working on a new project to expand our product line and increase our competitiveness in the market. This project is driven by customer demands and changes in the market. We are developing new products and improving existing ones to meet these factors.

The project involves multiple departments, including design, development, testing, marketing, sales, and support. We are actively working on various activities within these departments.

We regularly report on the progress of the project and collaborate with stakeholders. We also manage issues and risks effectively.

We are fully committed to the success of the project and will continue to provide updates and share progress. If you have any questions or feedback, please feel free to let us know. Thank you.

日本語訳がこちら

私たちのチームは現在、製品ラインを拡大し、市場での競争力を高めるための新しいプロジェクトに取り組んでいます。このプロジェクトは、顧客の要望と市場の変化によって推進されています。これらの要因に対応するため、新製品の開発や既存製品の改良を行っています。

このプロジェクトには、設計、開発、テスト、マーケティング、販売、サポートなど複数の部門が関わっています。私たちはこれらの部門の中で、さまざまな活動に積極的に取り組んでいます。

プロジェクトの進捗状況を定期的に報告し、ステークホルダーと協力しています。また、問題やリスクを効果的に管理します。

私たちはプロジェクトの成功に全力で取り組んでおり、今後も最新情報を提供し、進捗状況を共有していきます。ご質問やご意見がありましたら、遠慮なくお知らせください。ありがとうございました。

うーん。こんなもんかな?
段落ごとで別文章として認識しちゃってるのかな?

ちなみにChatGPTに要約依頼した結果がこちら

チームは新しいプロジェクトに取り組んでおり、これは製品ラインの拡大と競争力向上を目指しています。顧客の要望や市場の変化を考慮して新製品の開発と既存製品の改善が進められています。多くの部門が関与し、設計、開発、マーケティング、販売、サポートなどの活動が進行中です。進捗状況は定期的に報告され、課題やリスクも管理されています。チームはプロジェクトの成功に向けて全力を尽くし、引き続き進捗を共有していく意向です。質問や意見があれば歓迎します。

Microsoft EdgeのCopilotに要約依頼した結果がこちら

もちろんです。以下は、提供された文章の要約です。


プロジェクト要約: 製品ライン拡大と競争力向上

私たちのチームは新しいプロジェクトに取り組んでいます。このプロジェクトの目的は、当社の製品ラインを拡大し、市場での競争力を高めることです。顧客の要望や市場の変化を考慮して、新製品の開発と既存製品の改善を進めています。プロジェクトは広範で、設計、開発、テスト、マーケティング、販売、サポートなど多くの部門が関与しています。進捗状況は定期的に報告され、ステークホルダーと連携しています。課題やリスクも適切に管理し、プロジェクトの成功に向けて全力を尽くしています。ご質問やご意見があればお知らせください。


最後にGemini

プロジェクト概要

目的: 製品ラインの拡大と市場競争力の強化
背景: 顧客からの要望と市場の変化
内容: 新製品開発、既存製品改善
範囲: 設計、開発、テスト、マーケティング、販売、サポート
進捗: 定期報告、ステークホルダーとの連携、課題・リスク管理
今後の予定: 継続的な報告、進捗共有
連絡先: 質問・意見があればご連絡ください

補足

  • プロジェクトチームは、このプロジェクトの成功に向けて全力を尽くしています。
  • 詳細については、担当者にお問い合わせください。

この要約は、以下の点を考慮して作成しました。

  • 文章全体の内容を簡潔にまとめました。
  • 重要な情報を抽出し、わかりやすく表現しました。
  • 読みやすく、理解しやすいように構成しました。

ご不明な点があれば、お気軽にご連絡ください。

AITranslate

AITranslate 関数は、テキストの翻訳結果を作成します。
翻訳対象の言語は指定する必要なく(指定できない?)、自動で検出されます。

構文

Environment.AITranslate({Text: <Text>, TargetLanguage: <TargetLanguage>})
パラメータ 必須 データ型 説明
Text 必須 テキスト型 翻訳を行う文章
TranslatedText 任意 テキスト型 翻訳先のテキスト

公式ドキュメントの例だと Language になっていますが、こちらでは動きません。

Power Appsで関数入力時にHintとして表示されることらが正しいです。

戻り値は TranslatedText で返され、テキスト型です。

実行例

Environment.AITranslate({Text: TextInput.Text, TargetLanguage: "ja"}).TranslatedText

実行結果

公式の例にある文章を日本語に翻訳してみます。

Washington is a state that offers a variety of food experiences for locals and visitors alike.
Whether you are looking for fresh seafood, farm-to-table produce, ethnic specialties, or gourmet treats, you will find something to satisfy your taste buds in Washington. Washington is famous for its seafood, especially salmon, oysters, crab, and clams. The state has a long coastline and numerous rivers and lakes that provide abundant and high-quality seafood.

以下のような翻訳結果が得られました。

ワシントン州は、地元の人々や観光客にさまざまな食体験を提供する州です。
新鮮なシーフード、農場から食卓までの農産物、エスニック料理、グルメなおやつを探しているかどうかにかかわらず、ワシントンで味覚を満足させるものが見つかります。ワシントン州はシーフード、特にサーモン、カキ、カニ、アサリで有名です。この州には長い海岸線と数多くの川や湖があり、豊富で高品質のシーフードを提供しています。

ちなみにDeeplの結果はこちら

ワシントン州は、地元の人にも観光客にも様々な食体験を提供する州である。
新鮮なシーフード、農場直送の農産物、エスニック料理、グルメなお菓子など、ワシントン州ではあなたの舌を満足させる何かが見つかるはずだ。ワシントンはシーフード、特にサーモン、カキ、カニ、ハマグリで有名だ。ワシントン州には長い海岸線と多数の川や湖があり、豊富で質の高いシーフードを提供している。

問題ない精度で翻訳できてるのではないでしょうか?

AISummarize の結果も AITranslate と組み合わせれば指定の言語で出力することが可能ですね。

おわりに

  • Dataverseのテーブルをアプリに追加が必要なこと
  • AI Builderのクレジットを消費してしまうこと

が許容できるのであれば、これらを使えば簡単にPower AppsでAI関数を用いることができます。

皆さんも是非お試しください!


スポンサードリンク