LoginSignup
0
0

[Google Cloud Speech-to-Text API(V2)] Javaで認識精度を向上させるカスタムクラスの削除を取り消す

Posted at

Cloud Speech-to-Text API V2(Java)を使用して、
認識精度を向上させるカスタムクラスの削除を取り消す方法についてご紹介します。

カスタムクラス(CustomClass)とは
カスタムクラス(CustomClass)はモデル適応機能を実現させるためのリソースの1つです。

モデル適応機能を使用すると提案される可能性がある他の候補よりも、
Speech-to-Textが特定の単語やフレーズをより高い頻度で認識するように設定できます。

カスタムクラス(CustomClass)リソースでは下記が設定できます。

できること 概要
固有名称(店名や商品名など)の認識 カスタムクラスを使用すると、音声に出現した際に固有名称を正しく認識するように認識モデルにバイアスをかけることができます。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Cloud Speech-to-Text API(V2)] JavaでSpeech-to-Text APIを使ってみる
を参照ください。

No 目次
1 削除を取り消す
1 スコープ
2 実行
3 レスポンスの内容

1. 削除を取り消す

指定したカスタムクラスの削除を取り消します。

1.1. スコープ

OAuth2.0でこのAPIを実行するには、以下のスコープを指定してください。
サービスアカウントで実行する場合はスコープの指定は不要です。

https://www.googleapis.com/auth/cloud-platform

1.2. 実行

public static void main(String[] args) throws Exception{
    try(SpeechClient client = getSpeechClient()){
        UndeleteCustomClassRequest.Builder builder = UndeleteCustomClassRequest.newBuilder();
        builder.setName(String.format(
                        "projects/%s/locations/%s/customClasses/%s", 
                        "プロジェクトID","ロケーションID","カスタムクラスID"));
        
        OperationFuture<CustomClass,OperationMetadata> response = client.undeleteCustomClassAsync(builder.build());
        System.out.println(response.getName());

        CustomClass get = response.get();
        System.out.println(get);
    }
}

1.2.1. HTTPリクエスト

POST: https://speech.googleapis.com/v2/projects/{プロジェクトID}/locations/{ロケーションID}/customClasses/{カスタムクラスID}:undelete
が実行されます。

1.2.2. クエリパラメータ

UndeleteCustomClassRequest.Builderのsetメソッドにより、クエリパラメータを追加できます。
build()メソッドでUndeleteCustomClassRequestインスタンスを取得し、
undeleteCustomClassAsync()に渡します。

メソッド 引数 説明
setName String 【必須】リソース名
形式:"projects/{プロジェクトID}/locations/{ロケーションID}/customClasses/{カスタムクラスID}"
setValidateOnly boolean リクエストを検証し、削除を取り消したカスタムクラスをプレビューするが実際には削除しないか
setEtag String チェックサム値

1.3. レスポンスの内容

OperationFuture<CustomClass,OperationMetadata>

メソッド 戻り値 説明
getName String サーバーによって割り当てられた名前
形式:"projects/{プロジェクトID}/locations/{ロケーションID}/customClasses/{カスタムクラスID}"
isDone boolean 操作がまだ進行中であるか
getPollingFuture RetryingFuture<OperationSnapshot> 失敗またはキャンセルされた場合の操作のエラー結果
get CustomClass メタデータ

CustomClass

メソッド 戻り値 説明
getName String カスタムクラスのリソース名
形式:"projects/{project}/locations/{location}/customClasses/{customClass}"
getUid String システムによって割り当てられたカスタムクラスID
getDisplayName String カスタムクラスの名前(63文字まで)
getItemsList List<ClassItem> カスタムクラスのリスト
getState State(enum) カスタムクラスのライフサイクル状態
getCreateTime Timestamp カスタムクラスの作成時間
getUpdateTime Timestamp カスタムクラスが最後に変更された時刻
getDeleteTime Timestamp カスタムクラスの削除が要求された時刻
getExpireTime Timestamp カスタムクラスがパージされる時刻
getEtag String チェックサム値
getReconciling boolean カスタムクラスが更新中か
getKmsKeyName String フレーズセットの暗号化に使用されるKMSキーの名前
形式:"projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
getKmsKeyVersionName String カスタムクラスの暗号化に使用されるKMSキーのバージョン名
形式:"projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}"

ClassItem

メソッド 戻り値 説明
getValue String クラス項目の値

OperationSnapshot

メソッド 戻り値 説明
getErrorCode StatusCode エラーコード
getErrorMessage String 開発者向けのエラーメッセージ

OperationMetadata

メソッド 戻り値 説明
getCreateTime Timestamp オペレーションが作成された時刻
getUpdateTime Timestamp 操作が最後に更新された時刻
getResource String 操作のターゲットのリソースパス
getMethod String 操作をトリガーしたメソッド
getUndeleteCustomClassRequest UndeleteCustomClassRequest カスタムクラスの削除を取り消したUndeleteCustomClassRequest
getProgressPercent int オペレーションの進捗率(0〜100)

UndeleteCustomClassRequest

メソッド 戻り値 説明
getName String 削除を取り消すカスタムクラスの名前
形式:"projects/{プロジェクトID}/locations/{ロケーションID}/customClasses/{カスタムクラスID}"
getValidateOnly boolean 削除を取り消したカスタムクラスをプレビューするが実際には削除しないか
getEtag String チェックサム値

State

定義値 内容
STATE_UNSPECIFIED 未指定
ACTIVE 通常のアクティブな状態
DELETED カスタムクラスは削除された


おしまい。。
0
0
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
0
0