はじめに
Microsoft Fabricでは、生成AIを含むAIモデルを使用して、AOAIなどの構築なしにデータ処理が可能です。※F64以上の容量が必要です。
今回は、製品レビューのデータセット2万件(英語)に対して以下の操作を試みます。
- レビューの翻訳(Azure AI Translator サービスモデルを使用)
- レビューから感情の抽出(Azure OpenAI のモデルを使用)
注意:この情報は2025年1月時点のものです。記載されているコードや処理内容、時間は変わる可能性がありますのでご了承ください。
検証開始
1. データの確認
まず、データを確認します。データは既にレイクハウスに保存されているため、これをデータフレームに読み込みます。
レビューはレーティングとともに英語で記載されています。
およそ2万件のデータセットであることがわかります。
2. 翻訳
翻訳タスクを実行するためには、SynapseMLのTranslate()を使用します。
3. 感情の抽出
まずそれぞれプロンプトにしてやります。
ここではOpenAICompletion()を使用します。一つ一つがpromptなのでまあまあ時間かかりますね。手動でやるときはもっと絞って確認しないとやりづらそう。単純に呼び出し方自体でもうちょいいいやり方がある気もする。
4. 保存
結果をレイクハウスに保存します。
また、感情をカンマ区切りで抽出したので感情で分析するために展開と保存を行います
5. 可視化
レイクハウス上のデータを Power BI で可視化してみました。
ワードクラウドとかを使っています。よくある感情分析レポートの例ですね。なお、全体のレイアウトは Power BI Copilot の力を借りてます。
所見
複数の感情を抽出できないかなと思って生成 AI 使ってみましたが、カンマ区切りを例示しても結構出力の形式がばらついたので再現性みたいなところはやはり課題になりますね。
処理時間についても少しかかるので実装の仕方に改善の余地ありって感じ。