4
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?

More than 3 years have passed since last update.

Power BI Desktop と Azure Cognitive サービスで GitHub Issue の感情を解析する

Posted at

今回は Power BI Desktop と Azure Cognitive サービスのテキスト分析を使って、GitHub にあがった Issue の感情を解析してみます。

Azure Cognitive Service

Azure Text Analytics を使えば、テキストの解析が色々とできます。Azure サブスクリプションが無い方は体験版を申し込んでいただき、テキスト分析用のリソースを作成してください。

作成後、リージョンとキーを確認してください。後程使います。
image.png

GitHub へ接続

1. Power BI Desktop より「データを取得」。
image.png

2. GitHub を選択して「接続」。プレビューである旨表示されるので了承。
image.png

3. 解析したレポジトリを指定して「OK」。
image.png

4. 「サインイン」をクリック。
image.png

5. GitHub でサインインを実行して認可を実行。元の画面で「接続」をクリック。
image.png

6. とりあえず全て選択して「読み込み」。
image.png

感情分析用の関数を追加

1.「クエリを編集」をクリック。
image.png

2. 新しいパラメーターを追加。
image.png

3. テキスト型のパラメーターを作成。
image.png

4.「空のクエリ」を追加。
image.png

5. クエリ名を「感情分析」に変更し、「詳細エディター」をクリック。
image.png

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

7.「OK」をクリックして結果を確認。
image.png

8.「感情分析」を右クリックして「関数の作成」をクリック。
image.png

9. 名前を付けて、「OK」をクリック。
image.png

感情分析を実行

1. Issues クエリを選択して、「カスタム関数の呼び出し」をクリック。
image.png

2. 列名、関数とパラメーターを指定して「OK」をクリック。
image.png

3. 結果を確認。
image.png

4. エラーになっているのは、body 内にダブルクォーテーションがある為。body を選択して「値の置換」をクリック。
image.png

5. ダブルクォーテーションをシングルクォーテーションに変換。
image.png

6. 同様にバックスラッシュも二重にする。
image.png

7. 処理の順番を正しく変える。
image.png

8. 再度結果を確認。
image.png

9. 「感情分析結果」の型を「10 進数」に指定。

不要なクエリの削除

もう「環境分析」クエリは不要のため削除して「閉じて適用」をクリック。

レポートの作成

折れ線グラフなどで感情の推移をみると面白い?かもしれません。
image.png

まとめ

最近データフローや AI 分析情報機能などでも行える感情分析を、一番ベーシックな方法でやってみました。今回は英語のテキストでしたが、日本語も対応していますので、是非 GitHub だけでなく、Twitter など色々解析してみてください。

4
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
4
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?