データを分析では、80%ほどの時間は「データラングリング」というデータの整形や加工作業に費やされていると言われています。
データサイエンスやデータ分析と言うと、難しいアルゴリズムなどを使ってインサイトを導き出すというイメージが強く、それらを学ぶための本やコースは多いですが、データラングリングを体形立てて学ぶ機会は多くありません。
我々も、Exploratoryのユーザーの方から一番多く寄せられる質問や相談がこのデータラングリングに関するもので、これまでも多くのHow-toチュートリアルを提供してきましたが、初めてExploratoryを扱う方やデータラングリングの考え方に慣れていないと上手くデータを加工、整形できないといった問題がありました。
そこで、データラングリングの障壁を下げ、誰でも価値があるデータに変えられるようにするために、自然言語でデータが加工ができる「AI プロンプト」の機能を追加しました。
データラングリング(加工、整形)のためにさまざまなUIを操作したり、複雑な関数を使いこなしたりする必要はありません。これからはデータの整形、計算、集計、結合、文字列の加工など、データラングリングに関してやりたいことを、
といった日本語でプロンプトに入力するだけで、データを自由自在に素早く加工できるようになります。
このプロンプトの機能では、データラングリングに関して自由に質問をして解決するためのRコードを提案してくれるものとなっています。
プロンプトを投げかけると、「Rコマンド」と「使用している関数の説明」、「期待される結果」の3つが出力されます。
Rコマンドでは、質問された内容を処理するために必要なデータラングリングのタスクがRのコードとして出力されるため、ステップとして実行を押すことでその処理が適用されます。
もしRコマンドの方を修正をしたい場合は、編集ボタンをクリックします。
編集モードから生成された列名の変更や修正などを行っていくことが可能です。
Rコマンドで使用している関数は、「使用している関数の説明」の方でどういった関数や引数が使われているのかを説明しています。
最後に、「期待される結果」のセクションでは、このコードを実行することでどういった結果が得られるのかを説明するようになっています。
では、どのようにプロンプトを書くと良いのか、基本的なプロンプトの書き方について紹介をしていきましょう!
基本的なプロンプトの書き方は「<列名>に<処理内容>をしたい」といった書き方となります。
例えば、 1行が1注文製品のECサイトの売上データを使用していたとします。
売上が1000以上かどうか判定した列を作りたいため、プロンプトに「売上が1000以上かどうか判定したい」と入力します。
プロンプトを実行することで、売上を1000以上かどうか判定するためのRコマンドの結果が返ってきました。そのため、「ステップとして実行」のボタンをクリックします。
これによって「売上1000以上」といった列が作成されています。
では、顧客ごとに集計をした上で売上が1000以上にしたい場合にはどうしたら良いのでしょうか。
その場合は「グループ単位」を元の質問の冒頭に追加することで可能です。
例えば、「顧客ごとに売上合計が1000以上かどうか判定したい」といった質問に変更します。
これによって1行1顧客に集計をした上で、売上合計の列を元にして1000以上かどうかを判定することができるようになっています。
最後に、プロンプトを書く際に意識するべきことは以下の2点です。プロンプトに実施したい内容を具体的に書いていくことで、AI側がそれを正確に認識して望む結果が返ってくる確率が高まります。
より詳しいプロンプトの書き方については、こちらの「プロンプトのベストプラクティス」のノートをご覧ください!