{"id":373807,"date":"2021-09-14T08:59:41","date_gmt":"2021-09-14T15:59:41","guid":{"rendered":"https:\/\/blog.webex.com\/uncategorized-pt-br\/pos-processamento-em-sistemas-de-reconhecimento-automatico-de-voz\/"},"modified":"2021-09-14T08:59:41","modified_gmt":"2021-09-14T15:59:41","slug":"pos-processamento-em-sistemas-de-reconhecimento-automatico-de-voz","status":"publish","type":"post","link":"https:\/\/blog.webex.com\/pt-br\/engineering-pt-br\/pos-processamento-em-sistemas-de-reconhecimento-automatico-de-voz\/","title":{"rendered":"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz"},"content":{"rendered":"<h2>Introdu\u00e7\u00e3o<\/h2>\n<p>Os sistemas de Reconhecimento autom\u00e1tico de voz (ASR) disponibilizam transcri\u00e7\u00f5es de texto. Em geral, n\u00e3o passa de uma sequ\u00eancia de palavras. A Cisco conta com esses sistemas para gerar legendas em tempo real durante as reuni\u00f5es no Webex. Um problema que acaba surgindo refere-se \u00e0 poss\u00edvel dificuldade de ler as legendas sem pontua\u00e7\u00e3o e uso de letras mai\u00fasculas. A pontua\u00e7\u00e3o faz total diferen\u00e7a quando o assunto \u00e9 entender o significado de um texto. Imagine a seguinte sequ\u00eancia de palavras com duas op\u00e7\u00f5es de pontua\u00e7\u00e3o:<\/p>\n<p>\u201cmaria a gerente do banco ligou\u201d.<\/p>\n<p>Op\u00e7\u00e3o A: \u201cMaria, a gerente do banco ligou.\u201d<\/p>\n<p>Op\u00e7\u00e3o B: \u201cMaria, a gerente do banco, ligou.\u201d<\/p>\n<p>Uma \u00fanica v\u00edrgula pode fazer uma diferen\u00e7a e tanto.<\/p>\n<p>Falaremos sobre v\u00e1rias quest\u00f5es ao criar um sistema de p\u00f3s-processamento:<\/p>\n<ul>\n<li>Modelos de alta precis\u00e3o para uso de mai\u00fasculas e restabelecimento de pontua\u00e7\u00e3o a partir de um texto b\u00e1sico.<br \/>\nR\u00e1pida infer\u00eancia em resultados intercalares: para acompanhar as legendas em tempo real.<\/li>\n<li>Uso de pequenos recursos: o reconhecimento de voz \u00e9 exaustivo do ponto de vista computacional; algo que n\u00e3o \u00e9 necess\u00e1rio aos nossos modelos de pontua\u00e7\u00e3o.<\/li>\n<li>Capacidade de processar palavras fora do vocabul\u00e1rio: \u00e0s vezes, ser\u00e1 necess\u00e1rio pontuar ou usar mai\u00fascula em palavras totalmente desconhecidas para o nosso modelo.<\/li>\n<\/ul>\n<p>Algumas abordagens cl\u00e1ssicas com base em n-grama [1] s\u00e3o de qualidade relativamente boa; h\u00e1, no entanto, alguns aspectos negativos. Apesar de modelos de n-grama apresentarem uma r\u00e1pida infer\u00eancia, at\u00e9 mesmo modelos de 3-grama podem ocupar v\u00e1rios gigabites de espa\u00e7o de disco, o que depende do vocabul\u00e1rio da linguagem. Outro ponto negativo refere-se \u00e0 quest\u00e3o das palavras fora do vocabul\u00e1rio. Se uma palavra n\u00e3o estiver nos dados de treinamento, o modelo n\u00e3o conseguir\u00e1 processar normalmente, o que tamb\u00e9m poder\u00e1 afetar negativamente a precis\u00e3o.<\/p>\n<p>As abordagens modernas fazem uso de t\u00e9cnicas computacionalmente intensivas, como aten\u00e7\u00e3o ou RNN bidirecional [3] e arquiteturas de rede neural com base no transformador [2]. Esses modelos apresentam elevada precis\u00e3o [2], embora n\u00e3o sejam muito adequados para casos de uso de streaming ao vivo, j\u00e1 que demandam a extens\u00e3o total da sequ\u00eancia de entrada para executar a infer\u00eancia. Quando se tem, por exemplo, apenas um novo token de entrada para uma RNN bidirecional, \u00e9 preciso atualizar os status ocultos de todos os tokens identificados anteriormente pelo modelo (figura 1).<\/p>\n<div id=\"attachment_373203\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-373203\" class=\"wp-image-373203 size-full\" src=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Computations-on-the-backward-pass-of-a-bi-directional-RNN.png\" alt=\"Computa\u00e7\u00f5es no passo regressivo de uma RNN bidirecional\" width=\"904\" height=\"224\" srcset=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Computations-on-the-backward-pass-of-a-bi-directional-RNN.png 904w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Computations-on-the-backward-pass-of-a-bi-directional-RNN-300x74.png 300w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Computations-on-the-backward-pass-of-a-bi-directional-RNN-768x190.png 768w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><p id=\"caption-attachment-373203\" class=\"wp-caption-text\"><br \/>\n<\/a> Figura 1. Computa\u00e7\u00f5es no passo regressivo de uma RNN bidirecional. Todos os status ocultos anteriores devem ser sequencialmente atualizados para cada nova entrada<\/p><\/div>\n<p>\u00a0<\/p>\n<p>Determinadas abordagens tentam solucionar a quest\u00e3o de pontua\u00e7\u00e3o e uso de letra mai\u00fascula ao definir dois modelos diferentes [3][6], enquanto outras combinam ambos em um \u00fanico modelo, uma vez que os resultados s\u00e3o altamente correlativos [4][2]. As palavras que v\u00eam logo ap\u00f3s a pontua\u00e7\u00e3o demonstram de forma satisfat\u00f3ria essa correla\u00e7\u00e3o: palavras ap\u00f3s pontos finais s\u00e3o, possivelmente, iniciadas em mai\u00fascula, enquanto as palavras ap\u00f3s v\u00edrgulas s\u00e3o, possivelmente, iniciadas em min\u00fascula. H\u00e1 abordagens que sugerem uma arquitetura com v\u00e1rios resultados [4]: um por tarefa, respectivamente. Elas demonstram que essa arquitetura suplanta as arquiteturas isoladas de pontua\u00e7\u00e3o e uso de mai\u00fascula.<\/p>\n<p>Dadas as considera\u00e7\u00f5es acima, optamos pelo uso de uma \u00fanica rede neural com base em GRU, com dois resultados para pontua\u00e7\u00e3o e uso de mai\u00fascula.<\/p>\n<p>Com rela\u00e7\u00e3o \u00e0s palavras n\u00e3o presentes no vocabul\u00e1rio, usamos a t\u00e9cnica do tipo SentencePiece [6], que segmenta palavras desconhecidas em tokens menores ou, em casos extremos, em caracteres. Abaixo voc\u00ea encontra os detalhes e considera\u00e7\u00f5es.<\/p>\n<h2>TruncBiRNN<\/h2>\n<p>A intui\u00e7\u00e3o e os experimentos apontam que \u00e9 fundamental ter um contexto futuro ao criar um modelo de pontua\u00e7\u00e3o, pois \u00e9 mais dif\u00edcil determinar as marca\u00e7\u00f5es de pontua\u00e7\u00e3o em uma posi\u00e7\u00e3o atual sem saber as v\u00e1rias outras palavras que se seguem. Para fazer uso de informa\u00e7\u00f5es sobre os pr\u00f3ximos tokens e n\u00e3o precisar atualizar todos os status ocultos de todos os tokens no sentido regressivo, optamos por truncar este sentido a uma janela fixa. No sentido progressivo, \u00e9 apenas uma RNN normal. No sentido regressivo, consideramos apenas uma janela fixa em cada token, executando a RNN para essa janela (figura 2). Com essa janela, \u00e9 poss\u00edvel obter uma infer\u00eancia de tempo constante para um novo token de entrada (\u00e9 necess\u00e1rio computar um status oculto no sentido progressivo e n+1 no sentido regressivo).<\/p>\n<div id=\"attachment_373213\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-373213\" class=\"size-full wp-image-373213\" src=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/TruncBiRNN-example.png\" alt=\"Exemplo de TruncBiRNN\" width=\"904\" height=\"204\" srcset=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/TruncBiRNN-example.png 904w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/TruncBiRNN-example-300x68.png 300w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/TruncBiRNN-example-768x173.png 768w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><p id=\"caption-attachment-373213\" class=\"wp-caption-text\"><br \/>\n<\/a> Figura 2. Neste exemplo, para cada token atual, somente os pr\u00f3ximos dois s\u00e3o levados em considera\u00e7\u00e3o para computa\u00e7\u00e3o do status oculto no sentido regressivo.<\/p><\/div>\n<p>\u00a0<\/p>\n<p>Agora, para cada token, h\u00e1 status ocultos para sentidos progressivos e regressivos, respectivamente. Chamaremos essa camada de TruncBiRNN ou TruncBiGRU (j\u00e1 que usamos GRU). Os status ocultos podem ser computados em um tempo constante, independentemente da extens\u00e3o da entrada. A opera\u00e7\u00e3o de tempo constante \u00e9 fundamental para que o modelo acompanhe as legendas em tempo real.<\/p>\n<h2>Arquitetura<\/h2>\n<p>A arquitetura consiste da camada integrada, TruncBiGRU e camada de GRU unidirecional, e da camada totalmente conectada. Com rela\u00e7\u00e3o ao resultado, usamos duas camadas softmax para pontua\u00e7\u00e3o e uso de mai\u00fascula, respectivamente (figura 3).<\/p>\n<div id=\"attachment_373223\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-373223\" class=\"size-full wp-image-373223\" src=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Model-architecture-with-window-size-equal-to-two-tokens-for-TruncBiGRU.png\" alt=\"Figura 3. Arquitetura de modelo com tamanho de janela igual a dois tokens para TruncBiGRU\" width=\"962\" height=\"828\" srcset=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Model-architecture-with-window-size-equal-to-two-tokens-for-TruncBiGRU.png 604w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Model-architecture-with-window-size-equal-to-two-tokens-for-TruncBiGRU-300x258.png 300w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Model-architecture-with-window-size-equal-to-two-tokens-for-TruncBiGRU-768x661.png 768w\" sizes=\"auto, (max-width: 962px) 100vw, 962px\" \/><p id=\"caption-attachment-373223\" class=\"wp-caption-text\"><br \/>\n<\/a> Figura 3. Arquitetura de modelo com tamanho de janela igual a dois tokens para TruncBiGRU.<\/p><\/div>\n<p>\u00a0<\/p>\n<p>O modelo prev\u00ea o uso de mai\u00fascula e a pontua\u00e7\u00e3o subsequente para cada palavra. Para uma melhor sincroniza\u00e7\u00e3o desses dois resultados e progn\u00f3stico do uso de mai\u00fascula, tamb\u00e9m \u00e9 necess\u00e1rio conhecer a incorpora\u00e7\u00e3o do token anterior (para recuperar a pontua\u00e7\u00e3o da etapa anterior). Juntamente com uma fun\u00e7\u00e3o de perda personalizada (consulte a pr\u00f3xima se\u00e7\u00e3o), isso nos permite evitar casos nos quais uma frase \u00e9 iniciada com uma palavra com inicial min\u00fascula.<\/p>\n<p>Com rela\u00e7\u00e3o ao progn\u00f3stico de pontua\u00e7\u00e3o, isso tamb\u00e9m ajuda a prever o uso de mai\u00fascula para a pr\u00f3xima palavra. \u00c9 por isso que concatenamos as incorpora\u00e7\u00f5es atual e seguinte.<\/p>\n<p>Uma camada de resultado voltada \u00e0 pontua\u00e7\u00e3o prev\u00ea a distribui\u00e7\u00e3o para todas as pontua\u00e7\u00f5es. Com rela\u00e7\u00e3o ao nosso modelo, abrange:<\/p>\n<p><em>ponto <\/em>\u2013 um ponto no meio da frase que n\u00e3o sugere, necessariamente, que a pr\u00f3xima palavra deve ser iniciada em mai\u00fascula (\u201ca.m.\u201d,\u201cD.C.\u201d, etc)<\/p>\n<p><em>v\u00edrgula<\/em><\/p>\n<p><em>ponto de interroga\u00e7\u00e3o<\/em><\/p>\n<p><em>retic\u00eancias<\/em><\/p>\n<p><em>dois pontos<\/em><\/p>\n<p><em>travess\u00e3o<\/em><\/p>\n<p><em>ponto final<\/em> \u2013 um ponto no final de uma frase<\/p>\n<p>\u00a0<\/p>\n<p>Com rela\u00e7\u00e3o ao uso de mai\u00fascula, h\u00e1 quatro classes:<\/p>\n<p><em>min\u00fascula<\/em><\/p>\n<p><em>mai\u00fascula<\/em> \u2013 todas as letras est\u00e3o em mai\u00fascula (\u201cIEEE\u201d, \u201cNASA\u201d, etc.)<\/p>\n<p><em>inicial em mai\u00fascula<\/em><\/p>\n<p><em>alternado<\/em> \u2013 por exemplo, \u201ciPhone\u201d<\/p>\n<p><em>Primeira palavra com inicial em mai\u00fascula<\/em> \u2013 palavras que iniciam uma frase<\/p>\n<p>As classes adicionais, \u201c<em>primeira palavra com inicial em mai\u00fascula\u201d e <\/em>\u201c<em>ponto final<\/em>\u201d, podem soar redundantes a princ\u00edpio, mas elas ajudam a ampliar a consist\u00eancia das respostas relacionadas ao uso de mai\u00fascula e pontua\u00e7\u00e3o. O \u201c<em>ponto final\u201d <\/em>sugere que a pr\u00f3xima resposta de uso de mai\u00fascula n\u00e3o pode ser \u201c<em>min\u00fascula\u201d<\/em>, enquanto \u201c<em>primeira palavra com inicial em mai\u00fascula\u201d <\/em>indica que a pontua\u00e7\u00e3o anterior \u00e9 um \u201c<em>ponto final<\/em>\u201d ou ponto de interroga\u00e7\u00e3o. Essas classes desempenham um papel importante na fun\u00e7\u00e3o de perda.<\/p>\n<p>Fun\u00e7\u00e3o de perda:<br \/>\n\u00c9 necess\u00e1rio otimizar a pontua\u00e7\u00e3o e o uso de mai\u00fascula. Para tanto, usamos o produto da fun\u00e7\u00e3o de perda de registro com um coeficiente:<\/p>\n<p><a href=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function.png\"><br \/>\n  <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-373233\" src=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function.png\" alt=\"Fun\u00e7\u00e3o de perda\" width=\"668\" height=\"38\" srcset=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function.png 668w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function-300x17.png 300w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><br \/>\n<\/a><\/p>\n<p>No entanto, como mencionado anteriormente, os resultados de uma rede neural podem n\u00e3o ser perfeitamente correlativos. Por exemplo, o pontuador pode prever um \u201c<em>ponto final\u201d <\/em>para a palavra atual, mas o respons\u00e1vel pelo uso de mai\u00fascula n\u00e3o prev\u00ea a \u201c<em>primeira palavra com inicial em mai\u00fascula<\/em>\u201d para o pr\u00f3ximo token. Apesar de raro, esse tipo de erro pode ser bastante evidente. Para lidar com essa quest\u00e3o, usamos um termo adicional de san\u00e7\u00e3o na fun\u00e7\u00e3o de perda que penaliza esse tipo de erro:<\/p>\n<p><a href=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/disagreement-penalty.png\"><br \/>\n  <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-373243\" src=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/disagreement-penalty.png\" alt=\"san\u00e7\u00e3o por diverg\u00eancia\" width=\"904\" height=\"68\" srcset=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/disagreement-penalty.png 904w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/disagreement-penalty-300x23.png 300w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/disagreement-penalty-768x58.png 768w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><br \/>\n<\/a><\/p>\n<p>O primeiro termo corresponde \u00e0 probabilidade de se ter uma \u201c<em>primeira palavra com inicial mai\u00fascula<\/em>\u201d ap\u00f3s um \u201c<em>ponto que n\u00e3o seja final\u201d<\/em>; o segundo refere-se \u00e0 probabilidade de n\u00e3o se ter uma \u201c<em>primeira palavra com inicial mai\u00fascula<\/em>\u201d ap\u00f3s um \u201c<em>ponto final\u201d.<\/em>\u00a0 Essa san\u00e7\u00e3o soma-se com os tokens nos quais esse erro ocorre.<\/p>\n<p>Al\u00e9m disso, passamos dois tensores consecutivos da camada anterior \u00e0s camadas softmax. Dessa forma, \u00e9 poss\u00edvel reduzir satisfatoriamente os termos de san\u00e7\u00e3o.<\/p>\n<p>Por fim, h\u00e1 a fun\u00e7\u00e3o de perda:<\/p>\n<p><a href=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function-1.png\"><br \/>\n  <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-373253\" src=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function-1.png\" alt=\"Fun\u00e7\u00e3o de perda\" width=\"652\" height=\"60\" srcset=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function-1.png 652w, https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Loss-function-1-300x28.png 300w\" sizes=\"auto, (max-width: 652px) 100vw, 652px\" \/><br \/>\n<\/a><\/p>\n<h2>Treinamento<\/h2>\n<p>Para fins de treinamento, usamos transcri\u00e7\u00f5es de texto de um conjunto de reuni\u00f5es internas no Webex e dados de texto extra\u00eddos do Wikipedia.<\/p>\n<p>Antes de tudo, os dados do treinamento s\u00e3o limpos e divididos em duas frases. Durante o treinamento, cada amostra \u00e9 gerada a partir de frases consecutivas e truncada a uma extens\u00e3o aleat\u00f3ria de uma distribui\u00e7\u00e3o fixa, o que permite ao modelo identificar frases cortadas durante o treinamento e, consequentemente, lidar com os resultados intercalares durante a infer\u00eancia. Em seguida, treinamos o modelo em um total aproximado de 300 megabites de texto do Wikipedia, ajustando-o a transcri\u00e7\u00f5es de reuni\u00e3o no Webex.<\/p>\n<p>O pr\u00e9-treinamento no Wikipedia ajuda a otimizar todas as classes de pontua\u00e7\u00e3o, embora seja particularmente \u00fatil para as classes de uso de mai\u00fascula, o que se deve, a nosso ver, \u00e0 grande quantidade de nomes pr\u00f3prios no corpus do Wikipedia.<\/p>\n<p>N\u00f3s aplicamos a mesma prepara\u00e7\u00e3o de dados em nossos conjuntos de avalia\u00e7\u00e3o ao concatenar frases e trunc\u00e1-las em extens\u00f5es aleat\u00f3rias. Dessa forma, \u00e9 poss\u00edvel avaliar a precis\u00e3o do que possivelmente observar\u00edamos em status intercalares de transcri\u00e7\u00e3o.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Ao fazer uso de t\u00e9cnicas relativamente f\u00e1ceis com algumas personaliza\u00e7\u00f5es da arquitetura, como GRU truncada e san\u00e7\u00e3o adicional em uma fun\u00e7\u00e3o de perda, criamos um modelo que pode ser executado on-line. A experi\u00eancia de leitura de legendas ao vivo \u00e9 substancialmente otimizada com o uso de mai\u00fascula e pontua\u00e7\u00f5es em tempo real.<\/p>\n<p><strong>Refer\u00eancias<\/strong><\/p>\n<p>[1] A. Gravano, M. Jansche, and M. Bacchiani, \u201cRestoring punctuation and capitalization in transcribed speech\u201d, in ICASSP 2009, 2009, pp. 4741\u20134744.<\/p>\n<p>[2] Monica Sunkara, Srikanth Ronanki, Kalpit Dixit, Sravan Bodapati, Katrin Kirchhoff, \u201cRobust Prediction of Punctuation and Truecasing for Medical ASR\u201d<\/p>\n<p>[3] Tilk, Ottokar &#038; Alum\u00e4e, Tanel. (2016). Bidirectional Recurrent Neural Network with Attention Mechanism for Punctuation Restoration. 3047-3051. 10.21437\/Interspeech.2016-1517.<\/p>\n<p>[4] Vardaan Pahuja, Anirban Laha, Shachar Mirkin, Vikas Raykar, Lili Kotlerman, Guy Lev \u201cJoint Learning of Correlated Sequence Labelling Tasks Using Bidirectional Recurrent Neural Networks\u201d<\/p>\n<p>[5] Wang, Peilu &#038; Qian, Yao &#038; Soong, Frank &#038; He, Lei &#038; Zhao, Hai. (2015). Part-of-Speech Tagging with Bidirectional Long Short-Term Memory Recurrent Neural Network.<\/p>\n<p>[6] Lita, Lucian &#038; Ittycheriah, Abe &#038; Roukos, Salim &#038; Kambhatla, Nanda. (2003). tRuEcasIng. 10.3115\/1075096.1075116.<\/p>\n<p>[7] https:\/\/github.com\/google\/sentencepiece<\/p>\n<p><a href=\"https:\/\/www.webex.com\/video-conferencing\">Inscreva-se no Webex<\/a><\/p>\n<p>Acesse nossa <a href=\"https:\/\/www.webex.com\/\">p\u00e1gina inicial<\/a> ou <a href=\"https:\/\/www.webex.com\/contact-us.html\">entre em contato conosco<\/a> para obter assist\u00eancia.<\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\"><br \/>\n  <a href=\"https:\/\/www.webex.com\/?utm_source=Influence&#038;utm_medium=EarnedContent&#038;utm_campaign=FutureOfWork\">Clique aqui<\/a> para saber mais sobre as ofertas do Webex e para se inscrever em uma conta gr\u00e1tis.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o Os sistemas de Reconhecimento autom\u00e1tico de voz (ASR) disponibilizam transcri\u00e7\u00f5es de texto. Em geral, n\u00e3o passa de uma sequ\u00eancia [&hellip;]<\/p>\n","protected":false},"author":5546,"featured_media":373201,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1534],"tags":[4673,573],"class_list":["post-373807","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering-pt-br","tag-aprendizagem-de-maquinas","tag-artificial-intelligence"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz | Webex Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz | Webex Blog\" \/>\n<meta property=\"og:description\" content=\"Introdu\u00e7\u00e3o Os sistemas de Reconhecimento autom\u00e1tico de voz (ASR) disponibilizam transcri\u00e7\u00f5es de texto. Em geral, n\u00e3o passa de uma sequ\u00eancia [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/\" \/>\n<meta property=\"og:site_name\" content=\"Webex Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-14T15:59:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Post-processor-model-sign-example.png\" \/>\n\t<meta property=\"og:image:width\" content=\"975\" \/>\n\t<meta property=\"og:image:height\" content=\"554\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Pavel Pekichev\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pavel Pekichev\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/\"},\"author\":{\"name\":\"Pavel Pekichev\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#\\\/schema\\\/person\\\/1428e2402190d3d3bd831f586e51567f\"},\"headline\":\"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz\",\"datePublished\":\"2021-09-14T15:59:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/\"},\"wordCount\":1874,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Post-processor-model-sign-example.png\",\"keywords\":[\"Aprendizagem de m\u00e1quinas\",\"Artificial Intelligence\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/\",\"url\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/\",\"name\":\"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz | Webex Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Post-processor-model-sign-example.png\",\"datePublished\":\"2021-09-14T15:59:41+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#\\\/schema\\\/person\\\/1428e2402190d3d3bd831f586e51567f\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Post-processor-model-sign-example.png\",\"contentUrl\":\"https:\\\/\\\/blog.webex.com\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/Post-processor-model-sign-example.png\",\"width\":975,\"height\":554,\"caption\":\"Post-processing in Automatic Speech Recognition systems\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/engineering\\\/post-processing-in-automatic-speech-recognition-systems\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.webex.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/\",\"name\":\"Webex Blog\",\"description\":\"Webex by Cisco powers collaboration through industry-leading video conferencing, cloud calling and contact center solutions\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.webex.com\\\/es\\\/#\\\/schema\\\/person\\\/1428e2402190d3d3bd831f586e51567f\",\"name\":\"Pavel Pekichev\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5b7194efed20413c11f35689646743f125e3aae08153b8bcbaa2b3284e253092?s=96&d=wp_user_avatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5b7194efed20413c11f35689646743f125e3aae08153b8bcbaa2b3284e253092?s=96&d=wp_user_avatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5b7194efed20413c11f35689646743f125e3aae08153b8bcbaa2b3284e253092?s=96&d=wp_user_avatar&r=g\",\"caption\":\"Pavel Pekichev\"},\"description\":\"Pavel Pekichev is a Machine Learning Scientist at Cisco working on speech recognition systems. Currently, his main focus is on the post-processing of speech-to-text models. Pavel graduated from Moscow State University with a degree in mathematics and statistics. Prior to Cisco, Pavel worked on a real-time bidding platform and recommendation systems. He has given several talks at industry conferences.\",\"sameAs\":[\"https:\\\/\\\/ru.linkedin.com\\\/in\\\/pavel-pekichev-7a078973\"],\"url\":\"https:\\\/\\\/blog.webex.com\\\/pt-br\\\/contributors\\\/pavelp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz | Webex Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/","og_locale":"pt_BR","og_type":"article","og_title":"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz | Webex Blog","og_description":"Introdu\u00e7\u00e3o Os sistemas de Reconhecimento autom\u00e1tico de voz (ASR) disponibilizam transcri\u00e7\u00f5es de texto. Em geral, n\u00e3o passa de uma sequ\u00eancia [&hellip;]","og_url":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/","og_site_name":"Webex Blog","article_published_time":"2021-09-14T15:59:41+00:00","og_image":[{"width":975,"height":554,"url":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Post-processor-model-sign-example.png","type":"image\/png"}],"author":"Pavel Pekichev","twitter_misc":{"Escrito por":"Pavel Pekichev","Est. tempo de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#article","isPartOf":{"@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/"},"author":{"name":"Pavel Pekichev","@id":"https:\/\/blog.webex.com\/es\/#\/schema\/person\/1428e2402190d3d3bd831f586e51567f"},"headline":"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz","datePublished":"2021-09-14T15:59:41+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/"},"wordCount":1874,"commentCount":0,"image":{"@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Post-processor-model-sign-example.png","keywords":["Aprendizagem de m\u00e1quinas","Artificial Intelligence"],"articleSection":["Engineering"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/","url":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/","name":"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz | Webex Blog","isPartOf":{"@id":"https:\/\/blog.webex.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#primaryimage"},"image":{"@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Post-processor-model-sign-example.png","datePublished":"2021-09-14T15:59:41+00:00","author":{"@id":"https:\/\/blog.webex.com\/es\/#\/schema\/person\/1428e2402190d3d3bd831f586e51567f"},"breadcrumb":{"@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#primaryimage","url":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Post-processor-model-sign-example.png","contentUrl":"https:\/\/blog.webex.com\/wp-content\/uploads\/2021\/09\/Post-processor-model-sign-example.png","width":975,"height":554,"caption":"Post-processing in Automatic Speech Recognition systems"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.webex.com\/engineering\/post-processing-in-automatic-speech-recognition-systems\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.webex.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"P\u00f3s-processamento em sistemas de reconhecimento autom\u00e1tico de voz"}]},{"@type":"WebSite","@id":"https:\/\/blog.webex.com\/es\/#website","url":"https:\/\/blog.webex.com\/es\/","name":"Webex Blog","description":"Webex by Cisco powers collaboration through industry-leading video conferencing, cloud calling and contact center solutions","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.webex.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/blog.webex.com\/es\/#\/schema\/person\/1428e2402190d3d3bd831f586e51567f","name":"Pavel Pekichev","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/5b7194efed20413c11f35689646743f125e3aae08153b8bcbaa2b3284e253092?s=96&d=wp_user_avatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5b7194efed20413c11f35689646743f125e3aae08153b8bcbaa2b3284e253092?s=96&d=wp_user_avatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b7194efed20413c11f35689646743f125e3aae08153b8bcbaa2b3284e253092?s=96&d=wp_user_avatar&r=g","caption":"Pavel Pekichev"},"description":"Pavel Pekichev is a Machine Learning Scientist at Cisco working on speech recognition systems. Currently, his main focus is on the post-processing of speech-to-text models. Pavel graduated from Moscow State University with a degree in mathematics and statistics. Prior to Cisco, Pavel worked on a real-time bidding platform and recommendation systems. He has given several talks at industry conferences.","sameAs":["https:\/\/ru.linkedin.com\/in\/pavel-pekichev-7a078973"],"url":"https:\/\/blog.webex.com\/pt-br\/contributors\/pavelp\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/posts\/373807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/users\/5546"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/comments?post=373807"}],"version-history":[{"count":0,"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/posts\/373807\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/media\/373201"}],"wp:attachment":[{"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/media?parent=373807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/categories?post=373807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.webex.com\/pt-br\/wp-json\/wp\/v2\/tags?post=373807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}