[Oracle Cloud]OCI AI Service触ってみた [Speech/Language/Generative AI (Beta)] (2023/12/12)

こちらの記事は [Oracle Cloud Infrastructure Advent Calendar 2023](https://qiita.com/advent-calendar/2023/oci) Day 12 の記事として書かれています。Day 11の記事は kazunishi さんの記事「[【OCI クラウド移行ガイド】AWS SQSをOCI Queueで実装してみた_キューサービス編](https://qiita.com/kazunishi/items/4176f89cc1b67f47b7c7)」でした。

# はじめに

OCI AIサービスは、アプリケーションにすぐ組み込み可能な、学習済みのモデルを提供しています。
今回は、AIサービスの中でメディアファイルを読取り可能なテキストに変換するSpeech（音声）サービスとテキスト翻訳をするLanguage（言語）サービス、そして、ベータとして提供されているGenerative AIサービスを使ってみました。
現在(2023/12/12)Speechサービス、Generative AIサービスは、日本語対応していません。

OCI Webコンソールでの操作で英語音声ファイルを文字起こしし、要約し、要約結果を日本語翻訳しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/e646021b-789b-e1ed-8291-e7a48fa08258.png)

# OCI Speech
SpeechサービスはObject Storage内の音声ファイルをインプットに、文字起こしした結果をJSONファイル、SRT（字幕）ファイルとして出力します。


OCI Webコンソールメニューから「アナリティクスとAI」を選択し、「AIサービス」内の「音声」をクリックします。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/bbb4d622-eeee-360d-7d61-73e66e9a832a.png)
「記録ジョブの作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/7474cec4-c060-84cc-9cb9-2dd9ea17c4f5.png)
「記録ジョブの作成」画面で、ジョブ名、音声ファイルが格納されているObject Storageバケット、ファイルを出力するObject Storageバケットを指定します。
オプションとして、SRTファイル出力の有無、句読点の有無、話者ダイアライゼーション(話者の人数)を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/74c44f1e-ff56-8f5f-b79d-50b0c6e825e2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/2358acc0-d62c-27fa-c961-568f565b6c5c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/39daae21-d48f-fddc-d0dd-211fa0aa7914.png)
「次」へをクリック
音声ファイルを選択し「送信」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/e8ea41bf-d796-3bd0-eb7c-2416c22c841c.png)
完了した「記録ジョブ」の詳細を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/b9f30e09-3159-5244-4860-8f387229fbe0.png)
タスク名をクリックし、「記録タスク詳細」ページで文字起こし結果を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/1c6dba6f-ccee-31d0-d0da-4e946763fad9.png)
（文字起こし結果をコピー）

# （オプション）OCI Generative AI (Beta)
OCI Generative AI（Beta）は、生成・要約・埋込み(Embedding)のモデルが提供されています。
今回は、要約モデルを使って、文字起こし結果を要約してみます。
OCI Webコンソールメニューから「アナリティクスとAI」を選択し、「AIサービス」内の「生成AI」をクリックします。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/17de28ce-347b-cc45-972e-f5ddfa85da76.png)
「プレイグラウンドに移動」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/8d9a3a6a-95e3-58b4-7929-53ab8a3e6a3f.png)
モデルから要約の下の「cohere command」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/6cdab441-10fd-4a9a-cf47-e0b96bfb360d.png)
オプションとしてパラメータを指定できます。

- 長さ （要約の長さ）
    - 短：最大２文
    - 中：３～５文の間
    - 長：６つ以上の文
    - 自動：入力サイズに基づいて、モデルが長さを選択

- 形式 （生成される要約の形式）
    - 自動
    - 段落
    - 箇条書き

- 抽出度 （要約内で入力をどの程度再利用するか。高い：再利用する傾向、低い：言い換える傾向）
    - 自動
    - 高
    - 中
    - 低

- 温度：出力テキストをどの程度ランダムに生成するか。同じ出力を生成するには０を使用します。
- 追加コマンド：スタイルやフォーカスなど

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/151601b2-2006-9df2-e437-0c6b7d8b49e2.png)

「入力」領域に要約したい文書を入力（コピーした文字起こし結果を貼り付け）し、「要約」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/83b54ecc-45e0-4b82-58f7-607c3fbe74f1.png)
「出力のコピー」をクリックしコピーします。

# OCI Language
要約結果を翻訳します。
OCI Webコンソールメニューから「アナリティクスとAI」を選択し、「AIサービス」内の「言語」をクリックします。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/8c423b62-6200-76ff-b55f-654cf84c8f52.png)
「翻訳の開始」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/635fc00f-9550-9622-96ef-edadc415fce4.png)
「ターゲット言語」から「日本語」を選択。
左側のテキストボックスに翻訳する文章（要約結果）を貼り付け、「翻訳」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/d9d7949d-1574-a032-5320-87cc514b8784.png)
翻訳結果を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108635/d229fb97-d767-ba61-21b0-dd55a23c7b2e.png)

# おわりに
OCI AIサービスは、学習済みモデルを使うことで専門知識なしに様々な機能を利用できます。
音声・生成AI・言語の各サービスを組み合わせて使うことで、簡単に英語音声を要約し日本語化できました。

# 補足情報
各サービスの制限

- Speech （音声）サービス
    - 対象音声ファイルの最大ファイル・サイズは2GBです。
    - ファイル期間は最大4時間です。
    - 対象メディア形式
        AAC
        AC3
        AMR
        AU
        FLAC
        M4A
        MKV
        MP3
        MP4
        OGA
        OGG
        WAV
        WEBM
    - 必要なポリシー
        - manage ai-service-speech-family
        - manage object-family

- Language （言語）サービス
    - Webコンソールでのテキスト翻訳の対象は5000文字まで
    - 必要なポリシー
        -  manage ai-service-language-family

- Generative AI (Beta)サービス
    - 要約
        - トークン制限 - 4096

# 参考情報
- [Speechサービス](https://docs.oracle.com/en-us/iaas/Content/speech/home.htm)
- [Generative AI (Beta)サービス](https://docs.oracle.com/en-us/iaas/Content/generative-ai/home.htm)
- [Languageサービス](https://docs.oracle.com/en-us/iaas/language/using/home.htm)