今回は Power BI Desktop と Azure Cognitive サービスのテキスト分析を使って、GitHub にあがった Issue の感情を解析してみます。
Azure Cognitive Service
Azure Text Analytics を使えば、テキストの解析が色々とできます。Azure サブスクリプションが無い方は体験版を申し込んでいただき、テキスト分析用のリソースを作成してください。
GitHub へ接続
1. Power BI Desktop より「データを取得」。
2. GitHub を選択して「接続」。プレビューである旨表示されるので了承。
5. GitHub でサインインを実行して認可を実行。元の画面で「接続」をクリック。
感情分析用の関数を追加
5. クエリ名を「感情分析」に変更し、「詳細エディター」をクリック。
6. 以下のコードを張り付け。
- URL とキーは環境に合わせて変更
let
URL = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.1/sentiment",
Key = "<キー>",
Contents = "{ ""documents"": [ { ""language"": ""en"", ""id"": 0, ""text"": """ & コメント & """ } ] }",
AnalyzedData = Json.Document(Web.Contents(URL, [
Headers = [#"Ocp-Apim-Subscription-Key"=Key,#"Content-Type"="application/json"],
Content = Text.ToBinary(Contents)
])),
Documents = AnalyzedData[documents],
Score = Documents{0}[score]
in
Score
感情分析を実行
1. Issues クエリを選択して、「カスタム関数の呼び出し」をクリック。
2. 列名、関数とパラメーターを指定して「OK」をクリック。
4. エラーになっているのは、body 内にダブルクォーテーションがある為。body を選択して「値の置換」をクリック。
5. ダブルクォーテーションをシングルクォーテーションに変換。
9. 「感情分析結果」の型を「10 進数」に指定。
不要なクエリの削除
もう「環境分析」クエリは不要のため削除して「閉じて適用」をクリック。
レポートの作成
折れ線グラフなどで感情の推移をみると面白い?かもしれません。
まとめ
最近データフローや AI 分析情報機能などでも行える感情分析を、一番ベーシックな方法でやってみました。今回は英語のテキストでしたが、日本語も対応していますので、是非 GitHub だけでなく、Twitter など色々解析してみてください。