使用大型语音模型和下一代模型的语料库和定制词
此信息特定于基于 大型语音模型和下一代模型的定制模型。 有关基于 前代模型的定制模型的语料库和定制词的信息,请参阅 使用前代模型的语料库和定制词。
通过向模型添加语料库或直接向模型添加定制词,使用词填充定制语言模型。 您对大型语音模型,前代和下一代模型使用相同的方法和操作。 有关向模型添加语料库和定制词的更多信息,请参阅 针对大型语音模型和下一代模型使用语料库 和 针对大型语音模型和下一代模型使用定制词。
尽管语言模型定制对于大型语音模型,前代模型和下一代模型的用法和意图相似,但在实现级别上,三种类型的模型之间存在差异。 要了解语言模型定制如何用于大型语音模型和下一代模型,以及如何最佳利用定制,您需要对差异进行高级了解。
-
当您创建并使用基于 大型语音模型或前代模型的定制语言模型时,服务将依赖于来自定制模型的词来创建包含特定于域的术语的文字记录。 结合其基本词汇表中的词,服务使用定制模型中的这些词来预测和转录音频中的语音。 您以语料库,定制词和语法的形式提供定制语言模型的信息。 服务将此信息存储在定制模型的词资源中。
-
创建基于 下一代模型的定制语言模型时,服务将依赖于定制模型中的字符序列来创建反映特定于域的术语的文字记录。 结合基本模型中的字符序列,服务使用定制模型中的这些字符序列来预测和转录音频中的语音。
您以语料库,定制词和语法的形式提供定制语言模型的信息。 但是,该服务不依赖于包含这些词的词资源,而是从语料库和定制词中抽取并存储字符序列。 该服务不会从语料库和定制词中抽取和计算词汇表外 (OOV) 词。 词资源仅用于存储您直接添加到模型的定制词。
在基于大型语音模型或下一代模型开发定制语言模型时,仍必须提供语料库和定制词,以在特定于域的术语上训练模型。 因此,对于大型语音模型,下一代模型和上一代模型,创建和训练定制模型的过程大致相同。
以下主题描述了为基于大型语音模型和下一代模型的定制语言模型提供语料库和定制词的规则。 这些规则与使用基于前代模型的定制模型的规则类似,但确实存在一些重要差异。
词资源
词资源 包含直接添加到定制模型的定制词。 资源一词包含每个自定义词的以下信息:
-
word
-由您添加的单词拼写。不要使用需要进行 URL 编码的字符。 例如,不要在名称中使用空格、斜杠、反斜杠、冒号、&符号、双引号、加号、等号、问号等。 该服务并不禁止使用这些字符,但由于它们在任何地方使用都必须经过 URL 编码,因此强烈建议不要使用。
-
sounds_like
- 词的读法。 您可以使用sounds_like
字段为该词添加一个或多个发音。 有关更多信息,请参阅使用 sounds_like 字段。 -
display_as
- 服务在文字记录中使用的词的拼写。 除非指定备用表示法,否则拼写与word
字段的值匹配。 有关更多信息,请参阅使用 display_as 字段。 -
source
- 将词添加到词资源的方式。 该字段始终包含字符串user
,以指示它是作为定制词直接添加的。
添加或修改定制词后,请务必验证该词的定义是否正确; 有关更多信息,请参阅 验证大型语音模型和下一代模型的词资源。 您还必须训练模型以使更改在转录期间生效; 有关更多信息,请参阅 训练定制语言模型。
您可以添加已存在的定制词,例如,为常见词添加更多类似声音的发音。 否则,就没有理由重复常用词了。 此类词保留在模型的词资源中,但它们无害且不必要。
mapping_only
-定制词的参数。 您可以在定制词中使用 "mapping_only" 键作为后处理的形式。 此键参数具有布尔值,用于确定 "sounds_like" (对于非日语模型) 还是 word (对于日语) 不是用于模型微调,而是用于替换 "display_as"。 当您专门使用定制词将 "sounds_like" (或 word) 映射到 "display_as" 值时,此功能可帮助您。 仅用于不需要微调的后处理目的的定制词时。
用例示例,
在使用 "mapping_only" 之前: Speech to Text 机器输出是 "hilton honors" 作为其 ASR 文字记录。 但是,您希望将其显示为 "HHonors" 作为最终输出。 因此,您可以使用以下定制词将 "hilton honors" 映射到 "HHonors"。
{"word": "HHonors", "sounds_like": ["hilton honors"], "display_as": "HHonors"}
虽然这会将 ASR 文字记录中的任何单词 "hilton honors" 映射到 "HHonors",但缺省情况下,它会使用 "sounds_like" (hilton honors) 对模型进行微调,即使该模型在识别 "hilton honors" 一词时没有问题。 这是不需要微调但需要映射到 "display_as" 的词的示例。
使用 "mapping_only" 之后: 由于 Speech to Text 模型很好地识别了 "hilton honors" 一词,因此不必对该词进行微调。 因此,您可以使用以下定制词来跳过训练并将 "sounds_like" 映射到 "display_as"。
{"word": "HHonors", "sounds_like": ["hilton honors"], "display_as": "HHonors", "mapping_only": true}
此参数适用于支持增强定制的下一代模型 (英语模型,ja-Jp 模型等)。 请参阅 受支持模型的列表。
我需要多少数据?
许多因素会影响有效定制语言模型所需的数据量。 无法确定任何定制模型或应用程序需要添加的数据量。 根据用例,即使只将几个词直接添加到定制模型,也可能会提高模型的质量。 但是添加在使用它们的上下文中显示单词的语料库可以大大提高转录准确性。
最多可以从所有源向定制模型添加共 1000 万个词。 此图包含语料库中包含的所有词以及您直接添加的词。 该服务使用语料库中的所有单词来学习可以出现字符序列的上下文,这就是为什么语料库是提高识别准确性的更有效方法。
添加大量语料库和词汇可能会增加语音识别的延迟,但具体影响很难量化或预测。 与制作一款有效的定制车型所需的数据量一样,大量数据对性能的影响取决于许多因素。 使用不同数量的数据测试您的自定义模型,以确定模型的性能。
基于改进的下一代模型向定制模型添加词的准则
对于基于使用改进的定制的下一代语言模型的定制模型,请使用以下方法限制直接添加到模型的定制字数:
POST /v1/customizations/{customization_id}/words
PUT /v1/customizations/{customization_id}/words/{word_name}
使用这些方法将定制词添加到定制模型可以显着增加模型的训练时间。 训练时间随您添加的词总数线性增加。 但是,仅当首次在新定制词上训练模型时,训练时间才会增加。 在没有新的定制词的情况下,后续训练请求所需的时间将恢复正常。
使用以下方法使用仅通过语料库添加的词来训练定制模型通常是快速的:
POST /v1/customizations/{customization_id}/corpora/{corpus_name}
有关改进的下一代模型定制的更多信息,请参阅 改进的下一代模型语言模型定制。
非日语模型使用 "sounds_like" 进行映射 ("sounds_like"-> "display_as")。
基于改进的下一代模型向日本模型添加词的准则
不要为已知词添加定制词,这些词通常被识别并且在词与词的发音方式之间具有一般的对应关系。 使用定制词来创建拼写较少的词与发音方式之间的映射。 还使用定制词来添加未知词,那些在词及其发音之间缺乏对应关系或通常不被识别为单词的词。 将此类词添加到语料库同样有效。
对于定制词和声音喜欢,服务会强制实施最大字符总数为 25 个 (不包括前导空格或尾部空格) 的限制。 如果添加超过此限制的定制词或类似声音,那么服务会自动将该词视为是由语料库添加的。 该词不会显示为模型的定制词。 对于最有效的训练,建议日语定制词和音赞包含不超过 20 个字符。 将诸如 IBMクラウド音声認識サービス
之类的长词添加到语料库。
例如,无需定制即可识别单词 IBM
的发音 アイビーエム
,因此无需将其添加为定制单词。 由于 IBM
,クラウド
,音声認識
和 サービス
是常用词,因此将它们添加为定制词不会产生任何影响。
对于定制词,请输入反映该词的用法和发音的常用表示法。 这允许进行更高效的定制。 例如,以下示例无法可靠地生成字符串 Artificial_Intelligence
以响应发声 エーアイ
,因为 Artificial_Intelligence
和 人工知能
通常不会作为 AI
使用:
{\"word\": \"Artificial_Intelligence\", \"sounds_like\": [\"エーアイ\"], \"display_as\": \"Artificial_Intelligence\"},
{\"word\": \"人工知能\", \"sounds_like\": [\"エーアイ\"], \"display_as\": \"Artificial_Intelligence\"}
由于上下文通常类似于 これからAIはますます発展してきます
,因此 AI
是最适合类似声音的 エーアイ
的表示法。 因此,以下示例可能会产生更好的结果:
{\"word\": \"AI\", \"sounds_like\": [\"エーアイ\"], \"display_as\": \"Artificial_Intelligence\"}
最后,在定制词中,半宽字母字符将转换为全宽字符。 英语大写和小写字符被视为不同的字符。
日语模型使用词进行映射 ("word"-> "display_as")。
使用大型语音模型和下一代模型的语料库
使用 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?
. . .
来自定制模型的字中的字符序列与来自基本模型的字符序列以及来自模型的其他字中的序列竞争。 (音频噪声和说话者口音等因素也会影响转录的质量。)
转录的准确性在很大程度上取决于您添加到模型中的数据以及说话者如何在音频中说单词。 为了提高服务的准确性,请使用语料库,尽可能多地提供某个领域中单词使用方式的示例。 在语料库中重复使用这些词语可以提高定制语言模型的质量。 如何重复语料库中的词取决于您预期用户在要识别的音频中对这些词的读法。 用于表示说话者使用相关领域中词所处的上下文的句子添加得越多,服务的识别准确性越高。
例如,会计师遵循称为《公认会计原则》(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 Leifson
或President Malcolm Ingersol
。 与所有单词一样,多次复制名称可以提高识别准确性。 -
注意拼写错误。 服务会假定拼写错误是新词。 请记住这句格言:垃圾进,垃圾出!
-
句子越多,准确性越高。 但该服务确实限制了模型的总字数,所有来源的总字数不得超过1000万。
添加语料库文件时的处理过程
添加语料库文件时,服务会分析文件的内容。 为了从内容中提取最多的意义,服务会对它从语料库文件中读取的数据进行记号化并解析。 以下主题描述了服务如何为每种支持的语言解析语料库文件。
以下语言的信息尚不可用: 阿拉伯语,汉语,捷克语,印地语和瑞典语。 如果您需要定制语言模型的此信息,请与 IBM 支持代表联系。
解析荷兰语,英语,法语,德语,意大利语,葡萄牙语和西班牙语
以下信息适用于所有受支持的荷兰语,英语,法语,德语,意大利语,葡萄牙语和西班牙语方言:
-
将数字转换为其等效词。
数字转换示例 语言 整数 小数 荷兰语 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
-
将包含特定符号的记号转换为有意义的字符串表示法。 这些示例并非详尽无遗。 服务会根据需要对其他字符进行类似调整。
符号转换示例 语言 一个美元符号和一个数字 一个欧元符号和一个数字 百分号和数字 荷兰语 $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宽字符符号,例如
…
(三点或省略号)。
通常,IBM 建议您在处理语料库文件之前,先除去标点、特殊字符和 Unicode 宽字符。
- 仅当句点 (
-
不会删除或忽略包含在
( )
(括号)、< >
(尖括号)、[ ]
(方括号)或{ }
(大括号)中的短语。 -
将包含特定符号的记号转换为有意义的字符串表示法,例如:
24%
变为이십사퍼센트
。$10
变为십달러
。
此列表并非详尽无遗。 服务会根据需要对其他字符进行类似调整。
-
对于由拉丁(英语)字符或韩文和拉丁字符混合组成的短语,该服务将完全按照语料库文件中的形式使用这些短语。
使用大型语音模型和下一代模型的定制词
您可以使用 POST /v1/customizations/{customization_id}/words
和 PUT /v1/customizations/{customization_id}/words/{word_name}
方法向自定义模型添加新单词。 您还可以使用这些方法来修改或扩充定制词。
例如,您可能需要使用这些方法来纠正自定义模型中添加单词时出现的排印错误或其他错误。 如果修改现有词,那么提供的新数据会覆盖词资源中该词的现有定义。 添加词的规则也适用于修改现有词。
您很可能会通过语料库来添加大多数定制词。 确保您知道语料库文本文件的字符编码。 服务会保留在文本文件中找到的编码。 在自定义模型中使用自定义单词时,必须使用相同的编码。 有关更多信息,请参阅 定制词的字符编码。
使用 sounds_like 字段
sounds_like
字段用于指定发音者如何用音频发音。 缺省情况下,服务不会自动尝试为您未提供的词生成类似声音的发音。 您可以为没有声音的任何单词添加声音喜欢。 添加或修改词后,必须验证词资源,以确保每个词的定义完整且有效。 有关更多信息,请参阅 验证大型语音模型和下一代模型的词资源。
对于很难发音或可采用不同读法的词,可以提供最多五种替代读法。 以下是该字段的一些可能用途:
-
为缩略词提供不同的发音。 例如,首字母缩写词
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
字段来提供各种读法,以反映词可能的读法。
以下语言的信息尚不可用: 阿拉伯语,汉语,捷克语,印地语和瑞典语。 如果您需要定制语言模型的此信息,请与 IBM 支持代表联系。
非日语模型使用 "sounds_like" 进行映射 ("sounds_like"-> "display_as")。 日语模型使用词进行映射 ("word"-> "display_as")。
所有语言的一般准则
在为任何语言指定类似声音时,请遵循以下准则:
- 请勿在声音喜欢中使用标点字符。 例如,请勿使用句点,短划线,下划线,逗号,句尾标点字符以及特殊字符,例如美元和欧元符号,括号,括号和花括号。
- 使用对您的语言有效的字母字符。 对于英语,这包括
a-z
和A-Z
。 对于其他语言,有效字符可以包含重音字母或特定于语言的字符。 - 在英语中,将等效的英语字母替换为非英语或重音字母。 例如,
s
表示ç
,ny
表示ñ
,e
表示è
。 - 对于难以发音的单词,使用真实或虚构的单词,使其易于发音。 例如,在英语中,可以将类似声音的
shuchesnie
用于单词Sczcesny
。 - 使用不含短划线的数字拼写。 例如,对于数字
75
,请使用seventy five
(英语),setenta y cinco
(西班牙语) 和soixante quinze
(法语)。 - 要读单个字母,请使用后跟空格的字母。 例如,请使用
N C A A
,而不要使用N. C. A. A.
、N.C.A.A.
或NCAA
。 - 可以包含多个以空格分隔的词。
- 对于大多数语言,服务最多强制实施 40 个总字符,不包括前导或尾部空格。
- 对于日语,服务将强制实施最大字符总数为 25 个 (不包括前导空格或尾部空格) 的限制。 如果添加超过此限制的定制词或类似声音,那么服务会自动将该词视为是由语料库添加的。 该词不会显示为模型的定制词。 对于最有效的训练,建议日语定制词和音赞包含不超过 20 个字符。
适用于日语的准则
在为日语指定类似声音时,请遵循以下准则:
-
使用
―
长度符号(日语中的 chou-on 或長音)时,请仅使用全角片假名字符。 不要使用半角字符。 (对于display_as
字段,如果输入半宽字符,那么在转录结果中将其呈现为半宽字符。) -
仅在以下音节语境中使用缩约音(日语中的拗音 ):
イェ
,ウィ
,ウェ
,ウォ
,キィ
,キャ
,キュ
,キョ
,ギャ
,ギュ
,ギョ
,クァ
,クィ
,クェ
,クォ
グァ
,グォ
,シィ
,シェ
,シャ
,シュ
,ショ
,ジィ
,ジェ
,ジャ
,ジュ
,ジョ
,スィ
,ズィ
,チェ
チャ
,チュ
,チョ
,ヂェ
,ヂャ
,ヂュ
,ヂョ
,ツァ
,ツィ
,ツェ
,ツォ
,ティ
,テュ
,ディ
,デャ
デュ
,デョ
,トゥ
,ドゥ
,ニェ
,ニャ
,ニュ
,ニョ
,ヒャ
,ヒュ
,ヒョ
,ビャ
,ビュ
,ビョ
,ピィ
ピャ
,ピュ
,ピョ
,ファ
,フィ
,フェ
,フォ
,フュ
,ミャ
,ミュ
,ミョ
,リィ
,リェ
,リャ
,リュ
リョ
,ヴァ
,ヴィ
,ヴェ
,ヴォ
,ヴュ
-
在日语的同化音 (促音 )后只能使用以下音节:
バ
,ビ
,ブ
,ベ
,ボ
,チ
,チェ
,チャ
,チュ
,チョ
,ダ
,デ
,ディ
,ド
,ドゥ
,フ
ファ
,フィ
,フェ
,フォ
,ガ
,ギ
,グ
,ゲ
,ゴ
,ハ
,ヒ
,ヘ
,ホ
,ジ
,ジェ
,ジャ
ジュ
,ジョ
,カ
,キ
,ク
,ケ
,コ
,キャ
,キュ
,キョ
,パ
,ピ
,プ
,ペ
,ポ
,ピャ
ピュ
,ピョ
,サ
,ス
,セ
,ソ
,シ
,シェ
,シャ
,シュ
,ショ
,タ
,テ
,ト
,ツ
,ザ
ズ
,ゼ
,ゾ
-
请勿将
ン
作为单词的第一个字符。 例如,请使用ウーント
,而不是无效的ンート
。 -
在某些左上下文中,字符序列
ウー
不明确。 请勿使用以音素/o/
结尾的字符 (音节),例如ロ
和ト
。 在此类情况下,请使用ウウ
或仅ウ
代替ウー
。 例如,使用ロウウマン
或ロウマン
代替ロウーマン
。 -
许多复合词由前缀+名词或名词+后缀构成。 基本模型的字符序列涵盖了频繁出现的大多数复合词 (例如,
長電話
和古新聞
),但不包括很少出现的那些复合词。 如果您的语料库通常包含复合词,那么作为定制的第一步,请将复合词添加为一个词。 例如,古鉛筆
在一般的日文中并不常见;如果您经常使用它,请将其添加到您的自定义模型中,以提高转录的准确性。 -
不要使用尾部促音。
适用于韩语的准则
指定类似于韩国语的声音时,请遵循以下准则:
- 使用韩语字符、符号和音节。
- 还可以使用拉丁语(英语)字母字符:
a-z
和A-Z
。 - 不要使用先前集内不包含的任何字符或符号。
使用 display_as 字段
display_as
字段指定词在文字记录中的显示方式。 缺省情况下,服务会将该字段设置为与定制词的拼写匹配。 该字段用于当您希望服务显示与单词拼写不同的字符串时。 例如,您可以将 hhonors
显示为 HHonors
。
IBM Cloud
curl -X PUT -u "apikey:{apikey}" \
--header "Content-Type: application/json" \
--data "{\"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 "{\"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 "{\"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 "{\"display_as\":\"IBM™\"}" \
"{url}/v1/customizations/{customization_id}/words/IBM"
非日语模型使用 "sounds_like" 进行映射 ("sounds_like"-> "display_as")。 日语模型使用词进行映射 ("word"-> "display_as")。
与智能格式设置和数字编辑进行交互
如果将 smart_formatting
或 redaction
参数用于识别请求,请注意,服务会先将智能格式设置和编辑应用于词,然后再考虑词的 display_as
字段。 您可能需要对结果进行试验,以确保这些功能不会妨碍定制词的显示方式。 您可能还需要添加定制词以包含这些结果。
例如,假设添加了one
字段为 display_as
的定制词 one
。 智能格式设置会将词 one
更改为数字 1
,并且不会应用 display-as 值。 要解决此问题,可以为数字 1
添加定制词,并将相同的 display_as
字段应用于该词。
添加或修改定制词时的处理过程
服务如何响应添加或修改定制词的请求取决于您指定的字段和值。 这还取决于词的字符序列是否存在于基本模型的字符序列中。
-
同时省略
sounds_like
和display_as
字段:- 服务会将
display_as
字段设置为word
字段的值。 服务不会尝试将sounds_like
字段设置为单词的发音。
- 服务会将
-
仅指定
sounds_like
字段:- 如果
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
字段:- 服务会将
display_as
字段设置为指定的值。 服务不会尝试将sounds_like
字段设置为单词的发音。
- 服务会将
-
同时指定
sounds_like
和display_as
字段:- 如果
sounds_like
字段有效,服务会将sounds_like
和display_as
字段设置为指定值。 - 如果
sounds_like
字段无效,服务会按照指定了sounds_like
字段但未指定display_as
字段的情况进行响应。
- 如果
其他转录工作
对于基于大型语音模型和下一代模型的定制语言模型,该服务会做出额外努力以确保最有效的转录:
-
对于定制词的类似声音的发音,服务会使用类似声音的反向以及它在定制词中的定义。 例如,给定单词
IEEE
的sounds_like
字段I triple E
,该服务还会有效地对 "word"I triple E
使用类似IEEE
的反向声音。 这增强了语音识别的类似发音的应用。 (请注意,用户无法创建包含空格的定制词。) -
对于从语料库解析或定义为定制词的首字母缩略词,服务会进行额外的语音识别工作。 首字母缩略词是由两个或两个以上连续大写字母组成的任何单词。 如果首字母缩写词包含一个或多个元音,那么服务会尝试将首字母缩写词识别为一系列单独字符 和 作为发音词。
例如,首字母缩写词
NASA
可以读为四个单独的字母,也可以读为听起来像nassa
的单词。 服务将在语音识别期间检查这两者。 这增强了它在文字记录中正确表示首字母缩略词的能力。
验证大型语音模型和下一代模型的词资源
尤其是当您向定制语言模型添加语料库或一次添加多个定制词时,请确保执行以下验证:
- 查找语料库中的印刷错误和其他错误。 尤其是添加了语料库(可能很大)时,很容易会犯错误。 请确保在将语料库添加到模型之前仔细查看该语料库。
- 查找定制词中的排版错误和其他错误。 确保仔细查看直接添加到模型的定制词。
- 验证发音是否相似。 该服务尝试为未指定任何内容的定制词生成类似声音的发音。 在大多数情况下,这些读法已足够。 但是,服务无法为所有词生成读法,因此必须复查词的定义,以确保其完整且有效。 此外,对于有异常拼写或很难发音的词,以及对于首字母缩略词和技术术语,也建议复查其读法的准确性。
排版错误的意外后果是修改不存在的词的定制模型,以及保留在语料库文件中的格式不正确的 HTML 标记。
要验证并在必要时更正定制模型的定制词,请使用以下方法:
- 使用
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}
方法删除因排版或其他错误而出现的无关字词。 有关更多信息,请参阅从定制语言模型中删除词。