Skip to main content

Notifications

Announcements

No record found.

Dynamics 365 Community / Blogs / Microsoft Dynamics ブログ / Power Apps Ideas: 自然言語を使用して...

Power Apps Ideas: 自然言語を使用してだれでも簡単にアプリを作成できる AI 支援機能

本投稿は米国時間4月7日付の ブログ投稿の日本語抄訳です。内容に齟齬がある場合、原文を正とさせていただきます。

ローコード アプリ開発の究極の形は、アプリで実現したい内容を簡単な言葉で説明するだけで、すぐにアプリを作成できるようになることです。

本日、その理想に向けて大きな一歩を踏み出します。

マイクロソフトは、OpenAI の GPT-3 として知られる高度な自然言語 AI モデルをファインチューニングし、自然言語の入力に基づいて Power Fx の数式を自動で生成できるようにしました。Microsoft Build の基調講演で CEO のサティア ナデラが発表したとおり、GPT-3 とマイクロソフトの他の AI テクノロジを Power Apps Studio に直接組み込むことで、必要なアプリをだれでもすばやく構築できるだけでなく、そのプロセスに必要な高度な概念をより簡単に習得できるようになります。

pastedimage1622795514557v1.gif

たとえば、「サブスクリプションが失効した米国の顧客を表示する」というように、求めるものを Power Apps に指示するだけで、一連の数式の候補が各動作の説明と共に表示されます。この中から最適なロジックを選び、アプリに適用します。

Ideas の機能はこれだけではなく、Program Synthesis using Examples (PROSE) と呼ばれる AI テクノロジを活用した "サンプルによるプログラミング" も可能です。たとえば、ギャラリーに表示される氏名を、フル ネームではなく、名前と苗字の頭文字だけにしたいとしましょう。この場合、Power Apps に「Samantha B.」というサンプルを 1 つ示すと、Ideas がギャラリー内の対象文字列をすべて変換するための適切な数式を提示します。

Power Fx (英語) は、マイクロソフトが今年発表したロー コード開発のためのオープンソースのプログラミング言語です。多くのユーザーに親しまれている Excel をベースにした関数言語であるため、既存の Excel スキルを活用すれば、だれでも高度なロジックをアプリに追加できます。ただし、ベテランの Power Fx ユーザーであっても、数式が複雑になると、検索、理解、デバッグなどに時間がかかる場合もあります。AI を搭載した Ideas は、Power Apps Studio に直接組み込まれているため、アプリ作成を初めて行う人からベテランまで、だれもがこれまで以上にすばやくアプリを構築できるようになります。

ここから、シンプルなアプリ開発を実現する AI テクノロジを 1 つずつ詳しくご紹介します。

1. Power Fx での自然言語

GPT-3 は、1,750 億個ものパラメーターを使用して訓練された高度な自然言語 AI モデルです。自然言語のプロンプトに基づいて、人間のように文章を理解したり作成したりできる深層学習機能を実装します。マイクロソフトは GPT-3 の開発元である OpenAI と戦略的提携関係を結び、Power Apps をはじめとする製品にこのモデルを適用しました。

GPT-3 をファインチューニングして Power Fx の数式の構造を理解したことで、このモデルの自然言語入力における強みを活用して、Power Apps アプリ開発者が友人や同僚に説明するのと同じようにロジックを入力するだけで、適切な数式を生成できるようになりました。

pastedimage1622795618174v2.gif

たとえば、e コマース企業で、ベビーカーの注文履歴を購入日の新しい順に 10 件表示するようアプリのギャラリーを並べ替えたいとします。この場合、複雑な数式を覚えて書く代わりに、自然言語で次のように入力します。

自然言語による入力

AI が自動生成したコード

Show 10 orders that have “stroller” in the product name and sort by purchase date with newest on the top (商品名に「stroller」を含む注文を、購入日の新しい順に 10 件表示する)

FirstN(Sort(Search(‘BC Orders’, “stroller”, “aib_productname”), ‘Purchase Date’, Descending)

この入力とアプリのコンテキスト (テーブルやコントロールなど) に基づいて、Power Apps は最も関連性の高い Power Fx の数式の候補を 1 つ以上生成します。数式の構文チェックによって、正しくない生成結果は自動的に除外されます。この中から使いたい数式を選択するだけなので、非常に簡単です。

2. サンプルによるプログラミング

サンプルによるプログラミング (PBE: Programming by examples) は、入力と出力のペアの例を示してスクリプトを作成する、最先端の AI 技術です。AI ベースの PBE を活用すれば、元の値にパターンや数式を適用して、ギャラリーやデータ テーブル内のデータを簡単に管理したり、加工したりできます。複雑な数式を記述することなく、サンプルを示すだけでモデルをプログラムできます。データが整っていれば、サンプルを 1 つ示すだけでプログラムできる場合もあります。整っていない場合でも、サンプル数を増やすことでモデルのプログラミングが可能です。

pastedimage1622795713092v3.gif

たとえば、e コマース企業で、データ テーブル内の顧客名を、フル ネームではなく名前と苗字の頭文字だけ (「John Smith」を「John S.」と) 表示させたい場合に使用します。数式を使用する代わりにサンプルを示すだけでよいので、プロセスが大幅に簡略化されて時間を節約できます。

サンプル入力

AI が自動生成したコード

John S.

Concatenate(Text(First(Split(ThisItem.’Account Name’, ” “)).Result), ” “, Left(Text(Last(Split(ThisItem.’Account Name’, ” “)).Result), 1))

責任ある AI 実装への取り組み

今回ご紹介した機能は、Power Apps で GPT-3 と PROSE SDK を活用することで実現しています。GPT-3 の利用は、マイクロソフトと OpenAI との、AI を飛躍的に進化させるための戦略的技術提携の一環です。他にも、Azure 初のスーパーコンピューターの共同開発や、新しい AI テクノロジのテストおよび商品化などに協力して取り組んでいます。PROSE の研究およびエンジニアリング チームは、Microsoft Research の一部として、プログラム合成 (PBE や自然言語) のための API を開発し、実際の製品に組み込んでいます。PROSE は既に、Power BI、Excel、Visual Studio に統合済みです。

Power Apps ではマイクロソフトの責任ある AI の原則に従い、公平かつインクルーシブで、信頼できる AI の利用に努めると共に、プライバシーとセキュリティを尊重しています。GPT-3 と PROSE を Power Apps に導入するにあたり、有害な出力結果が生成されないよう、安全対策を組み込んで広範な学習を実施しました。さらに、GPT-3 と PROSE では、AI を活用した開発エクスペリエンスを提供するため、ユーザーの入力に基づく数式の候補を提案します。生成された候補をリストから選択して適用する権限は、すべて Power Apps 開発者に委ねられています。

AI を活用したアプリ開発を開始

以上の機能は 2021 年 6 月からプレビュー版として提供され、Power Apps のギャラリーとデータ テーブルの両方で使用できるようになります。開始時は、Search()、Sort()、SortByColumns()、Filter()、FirstN()、LastN() の各関数で動作するように最適化されています。シンプルかつ明確なリクエストほど、質の高い出力結果が得られます。具体的には、実際のテーブルや列の名前などの要素が相互にマッピングされると、数式の精度が向上します。そのため、テーブル名や列名を含めた明確な自然言語の説明を入力することで、より正確な出力結果を得ることができます。また、IntelliSense が入力中のテーブル名、列名、コントロール名を自動補完するため、入力ミスが解消され、時間を節約できます。このプレビュー版の初期段階での対象地域は北米で、サポート言語も英語のみとなりますが、今年中に他の地域にも範囲を拡大する予定です。

すべての開発者の快適なアプリ開発を支援

Excel のような数式バーで Power Fx 関数を活用すれば、アプリ開発者はきっとすばらしいアプリを構築できるようになります。マイクロソフトではアプリ開発の民主化を目指しています。Excel を使い慣れた人なら、だれでもすぐに Power Apps と Power Fx を利用してすばらしいアプリを構築できるようになりますが、適切な関数や構文を探したり、数式を改良したりするのに時間がかかる人もいるでしょう。特に、数式が複雑な場合では、改良やチューニングに手間がかかります。そのため、すべての開発者が、より戦略的で付加価値の高いタスクに優先的に時間を費やすことが大切です。アプリ開発に AI を活用することで、アプリ開発のスピードが加速し、より複雑なソリューションを構築できるようになります。

これは始まりにすぎません。マイクロソフトは今後も、Power Apps および Microsoft Power Platform 全体のアプリ開発への AI 活用を拡大してまいります。引き続き強力で直観的でスピーディーな開発環境をすべての開発者に提供し、さらなる成果を上げられるように支援してまいります。

新しい機能をぜひお試しいただき、Power Apps のコミュニティ フォーラム (英語) にご意見やご感想をお寄せください。

Comments

*This post is locked for comments