LoginSignup
0
0

[Google Cloud Speech-to-Text API(V2)] Javaで認識精度を向上させるフレーズセットの削除を取り消す

Posted at

Cloud Speech-to-Text API V2(Java)を使用して、
認識精度を向上させるフレーズセットの削除を取り消す方法についてご紹介します。

フレーズセット(PhraseSet)とは
フレーズセット(PhraseSet)はモデル適応機能を実現させるためのリソースの1つです。

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

フレーズセット(PhraseSet)リソースでは下記が設定できます。

できること 概要
単語とフレーズの認識精度を向上させる フレーズを指定することで、Speech-to-Text がその単語の並びを認識しやすくなります。
フレーズを提供することで、個々の単語を含むフレーズの一部を認識する確率も高まります。
クラストークンを使用して認識精度を向上させる 通貨単位やカレンダー日付など、自然言語で発生する一般的なコンセプトを表します。
クラスにより、共通のコンセプトに対応する大規模な単語グループの音声文字変換の精度を向上できます。

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()){
        UndeletePhraseSetRequest.Builder builder = UndeletePhraseSetRequest.newBuilder();
        builder.setName(String.format(
                    "projects/%s/locations/%s/phraseSets/%s", 
                    "プロジェクトID","ロケーションID","フレーズセットID"));
        
        OperationFuture<PhraseSet,OperationMetadata> response = client.undeletePhraseSetAsync(builder.build());
        System.out.println(response.getName());

        PhraseSet set = response.get();
        System.out.println(set);
    }
}

1.2.1. HTTPリクエスト

POST: https://speech.googleapis.com/v2/projects/{プロジェクトID}/locations/{ロケーションID}/phraseSets/{フレーズセットID}:undelete
が実行されます。

1.2.2. クエリパラメータ

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

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

1.3. レスポンスの内容

OperationFuture<PhraseSet,OperationMetadata>

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

PhraseSet

メソッド 戻り値 説明
getName String フレーズセットのリソース名
形式:"projects/{プロジェクトID}/locations/{ロケーションID}/phraseSets/{フレーズセットID}"
getUid String システムによって割り当てられたフレーズセットID
getPhrasesList List<Phrase> 単語とフレーズのリスト
getBoost float ヒントブースト(0〜20)
getDisplayName String フレーズセットの名前(63文字まで)
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}"

Phrase

メソッド 戻り値 説明
getValue String 単語(フレーズ)、クラストークン
getBoost float ヒントブースト(0〜20)
値が高いほど認識される確率が高くなる

OperationMetadata

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

UndeletePhraseSetRequest

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

OperationSnapshot

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

State

定義値 内容
STATE_UNSPECIFIED 未指定
ACTIVE 通常のアクティブな状態
DELETED フレーズセットは削除された

クラストークン

Speech-to-Text がサポートしているクラストークンです。
ここでは日本語のみ(ja-JP)の一覧を表示しています。

他の言語は⧉サポートされるクラストークン(公式)を参照ください。

クラストークン 説明 音声のテキスト変換の例
$OOV_CLASS_AM_RADIO_FREQUENCY AMラジオの周波数 「せんにひゃくにじゅー」 = 1220
「いちにーにーぜろ」 = 1220
「いちにーにーれー」 = 1220
$OOV_CLASS_DIGIT_SEQUENCE 数字の列(任意の長さ) 「に」 = 2
「いちにさん」 = 123
「にににににに」 = 222222
$OOV_CLASS_FM_RADIO_FREQUENCY FMラジオの周波数 「きゅーじゅーてんご」 = 90.5
「ななじゅーななてんいち」 = 77.1
「ななじゅーしちてんいち」 = 77.1
$OOV_CLASS_TEMPERATURE 温度(度) 「いち」 = 1
「まいなすいち」 = -1
「ひくいち」 = -1
$ADDRESSNUM 住所の番地(対象の言語/地域で使用されるもの) 「いちのじゅーいちのにじゅーきゅー」 = 1-11-29
「にのじゅーごのにじゅーご」 = 2-15-25
「せんにひゃくはちじゅーごのさん」 = 1285-3
$FULLPHONENUM 電話番号(対象の言語/地域で使用されるもの) 「ぜろきゅーぜろいちにーさんよんごーろくななはち」 = 090-1234-5678
「ぜろいちにーさんいちにーさんよんごーろく」 = 0123-12-3456
「ぜろさんいちにーさんよんごーろくななはち」 = 03-1234-5678
$MONEY 金額(通貨単位名付き) 「きゅーせんえん」 = 9000円
「さんじゅーななどる」 = 37ドル
「いちまんはっせんはっぴゃくえん」 = 18800円
$OPERAND 数値(整数、分数、小数) 「れーてんいち」 = 0.1
「せんさんじゅーよんてんごーろくなな」 = 1034.567
「いちまん」= 1万
$PERCENT パーセント値(パーセント記号付き) 「れーてんぜろぱーせんと」 = 0.0%
「れーてんれーぱーせんと」 = 0.0%
「さんじゅーよんてんごーろくぱーせんと」 = 34.56%
$POSTALCODE 郵便番号(対象の言語/地域で使用されるもの) 「にーさんぜろにーさんぜろぜろ」 = 230-2300
「きゅーぜろぜろのきゅーぜろぜろぜろ」 = 900-9000
「さんぜろぜろななぜろにーぜろ」 = 300-7020
$TIME 時刻または時間 「にじゅーじさんじっぷん」 = 20時30分
「ごじ」 = 5時
「さんじゅーにふんご」 = 32分後


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