Trabalhando com corpora e palavras customizadas para grandes modelos de fala e modelos de última geração
Essas informações são específicas para modelos personalizados que se baseiam em modelos de fala grandes e modelos de próxima geração. Para obter informações sobre corpora e palavras customizadas para modelos customizados baseados em modelos de geração anterior, consulte Trabalhando com corpora e palavras customizadas para modelos de geração anterior.
Você preenche um modelo de linguagem customizado com palavras incluindo corpora no modelo ou incluindo palavras customizadas diretamente no modelo. Você usa os mesmos métodos e operações para modelos de fala grandes, modelos anteriores e de próxima geração. Para obter mais informações sobre como incluir corpora e palavras customizadas em um modelo, consulte Trabalhando com corpora para modelos de fala grandes e modelos de próxima geração e Trabalhando com palavras customizadas para modelos de fala grandes e modelos de próxima geração
Embora a personalização do modelo de linguagem seja semelhante em termos de uso e intenção para modelos de fala grandes, modelos anteriores e de próxima geração, há diferenças entre os três tipos de modelos no nível de implementação. Para entender como a personalização do modelo de linguagem funciona para modelos de fala grandes e modelos de última geração, e como você pode fazer o melhor uso da personalização, é necessário um entendimento de alto nível das diferenças.
-
Quando você cria e usa um modelo de idioma personalizado baseado em um modelo de fala grande ou modelo de geração anterior, o serviço depende de palavras do modelo personalizado para criar transcrições que contêm termos específicos do domínio. Em combinação com palavras de seu vocabulário de base, o serviço usa essas palavras do modelo customizado para prever e transcrever discursos de áudio. Você fornece as informações para um modelo de idioma customizado em forma de corpora, palavras customizadas e gramáticas. O serviço armazena essas informações no recurso de palavras para o modelo customizado.
-
Ao criar um modelo de linguagem customizado baseado em um modelo de última geração, os serviços contam com sequências de caracteres do modelo customizado para criar transcrições que refletem termos específicos de domínio. Em combinação com sequências de caracteres do modelo básico, o serviço usa essas séries de caracteres do modelo personalizado para prever e transcrever a fala do áudio.
Você fornece as informações para um modelo de idioma customizado em forma de corpora, palavras customizadas e gramáticas. Mas, em vez de contar com um recurso de palavras que contém essas palavras, o serviço extrai e armazena sequências de caracteres dos corpora e das palavras customizadas. O serviço não extrai nem calcula palavras fora do vocabulário (OOV) a partir dos corpora e de palavras customizadas. O recurso de palavras é simplesmente onde ele armazena palavras customizadas que você inclui diretamente no modelo.
Ao desenvolver um modelo de linguagem personalizado com base em um modelo de fala grande ou em um modelo de próxima geração, você ainda deve fornecer corpora e palavras personalizadas para treinar o modelo em terminologia específica do domínio. Portanto, o processo de criação e treinamento de um modelo personalizado é basicamente o mesmo para modelos de fala grandes, modelos de próxima geração e modelos de geração anterior.
Os tópicos a seguir descrevem as regras para fornecer corpora e palavras personalizadas para um modelo de linguagem personalizado baseado em modelos de fala grandes e modelos de última geração. As regras são semelhantes àquelas para trabalhar com um modelo customizado baseado em um modelo de geração anterior, mas algumas diferenças importantes existem.
O recurso de palavras
O recurso de palavras inclui palavras customizadas que podem ser incluídas diretamente no modelo customizado. O recurso de palavras contém as informações a seguir sobre cada palavra customizada:
-
word
- A ortografia da palavra conforme ela é incluída.Não utilize caracteres que precisem ser codificados pela URL. Por exemplo, não use espaços, barras, barras invertidas, dois-pontos, e comercial, aspas duplas, sinais de mais, sinais de igual, pontos de interrogação etc. no nome. O serviço não impede o uso desses caracteres, mas, como eles devem ser URL-encoded sempre que usados, é altamente desencorajado.
-
sounds_like
- A pronúncia da palavra. É possível usar o camposounds_like
para incluir uma ou mais pronúncias para a palavra. Para obter mais informações, consulte Usando o campo sounds_like. -
display_as
- A ortografia da palavra que o serviço usa em transcrições. A menos que você especifique uma representação alternativa, a ortografia corresponde ao valor do campoword
. Para obter mais informações, consulte Usando o campo display_as. -
source
- Como a palavra foi incluída no recurso de palavras. O campo sempre contém a sequênciauser
para indicar que ele foi incluído diretamente como uma palavra customizada.
Após adicionar ou modificar uma palavra personalizada, é importante que você verifique a exatidão da definição da palavra; para obter mais informações, consulte Validação de um recurso de palavras para modelos de fala grandes e modelos de próxima geração. Também deve-se treinar o modelo para que as mudanças sejam efetivadas durante a transcrição; para obter mais informações, consulte Treinar o modelo de idioma customizado.
Você pode adicionar palavras personalizadas que já existem, por exemplo, para adicionar mais pronúncias para palavras comuns. Caso contrário, não há motivo para duplicar palavras comuns. Tais palavras permanecem no recurso de palavras do modelo, mas são inofensivas e desnecessárias.
mapping_only
-parâmetro para palavras customizadas. Você pode usar a chave 'mapping_only' em palavras personalizadas como uma forma de pós-processamento. Este parâmetro de chave possui um valor booleano para determinar se 'sounds_like' (para modelos não japoneses) ou palavra (para japonês) não é usado para o ajuste fino do modelo, mas para a substituição para 'display_as'... Esse recurso ajuda você a usar palavras customizadas exclusivamente para mapear 'sounds_like' (ou palavra) para o valor 'display_as'. Ao usar palavras customizadas exclusivamente para propósitos de pós-processamento que não precisam de ajuste fino.
Exemplos de casos de uso,
Antes de usar 'mapping_only': A saída da máquina Speech to Text é 'hilton honors' como sua transcrição ASR. No entanto, você deseja que seja exibido como 'HHonors' como saída final. Então, você pode usar a palavra personalizada a seguir para mapear 'honras hilton' para 'HHonors'.
{"word": "HHonors", "sounds_like": ["hilton honors"], "display_as": "HHonors"}
Enquanto isso mapeia qualquer palavra 'hilton honors' na transcrição ASR para 'HHonors', ele ajusta o modelo com 'sounds_like '(hilton honors) por padrão, mesmo que o modelo não tenha problemas em reconhecer a palavra' hilton honors '. Este é o exemplo de palavras que não precisam ser ajustadas, mas precisam ser mapeadas para 'display_as'.
Depois de usar 'mapping_only': Como o modelo Speech to Text está reconhecendo a palavra 'hilton honors' muito bem, ele não precisa ser ajustado nessa palavra. Portanto, é possível usar as palavras customizadas a seguir para ignorar o treinamento e o mapeamento de 'sounds_like 'para' display_as '
{"word": "HHonors", "sounds_like": ["hilton honors"], "display_as": "HHonors", "mapping_only": true}
Esse parâmetro é aplicável para os modelos de próxima geração que suportam a customização aprimorada (modelos em inglês, modelos ja-Jp e assim por diante). Consulte a lista de modelos suportados
Qual a quantia de dados que eu preciso?
Muitos fatores contribuem para a quantia de dados que você precisa para um modelo de idioma customizado efetivo. Não é possível indicar a quantidade exata de dados que precisa ser incluída para qualquer modelo ou aplicativo customizado. Dependendo do caso de uso, mesmo a inclusão de algumas poucas palavras diretamente em um modelo customizado pode melhorar a qualidade do modelo. Mas a inclusão de corpora que mostram as palavras no contexto em que elas são usadas pode melhorar muito a exatidão da transcrição.
É possível incluir um máximo de 10 milhões de palavras totais em um modelo customizado de todas as origens. Esta figura contém todas as palavras incluídas nos corpora e que você inclui diretamente. O serviço usa todas as palavras de um corpus para aprender o contexto em que as sequências de caracteres podem ocorrer, razão pela qual corpora são um meio mais eficaz de melhorar a precisão de reconhecimento.
A inclusão de um grande número de corpora e palavras pode aumentar a latência de reconhecimento de fala, mas o efeito exato é difícil de quantificar ou prever. Assim como acontece com a quantidade de dados necessários para produzir um modelo customizado eficaz, o impacto de desempenho de uma grande quantidade de dados depende de muitos fatores. Teste o modelo customizado com diferentes quantidades de dados para determinar o desempenho dos modelos.
Diretrizes para incluir palavras em modelos customizados com base em modelos de nova geração aprimorados..
Para modelos customizados que são baseados em modelos de idioma da próxima geração que usam customização melhorada, limite o número de palavras customizadas que você inclui diretamente no modelo com os métodos a seguir:
POST /v1/customizations/{customization_id}/words
PUT /v1/customizations/{customization_id}/words/{word_name}
O uso desses métodos para incluir palavras customizadas em um modelo customizado pode aumentar significativamente o tempo de treinamento do modelo O tempo de treinamento aumenta linearmente com o número total de palavras incluídas. No entanto, o tempo de treinamento aumenta apenas quando o modelo é primeiro treinado nas novas palavras customizadas. O tempo necessário para solicitações de treinamento subsequentes, sem novas palavras customizadas, retorna ao normal.
Treinar um modelo customizado com palavras incluídas apenas por meio de corpora com o método a seguir geralmente é rápido:
POST /v1/customizations/{customization_id}/corpora/{corpus_name}
Para obter mais informações sobre a customização melhorada para modelos de próxima geração, consulte Customização de modelo de linguagem melhorada para modelos de próxima geração.
Os modelos não japoneses usam 'sounds_like' para mapeamento ('sounds_like'-> 'display_as').
Diretrizes para incluir palavras em modelos japoneses com base em modelos aprimorados da próxima geração
Não inclua palavras customizadas para palavras conhecidas, palavras comumente reconhecidas e que tenham uma correspondência geral entre a palavra e como ela é pronunciada. Use palavras customizadas para criar um mapeamento entre como palavras menos comuns são escritas e como elas são pronunciadas. Use também palavras personalizadas para adicionar palavras desconhecidas, aquelas que não têm correspondência entre a palavra e sua pronúncia ou que não são comumente reconhecidas como palavras. Adicionar tais palavras a um corpus é igualmente eficaz.
O serviço impinge um limite máximo de 25 caracteres no total, não incluindo espaços iniciais ou finais, para palavras e sons personalizados. Se você incluir uma palavra ou sons customizados que excedam esse limite, o serviço tratará automaticamente
a palavra como se ela fosse incluída por um corpus. A palavra não aparece como uma palavra personalizada para o modelo. Para o treinamento mais eficaz, recomenda-se que palavras e sons personalizados em japonês não contenham mais de 20 caracteres.
Inclua palavras longas como IBMクラウド音声認識サービス
em um corpus.
Por exemplo, a pronúncia アイビーエム
para a palavra IBM
é reconhecida sem customização, portanto, não há necessidade de incluí-la como uma palavra customizada Como IBM
, クラウド
, 音声認識
e
サービス
são palavras comuns, a inclusão delas como palavras customizadas não tem efeito.
Para uma palavra customizada, insira uma notação comumente usada que reflita o uso e a pronúncia da palavra.. Isso permite uma customização mais eficiente Por exemplo, o exemplo a seguir não produz de forma confiável a sequência Artificial_Intelligence
em resposta à elocução エーアイ
porque Artificial_Intelligence
e 人工知能
geralmente não são eludidos como AI
:
{\"word\": \"Artificial_Intelligence\", \"sounds_like\": [\"エーアイ\"], \"display_as\": \"Artificial_Intelligence\"},
{\"word\": \"人工知能\", \"sounds_like\": [\"エーアイ\"], \"display_as\": \"Artificial_Intelligence\"}
Como o contexto geralmente é algo como これからAIはますます発展してきます
, AI
é a notação mais apropriada para o エーアイ
de sons. O exemplo a seguir é, portanto, susceptível de produzir melhores resultados:
{\"word\": \"AI\", \"sounds_like\": [\"エーアイ\"], \"display_as\": \"Artificial_Intelligence\"}
Finalmente, em palavras customizadas, caracteres alfabéticos de meia largura são convertidos em caracteres de largura total. Caracteres maiúsculos e minúsculos em inglês são tratados como caracteres diferentes.
Os modelos japoneses usam palavra para mapeamento ('word '->' display_as ').
Trabalhando com corpora para grandes modelos de fala e modelos de próxima geração..
Use o método POST /v1/customizations/{customization_id}/corpora/{corpus_name}
para incluir um corpus em um modelo customizado. Um corpus é um arquivo de texto simples que contém sentenças de amostra de seu domínio. O exemplo a seguir
mostra um corpus abreviado para o domínio de assistência médica. Um arquivo de corpus é geralmente muito mais longo.
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?
. . .
Sequências de caracteres em palavras de um modelo customizado estão em competição com sequências de caracteres do modelo base, bem como sequências de outras palavras do modelo. (Fatores como o ruído de áudio e os sotaques do falante também afetam a qualidade da transcrição.)
A precisão da transcrição pode depender em grande parte dos dados que você inclui em um modelo e de como os alto-falantes transmitem as palavras em áudio. Para melhorar a exatidão do serviço, use corpora para fornecer o maior número possível de exemplos de como as palavras são usadas em um domínio. A repetição das palavras nos corpora pode melhorar a qualidade de um modelo de idioma customizado. Como você duplica as palavras nos corpora depende de como você espera que os usuários as pronunciem no áudio que deve ser reconhecido. Quanto mais sentenças você incluir que representem o contexto no qual os falantes usam as palavras do domínio, melhor a precisão do reconhecimento do serviço.
Por exemplo, os contadores aderem a um conjunto comum de padrões e procedimentos que são conhecidos como Princípios Contábeis Geralmente Aceitos (GAAP). Quando você cria um modelo customizado para um domínio financeiro, fornece sentenças que usam o termo GAAP no contexto. As sentenças ajudam o serviço a distinguir entre frases gerais como "a diferença entre eles é pequena" e frases centradas no domínio, como "o GAAP fornece diretrizes para medir e discernir informações financeiras".
Em geral, é melhor os corpora usarem palavras em diferentes contextos, o que pode aprimorar como o serviço aprende as frases. No entanto, se os usuários falarem as palavras em apenas alguns contextos, então mostrar as palavras em outros contextos não melhorará a qualidade do modelo customizado: os falantes nunca usarão as palavras nesses contextos. Se provavelmente os alto-falantes usarem a mesma frase com frequência, a repetição dessa frase nos corpora poderá melhorar a qualidade do modelo. Em alguns casos, mesmo a inclusão de algumas palavras customizadas diretamente em um modelo customizado pode fazer uma diferença positiva.
Preparando um arquivo de texto do corpus
Siga estas diretrizes para preparar um arquivo de texto do corpus:
-
Forneça um arquivo de texto simples que seja codificado em UTF-8 se ele contiver caracteres não ASCII. O serviço assumirá a codificação UTF-8 se encontrar tais caracteres.
Certifique-se de que você conheça a codificação de caracteres dos arquivos de texto do corpus. O serviço preserva a codificação que ele localiza nos arquivos de texto. Essa mesma codificação deve ser usada ao se trabalhar com palavras customizadas no modelo customizado. Para obter mais informações, consulte Codificação de caracteres para palavras customizadas.
-
Use letras maiúsculas e minúsculas consistente para palavras no corpus. Misture letras maiúsculas e minúsculas e use capitalização somente quando desejado.
-
Inclua cada sentença do corpus em sua própria linha e finalize cada linha com um retorno de linha. A inclusão de diversas sentenças na mesma linha pode degradar a precisão.
-
Inclua nomes pessoais como unidades discretas em linhas separadas. Não inclua os elementos individuais de um nome em linhas separadas ou como palavras customizadas individuais e não inclua vários nomes na mesma linha de um corpus. O exemplo a seguir mostra a maneira correta de melhorar a precisão de reconhecimento para três nomes:
Gakuto Kutara Sebastian Leifson Malcolm Ingersol
Inclua informações contextuais adicionais onde apropriado, por exemplo,
Doctor Sebastian Leifson
ouPresident Malcolm Ingersol
. Como com todas as palavras, duplicar os nomes várias vezes pode melhorar a precisão de reconhecimento. -
Cuidado com os erros tipográficos. O serviço assume que os erros tipográficos são novas palavras. Lembre-se do provérbio Entra lixo, sai lixo!
-
Mais sentenças resultam em melhor precisão. Mas o serviço limita um modelo a um máximo de 10 milhões de palavras totais de todas as fontes combinadas.
O que acontece ao incluir um arquivo de corpus?
Quando você inclui um arquivo de corpus, o serviço analisa o conteúdo do arquivo. Para extrair o máximo de significado do conteúdo, o serviço tokeniza e analisa os dados que lê de um arquivo de corpus. Os tópicos a seguir descrevem como o serviço analisa um arquivo de corpus para cada idioma suportado.
As informações sobre os seguintes idiomas ainda não estão disponíveis: Árabe, chinês, tcheco, hindi e sueco. Se você precisar dessas informações para o modelo de idioma customizado, entre em contato com o representante de Suporte IBM.
Análise sintática de holandês, inglês, francês, alemão, italiano, português e espanhol
As informações a seguir se aplicam a todos os dialetos suportados de holandês, inglês, francês, alemão, italiano, português e espanhol:
-
Converte números nas respectivas palavras equivalentes.
Exemplos de conversão de números Idioma Número inteiro Número decimal Holandês 500
se tornavijfhonderd
0,15
se tornanul komma vijftien
Inglês 500
se tornafive hundred
0.15
se tornazero point fifteen
Francês 500
se tornacinq cents
0,15
se tornazéro virgule quinze
Alemão 500
se tornafünfhundert
0,15
se tornanull punkt fünfzehn
Italiano 500
se tornacinquecento
0,15
se tornazero virgola quindici
Português 500
se tornaquinhentos
0,15
se tornazero ponto quinze
Espanhol 500
se tornaquinientos
0,15
se tornacero coma quince
-
Converte tokens que incluem determinados símbolos em representações em sequência significativas. Esses exemplos não são completos. O serviço faz ajustes semelhantes para outros caracteres, conforme necessário.
Idioma Um sinal de dólar e um número Um sinal de euro e um número Um sinal de percentual e um número Holandês $100
se tornahonderd dollar
€100
se tornahonderd euro
100%
se tornahonderd procent
Inglês $100
se tornaone hundred dollars
€100
se tornaone hundred euros
100%
se tornaone hundred percent
Francês $100
se tornacent dollars
€100
se tornacent euros
100%
se tornacent pour cent
Alemão $100
e100$
tornam-se`einhundert dollar` | `€100` e `100€` tornam-se `einhundert euro` | `100%`se torna`einhundert prozent` |
| Italiano |
$100
se tornacento dollari
|€100
se tornacento euro
|100%
se tornacento per cento
| | Português |$100
e100$
tornam-secem dólares
|€100
e100€
tornam-secem euros
|100%
se tornacem por cento
| | Espanhol |$100
e100$
tornam-secien dólares
|€100
e100€
tornam-secien euros
|100%
se tornacien por ciento
| -
Processa caracteres não alfanuméricos, pontuação e caracteres especiais, dependendo de seu contexto. Por exemplo, o serviço remove um
$
(sinal de dólar) ou€
(símbolo do euro), a menos que ele seja seguido por um número. O processamento é dependente do contexto e consistente entre os idiomas suportados. -
Ignora frases entre
( )
(parênteses),< >
(colchetes angulares),[ ]
(colchetes) ou{ }
(chaves).
Análise do japonês
As informações a seguir se aplicam ao japonês:
- Converte todos os caracteres em caracteres de largura total.
- Converte números em palavras equivalentes, por exemplo,
500
se torna五百
, e0.15
se torna〇・一五
. - Não converte tokens que incluem símbolos em cadeias de caracteres equivalentes; por exemplo,
100%
se torna百%
. - Não remove automaticamente a pontuação. A IBM recomenda remover a pontuação se o aplicativo for baseado em transcrição, e não baseado em ditado.
Análise de coreano
As informações a seguir se aplicam ao coreano:
-
Converte números em suas palavras equivalentes, por exemplo,
10
se torna십
. -
Remove a pontuação e os caracteres especiais a seguir:
- ( ) * : . , ' "
. No entanto, nem todas as pontuações e caracteres especiais que são removidos para outros idiomas são removidos para coreano, por exemplo:- Remove um símbolo de ponto (
.
) somente quando ele ocorre no final de uma linha de entrada. - Não remove um símbolo de til (
~
). - Não remove nem processa símbolos de caracteres amplos Unicode, por exemplo,
…
(ponto triplo ou elipse).
Em geral, a IBM recomenda que você remova pontuação, caracteres especiais e caracteres largos Unicode antes de processar um arquivo de corpus.
- Remove um símbolo de ponto (
-
Não remove ou Ignora frases entre
( )
(parênteses),< >
(colchetes angulares),[ ]
(colchetes) ou{ }
(chaves). -
Converte tokens que incluem determinados símbolos para representações de sequência significativas, por exemplo:
24%
torna-se이십사퍼센트
.$10
torna-se십달러
.
Essa lista não está completa. O serviço faz ajustes semelhantes para outros caracteres, conforme necessário.
-
Para frases que consistem em caracteres latinos (em inglês) ou uma mistura de hangul e caracteres latinos, o serviço usa as frases exatamente como elas aparecem no arquivo de corpus.
Trabalhando com palavras customizadas para grandes modelos de fala e modelos de próxima geração
É possível usar os métodos POST /v1/customizations/{customization_id}/words
e PUT /v1/customizations/{customization_id}/words/{word_name}
para incluir novas palavras em um modelo customizado. Também é possível usar
os métodos para modificar ou aumentar uma palavra customizada.
Por exemplo, talvez seja preciso usar os métodos para corrigir um erro tipográfico ou outro erro cometido quando uma palavra é incluída em um modelo customizado. Se você modificar uma palavra existente, os novos dados que você fornecer sobrescreverão a definição existente da palavra no recurso de palavras. As regras para incluir uma palavra também se aplicam à modificação de uma palavra existente.
É provável que você inclua a maioria das palavras customizadas dos corpora. Certifique-se de que você conheça a codificação de caracteres dos arquivos de texto do corpus. O serviço preserva a codificação que ele localiza nos arquivos de texto. Essa mesma codificação deve ser usada ao se trabalhar com palavras customizadas no modelo customizado. Para obter mais informações, consulte Codificação de caracteres para palavras customizadas.
Usando o campo sounds_like
O campo sounds_like
especifica como uma palavra é pronunciada por falantes em áudio. Por padrão, o serviço não tenta gerar automaticamente uma pronúncia para uma palavra para a qual você não tenha fornecido uma. Você pode adicionar
pronúncias para quaisquer palavras que ainda não tenham recebido uma. Após incluir ou modificar palavras, deve-se validar o recurso de palavras para garantir que cada definição de palavra esteja completa e válida. Para obter mais informações,
consulte Validando um recurso de palavras para grandes modelos de fala e modelos de próxima geração
É possível fornecer até cinco pronúncias alternativas para uma palavra que seja difícil de pronunciar ou que possa ser pronunciada de diferentes maneiras. Alguns usos possíveis do campo seguem:
-
Fornecer pronúncias diferentes para acrônimos. Por exemplo, o acrônimo
NCAA
pode ser pronunciado tal como está escrito ou coloquialmente como N C duplo A O exemplo a seguir acrescenta esses dois sons como pronúncias para a palavraNCAA
: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"
Para obter mais informações sobre como o serviço reconhece acrônimos, consulte Esforços adicionais de transcrição.
-
Manipular palavras estrangeiras. Por exemplo, a palavra francesa
garçon
contém um caractere que não é encontrado na língua inglesa. É possível especificar algo parecido comgaarson
, substituindoç
pors
, para dizer ao serviço como os falantes de inglês pronunciariam a palavra.
Os tópicos a seguir fornecem diretrizes para a especificação de uma pronúncia semelhante a um som. O reconhecimento de voz usa algoritmos estatísticos para analisar o áudio, portanto, incluir uma palavra não garante que o serviço a transcodifique
com precisão completa. Ao incluir uma palavra, considere como ela pode ser pronunciada. Use o campo sounds_like
para fornecer várias pronúncias que refletem como uma palavra pode ser falada.
As informações sobre os seguintes idiomas ainda não estão disponíveis: Árabe, chinês, tcheco, hindi e sueco. Se você precisar dessas informações para o modelo de idioma customizado, entre em contato com o representante de Suporte IBM.
Os modelos não japoneses usam 'sounds_like' para mapeamento ('sounds_like'-> 'display_as'). Os modelos japoneses usam palavra para mapeamento ('word '->' display_as ').
Diretrizes gerais para todos os idiomas
Siga estas diretrizes ao especificar pronúncias para qualquer idioma:
- Não use caracteres de pontuação nas pronúncias. Por exemplo, não use pontos, traços, sublinhas, vírgulas, caracteres de pontuação final de sentença e caracteres especiais, como sinais de dólar e euro, parênteses, colchetes e chaves.
- Use caracteres alfabéticos que sejam válidos para o seu idioma. Para o inglês, isso inclui
a-z
eA-Z
. Para outros idiomas, caracteres válidos podem incluir letras acentuadas ou caracteres específicos do idioma. - Em inglês, substitua letras inglesas equivalentes por letras não inglesas ou acentuadas. Por exemplo,
s
paraç
,ny
parañ
, oue
paraè
. - Use palavras reais ou inventadas que sejam pronunciáveis para palavras que são difíceis de pronunciar. Por exemplo, em inglês você pode usar as pronúncias
shuchesnie
para a palavraSczcesny
. - Use a ortografia de números sem traços. Por exemplo, para o número
75
, useseventy five
em inglês,setenta y cinco
em espanhol esoixante quinze
em francês. - Para pronunciar uma única letra, use a letra seguida por um espaço. Por exemplo, use
N C A A
, nãoN. C. A. A.
,N.C.A.A.
ouNCAA
. - É possível incluir várias palavras que sejam separadas por espaços.
- Para a maioria dos idiomas, o serviço impõe um máximo de 40 caracteres no total, não incluindo espaços iniciais ou finais.
- Para japonês, o serviço impinge um limite máximo de 25 caracteres totais, não incluindo espaços iniciais ou finais. Se você incluir uma palavra ou sons customizados que excedam esse limite, o serviço tratará automaticamente a palavra como se ela fosse incluída por um corpus. A palavra não aparece como uma palavra personalizada para o modelo. Para o treinamento mais eficaz, recomenda-se que palavras e sons personalizados em japonês não contenham mais de 20 caracteres.
Diretrizes para japonês
Siga estas diretrizes ao especificar um sounds-like para o japonês:
-
Use somente caracteres Katakana de largura total usando o símbolo de alongamento
―
(chou-on, ou 長音, em japonês). Não use caracteres de meia largura. (Para o campodisplay_as
, se você inserir um caractere de meia largura, ele será renderizado como um caractere de meia largura nos resultados da transcrição) -
Use sons contraídos (yoh-on, ou 拗音, em japonês) somente nos seguintes contextos de sílabas:
イェ
,ウィ
,ウェ
,ウォ
,キィ
,キャ
,キュ
,キョ
,ギャ
,ギュ
,ギョ
,クァ
,クィ
,クェ
,クォ
グァ
,グォ
,シィ
,シェ
,シャ
,シュ
,ショ
,ジィ
,ジェ
,ジャ
,ジュ
,ジョ
,スィ
,ズィ
,チェ
チャ
,チュ
,チョ
,ヂェ
,ヂャ
,ヂュ
,ヂョ
,ツァ
,ツィ
,ツェ
,ツォ
,ティ
,テュ
,ディ
,デャ
デュ
,デョ
,トゥ
,ドゥ
,ニェ
,ニャ
,ニュ
,ニョ
,ヒャ
,ヒュ
,ヒョ
,ビャ
,ビュ
,ビョ
,ピィ
ピャ
,ピュ
,ピョ
,ファ
,フィ
,フェ
,フォ
,フュ
,ミャ
,ミュ
,ミョ
,リィ
,リェ
,リャ
,リュ
リョ
,ヴァ
,ヴィ
,ヴェ
,ヴォ
,ヴュ
-
Use somente as sílabas seguintes após um som assimilado (soku-on, ou 促音, em japonês):
バ
,ビ
,ブ
,ベ
,ボ
,チ
,チェ
,チャ
,チュ
,チョ
,ダ
,デ
,ディ
,ド
,ドゥ
,フ
ファ
,フィ
,フェ
,フォ
,ガ
,ギ
,グ
,ゲ
,ゴ
,ハ
,ヒ
,ヘ
,ホ
,ジ
,ジェ
,ジャ
ジュ
,ジョ
,カ
,キ
,ク
,ケ
,コ
,キャ
,キュ
,キョ
,パ
,ピ
,プ
,ペ
,ポ
,ピャ
ピュ
,ピョ
,サ
,ス
,セ
,ソ
,シ
,シェ
,シャ
,シュ
,ショ
,タ
,テ
,ト
,ツ
,ザ
ズ
,ゼ
,ゾ
-
Não use
ン
como o primeiro caractere de uma palavra. Por exemplo, useウーント
em vez deンート
, sendo que o último é inválido. -
A sequência de caracteres
ウー
é ambígua em alguns contextos de esquerda. Não use caracteres (sílabas) que terminam com o fonema/o/
, tais comoロ
eト
. Em tais casos, useウウ
ou apenasウ
em vez deウー
. Por exemplo, useロウウマン
ouロウマン
em vez deロウーマン
. -
Muitas palavras compostas consistem em prefixo+substantivo ou substantivo+prefixo. As sequências de caracteres do modelo base cobrem a maioria das palavras compostas que ocorrem frequentemente (por exemplo,
長電話
e古新聞
), mas não aquelas palavras compostas que ocorrem com pouca frequência. Se comumente seu corpus contém palavras compostas, inclua-as como uma palavra, como a primeira etapa da customização. Por exemplo,古鉛筆
não é comum em textos japoneses em geral; se você o usa com frequência, adicione-o ao seu modelo personalizado para melhorar a precisão da transcrição. -
Não use um som assimilado final.
Diretrizes para coreano
Siga estas diretrizes ao especificar um sounds-like para o coreano:
- Use caracteres Hangul coreano, símbolos e sílabas.
- Também é possível usar caracteres alfabéticos em latim (inglês):
a-z
eA-Z
. - Não use nenhum caractere ou símbolo que não esteja incluído nos conjuntos anteriores.
Usando o campo display_as
O campo display_as
especifica como uma palavra é exibida em uma transcrição. Por padrão, o serviço configura o campo para corresponder à ortografia da palavra customizada. O campo é destinado a casos em que você deseja que o serviço
exiba uma sequência de caracteres que seja diferente da ortografia da palavra. Por exemplo, é possível indicar que a palavra hhonors
deve ser exibida como 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"
Como outro exemplo, é possível indicar que a palavra IBM
deve ser exibida como 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"
Os modelos não japoneses usam 'sounds_like' para mapeamento ('sounds_like'-> 'display_as'). Os modelos japoneses usam palavra para mapeamento ('word '->' display_as ').
Interação com formatação inteligente e edição de dados numéricos
Se você usar os parâmetros smart_formatting
ou redaction
com uma solicitação de reconhecimento, esteja ciente de que o serviço aplicará formatação inteligente e edição de dados a uma palavra antes de considerar
o campo display_as
para a palavra. Pode ser necessário experimentar com resultados para assegurar que os recursos não interfiram com a forma de exibição de suas palavras customizadas. Também pode ser necessário incluir palavras
customizadas para acomodar os efeitos.
Por exemplo, suponha que você inclua a palavra customizada one
com um campo display_as
de one
. A formatação inteligente muda a palavra one
para o número 1
e o valor de exibição
não é aplicado. Para uma solução alternativa desse problema, é possível incluir uma palavra customizada para o número 1
e aplicar o mesmo campo display_as
a essa palavra.
Para obter mais informações sobre como trabalhar com esses recursos, consulte Formatação inteligente e Edição de dados numéricos.
O que acontece ao incluir ou modificar uma palavra customizada?
A resposta do serviço a uma solicitação de inclusão ou modificação de uma palavra customizada depende dos campos e valores especificados. Também depende se as sequências de caracteres da palavra existem nas sequências de caracteres do modelo base.
-
Omitir os campos
sounds_like
edisplay_as
:- O serviço configura o campo
display_as
para o valor do campoword
. O serviço não tenta configurar o camposounds_like
para uma pronúncia da palavra.
- O serviço configura o campo
-
Especificar apenas o campo
sounds_like
:- Se o campo
sounds_like
for válido, o serviço configurará o valor do camposounds_like
para o valor especificado. O serviço também configura o campodisplay_as
para o valor do campoword
. - Se o campo
sounds_like
for inválido:- O método
POST /v1/customizations/{customization_id}/words
incluirá um campoerror
na palavra no recurso de palavras do modelo. - O método
PUT /v1/customizations/{customization_id}/words/{word_name}
falha com um código de resposta 400 e uma mensagem de erro. O serviço não inclui a palavra no recurso de palavras.
- O método
- Se o campo
-
Especificar apenas o campo
display_as
:- O serviço configura o campo
display_as
para o valor especificado. O serviço não tenta configurar o camposounds_like
para uma pronúncia da palavra.
- O serviço configura o campo
-
Especificar os campos
sounds_like
edisplay_as
:- Se o campo
sounds_like
for válido, o serviço configurará os campossounds_like
edisplay_as
para os valores especificados. - Se o campo
sounds_like
for inválido, o serviço responderá como ele faz no caso em que o camposounds_like
é especificado, mas o campodisplay_as
não.
- Se o campo
Esforços adicionais de transcrição
Para modelos de linguagem personalizados que se baseiam em modelos de fala de grande porte e modelos de última geração, o serviço faz esforços adicionais para garantir a transcrição mais eficaz:
-
Para pronúncias de palavras customizadas, o serviço usa o inverso da pronúncia e também sua definição em uma palavra customizada. Por exemplo, dado um campo
sounds_like
deI triple E
para a palavraIEEE
, o serviço também usa efetivamente uma pronúncia inversa deIEEE
para a "palavra"I triple E
. Isso aprimora a aplicação de pronúncias para reconhecimento de voz. (Observe que os usuários não podem criar palavras customizadas que contenham espaços). -
Para acrônimos que são analisados a partir dos corpora ou definidos como palavras customizadas, o serviço faz esforços adicionais de reconhecimento de voz. Um acrônimo é qualquer palavra que consiste em duas ou mais letras maiúsculas consecutivas. Se a sigla contiver uma ou mais vogais, o serviço tentará reconhecer o acrônimo como uma série de caracteres individuais e como uma palavra pronunciada.
Por exemplo, o acrônimo
NASA
pode ser lido como quatro letras individuais ou pronunciado como uma palavra pronunciada comonassa
. O serviço verifica ambos os casos durante o reconhecimento de voz. Isso aprimora sua capacidade de representar os acrônimos corretamente em uma transcrição.
Validando um recurso de palavras para grandes modelos de fala e modelos de próxima geração..
Principalmente ao incluir um corpus em um modelo de idioma customizado ou várias palavras customizadas de uma vez, certifique-se de executar a validação a seguir:
- Procure por erros tipográficos e outros nos corpora. Especialmente quando você inclui os corpora, que podem ser grandes, erros são facilmente cometidos. Certifique-se de revisar detalhadamente o corpus antes de incluí-lo no modelo.
- Procure por erros tipográficos e outros nas palavras customizadas. Certifique-se de revisar detalhadamente as palavras customizadas que incluir diretamente em um modelo.
- Verifique as pronúncias. O serviço tenta gerar pronúncias para palavras customizadas para as quais nenhuma pronúncia foi especificada. Na maioria dos casos, essas pronúncias são suficientes. Entretanto, o serviço não pode gerar uma pronúncia para todas as palavras, por isso a definição da palavra deve ser revisada para garantir que ela esteja completa e válida. Revisar a precisão das pronúncias também é recomendado para palavras que possuem ortografia inusitada ou que são difíceis de pronunciar, e para acrônimos e termos técnicos.
Os erros tipográficos têm a consequência indesejada de modificar um modelo customizado para palavras inexistentes, como fazem as tags HTML mal formadas que são deixadas em um arquivo de corpus.
Para validar e, se necessário, corrigir uma palavra customizada para um modelo customizado, use os métodos a seguir:
- Liste todas as palavras de um modelo customizado usando o método
GET /v1/customizations/{customization_id}/words
ou consulte uma palavra individual com o métodoGET /v1/customizations/{customization_id}/words/{word_name}
. Para obter mais informações, consulte Listando palavras customizadas de um modelo de idioma customizado. - Modifique palavras em um modelo customizado para corrigir erros ou para incluir valores exibir-como usando o método
POST /v1/customizations/{customization_id}/words
ouPUT /v1/customizations/{customization_id}/words/{word_name}
. Para obter mais informações, consulte Trabalhando com palavras customizadas para modelos de fala grandes e modelos de próxima geração - Exclua palavras estranhas que são introduzidas por erro (por exemplo, erros tipográficos ou outros) usando o método
DELETE /v1/customizations/{customization_id}/words/{word_name}
. Para obter mais informações, consulte Excluindo uma palavra de um modelo de idioma customizado.