IBM Cloud Docs
使用先前生成模型的语料库和定制词

使用先前生成模型的语料库和定制词

此信息特定于基于 前代模型的定制模型。 有关基于 下一代模型的定制模型的语料库和定制词的信息,请参阅 使用下一代模型的语料库和定制词

您可以通过将语料库或语法添加到模型,或者通过直接添加定制词,从而使用词填充定制语言模型。

  • 语料库 - 使用词填充定制语言模型的建议方法是向模型添加一个或多个语料库。 添加语料库时,服务会分析该文件,并自动将其找到的任何新词添加到定制模型。 通过向定制模型添加语料库,服务可以在上下文中抽取特定于领域的词,这有助于确保更好的转录结果。 有关更多信息,请参阅使用语料库
  • 语法 - 可以向定制模型添加语法,以将语音识别限制为语法识别到的词或短语。 向模型添加语法时,服务会自动将其找到的任何新词添加到模型,就像添加语料库一样。 有关更多信息,请参阅将语法用于定制语言模型
  • 单个词 - 还可以将单个定制词直接添加到模型。 服务向模型添加词的方式,就像添加从语料库或语法中发现的词一样。 直接添加词时,可以指定多种读法并指示词的显示方式。 此外,还可以更新现有词,以修改或扩充从语料库或语法中抽取的定义。 有关更多信息,请参阅使用定制词

无论采用哪种方式添加词,服务都会将添加到定制语言模型的所有词存储在模型的词资源中。

词资源

词资源包含通过语料库添加、通过语法添加或直接添加的所有词。 词资源的用途是定义服务基本词汇表中尚不存在的词的读法和拼写。 这些定义指示服务如何对这些未登录 (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 词。
  • 最多可以从所有源向定制模型添加共 1000 万个词。 此数字包含所有词,包括 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 元语法(两元语法、三元语法等)的信息。 这些信息可帮助服务提高音频转录准确性,并且说明了为什么基于语料库训练定制模型比仅基于定制词训练模型更有价值。

例如,会计师遵循称为《公认会计原则》(GAAP) 的一组通用标准和过程。 为金融领域创建定制模型时,请提供在上下文中使用术语 GAAP 的句子。 句子可帮助服务区分一般短语(如“the gap between them is small”)和领域专用短语(如“GAAP provides guidelines for measuring and disclosing financial information”)。

通常,语料库最好在不同的上下文中使用词,这可以改进服务学习词的方式。 然而,如果用户在某些语境下使用这些词语,在其他语境下显示这些词语并不能提高定制模型的质量:说话的人永远不会在这些语境中使用这些词语。 如果说话者可能经常使用相同的短语,那么在语料库中重复该短语可以提高模型的质量。 (在某些情况下,即使只将几个定制词直接添加到定制模型,也可能会产生积极的影响。)

准备语料库文本文件

遵循以下准则来准备语料库文本文件:

  • 提供以 UTF-8 编码的纯文本文件(如果文件包含非 ASCII 字符)。 如果服务遇到此类字符,将采用 UTF-8 编码。

    确保您知道语料库文本文件的字符编码。 服务会保留在文本文件中找到的编码。 在自定义模型中使用自定义单词时,必须使用相同的编码。 有关更多信息,请参阅 定制词的字符编码

  • 对语料库中的词使用一致的首字母大写。 词资源是区分大小写的。 请仅在需要时混合使用大小写字母以及使用首字母大写。

  • 语料库中每个句子单独一行,并且每行以回车符终止。 在同一行中包含多个句子会降低准确性。

  • 将个人姓名作为独立的单元添加,一个姓名一行。 不要将名字的各个部分写在单独的行上,也不要将其作为单独的自定义单词,不要在同一行中包含多个名字。 以下示例显示了提高三个姓名的识别准确性的正确方法:

    Gakuto Kutara
    Sebastian Leifson
    Malcolm Ingersol
    

    在适当的情况下,请提供附加的上下文信息,例如:Doctor Sebastian LeifsonPresident Malcolm Ingersol。 与所有词一样,请多次重复这些姓名,并且如果可能,在不同的上下文中重复姓名,这可以提高识别准确性。

  • 注意拼写错误。 服务会假定拼写错误是新词。 除非在训练模型之前更正这些词,否则服务会将它们添加到模型的词汇表中。 请记住这句格言:垃圾进,垃圾出!

  • 句子越多,准确性越高。 但是,服务确实将从所有源添加到模型的总词数限制为 1000 万个词,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$100100$ 则变为 cien pesos。)

    符号转换示例
    语言 一个美元符号和一个数字 一个欧元符号和一个数字 百分号和数字
    荷兰语 $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
    德语 $100100$ 转换为 einhundert dollar €100100€ 转换为 einhundert euro 100% 变为 einhundert prozent
    意大利语 $100 变为 cento dollari €100 变为 cento euro 100% 变为 cento per cento
    葡萄牙语 $100100$ 转换为 cem dólares €100100€ 转换为 cem euros 100% 变为 cem por cento
    西班牙语 $100100$ 转换为 cien dólares €100100€ 转换为 cien euros 100% 变为 cien por ciento
  • 根据上下文处理非字母数字、标点和特殊字符。 例如,该服务会删除 $ (美元符号)或 (欧元符号),除非其后面跟着一个数字。 处理与上下文相关,并且在支持的语言中保持一致。

  • 忽略 ( ) (括号)、< > (尖括号)、[ ] (方括号)或 { } (大括号)中的短语。

解析日语

  • 将所有字符转换为全角字符。
  • 将数字转换为相应的单词,例如,500 变为 五百0.15 变为 〇・一五
  • 不会将包含符号的标记转换为等效字符串,例如,100% 不会变成 百%
  • 不自动除去标点符号。IBM 强烈建议您除去标点符号 (如果应用程序基于转录而不是基于口述)。

解析韩语

  • 将数字转换为相应的单词,例如,10 变为

  • 删除以下标点符号和特殊字符: - ( ) * : . , ' "。 但是,对于其他语言会除去的标点和特殊字符,对于韩语不一定会全部除去,例如:

    • 仅当句点 (.) 符号出现在输入行末时才将其除去。
    • 不除去波浪号 (~)。
    • 不删除或以其他方式处理Unicode宽字符符号,例如 (三点或省略号)。

    通常,IBM 建议您在处理语料库文件之前,先除去标点、特殊字符和 Unicode 宽字符。

  • 不会删除或忽略包含在 ( ) (括号)、< > (尖括号)、[ ] (方括号)或 { } (大括号)中的短语。

  • 将包含特定符号的记号转换为有意义的字符串表示法,例如:

    • 24% 变为 이십사퍼센트
    • $10 变为 십달러

    此列表并非详尽无遗。 服务会根据需要对其他字符进行类似调整。

  • 对于由拉丁语(英语)字符组成的短语或由韩语和拉丁语字符混合组成的短语,服务会为短语创建 OOV 词,与其在语料库文件中显示的完全一样。 服务会基于韩语转录,为词创建发音相似的读法。

    • 它使OOV单词 London 听起来像 런던
    • 它使OOV单词 IBM홈페이지 听起来像 아이 비 엠 홈페이지

使用先前生成模型的定制词

您可以使用 POST /v1/customizations/{customization_id}/wordsPUT /v1/customizations/{customization_id}/words/{word_name} 方法将新词添加到定制模型的词资源。 还可以使用这两个方法来修改或扩充词资源中的词。

例如,您可能需要使用这两个方法来更正通过语料库添加词时所犯的拼写错误或其他错误。 您可能还需要为现有词添加发音相似的读法定义。 如果修改现有词,那么提供的新数据会覆盖词资源中该词的现有定义。 添加词的规则也适用于修改现有词。

您很可能会通过语料库来添加大多数定制词。 确保您知道语料库文本文件的字符编码。 服务会保留在文本文件中找到的编码。 在自定义模型中使用自定义单词时,必须使用相同的编码。 有关更多信息,请参阅 定制词的字符编码

使用 sounds_like 字段

sounds_like 字段指定说话者对词的读法。 缺省情况下,服务会自动尝试使用词的拼写来填写此字段。 但是,服务无法为所有词生成读法。 添加或修改词后,必须验证词资源,以确保每个词的定义完整且有效。 有关更多信息,请参阅 验证前代模型的词资源

对于很难发音或可采用不同读法的词,可以提供最多五种替代读法。 请考虑将此字段用于:

  • 为缩略词提供不同的发音。 例如,首字母缩略词 NCAA 可以发音为拼写或口语为 N。 C. 双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-zA-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-zA-Z,包括有效的重音字母。
  • 要读单个字母,请使用后跟句点的字母。 如果句点后跟其他字符,请务必在句点和下一个字符之间使用一个空格。 例如,请使用 N. C. A. A.,而不要使用 N.C.A.A.
  • 对于很难发音的词,请使用相应语言中可发音的实际词或自造词。
  • 对数字使用不带短划线的拼写,例如,对于 75,请使用:
    • 荷兰语 (荷兰语): vijfenzeventig
    • 法语: soixante quinze
    • 德语: fünfundsiebzig
    • 意大利语: settantacinque
    • 葡萄牙语 (巴西): setenta e cinco
    • 西班牙语: setenta y cinco
  • 可以包含多个以空格分隔的词。 该服务最多强制实施 40 个字符,不包括前导空格或尾部空格。

适用于日语的准则

  • 使用 长度符号(日语中的 chou-on 或長音)时,请仅使用全角片假名字符。 不要使用半角字符。

  • 仅在以下音节语境中使用缩约音(日语中的拗音 ):

    イェ, ウィ, ウェ, ウォ, キィ, キャ, キュ, キョ, ギャ, ギュ, ギョ, クァ, クィ, クェ, クォ

    グァ, グォ, シィ, シェ, シャ, シュ, ショ, ジィ, ジェ, ジャ, ジュ, ジョ, スィ, ズィ, チェ

    チャ, チュ, チョ, ヂェ, ヂャ, ヂュ, ヂョ, ツァ, ツィ, ツェ, ツォ, ティ, テュ, ディ, デャ

    デュ, デョ, トゥ, ドゥ, ニェ, ニャ, ニュ, ニョ, ヒャ, ヒュ, ヒョ, ビャ, ビュ, ビョ, ピィ

    ピャ, ピュ, ピョ, ファ, フィ, フェ, フォ, フュ, ミャ, ミュ, ミョ, リィ, リェ, リャ, リュ

    リョ, ヴァ, ヴィ, ヴェ, ヴォ, ヴュ

  • 在日语的同化音 (促音 )后只能使用以下音节:

    , , , , , , チェ, チャ, チュ, チョ, , , ディ, , ドゥ,

    ファ, フィ, フェ, フォ, , , , , , , , , , , ジェ, ジャ

    ジュ, ジョ, , , , , , キャ, キュ, キョ, , , , , , ピャ

    ピュ, ピョ, , , , , , シェ, シャ, シュ, ショ, , , , ,

    , ,

  • 请勿将 作为单词的第一个字符。 例如,请使用 ウーント,而不是无效的 ンート

  • 许多复合词由前缀+名词名词+后缀构成。 该服务的基本词汇涵盖了大多数高频复合词(例如 長電話古新聞 ),但不包括那些不常出现的复合词。 如果您的语料库通常包含复合词,那么作为定制的第一步,请将复合词添加为一个词。 例如,古鉛筆 在一般的日文中并不常见;如果您经常使用它,请将其添加到您的自定义模型中,以提高转录的准确性。

  • 不要使用尾部促音。

适用于韩语的准则

  • 使用韩语字符、符号和音节。
  • 还可以使用拉丁语(英语)字母字符:a-zA-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_formattingredaction 参数用于识别请求,请注意,服务会先将智能格式设置和编辑应用于词,然后再考虑词的 display_as 字段。 您可能需要对结果进行试验,以确保这些功能不会妨碍定制词的显示方式。 您可能还需要添加定制词以包含这些结果。

例如,假设添加了one 字段为 display_as 的定制词 one。 智能格式设置会将词 one 更改为数字 1,并且不会应用 display-as 值。 要解决此问题,可以为数字 1 添加定制词,并将相同的 display_as 字段应用于该词。

有关使用这些功能的更多信息,请参阅智能格式设置数字编辑

添加或修改定制词时的处理过程

服务如何响应添加或修改定制词的请求取决于您指定的字段和值。 此外,还取决于词在服务的基本词汇表中是否存在。

  • 同时省略 sounds_likedisplay_as 字段:

    • 如果词在服务的基本词汇表中不存在,服务会尝试将 sounds_like 字段设置为该词的读法。 服务无法为所有词生成读法,因此必须复查词的定义,以确保其完整且有效。 服务会将 display_as 字段设置为 word 字段的值。
    • 如果词在服务的基本词汇表中存在,服务会将 sounds_likedisplay_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_likedisplay_as 字段:

    • 如果 sounds_like 字段有效,服务会将 sounds_likedisplay_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}/wordsPUT /v1/customizations/{customization_id}/words/{word_name} 方法来添加 sounds-like 或 display-as 值。 有关更多信息,请参阅 使用先前生成模型的定制词
  • 使用 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} 参数来重新装入该文件。 有关更多信息,请参阅向定制语言模型添加语法