前世代モデルのコーパスおよびカスタム単語の処理
この情報は、前世代モデルに基づくカスタム・モデルに固有のものです。 次世代モデルに基づくカスタム・モデルのコーパスおよびカスタム単語については、次世代モデルのコーパスおよびカスタム単語の処理を参照してください。
カスタム言語モデルに単語を取り込むには、コーパスまたは文法をモデルに追加するか、またはカスタム単語を直接追加します。
- コーパス - カスタム言語モデルに単語を取り込む手段として推奨されるのは、1 つ以上のコーパスをモデルに追加することです。 コーパスを追加すると、サービスがそのファイルを分析し、検出した新しい単語を自動的にカスタム・モデルに追加します。 コーパスをカスタム・モデルに追加することで、サービスはコンテキストに応じて分野に固有の単語を抽出でき、書き起こし結果の改善に役立ちます。 詳しくは、コーパスの処理を参照してください。
- 文法 - カスタム・モデルに文法を追加して、その文法によって認識される単語または句に音声認識を限定できます。 モデルに文法を追加すると、コーパスの場合と同様、サービスによって検出された新しい単語が自動的にモデルに追加されます。 詳しくは、カスタム言語モデルでの文法の使用を参照してください。
- 個別の単語 - 個別のカスタム単語を直接モデルに追加することもできます。 サービスはコーパスまたは文法で検出した単語を追加する場合と同じように、単語をモデルに追加します。 単語を直接追加すると、複数の発音を指定し、単語の表示方法を示すことができます。 また、既存の単語を更新して、コーパスまたは文法から抽出された定義を変更したり、拡張したりできます。 詳しくは、カスタム単語の処理を参照してください。
単語の追加方法に関わらず、サービスはカスタム言語モデルに追加したすべての単語をモデルの単語リソースに格納します。
単語リソース
単語リソース には、コーパスや文法から追加したり、直接追加したりしたすべての単語が含まれます。 その目的は、サービスの基本語彙にまだ含まれていない単語の発音とつづりを定義することです。 この定義では、未知 (OOV) 語 の書き起こし方法をサービスに認識させます。
単語リソースには、各 OOV 語に関する以下の情報が含まれます。 サービスは、コーパスおよび文法から抽出された単語の定義を作成します。 直接追加または変更した単語の特性を指定します。
-
word
- コーパスまたは文法で検出されたか、直接追加した単語のつづり。URL エンコードする必要のある文字は使用しないでください。 例えば、スペース、スラッシュ、バックスラッシュ、コロン、アンパサンド、ダブルクォーテーション、プラス記号、イコール記号、クエスチョンマークなどは使用しないでください。 このサービスではこれらの文字の使用を防ぐことはできませんが、これらの文字が使用される場合は必ず URL エンコードされるため、その使用は強くお勧めできません。
-
sounds_like
- 単語の発音。 コーパスおよび文法から抽出された単語の場合、この値はサービスが言語ルールに基づいて判断する単語の発音を表します。 多くの場合、発音はword
フィールドのつづりを反映します。sounds_like
フィールドを使用して単語の発音を変更できます。 このフィールドを使用して、単語に複数の発音を指定することもできます。 詳しくは、sounds_like フィールドの使用を参照してください。 -
display_as
- サービスが書き起こしで使用する単語のつづり。 このフィールドは、単語の表示方法を示します。 ほとんどの場合、つづりはword
フィールドの値に一致します。display_as
フィールドを使用して、単語の異なるつづりを指定できます。 詳しくは、display_as フィールドの使用を参照してください。 -
source
- 単語が単語リソースに追加された方法。 サービスがコーパスまたは文法から単語を抽出した場合、このフィールドにはそのリソースの名前がリストされます。 サービスは複数のリソースで同じ単語を検出する場合があるため、このフィールドには複数のコーパス名または文法名がリストされる可能性があります。 単語を直接追加または変更した場合、このフィールドにはuser
というストリングが格納されます。
モデルの単語リソースで単語を追加または変更した後、単語の定義が正しいことを確認することが重要です。詳しくは、前世代モデルの単語リソースの検証を参照してください。 書き起こし中に変更が有効になるようにモデルをトレーニングする必要もあります。詳しくは、カスタム言語モデルのトレーニングを参照してください。
必要なデータ量
効果的なカスタム言語モデルに必要なデータの量は、多くの要因の影響を受けます。 カスタム・モデルまたはアプリケーションに追加する必要がある正確な単語数を示すことはできません。 ユース・ケースによっては、数単語を直接カスタム・モデルに追加するだけで、モデルの品質が向上する場合があります。 ただし、音声で使用されているコンテキストで単語を示すコーパスから OOV 語を追加すると、書き起こしの正確度を大幅に改善できる場合があります。
このサービスでは、カスタム言語モデルに追加できる単語数が次のように制限されます。
- カスタム・モデルの単語リソースには、最大で 9 万語の OOV 語を追加できます。 この数には、すべてのソース (コーパス、文法、および直接追加した個々のカスタム単語) からの OOV 語が含まれます。
- カスタム・モデルには、すべてのソースから最大で合計 1,000 万の単語を追加できます。 この数値には、コーパスまたは文法に含まれる、OOV 語と既にサービスの基本語彙に含まれる単語の両方が含まれます。 コーパスの場合、サービスは追加の単語を使用して、OOV 語が発生するコンテキストを学習します。このため、コーパスは認識の正確度を改善するより効果的な手段となります。
大規模な単語リソースによって音声認識の待ち時間が長くなりますが、正確な影響を定量化または予測することは困難です。 効果的なカスタム・モデルの作成に必要なデータ量と同様に、大規模な単語リソースのパフォーマンスに対する影響はさまざまな要因によって異なります。 さまざまなデータ量でカスタム・モデルをテストして、モデルのパフォーマンスおよびデータを決定します。
前世代モデルのコーパスの作業
コーパスをカスタム・モデルに追加するには、POST /v1/customizations/{customization_id}/corpora/{corpus_name}
メソッドを使用します。 コーパスは、対象分野で使用される例文が含まれる、プレーン・テキスト・ファイルです。 次のサンプルは、医療分野の簡易コーパスを示しています。 コーパス・ファイルは、通常、これよりも長くなります。
Am I at risk for health problems during travel?
Some people are more likely to have health problems when traveling outside the United States.
How Is Coronary Microvascular Disease Treated?
If you're diagnosed with coronary MVD and also have anemia, you may benefit from treatment for that condition.
Anemia is thought to slow the growth of cells needed to repair damaged blood vessels.
What causes autoimmune hepatitis?
A combination of autoimmunity, environmental triggers, and a genetic predisposition can lead to autoimmune hepatitis.
What research is being done for Spinal Cord Injury?
The National Institute of Neurological Disorders and Stroke NINDS conducts spinal cord research in its laboratories at the National Institutes of Health NIH.
NINDS also supports additional research through grants to major research institutions across the country.
Some of the more promising rehabilitation techniques are helping spinal cord injury patients become more mobile.
What is Osteogenesis imperfecta OI?
. . .
音声認識は、音声を分析する統計アルゴリズムに依存します。 カスタム・モデルの単語は、サービスの基本語彙に含まれる単語だけでなく、そのモデルの他の単語とも競合関係にあります (音声のノイズや話者のアクセントなどの要因も、書き起こしの品質に影響を与えます)。
書き起こしの正確度は、単語がモデルでどのように定義されているか、そして話者がそれらの単語をどのように発音するかによって大きく左右されます。 サービスの正確度を向上させるために、コーパスを使用して、OOV 語がその分野でどのように使用されるかを示す例文をできるだけ多く提供してください。 コーパスで OOV 語を繰り返すと、カスタム言語モデルの品質が向上します。 コーパスで単語を複製する方法は、認識される音声でユーザーがその単語を言う方法によって異なります。 話者が特定の分野の単語を使用するコンテキストを表す文を多く追加すればするほど、サービスの認識の正確度が高くなります。
サービスは単純な単語マッチング・アルゴリズムを適用しません。 その書き起こしは、単語が使用されるコンテキストによって異なります。 コーパスの解析時に、サービスはカスタム・モデルのコーパスの文から n グラム (バイグラム、トライグラムなど) に関する情報を含めます。 この情報は、サービスがより高い正確度で音声を書き起こすのに役立ちます。また、この情報によって、コーパスのカスタム・モデルに関するトレーニングがカスタム単語のみに関するトレーニングよりも価値がある理由が説明されます。
例えば、会計士は Generally Accepted Accounting Principles (GAAP) と呼ばれる一連の共通の基準および手順に従います。 財務分野のカスタム・モデルを作成する場合、コンテキストで用語 GAAP を使用する文を提供します。 このような文は、サービスが「the gap between them is small」などの一般的な句と「GAAP provides guidelines for measuring and disclosing financial information」などの分野中心の句を区別するのに役立ちます。
一般に、コーパスの方が異なるコンテキストでの単語の使用に向いており、サービスによる単語の学習を向上させることができます。 ただし、ユーザーがいくつかのコンテキストでのみ単語を話す場合、他のコンテキストで単語を表示してもカスタム・モデルの品質は向上しません。これらのコンテキストで単語を使用することはありません。 話者が同じ句を頻繁に使用する可能性がある場合は、コーパスでその句を繰り返すとモデルの品質が向上します。 (数語のカスタム単語を直接カスタム・モデルに追加するだけで、モデルの品質が向上する場合もあります。)
コーパス・テキスト・ファイルの準備
コーパス・テキスト・ファイルを準備するには、以下のガイドラインに従ってください。
-
プレーン・テキスト・ファイルに非 ASCII 文字が含まれている場合は、UTF-8 でエンコードされたファイルを用意します。 このサービスはそのような文字を検出すると、UTF-8 エンコードされたものと想定します。
コーパス・テキスト・ファイルの文字エンコードを確認してください。 サービスはテキスト・ファイルで検出したエンコードを保持します。 カスタム・モデルでカスタム単語を処理する場合は、同じエンコードを使用する必要があります。 詳しくは、カスタム単語の文字エンコードを参照してください。
-
コーパス内の単語には、一貫性のある大文字化を使用してください。 単語リソースでは大/小文字が区別されます。 大文字と小文字を混ぜて、大文字化は意図する場合にのみ使用します。
-
コーパスのそれぞれの文を 1 行に含め、各行を復帰で終了します。 複数の文を同じ行に含めると、正確度が低下する可能性があります。
-
個別の行で個人名を不連続ユニットとして追加します。 名前の個々の要素を個別の行に追加したり、個々のカスタム単語として追加したりしないでください。また、コーパスの同じ行に複数の名前を含めないでください。 次のサンプルは、3 つの名前の認識の正確度を向上させる正しい方法を示しています。
Gakuto Kutara Sebastian Leifson Malcolm Ingersol
必要に応じて、追加のコンテキスト情報 (
Doctor Sebastian Leifson
やPresident Malcolm Ingersol
など) を含めます。 すべての単語と同様に、可能な場合は名前を異なるコンテキストで複数回複製すると、認識の正確度を向上させることができます。 -
タイプミスに注意してください。 サービスでは、タイプミスは新しい単語と見なされます。 モデルをトレーニングする前に修正しない限り、サービスによりタイプミスがモデルの語彙に追加されます。 格言*「ガベージイン、ガベージアウト」*を覚えておいてください。
-
文が多いほど、正確度が高まります。 ただし、サービスはモデルのすべてのソースからの単語数の合計を最大 1,000 万語、OOV 語を 9 万語に制限します。
単語の中には、サービスで発音を生成できないものもあります。 コーパスを追加したら、単語リソースを検証して、すべての OOV 語の定義が完全かつ有効であることを確認する必要があります。 詳しくは、前世代モデルの単語リソースの検証を参照してください。
コーパス・ファイル追加時の動作
コーパス・ファイルを追加すると、サービスがその内容を分析します。 サービスは、検出した新しい (OOV) 語を抽出し、各 OOV 語をカスタム・モデルの単語リソースに追加します。 コンテキストから最大限の意味を引き出すために、このサービスはコーパス・ファイルから読み取ったデータをトークン化して解析します。 以降のセクションでは、各サポート対象言語のコーパス・ファイルをサービスが解析する方法を説明します。
オランダ語、英語、フランス語、ドイツ語、イタリア語、ポルトガル語、およびスペイン語の解析
以下の説明は、オランダ語、英語、フランス語、ドイツ語、イタリア語、ポルトガル語、およびスペイン語でサポートされるすべての方言に適用されます。
-
各数字は、それに対応する単語に変換されます。
数値変換の例 言語 整数 小数 オランダ語 500
はvijfhonderd
になります0,15
はnul komma vijftien
になります英語 500
はfive hundred
になります0.15
はzero point fifteen
になりますフランス語 500
はcinq cents
になります0,15
はzéro virgule quinze
になりますドイツ語 500
はfünfhundert
になります0,15
はnull punkt fünfzehn
になりますイタリア語 500
はcinquecento
になります0,15
はzero virgola quindici
になりますポルトガル語 500
はquinhentos
になります0,15
はzero ponto quinze
になりますスペイン語 500
はquinientos
になります0,15
はcero coma quince
になります -
特定の記号を含むトークンが、意味のあるストリング表現に変換されます。 以下の例は、すべてを網羅したものではありません。 サービスは、他の文字についても、必要に応じて同様の調整を行います。 (スペイン語の場合、方言が
es-LA
であれば、$100
および100$
はcien pesos
になります。)シンボル変換の例 言語 1 つのドル記号と 1 つの数値 1 つのユーロ記号と 1 つの数値 1 つのパーセント記号と 1 つの数値 オランダ語 $100
はhonderd dollar
になります€100
はhonderd euro
になります100%
はhonderd procent
になります英語 $100
はone hundred dollars
になります€100
はone hundred euros
になります100%
はone hundred percent
になりますフランス語 $100
はcent dollars
になります€100
はcent euros
になります100%
はcent pour cent
になりますドイツ語 $100
および100$
はeinhundert dollar
になります€100
および100€
はeinhundert euro
になります100%
はeinhundert prozent
になりますイタリア語 $100
はcento dollari
になります€100
はcento euro
になります100%
はcento per cento
になりますポルトガル語 $100
および100$
はcem dólares
になります€100
および100€
はcem euros
になります100%
はcem por cento
になりますスペイン語 $100
および100$
はcien dólares
になります€100
および100€
はcien euros
になります100%
はcien por ciento
になります -
英数字以外の句読点と特殊文字は、コンテキストに応じて処理されます。 例えば、サービスは、
$
(ドル記号) または€
(ユーロ記号) の後に数値が続いていない限り、それらを削除します。 処理はコンテキストに依存し、サポート対象言語間で整合性があります。 -
( )
(括弧)、< >
(不等号括弧)、[ ]
(大括弧)、または{ }
(中括弧) で囲まれた句を無視します。
日本語の解析
- すべての文字が全角文字に変換されます。
- 数字を同等の言葉に変換します。例えば、
500
は五百
に、0.15
は〇・一五
になります。 - 記号を含むトークンを等価な文字列に変換しません。例えば、
100%
は百%
にはなりません。 - 句読点を自動的に削除しません。IBM では、アプリケーションがディクテーション・ベースではなく書き起こしベースである場合は、句読点を削除することを強くお勧めします。
韓国語の解析
-
数字を同等の言葉に変換します。例えば、
10
は십
になります。 -
句読点と特殊文字 (
- ( ) * : . , ' "
) が削除されます。 ただし、他の言語で削除されたすべての句読点と特殊文字が韓国語でも削除されるとは限りません。次に例を示します。- ピリオド (
.
) 記号は、入力の行の最後にある場合にのみ削除されます。 - ティルド (
~
) 記号は削除されません。 - Unicodeのワイド文字記号(
…
(3つのドットまたは省略記号)など)を削除または処理しません。
一般に、IBM は句読点、特殊文字、およびユニコード・ワイド文字を削除してからコーパス・ファイルを処理することをお勧めします。
- ピリオド (
-
( )
(括弧)、< >
(不等号括弧)、[ ]
(大括弧)、または{ }
(中括弧) で囲まれた句を削除したり無視したりしません。 -
特定の記号を含むトークンが、次のように意味のあるストリング表現に変換されます。
24%
は이십사퍼센트
になります。$10
は십달러
になります。
このリストは、すべてを網羅したものではありません。 サービスは、他の文字についても、必要に応じて同様の調整を行います。
-
ラテン (英語) 文字で構成される句またはハングル文字とラテン文字が混在する句の場合、サービスはその句に対して、コーパス・ファイルに表示されるとおりに OOV 語と作成します。 また、ハングルの書き起こしに基づいて同音異字発音を作成します。
- OOVの単語
London
に런던
のような音を付けます。 - OOVの単語
IBM홈페이지
に아이 비 엠 홈페이지
のような音を付けます。
- OOVの単語
前世代モデルのカスタム単語の処理
POST /v1/customizations/{customization_id}/words
メソッドおよび PUT /v1/customizations/{customization_id}/words/{word_name}
メソッドを使用して、カスタム・モデルの単語リソースに新しい単語を追加できます。 これらのメソッドを使用して、単語リソースの単語を変更または拡張することもできます。
例えば、このメソッドを使用して、コーパスから単語を追加する際に発生したタイプミスやその他の誤りを修正する必要がある場合があります。 また、既存の単語に同音異字の定義を追加しなければならない場合もあります。 既存の単語を変更すると、指定する新しいデータによって、単語リソース内のその単語の既存の定義が上書きされます。 単語を追加する際のルールは、既存の単語を変更する場合にも適用されます。
通常、ほとんどのカスタム単語をコーパスから追加します。 コーパス・テキスト・ファイルの文字エンコードを確認してください。 サービスはテキスト・ファイルで検出したエンコードを保持します。 カスタム・モデルでカスタム単語を処理する場合は、同じエンコードを使用する必要があります。 詳しくは、カスタム単語の文字エンコードを参照してください。
sounds_like フィールドの使用
sounds_like
フィールドは、話者による単語の発音方法を指定します。 デフォルトでは、このフィールドには、単語のつづりが自動的に取り込まれます。 しかし、単語の中には、サービスで発音を生成できないものもあります。 単語を追加または変更したら、単語リソースを検証して、すべての単語の定義が完全かつ有効であることを確認する必要があります。 詳しくは、前世代モデルの単語リソースの検証を参照してください。
難しい発音の単語や別の方法でも発音できる単語には、最大 5 つの代替発音を指定できます。 以下を行う場合に、このフィールドの使用を検討します。
-
頭字語に別の発音を指定する。 例えば、頭字語
NCAA
は、スペルのとおりに発音することも、または口語的に N. C. double A と発音することもできます。 以下の例では、単語NCAA
に対してこれらの同音異字発音の両方を追加します。IBM Cloud
curl -X PUT -u "apikey:{apikey}" \ --header "Content-Type: application/json" \ --data "{\"sounds_like\": [\"N. C. A. A.\", \"N. C. double A.\"]}" \ "{url}/v1/customizations/{customization_id}/words/NCAA"
IBM Cloud Pak for Data IBM Software Hub
curl -X PUT \ --header "Authorization: Bearer {token}" \ --header "Content-Type: application/json" \ --data "{\"sounds_like\": [\"N. C. A. A.\", \"N. C. double A.\"]}" \ "{url}/v1/customizations/{customization_id}/words/NCAA"
-
外来語を処理する。 例えば、フランス語の単語
garçon
には、英語では見つからない文字が含まれています。gaarson
の同音異字を指定して、ç
をs
に置き換え、英語の話者が単語を発音する方法をサービスに通知することができます。
以降のセクションでは、同音異字発音を指定する際の言語に固有のガイドラインを示します。 音声認識では、統計アルゴリズムを使用して音声を分析するため、単語を追加した場合に、その単語が完全な正確度でトランスコードされるとは限りません。 単語を追加する際は、その単語がどのように発音される可能性があるかを検討します。 sounds_like
フィールドを使用して、単語がどのように発話される可能性があるかを表す、さまざまな発音を指定してください。
英語のガイドライン
オーストラリア英語、英国英語、および米国英語のガイドライン:
- 英字
a-z
およびA-Z
を使用します。 - 発音するのが難しい単語には、英語で発音できる実際の単語または造語を使用します。例えば、単語
shuchesnie
の場合はSczcesny
とします。 - 英語以外の文字を同等の英語の文字に置き換えます。例えば、
ç
の場合はs
、ñ
の場合はny
に置き換えます。 - アクセント付き文字を非アクセント付き文字に置き換えます。例えば、
à
の場合はa
、è
の場合はe
に置き換えます。 - スペースで区切られた複数の単語を含めることができます。 このサービスでは、先頭や末尾のスペースを含まない最大40文字までが強制されます。
オーストラリア英語と米国英語のみのガイドライン:
- 単一の文字を発音するには、文字の後にピリオドを続けます。 ピリオドの後に別の文字が続く場合は、ピリオドと次の文字の間にスペースを使用してください。 例えば、
N. C. A. A.
ではなくN.C.A.A.
を使用します。 - 数字にはつづりを使用します。例えば、
seventy-five
は75
とします。
英国英語のみのガイドライン:
- 英国英語の同音異字発音にピリオドやダッシュを使用することはできません。
- 単一の文字を発音するには、文字の後にスペースを続けます。 例えば、
N C A A
、、N. C. A. A.
ではなくN.C.A.A.
、NCAA
を使用します。 - 数字には、ダッシュなしのつづりを使用します。例えば、
seventy five
は75
とします。
オランダ語、フランス語、ドイツ語、イタリア語、ポルトガル語、およびスペイン語のガイドライン
オランダ語、フランス語、ドイツ語、イタリア語、ポルトガル語、およびスペイン語のサポートされるすべての方言のガイドライン:
- 同音異字発音ではダッシュを使用できません。
- 言語で有効な英字
a-z
およびA-Z
(有効なアクセント記号付きの文字を含む) を使用します。 - 単一の文字を発音するには、文字の後にピリオドを続けます。 ピリオドの後に別の文字が続く場合は、ピリオドと次の文字の間にスペースを使用してください。 例えば、
N. C. A. A.
ではなくN.C.A.A.
を使用します。 - 発音するのが難しい単語には、その言語で発音できる実際の単語または造語を使用します。
- ダッシュなしの数値のつづりを使用します。例えば、
75
には以下を使用します。- オランダ語 (オランダ):
vijfenzeventig
- フランス語:
soixante quinze
- ドイツ語:
fünfundsiebzig
- イタリア語:
settantacinque
- ポルトガル語 (ブラジル):
setenta e cinco
- スペイン語:
setenta y cinco
- オランダ語 (オランダ):
- スペースで区切られた複数の単語を含めることができます。 このサービスでは、先頭や末尾のスペースを含まない最大40文字までが強制されます。
日本語のガイドライン
-
―
長音記号(日本語では 「長音」) を使用して、全角カタカナ文字のみを使用してください。 半角文字を使用しないでください。 -
拗音 (日本語では拗音)は、次の音節の文脈でのみ使用してください。
イェ
,ウィ
,ウェ
,ウォ
,キィ
,キャ
,キュ
,キョ
,ギャ
,ギュ
,ギョ
,クァ
,クィ
,クェ
,クォ
グァ
,グォ
,シィ
,シェ
,シャ
,シュ
,ショ
,ジィ
,ジェ
,ジャ
,ジュ
,ジョ
,スィ
,ズィ
,チェ
チャ
,チュ
,チョ
,ヂェ
,ヂャ
,ヂュ
,ヂョ
,ツァ
,ツィ
,ツェ
,ツォ
,ティ
,テュ
,ディ
,デャ
デュ
,デョ
,トゥ
,ドゥ
,ニェ
,ニャ
,ニュ
,ニョ
,ヒャ
,ヒュ
,ヒョ
,ビャ
,ビュ
,ビョ
,ピィ
ピャ
,ピュ
,ピョ
,ファ
,フィ
,フェ
,フォ
,フュ
,ミャ
,ミュ
,ミョ
,リィ
,リェ
,リャ
,リュ
リョ
,ヴァ
,ヴィ
,ヴェ
,ヴォ
,ヴュ
-
即音 (日本語では促音)の後には、次の音節のみを使用してください。
バ
,ビ
,ブ
,ベ
,ボ
,チ
,チェ
,チャ
,チュ
,チョ
,ダ
,デ
,ディ
,ド
,ドゥ
,フ
ファ
,フィ
,フェ
,フォ
,ガ
,ギ
,グ
,ゲ
,ゴ
,ハ
,ヒ
,ヘ
,ホ
,ジ
,ジェ
,ジャ
ジュ
,ジョ
,カ
,キ
,ク
,ケ
,コ
,キャ
,キュ
,キョ
,パ
,ピ
,プ
,ペ
,ポ
,ピャ
ピュ
,ピョ
,サ
,ス
,セ
,ソ
,シ
,シェ
,シャ
,シュ
,ショ
,タ
,テ
,ト
,ツ
,ザ
ズ
,ゼ
,ゾ
-
ン
を単語の最初の文字として使用しないでください。 例えば、ンート
の代わりにウーント
を使用してください。後者は無効です。 -
数多くの複合語が接頭部 + 名詞 または名詞 + 接尾部で構成されています。 このサービスの基本語彙は、頻繁に使用される複合語(例えば、
長電話
や古新聞
)はカバーしていますが、使用頻度の低い複合語はカバーしていません。 コーパスに一般的に複合語が含まれている場合は、カスタマイズの最初のステップとして、複合語を 1 語として追加します。 例えば、古鉛筆
は一般的な日本語のテキストでは一般的ではありません。もし頻繁に使用する場合は、カスタムモデルに追加して文字起こしの精度を向上させます。 -
末尾につまる音を使用しないでください。
韓国語のガイドライン
- 韓国語のハングル文字、記号、および音節を使用します。
- ラテン語 (英語) の英字
a-z
およびA-Z
を使用することもできます。 - 上記のセットに含まれていない文字や記号は使用しないでください。
display_as フィールドの使用
display_as
フィールドは、書き起こしでの単語の表示方法を指定します。 このフィールドは、単語の本来のつづりとは異なるストリングをサービスで表示させる場合に使用します。 例えば、単語 hhonors
を、発音が HHonors
または hilton honors
のいずれであるかに関わらず、h honors
として表示するように指定できます。
IBM Cloud
curl -X PUT -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"sounds_like\": [\"hilton honors\", \"H. honors\"], \"display_as\": \"HHonors\"}" \
"{url}/v1/customizations/{customization_id}/words/hhonors"
IBM Cloud Pak for Data IBM Software Hub
curl -X PUT \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"sounds_like\": [\"hilton honors\", \"H. honors\"], \"display_as\": \"HHonors\"}" \
"{url}/v1/customizations/{customization_id}/words/hhonors"
別の例として、IBM
という単語を IBM™
として表示するように指定することもできます。
IBM Cloud
curl -X PUT -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"sounds_like\": [\"I. B. M.\"], \"display_as\":\"IBM™\"}" \
"{url}/v1/customizations/{customization_id}/words/IBM"
IBM Cloud Pak for Data IBM Software Hub
curl -X PUT \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--data "{\"sounds_like\": [\"I. B. M.\"], \"display_as\":\"IBM™\"}" \
"{url}/v1/customizations/{customization_id}/words/IBM"
スマート・フォーマット設定および数値編集との対話
認識要求で smart_formatting
パラメーターまたは redaction
パラメーターを使用する場合は、サービスがスマート・フォーマット設定および編集を単語に適用してから、単語の display_as
フィールドを考慮することに注意してください。 この場合、これらの機能がカスタム単語の表示方法に干渉しないことを確認するために、結果を試してみる必要がある可能性があります。 また、その結果を考慮してカスタム単語を追加しなければならない可能性があります。
例えば、one
フィールドを display_as
に設定して、カスタム単語 one
を追加するとします。 スマート・フォーマット設定によって、単語 one
は数字の 1
に変更されるため、display-as の値は適用されません。 この問題を回避するには、カスタム単語として数字 1
を追加して、この単語に同じ display_as
フィールドを適用します。
これらの機能の処理について詳しくは、スマート・フォーマット設定および数値の編集を参照してください。
カスタム単語の追加または変更時の動作
カスタム単語の追加または変更の要求に対するサービスの応答は、指定したフィールドおよび値によって異なります。 該当する単語がサービスの基本語彙に存在するかどうかによっても異なります。
-
sounds_like
フィールドとdisplay_as
フィールドの両方を省略します。- *該当する単語がサービスの基本語彙に 存在しない場合、*サービスは
sounds_like
フィールドに その単語の発音を設定しようとします。 単語の中には 発音を生成できないものもあるため、単語の定義が 完全かつ有効であることを確認する必要があります。display_as
フィールドにはword
フィールドの値が設定されます。 - 該当する単語がサービスの基本語彙に存在する場合、 サービスは、
sounds_like
フィールドおよびdisplay_as
フィールドを空のままにします。 これらのフィールドが空になるのは、 該当する単語がサービスの基本語彙に存在する場合のみです。 この単語は、 モデルの単語リソースに存在していても悪影響はありませんが、 不必要なものです。
- *該当する単語がサービスの基本語彙に 存在しない場合、*サービスは
-
sounds_like
フィールドのみを指定します。- *
sounds_like
フィールドが有効な場合、*サービスはdisplay_as
フィールドにword
フィールドの値を設定します。 sounds_like
フィールドが無効な場合:POST /v1/customizations/{customization_id}/words
メソッドが、モデルの単語リソース内でその単語にerror
フィールドを 追加します。PUT /v1/customizations/{customization_id}/words/{word_name}
メソッドは 400 応答コードで失敗し、エラー・メッセージが返されます。 サービスは その単語を単語リソースに追加しません。
- *
-
display_as
フィールドのみを指定します。- *該当する単語がサービスの基本語彙に 存在しない場合、*サービスは
sounds_like
フィールドに その単語の発音を設定しようとします。 単語の中には 発音を生成できないものもあるため、単語の定義が 完全かつ有効であることを確認する必要があります。display_as
フィールドは指定された値のままです。 - 該当する単語がサービスの基本語彙に存在する場合、サービスは
sounds_like
フィールドを空のままにし、display_as
フィールドに指定された値はそのまま維持します。
- *該当する単語がサービスの基本語彙に 存在しない場合、*サービスは
-
sounds_like
フィールドとdisplay_as
フィールドの両方を指定します。- *
sounds_like
フィールドが有効な場合、*サービスはsounds_like
フィールドおよびdisplay_as
フィールドを指定された値に設定します。 - *
sounds_like
フィールドが無効な場合、*サービスはsounds_like
フィールドが指定されている一方、display_as
フィールドが指定されていない場合と同様に対応します。
- *
前世代モデルの単語リソースの検証
特に、コーパスをカスタム言語モデルに追加したり、一度に複数のカスタム単語を追加したりする場合は、モデルの単語リソース内の OOV 語を調べてください。
- 誤字やその他の誤りがないか調べてください。 特に大きなコーパスを追加する場合に誤りが生じやすくなります。 コーパス・フォール (またはカスタム・ワードまたは文法ファイル) のタイプミスは、コーパス・ファイルに残されている誤った形式の HTML タグと同様に、モデルの単語リソースに新規単語を追加するという意図しない結果になります。
- 同音異字発音を確認してください。 サービスは、OOV 語の同音異字発音を自動的に生成しようとします。 これらの発音のほとんどは十分に正確なものです。 しかし、単語の中には発音を生成できないものもあるため、単語の定義が完全かつ有効であることを確認する必要があります。 珍しいつづりの単語や発音が難しい単語、頭字語や技術用語についても、発音の正確度を確認することが推奨されます。
カスタム・モデルの単語を確認し、必要に応じて修正するには、単語の単語リソースへの追加方法に関わらず、以下のメソッドを使用します。
GET /v1/customizations/{customization_id}/words
メソッドを使用してカスタム・モデルのすべての単語をリストするか、GET /v1/customizations/{customization_id}/words/{word_name}
メソッドを使用して個々の単語を照会します。 詳しくは、カスタム言語モデルからのカスタム単語のリストを参照してください。POST /v1/customizations/{customization_id}/words
メソッドまたはPUT /v1/customizations/{customization_id}/words/{word_name}
メソッドを使用して、カスタム・モデルの単語を変更して誤りを修正するか、同音異字または表示形式の値を追加します。 詳しくは、前世代モデルのカスタム単語の処理を参照してください。- 誤って (例えば、コーパス内のタイプミスやその他の誤りによって) 挿入された無関係な単語を削除するには、
DELETE /v1/customizations/{customization_id}/words/{word_name}
メソッドを使用します。 詳しくは、カスタム言語モデルからの単語の削除を参照してください。- 単語がコーパスから抽出された場合、コーパス・テキスト・ファイルを更新してエラーを修正してから、
allow_overwrite
メソッドのPOST /v1/customizations/{customization_id}/corpora/{corpus_name}
パラメーターを使用してファイルを再ロードすることもできます。 詳しくは、カスタム言語モデルへのコーパスの追加を参照してください。 - 単語が文法から抽出された場合、文法ファイルを更新してエラーを修正してから、
allow_overwrite
メソッドのPOST /v1/customizations/{customization_id}/grammars/{grammar_name}
パラメーターを使用してファイルを再ロードすることもできます。 詳しくは、カスタム言語モデルへの文法の追加を参照してください。
- 単語がコーパスから抽出された場合、コーパス・テキスト・ファイルを更新してエラーを修正してから、