AI-102 学習メモ (6) : 自然言語処理のソリューションを実装する

# はじめに
この投稿は AI-102: Microsoft Azure AI エンジニア の学習をした内容のメモです。

投稿の一覧は以下のリンク先にあります。

https://qiita.com/atsmin77/items/5235dfe16ad1bed065ca

# 前の投稿

https://qiita.com/atsmin77/items/a6132af2d7507ff74c5b

# 自然言語処理のソリューションを実装する
## Azure AI Language

以下のような Azure AI Language サービスを実際に [Azure Language Studio](https://language.cognitive.azure.com/) から利用してみます。
※ 新しい [Azure AI Foundry](https://ai.azure.com/explore/language) からも同様に利用できます。

| 名前 | 説明 |
|:-:|:-:|
| [キーフレーズ抽出](https://learn.microsoft.com/ja-jp/azure/ai-services/language-service/key-phrase-extraction/overview) | テキストのキーフレーズを抽出 |
| [名前付きエンティティ抽出 (NER)](https://learn.microsoft.com/ja-jp/azure/ai-services/language-service/named-entity-recognition/overview) | テキストの有名人、有名な場所などのエンティティを検出 |
| [感情分析とオピニオンマイニング](https://learn.microsoft.com/ja-jp/azure/ai-services/language-service/sentiment-opinion-mining/overview?tabs=prebuilt)  | テキストの感情を検出 |

https://learn.microsoft.com/ja-jp/azure/ai-services/language-service/overview

### Azure AI Language サービス リソースの作成

Azure AI Language を利用するためには、Azure AI Language リソースを作成する必要があります。

Azure Language Studio へアクセスすると、以下のダイアログが表示され、使用するAzure AI Language リソースを選択します。まだリソースの作成を行っていない場合は、下のリンクから Azure Portal を開き、リソースの作成を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/bf391933-22dc-dead-7b15-9dcd14a988be.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/75c46565-6460-d427-c1ac-e3e889e10614.png)

::: note 
Azure Language Service には 5,000 回 / 30 日 まで制限の無料プランがあります。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/f8e74fcb-50fa-783e-602f-453ec9c33701.png)

リソースの作成が終わったら、作成したリソースを Azure Language Studio から指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/c8145237-54a8-0acf-628f-cd71f9a33e5b.png)

### キー フレーズを抽出

キーフレーズ抽出を利用すると、テキストを分析して重要な用語を抽出することができます。

[Extract Infomrmation] - [Extract key phrases] を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/a1ab21f9-f45e-382d-002c-a3300cd180c7.png)

プルダウンから言語を選択しテキストを入力すると、分析結果が表示されます。
試しに [東京都の説明が書かれた Wikipedia](https://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC%E9%83%BD) の内容を入力してみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/71d1881d-652f-f4f7-8223-a40d71354ed5.png)

「都市」、「江戸」などがキーフレーズとして抽出されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/9b7f8544-017c-9c5f-9ab3-d7ca5840c095.png)

### 名前付きエンティティの抽出

エンティティ抽出を利用すると、テキストの人や地名を抽出することができます。

以下は同様に東京都の Wikipedia の内容で試してみた結果です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/667cb509-3566-bb12-c827-413058343cb3.png)

「江戸」などが場所として検出されています。「鎌倉幕府」は組織として検出されていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/6f2cf065-48de-d701-a448-55dc6b46d1e8.png)

::: note warn
よく見ると「江戸」が何度もエンティティとして出力されていますが、理由は分かりませんでした。
:::

### テキストの感情を判断する

感情分析を利用して、テキストに含まれる感情を分析できます。

[Classify text] - [Analyze sentiment and mine opinions] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/2b823027-3bfb-0acf-ad95-f7e9dc6438c3.png)

サンプルで用意されているテキストを利用して、試すことができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/10953309-3967-e99f-7139-a5ac7986372e.png)

分析結果を確認すると、Positive / Negative の割合や、文ごとの分析結果も確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2680397/bfd65ee1-0229-3797-63d8-9eca7324e9ab.png)

# 次の投稿

https://qiita.com/atsmin77/items/4998abe771d2d3d445f2