import{s as Yt,n as Qt,o as At}from"../chunks/scheduler.cd324960.js";import{S as Dt,i as Ot,e as p,s as n,c as u,h as Kt,a as i,d as l,b as a,f as Xt,g as o,j as m,k as Pt,l as te,m as s,n as r,t as y,o as f,p as M}from"../chunks/index.d5c3adcc.js";import{C as ee,H as le,E as se}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.4fcff51e.js";import{C as $}from"../chunks/CodeBlock.075f5775.js";function ne(jt){let c,Q,P,A,U,D,T,O,d,It=`Автоматическое распознавание речи (ASR от “Automatic Speech Recognition”) - это задача транскрибации (преобразование аудиозаписи речи в текст).
Эта задача имеет множество практических применений - от создания субтитров для видео до обеспечения голосовых команд для таких виртуальных
помощников, как Siri и Alexa.`,K,J,Gt=`В этом разделе мы используем конвейер <code>automatic-speech-recognition</code> для транскрибации аудиозаписи человека, задающего вопрос об
оплате счета, используя тот же набор данных MINDS-14, что и ранее.`,tt,C,Zt=`Для начала загрузите набор данных и повысьте его частоту до 16 кГц, как описано в <a href="audio_classification_pipeline">Классификация аудио с помощью конвейера</a>,
если вы еще не сделали этого.`,et,w,kt="Для транскрибации аудиозаписи мы можем использовать конвейер <code>automatic-speech-recognition</code> из 🤗 Transformers. Давайте инстанцируем конвейер:",lt,h,st,b,St="Далее мы возьмем пример из набора данных и передадим его исходные данные в конвейер:",nt,x,at,g,Wt="<strong>Output:</strong>",pt,v,it,j,Rt="Сравним этот вывод с реальной транскрипцией для данного примера:",mt,I,ut,G,_t="<strong>Output:</strong>",ot,Z,rt,k,qt=`Похоже, что модель неплохо справилась с транскрибацией аудиозаписи! По сравнению с оригинальной транскрипцией она ошиблась только в одном слове
(“card”), что довольно хорошо, учитывая австралийский акцент диктора, в котором буква “r” часто не произносится. Тем не менее, я бы не рекомендовал
пытаться оплатить свой следующий счет за электричество рыбой (cod в переводе с английского - “треска”)!`,yt,S,Bt=`По умолчанию в этом конвейере используется модель, обученная автоматическому распознаванию речи для английского языка, что вполне подходит для
данного примера. Если вы хотите попробовать транскрибировать другие подмножества MINDS-14 на другом языке, вы можете найти предварительно
обученную ASR-модель <a href="https://huggingface.co/models?pipeline_tag=automatic-speech-recognition&amp;language=fr&amp;sort=downloads" rel="nofollow">на 🤗 Hugging Face Hub</a>.
Список моделей можно отфильтровать сначала по задаче, затем по языку. Найдя нужную модель, передайте ее имя в качестве аргумента <code>model</code> в конвейер.`,ft,W,Ht="Попробуем это сделать для немецкого сплита MINDS-14. Загрузим подмножество “de-DE”:",Mt,R,$t,_,Vt="Возьмите пример и посмотрите, какой должна быть транскрибация:",ct,q,Ut,B,Ft="<strong>Output:</strong>",Tt,H,dt,V,zt="Найдите на 🤗 Hugging Face Hub предварительно обученную ASR-модель для немецкого языка, инстанцируйте конвейер и транскрибируйте пример:",Jt,F,Ct,z,Lt="<strong>Output:</strong>",wt,L,ht,N,Nt=`При работе над решением собственной задачи начать с простого конвейера, подобного тем, что мы показали в этом блоке,
это ценный инструмент, дающий ряд преимуществ:`,bt,E,Et=`<li>может существовать предварительно обученная модель, которая уже очень хорошо решает вашу задачу, экономя ваше время;</li> <li>pipeline() берет на себя всю предварительную и последующую обработку, так что вам не нужно беспокоиться о том, чтобы
привести данные в нужный формат для модели;</li> <li>если результат не идеален, это все равно дает возможность быстро получить baseline для последующего дообучения модели;</li> <li>после того как вы дообучите модель на своих пользовательских данных и разместите ее на Hugging Face Hub, все сообщество сможет
быстро и легко использовать ее с помощью метода <code>pipeline()</code>, делая ИИ более доступным.</li>`,xt,X,gt,Y,vt;return U=new ee({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),T=new le({props:{title:"Автоматическое распознавание речи с помощью конвейера",local:"автоматическое-распознавание-речи-с-помощью-конвейера",headingTag:"h1"}}),h=new $({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBYXNyJTIwJTNEJTIwcGlwZWxpbmUoJTIyYXV0b21hdGljLXNwZWVjaC1yZWNvZ25pdGlvbiUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

asr = pipeline(<span class="hljs-string">&quot;automatic-speech-recognition&quot;</span>)`,wrap:!1}}),x=new $({props:{code:"ZXhhbXBsZSUyMCUzRCUyMG1pbmRzJTVCMCU1RCUwQWFzcihleGFtcGxlJTVCJTIyYXVkaW8lMjIlNUQlNUIlMjJhcnJheSUyMiU1RCk=",highlighted:`example = minds[<span class="hljs-number">0</span>]
asr(example[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>])`,wrap:!1}}),v=new $({props:{code:"JTdCJTIydGV4dCUyMiUzQSUyMCUyMkklMjBXT1VMRCUyMExJS0UlMjBUTyUyMFBBWSUyME1ZJTIwRUxFQ1RSSUNJVFklMjBCSUxMJTIwVVNJTkclMjBNWSUyMENPRCUyMENBTiUyMFlPVSUyMFBMRUFTRSUyMEFTU0lTVCUyMiU3RA==",highlighted:'<span class="hljs-comment">{&quot;text&quot;: &quot;I WOULD LIKE TO PAY MY ELECTRICITY BILL USING MY COD CAN YOU PLEASE ASSIST&quot;}</span>',wrap:!1}}),I=new $({props:{code:"ZXhhbXBsZSU1QiUyMmVuZ2xpc2hfdHJhbnNjcmlwdGlvbiUyMiU1RA==",highlighted:'example[<span class="hljs-string">&quot;english_transcription&quot;</span>]',wrap:!1}}),Z=new $({props:{code:"JTIySSUyMHdvdWxkJTIwbGlrZSUyMHRvJTIwcGF5JTIwbXklMjBlbGVjdHJpY2l0eSUyMGJpbGwlMjB1c2luZyUyMG15JTIwY2FyZCUyMGNhbiUyMHlvdSUyMHBsZWFzZSUyMGFzc2lzdCUyMg==",highlighted:'<span class="hljs-comment">&quot;I would like to pay my electricity bill using my card can you please assist&quot;</span>',wrap:!1}}),R=new $({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwQXVkaW8lMEElMEFtaW5kcyUyMCUzRCUyMGxvYWRfZGF0YXNldCglMjJQb2x5QUklMkZtaW5kczE0JTIyJTJDJTIwbmFtZSUzRCUyMmRlLURFJTIyJTJDJTIwc3BsaXQlM0QlMjJ0cmFpbiUyMiklMEFtaW5kcyUyMCUzRCUyMG1pbmRzLmNhc3RfY29sdW1uKCUyMmF1ZGlvJTIyJTJDJTIwQXVkaW8oc2FtcGxpbmdfcmF0ZSUzRDE2XzAwMCkp",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset
<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> Audio

minds = load_dataset(<span class="hljs-string">&quot;PolyAI/minds14&quot;</span>, name=<span class="hljs-string">&quot;de-DE&quot;</span>, split=<span class="hljs-string">&quot;train&quot;</span>)
minds = minds.cast_column(<span class="hljs-string">&quot;audio&quot;</span>, Audio(sampling_rate=<span class="hljs-number">16_000</span>))`,wrap:!1}}),q=new $({props:{code:"ZXhhbXBsZSUyMCUzRCUyMG1pbmRzJTVCMCU1RCUwQWV4YW1wbGUlNUIlMjJ0cmFuc2NyaXB0aW9uJTIyJTVE",highlighted:`example = minds[<span class="hljs-number">0</span>]
example[<span class="hljs-string">&quot;transcription&quot;</span>]`,wrap:!1}}),H=new $({props:{code:"JTIyaWNoJTIwbSVDMyVCNmNodGUlMjBnZXJuZSUyMEdlbGQlMjBhdWYlMjBtZWluJTIwS29udG8lMjBlaW56YWhsZW4lMjI=",highlighted:'<span class="hljs-comment">&quot;ich möchte gerne Geld auf mein Konto einzahlen&quot;</span>',wrap:!1}}),F=new $({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBYXNyJTIwJTNEJTIwcGlwZWxpbmUoJTIyYXV0b21hdGljLXNwZWVjaC1yZWNvZ25pdGlvbiUyMiUyQyUyMG1vZGVsJTNEJTIybWF4aWRsJTJGd2F2MnZlYzItbGFyZ2UteGxzci1nZXJtYW4lMjIpJTBBYXNyKGV4YW1wbGUlNUIlMjJhdWRpbyUyMiU1RCU1QiUyMmFycmF5JTIyJTVEKQ==",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

asr = pipeline(<span class="hljs-string">&quot;automatic-speech-recognition&quot;</span>, model=<span class="hljs-string">&quot;maxidl/wav2vec2-large-xlsr-german&quot;</span>)
asr(example[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>])`,wrap:!1}}),L=new $({props:{code:"JTdCJTIydGV4dCUyMiUzQSUyMCUyMmljaCUyMG0lQzMlQjZjaHRlJTIwZ2VybmUlMjBnZWxkJTIwYXVmJTIwbWVpbiUyMGtvbnRvJTIwZWluemFsbGVuJTIyJTdE",highlighted:'{<span class="hljs-comment">&quot;text&quot;</span>: <span class="hljs-comment">&quot;ich möchte gerne geld auf mein konto einzallen&quot;</span>}',wrap:!1}}),X=new se({props:{source:"https://github.com/huggingface/audio-transformers-course/blob/main/chapters/ru/chapter2/asr_pipeline.mdx"}}),{c(){c=p("meta"),Q=n(),P=p("p"),A=n(),u(U.$$.fragment),D=n(),u(T.$$.fragment),O=n(),d=p("p"),d.textContent=It,K=n(),J=p("p"),J.innerHTML=Gt,tt=n(),C=p("p"),C.innerHTML=Zt,et=n(),w=p("p"),w.innerHTML=kt,lt=n(),u(h.$$.fragment),st=n(),b=p("p"),b.textContent=St,nt=n(),u(x.$$.fragment),at=n(),g=p("p"),g.innerHTML=Wt,pt=n(),u(v.$$.fragment),it=n(),j=p("p"),j.textContent=Rt,mt=n(),u(I.$$.fragment),ut=n(),G=p("p"),G.innerHTML=_t,ot=n(),u(Z.$$.fragment),rt=n(),k=p("p"),k.textContent=qt,yt=n(),S=p("p"),S.innerHTML=Bt,ft=n(),W=p("p"),W.textContent=Ht,Mt=n(),u(R.$$.fragment),$t=n(),_=p("p"),_.textContent=Vt,ct=n(),u(q.$$.fragment),Ut=n(),B=p("p"),B.innerHTML=Ft,Tt=n(),u(H.$$.fragment),dt=n(),V=p("p"),V.textContent=zt,Jt=n(),u(F.$$.fragment),Ct=n(),z=p("p"),z.innerHTML=Lt,wt=n(),u(L.$$.fragment),ht=n(),N=p("p"),N.textContent=Nt,bt=n(),E=p("ul"),E.innerHTML=Et,xt=n(),u(X.$$.fragment),gt=n(),Y=p("p"),this.h()},l(t){const e=Kt("svelte-u9bgzb",document.head);c=i(e,"META",{name:!0,content:!0}),e.forEach(l),Q=a(t),P=i(t,"P",{}),Xt(P).forEach(l),A=a(t),o(U.$$.fragment,t),D=a(t),o(T.$$.fragment,t),O=a(t),d=i(t,"P",{"data-svelte-h":!0}),m(d)!=="svelte-nradlu"&&(d.textContent=It),K=a(t),J=i(t,"P",{"data-svelte-h":!0}),m(J)!=="svelte-1v8whod"&&(J.innerHTML=Gt),tt=a(t),C=i(t,"P",{"data-svelte-h":!0}),m(C)!=="svelte-36mgle"&&(C.innerHTML=Zt),et=a(t),w=i(t,"P",{"data-svelte-h":!0}),m(w)!=="svelte-s58lzl"&&(w.innerHTML=kt),lt=a(t),o(h.$$.fragment,t),st=a(t),b=i(t,"P",{"data-svelte-h":!0}),m(b)!=="svelte-122nckp"&&(b.textContent=St),nt=a(t),o(x.$$.fragment,t),at=a(t),g=i(t,"P",{"data-svelte-h":!0}),m(g)!=="svelte-1mvdyro"&&(g.innerHTML=Wt),pt=a(t),o(v.$$.fragment,t),it=a(t),j=i(t,"P",{"data-svelte-h":!0}),m(j)!=="svelte-pqwcxl"&&(j.textContent=Rt),mt=a(t),o(I.$$.fragment,t),ut=a(t),G=i(t,"P",{"data-svelte-h":!0}),m(G)!=="svelte-1mvdyro"&&(G.innerHTML=_t),ot=a(t),o(Z.$$.fragment,t),rt=a(t),k=i(t,"P",{"data-svelte-h":!0}),m(k)!=="svelte-eik6fl"&&(k.textContent=qt),yt=a(t),S=i(t,"P",{"data-svelte-h":!0}),m(S)!=="svelte-1bwctzk"&&(S.innerHTML=Bt),ft=a(t),W=i(t,"P",{"data-svelte-h":!0}),m(W)!=="svelte-11z4p05"&&(W.textContent=Ht),Mt=a(t),o(R.$$.fragment,t),$t=a(t),_=i(t,"P",{"data-svelte-h":!0}),m(_)!=="svelte-m3navu"&&(_.textContent=Vt),ct=a(t),o(q.$$.fragment,t),Ut=a(t),B=i(t,"P",{"data-svelte-h":!0}),m(B)!=="svelte-1mvdyro"&&(B.innerHTML=Ft),Tt=a(t),o(H.$$.fragment,t),dt=a(t),V=i(t,"P",{"data-svelte-h":!0}),m(V)!=="svelte-h2cwem"&&(V.textContent=zt),Jt=a(t),o(F.$$.fragment,t),Ct=a(t),z=i(t,"P",{"data-svelte-h":!0}),m(z)!=="svelte-1mvdyro"&&(z.innerHTML=Lt),wt=a(t),o(L.$$.fragment,t),ht=a(t),N=i(t,"P",{"data-svelte-h":!0}),m(N)!=="svelte-nku6m1"&&(N.textContent=Nt),bt=a(t),E=i(t,"UL",{"data-svelte-h":!0}),m(E)!=="svelte-7ebnsp"&&(E.innerHTML=Et),xt=a(t),o(X.$$.fragment,t),gt=a(t),Y=i(t,"P",{}),Xt(Y).forEach(l),this.h()},h(){Pt(c,"name","hf:doc:metadata"),Pt(c,"content",ae)},m(t,e){te(document.head,c),s(t,Q,e),s(t,P,e),s(t,A,e),r(U,t,e),s(t,D,e),r(T,t,e),s(t,O,e),s(t,d,e),s(t,K,e),s(t,J,e),s(t,tt,e),s(t,C,e),s(t,et,e),s(t,w,e),s(t,lt,e),r(h,t,e),s(t,st,e),s(t,b,e),s(t,nt,e),r(x,t,e),s(t,at,e),s(t,g,e),s(t,pt,e),r(v,t,e),s(t,it,e),s(t,j,e),s(t,mt,e),r(I,t,e),s(t,ut,e),s(t,G,e),s(t,ot,e),r(Z,t,e),s(t,rt,e),s(t,k,e),s(t,yt,e),s(t,S,e),s(t,ft,e),s(t,W,e),s(t,Mt,e),r(R,t,e),s(t,$t,e),s(t,_,e),s(t,ct,e),r(q,t,e),s(t,Ut,e),s(t,B,e),s(t,Tt,e),r(H,t,e),s(t,dt,e),s(t,V,e),s(t,Jt,e),r(F,t,e),s(t,Ct,e),s(t,z,e),s(t,wt,e),r(L,t,e),s(t,ht,e),s(t,N,e),s(t,bt,e),s(t,E,e),s(t,xt,e),r(X,t,e),s(t,gt,e),s(t,Y,e),vt=!0},p:Qt,i(t){vt||(y(U.$$.fragment,t),y(T.$$.fragment,t),y(h.$$.fragment,t),y(x.$$.fragment,t),y(v.$$.fragment,t),y(I.$$.fragment,t),y(Z.$$.fragment,t),y(R.$$.fragment,t),y(q.$$.fragment,t),y(H.$$.fragment,t),y(F.$$.fragment,t),y(L.$$.fragment,t),y(X.$$.fragment,t),vt=!0)},o(t){f(U.$$.fragment,t),f(T.$$.fragment,t),f(h.$$.fragment,t),f(x.$$.fragment,t),f(v.$$.fragment,t),f(I.$$.fragment,t),f(Z.$$.fragment,t),f(R.$$.fragment,t),f(q.$$.fragment,t),f(H.$$.fragment,t),f(F.$$.fragment,t),f(L.$$.fragment,t),f(X.$$.fragment,t),vt=!1},d(t){t&&(l(Q),l(P),l(A),l(D),l(O),l(d),l(K),l(J),l(tt),l(C),l(et),l(w),l(lt),l(st),l(b),l(nt),l(at),l(g),l(pt),l(it),l(j),l(mt),l(ut),l(G),l(ot),l(rt),l(k),l(yt),l(S),l(ft),l(W),l(Mt),l($t),l(_),l(ct),l(Ut),l(B),l(Tt),l(dt),l(V),l(Jt),l(Ct),l(z),l(wt),l(ht),l(N),l(bt),l(E),l(xt),l(gt),l(Y)),l(c),M(U,t),M(T,t),M(h,t),M(x,t),M(v,t),M(I,t),M(Z,t),M(R,t),M(q,t),M(H,t),M(F,t),M(L,t),M(X,t)}}}const ae='{"title":"Автоматическое распознавание речи с помощью конвейера","local":"автоматическое-распознавание-речи-с-помощью-конвейера","sections":[],"depth":1}';function pe(jt){return At(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class re extends Dt{constructor(c){super(),Ot(this,c,pe,ne,Yt,{})}}export{re as component};
