2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Copilot Studioに記録された日本語の会話をデコードして読めるようにする

Posted at

こんな人向けの内容です

Copilot Studioで作成したボットの会話の内容は、Copilot Studio自体の分析タブから確認することはできるのですが、いちいち開くのは面倒。ExcelやPower BIでみられるようにしたいという方向けの記事です。

こちらの記事に、ボットを作成する環境とロールによってできることがまとめられています。これによれば、ボットを作成はさせることができる「環境作成者」はConversationTranscriptへのアクセス権がない模様。そういう人たちにもPower BIで閲覧させるようなことができる方法はないか、ということで試してみました。
(Power BIならばRLSつかって、特定の行だけを見せるということもできますしね。)

ConversationTranscriptsテーブル

Copilot Studioで作成したボットの会話は、ボットを作成したPower Platform環境のDataverseのなかの「ConversationTranscripts」テーブルに記録されています。

image.png

しかし、一見して記録されているはずの日本語の文字列はやたらと「\u」ばかりで読めません。
そこで、Copilotくんに翻訳してもらいました。
image.png

さらに、エンコード方式を聞いてみました。4桁の16進数文字列が日本語の1文字ずつを示していることがわかります。
image.png

Power BI でテキストを抜き出す

Power BI や Excelで利用できるPower Queryは、アクセス権さえあればDataverseのテーブルにアクセスできるため、記録されている文字列へアクセスしてみます。

Power BI Desktopの場合はこちらからアクセスします。 [データを取得]>[Dataverse]
image.png

image.png

Excel でテキストを抜き出す

Excelの場合はこちらからアクセスします。[データ]>[Power Platformから(W)]>[Dataverseから(A)]

image.png

Contentの中に会話の内容あり

文字列はcontent列の中に含まれています。会話の開始時刻はconversationstarttime列にありますので、そのほかの列は一度削除しておきます。
image.png

[列の追加]から[カスタム列]を選択します。content列の中身はJSONなのでこれを解析していきます。 Json.Document関数にcontent列の中身をほおりこみます。列名はあとで消える列なのでなんでも構いません。
image.png

追加されたカスタム列のヘッダー部分にあるレコード展開ボタンをクリックします。
image.png

activities列はリストになっていますので、もういちど展開ボタンを押して「新しい行に展開する」をクリックします。
image.png

展開された中にtextが見当たりませんので「さらに読み...」をクリックします。
image.png

textだけ選択してOKをクリックします。
image.png

これでボットの中身の会話テキストが表示されました。なんと、この段階でエンコードが解除されて日本語が読めました。
image.png

JSON関数でデコードまでしてくれるなんて驚き

実はもともとエンコードされているテキストをカスタム関数を作って強引にデコードする方法について記事を書いているつもりだったのですが。JSON関数がデコードまでしてくれることを知って不要になりました。思わぬ収穫でした。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?