【Azure OpenAI Service】文章の感情分析アプリ作ってみたよぉ。

環境メモ
⭐️Azure OpenAI service
⭐️Windows 11
⭐️プロセッサ:AMD Ryzen 7 6800HS with Radeon Graphics
⭐️Python

Azure Open AIを使って文章の感情分析アプリ作ってみたよぉ。

サービス:Azure AI services（Create Language）

API: Sentiment analysis
仕様:架空のラーメン屋のレビュー文を分類・スコア化し、ポジティブ・ニュートラル・ネガティブの割合を横棒グラフで視覚的に表示します。

<br/>
↓↓↓↓完成内容
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">✨Azure OpenAI Service✨<br>🤖Chat Bot🤖アプリを作ってみたよぉ😍<br><br>サービス: Azure Open AI<br>モデル: gpt-4o-mini<br><br>↓↓↓自分メモ<a href="https://t.co/HGNJtmsMjo">https://t.co/HGNJtmsMjo</a><a href="https://twitter.com/hashtag/AzureOpenAIService?src=hash&amp;ref_src=twsrc%5Etfw">#AzureOpenAIService</a><a href="https://twitter.com/hashtag/CWB?src=hash&amp;ref_src=twsrc%5Etfw">#CWB</a> <a href="https://t.co/WXzmzhgl6T">pic.twitter.com/WXzmzhgl6T</a></p>&mdash; non (@nonnonkapibara) <a href="https://twitter.com/nonnonkapibara/status/1906771477296533943?ref_src=twsrc%5Etfw">March 31, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## レビュー1

### <font color="OrangeRed">ラーメン味が濃いけど、おいしい。でも駐車場がわかりづらい。</font>


全体の分析結果
![100.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/00702c9a-edd6-41dd-becb-204fc29659ab.png)

個別の分析結果
`ラーメン味が濃いけど、おいしい。`まぁポジティブ　あってるかなぁ。
![101.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/f8fe24fc-21eb-4277-bea5-9249d1539e67.png)

`でも駐車場がわかりづらい。`　ネガティブ　あってる。
![102.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/3dbce034-54a4-45d6-a77c-aea735029380.png)


## レビュー2

### <font color="OrangeRed">ラーメンの味はおいしい。リピしない。待ち時間が長いのでイライラします</font>


全体の分析結果
![200.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/9aa4b7c1-5436-47ca-933f-721ad727f1e3.png)

個別の分析結果
`ラーメンの味はおいしい。`　ポジティブ　あってる。
![201.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/ebd5b07e-4aa9-4df2-99aa-55da72d0c31c.png)

`リピしない。`　ネガティブ　なんだけどなぁ～
![202.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/67dd08d3-da1d-424e-8d4e-01c424fd6b97.png)

`待ち時間が長い。`　ネガティブ　なんだけどなぁ～
![203.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/344f07c8-3921-4dda-b63b-19e23135387e.png)

## レビュー3

### <font color="OrangeRed">有名なお店だけど、味は普通。接客は崩壊している。</font>

全体の分析結果
![300.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/978d5cc0-ae29-491f-83bf-2400d1cd01bb.png)

個別の分析結果
`有名なお店だけど、味は普通。`　ネガティブ　なんじゃないかなぁ～
![301.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/854d701a-2e53-4cd0-85ba-07c58dd2a2d8.png)

`接客が崩壊している`　ネガティブ　ちゃんと分析してるなぁ。
![302.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/7999765c-91ff-4f32-b1fc-5ee86c007ad0.png)



## レビュー4

### <font color="OrangeRed">駐車場の場所がわかりづらい。今時、こんなシステムは無いわ。リピートはしない。</font>

全体の分析結果
![400.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/bbabede1-4ac2-4a63-9733-5acd58b05e83.png)

個別の分析結果
`駐車場の場所がわかりづらい。`　ネガティブ　ちゃんと分析してるなぁ。
![401.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/94dcda4d-a682-4d6c-aa3b-ff645ce85d40.png)


`今時、こんなシステムは無いわ。`　ネガティブ　だと思うけどなぁ～
![402.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/6943d0b0-dd5f-460e-be98-585c1fecab7b.png)

`リピートはしない。`　ネガティブ　だと思うけどなぁ～
![403.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/ec044cac-1252-487c-92f9-6760e357f430.png)


## レビュー5

### <font color="OrangeRed">店員の接客レベル低い。客を舐めてる。待ち時間が長い。味は普通。</font>

全体の分析結果
![500.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/d534194e-9709-459b-b8ab-449407ef7d7f.png)

個別の分析結果
`店員の接客レベル低い。`　ネガティブで、あってる。
![501.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/e4253438-045c-4fb1-aeb7-846ec516f9af.png)

`客を舐めてる。`　ネガティブで、あってる。
![502.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/cb214c8e-b00b-4b4a-8160-b861725a2743.png)

`待ち時間が長い。`　ネガティブ　だと思うけどなぁ～
![503.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/2e507864-9582-4df1-a335-5a57e85af350.png)

`味は普通`　中立で、あってる。
![504.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/9f2926fe-0e7f-4cf7-bb49-5388dee6f5ac.png)


# 「Azure OpenAI」の設定

バックエンド（Azure OpenAI）の設定とフロントエンド（Python）の実装は、MicrosoftのLearnの手順に従って実施しました。

:::note warn
※注意:本記事は2025年3月時点の情報です。Azure OpenAIは継続的に進化しているため、バージョンアップによりUIや操作手順が変更される可能性があります。
:::


感情分析とオピニオン マイニングとは
https://learn.microsoft.com/ja-jp/azure/ai-services/language-service/sentiment-opinion-mining/overview
![000-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/a489058c-a6d5-4c71-b894-a3e01c15adb3.png)



クイックスタート: 感情分析とオピニオン マイニング
https://learn.microsoft.com/ja-jp/azure/ai-services/language-service/sentiment-opinion-mining/quickstart?tabs=windows&pivots=programming-language-python

![000-02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/0c75f159-5baa-4d49-b72d-427d28b1e862.png)

↓↓以下、ざっくり手順キャプチャ
![001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/3272212e-0396-4019-953a-1a723be4a593.png)

![002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/85929a70-e6aa-4275-81b2-d4fff10c699b.png)

![003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/2801ccb2-99f7-47ce-ac7d-873d80c5ea87.png)

![004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/bbd9dcff-23a2-44b8-8740-98cee166d0ba.png)

![005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/53dc5bf3-84a8-4092-802f-f0f49e02820e.png)

デプロイ完了
![006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/048a8638-0672-455b-905c-e112a1c7699f.png)

![007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/b4ef4439-d40a-439c-b1ab-50ebd9b20387.png)

キーとエンドポイント
![008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93155/5ce71ab1-db2d-461f-8068-2f78d15fd1d1.png)