import{s as Qt,n as At,o as Dt}from"../chunks/scheduler.b8dd6794.js";import{S as Ot,i as Kt,g as p,s as n,r as o,A as te,h as i,f as l,c as a,j as Xt,u,x as m,k as Yt,y as ee,a as s,v as r,d as y,t as f,w as M}from"../chunks/index.0a3e3d78.js";import{C as c}from"../chunks/CodeBlock.822b8cc6.js";import{H as le,E as se}from"../chunks/EditOnGithub.065de0ac.js";function ne(It){let U,Q,X,A,$,D,d,gt="자동 음성 인식(ASR)은 음성 오디오 녹음을 텍스트로 변환하는 작업입니다. 이 작업은 매우 다양하게 실용적으로 쓰일 수가 있습니다. 비디오 자막 생성부터 Siri나 Alexa같은 가상 비서의 음성명령에 이르기까지요.",O,T,Gt="이번 섹션에선 이전의 MINDS-14 데이터셋의 청구서 지불 방법에 대해 묻는 사람의 음성 녹음을 <code>automatic-speech-recognition</code> 파이프라인을 이용해 텍스트로 변환하는 방법을 알아보겠습니다.",K,C,kt='시작을 위해 데이터를 준비해야 합니다. 아직 준비하지 않았다면, <a href="introduction.mdx">Audio classification with a pipeline</a>에서 했던것처럼 데이터셋을 불러오고 16 kHz로 업샘플링을 해주세요.',tt,J,Zt="오디오 녹음을 텍스트로 바꾸기 위해 🤗 Transformers의 <code>automatic-speech-recognition</code> 파이프라인을 이용합니다. 파이프라인을 인스턴스화(instantiate) 해보겠습니다:",et,w,lt,h,Wt="다음으로, 데이터셋에서 원시 데이터를 불러와 파이프라인에 넘겨봅시다:",st,b,nt,x,St="<strong>Output:</strong>",at,v,pt,j,Rt="이 출력과 실제값을 비교해보겠습니다:",it,I,mt,g,_t="<strong>Output:</strong>",ot,G,ut,k,qt="모델이 오디오를 텍스트로 바꾸는 일을 꽤 잘 해낸것 같습니다! 실제 텍스트와 비교했을때 한 단어(“card”)만을 틀렸을 뿐입니다. 화자가 호주식 억양인 것을 고려할 때 꽤 괜찮은 결과로 볼 수 있습니다(호주식 억양에선 “r”이 종종 묵음입니다). 그렇긴 하지만, 전기요금을 물고기(“cod”는 영어로 대구를 뜻합니다)로 낼 것을 권장하지는 않습니다!",rt,Z,Bt=`기본적으로 이 파이프라인은 영어의 자동 음성 인식을 위해 학습된 모델을 씁니다. 이 예제에서는 괜찮지만 여러분이 만약 MINDS-14의 다른 언어에 대해 텍스트 변환을 시도해보고 싶으시다면 <a href="https://huggingface.co/models?pipeline_tag=automatic-speech-recognition&amp;language=fr&amp;sort=downloads" rel="nofollow">🤗 Hub</a>에서 사전학습된 ASR 모델을 찾아보실 수 있습니다.
모델 리스트에서 작업순으로 필터링을 먼저하고 언어에 대해 필터링을 할 수 있습니다. 마음에 드는 모델을 찾으셨다면, 파이프라인의 <code>model</code> 인수(argument)로 넘겨 쓰면 됩니다.`,yt,W,Vt="이를 이용해 MINDS-14의 독일어 부분을 다뤄 보겠습니다. “de-DE” 부분을 불러봅시다:",ft,S,Mt,R,Ht="예제를 하나 선택해 텍스트가 어떻게 나와야하는지 확인해봅시다:",ct,_,Ut,q,Ft="<strong>Output:</strong>",$t,B,dt,V,Nt="🤗 Hub에서 독일어를 위해 사전학습된 ASR 모델을 찾아 파이프라인을 인스턴스화한 후 이 예제에 적용시켜봅시다:",Tt,H,Ct,F,zt="<strong>Output:</strong>",Jt,N,wt,z,Et="역시나, stimmt’s!",ht,E,Lt="여러분이 작업을 시작할 때, 이번 단원에서 보신것처럼 간단한 파이프라인으로 시작해보는것은 여러 장점이 있습니다:",bt,L,Pt="<li>여러분의 문제를 해결할 사전학습된 모델이 이미 있을 수 있습니다. 많은 시간을 아끼실 수 있을겁니다.</li> <li><code>pipeline()</code>은 여러분을 위해 전처리 및 후처리를 대신 해줍니다. 따라서 여러분은 데이터 형식을 모델에 맞추는것에 대해 걱정하지 않으셔도 됩니다.</li> <li>결과가 이상적이지 않더라도 하나의 기준점을 빠르게 제시해줍니다.</li> <li>여러분이 커스텀 데이터에 맞춰 모델을 파인튜닝하고 허브에 올린다면 <code>pipeline()</code> 메소드를 이용해 모든 커뮤니티가 이를 쉽게 쓸 수 있어 AI를 더욱 사용하기 쉽게 만듭니다.</li>",xt,P,vt,Y,jt;return $=new le({props:{title:"파이프라인을 이용한 자동 음성 인식",local:"automatic-speech-recognition-with-a-pipeline",headingTag:"h1"}}),w=new c({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}}),b=new c({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 c({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 c({props:{code:"ZXhhbXBsZSU1QiUyMmVuZ2xpc2hfdHJhbnNjcmlwdGlvbiUyMiU1RA==",highlighted:'example[<span class="hljs-string">&quot;english_transcription&quot;</span>]',wrap:!1}}),G=new c({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}}),S=new c({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}}),_=new c({props:{code:"ZXhhbXBsZSUyMCUzRCUyMG1pbmRzJTVCMCU1RCUwQWV4YW1wbGUlNUIlMjJ0cmFuc2NyaXB0aW9uJTIyJTVE",highlighted:`example = minds[<span class="hljs-number">0</span>]
example[<span class="hljs-string">&quot;transcription&quot;</span>]`,wrap:!1}}),B=new c({props:{code:"JTIyaWNoJTIwbSVDMyVCNmNodGUlMjBnZXJuZSUyMEdlbGQlMjBhdWYlMjBtZWluJTIwS29udG8lMjBlaW56YWhsZW4lMjI=",highlighted:'<span class="hljs-comment">&quot;ich möchte gerne Geld auf mein Konto einzahlen&quot;</span>',wrap:!1}}),H=new c({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}}),N=new c({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}}),P=new se({props:{source:"https://github.com/huggingface/audio-transformers-course/blob/main/chapters/ko/chapter2/asr_pipeline.mdx"}}),{c(){U=p("meta"),Q=n(),X=p("p"),A=n(),o($.$$.fragment),D=n(),d=p("p"),d.textContent=gt,O=n(),T=p("p"),T.innerHTML=Gt,K=n(),C=p("p"),C.innerHTML=kt,tt=n(),J=p("p"),J.innerHTML=Zt,et=n(),o(w.$$.fragment),lt=n(),h=p("p"),h.textContent=Wt,st=n(),o(b.$$.fragment),nt=n(),x=p("p"),x.innerHTML=St,at=n(),o(v.$$.fragment),pt=n(),j=p("p"),j.textContent=Rt,it=n(),o(I.$$.fragment),mt=n(),g=p("p"),g.innerHTML=_t,ot=n(),o(G.$$.fragment),ut=n(),k=p("p"),k.textContent=qt,rt=n(),Z=p("p"),Z.innerHTML=Bt,yt=n(),W=p("p"),W.textContent=Vt,ft=n(),o(S.$$.fragment),Mt=n(),R=p("p"),R.textContent=Ht,ct=n(),o(_.$$.fragment),Ut=n(),q=p("p"),q.innerHTML=Ft,$t=n(),o(B.$$.fragment),dt=n(),V=p("p"),V.textContent=Nt,Tt=n(),o(H.$$.fragment),Ct=n(),F=p("p"),F.innerHTML=zt,Jt=n(),o(N.$$.fragment),wt=n(),z=p("p"),z.textContent=Et,ht=n(),E=p("p"),E.textContent=Lt,bt=n(),L=p("ul"),L.innerHTML=Pt,xt=n(),o(P.$$.fragment),vt=n(),Y=p("p"),this.h()},l(t){const e=te("svelte-u9bgzb",document.head);U=i(e,"META",{name:!0,content:!0}),e.forEach(l),Q=a(t),X=i(t,"P",{}),Xt(X).forEach(l),A=a(t),u($.$$.fragment,t),D=a(t),d=i(t,"P",{"data-svelte-h":!0}),m(d)!=="svelte-ttx9m"&&(d.textContent=gt),O=a(t),T=i(t,"P",{"data-svelte-h":!0}),m(T)!=="svelte-1ep7y6r"&&(T.innerHTML=Gt),K=a(t),C=i(t,"P",{"data-svelte-h":!0}),m(C)!=="svelte-x0sey8"&&(C.innerHTML=kt),tt=a(t),J=i(t,"P",{"data-svelte-h":!0}),m(J)!=="svelte-1uw1d6w"&&(J.innerHTML=Zt),et=a(t),u(w.$$.fragment,t),lt=a(t),h=i(t,"P",{"data-svelte-h":!0}),m(h)!=="svelte-11pkrkq"&&(h.textContent=Wt),st=a(t),u(b.$$.fragment,t),nt=a(t),x=i(t,"P",{"data-svelte-h":!0}),m(x)!=="svelte-1mvdyro"&&(x.innerHTML=St),at=a(t),u(v.$$.fragment,t),pt=a(t),j=i(t,"P",{"data-svelte-h":!0}),m(j)!=="svelte-wahbru"&&(j.textContent=Rt),it=a(t),u(I.$$.fragment,t),mt=a(t),g=i(t,"P",{"data-svelte-h":!0}),m(g)!=="svelte-1mvdyro"&&(g.innerHTML=_t),ot=a(t),u(G.$$.fragment,t),ut=a(t),k=i(t,"P",{"data-svelte-h":!0}),m(k)!=="svelte-z7ijfr"&&(k.textContent=qt),rt=a(t),Z=i(t,"P",{"data-svelte-h":!0}),m(Z)!=="svelte-1jxn1m7"&&(Z.innerHTML=Bt),yt=a(t),W=i(t,"P",{"data-svelte-h":!0}),m(W)!=="svelte-1e9hx8l"&&(W.textContent=Vt),ft=a(t),u(S.$$.fragment,t),Mt=a(t),R=i(t,"P",{"data-svelte-h":!0}),m(R)!=="svelte-1s6ci2p"&&(R.textContent=Ht),ct=a(t),u(_.$$.fragment,t),Ut=a(t),q=i(t,"P",{"data-svelte-h":!0}),m(q)!=="svelte-1mvdyro"&&(q.innerHTML=Ft),$t=a(t),u(B.$$.fragment,t),dt=a(t),V=i(t,"P",{"data-svelte-h":!0}),m(V)!=="svelte-1qoyk0g"&&(V.textContent=Nt),Tt=a(t),u(H.$$.fragment,t),Ct=a(t),F=i(t,"P",{"data-svelte-h":!0}),m(F)!=="svelte-1mvdyro"&&(F.innerHTML=zt),Jt=a(t),u(N.$$.fragment,t),wt=a(t),z=i(t,"P",{"data-svelte-h":!0}),m(z)!=="svelte-13vb6ta"&&(z.textContent=Et),ht=a(t),E=i(t,"P",{"data-svelte-h":!0}),m(E)!=="svelte-1958hb6"&&(E.textContent=Lt),bt=a(t),L=i(t,"UL",{"data-svelte-h":!0}),m(L)!=="svelte-1396100"&&(L.innerHTML=Pt),xt=a(t),u(P.$$.fragment,t),vt=a(t),Y=i(t,"P",{}),Xt(Y).forEach(l),this.h()},h(){Yt(U,"name","hf:doc:metadata"),Yt(U,"content",ae)},m(t,e){ee(document.head,U),s(t,Q,e),s(t,X,e),s(t,A,e),r($,t,e),s(t,D,e),s(t,d,e),s(t,O,e),s(t,T,e),s(t,K,e),s(t,C,e),s(t,tt,e),s(t,J,e),s(t,et,e),r(w,t,e),s(t,lt,e),s(t,h,e),s(t,st,e),r(b,t,e),s(t,nt,e),s(t,x,e),s(t,at,e),r(v,t,e),s(t,pt,e),s(t,j,e),s(t,it,e),r(I,t,e),s(t,mt,e),s(t,g,e),s(t,ot,e),r(G,t,e),s(t,ut,e),s(t,k,e),s(t,rt,e),s(t,Z,e),s(t,yt,e),s(t,W,e),s(t,ft,e),r(S,t,e),s(t,Mt,e),s(t,R,e),s(t,ct,e),r(_,t,e),s(t,Ut,e),s(t,q,e),s(t,$t,e),r(B,t,e),s(t,dt,e),s(t,V,e),s(t,Tt,e),r(H,t,e),s(t,Ct,e),s(t,F,e),s(t,Jt,e),r(N,t,e),s(t,wt,e),s(t,z,e),s(t,ht,e),s(t,E,e),s(t,bt,e),s(t,L,e),s(t,xt,e),r(P,t,e),s(t,vt,e),s(t,Y,e),jt=!0},p:At,i(t){jt||(y($.$$.fragment,t),y(w.$$.fragment,t),y(b.$$.fragment,t),y(v.$$.fragment,t),y(I.$$.fragment,t),y(G.$$.fragment,t),y(S.$$.fragment,t),y(_.$$.fragment,t),y(B.$$.fragment,t),y(H.$$.fragment,t),y(N.$$.fragment,t),y(P.$$.fragment,t),jt=!0)},o(t){f($.$$.fragment,t),f(w.$$.fragment,t),f(b.$$.fragment,t),f(v.$$.fragment,t),f(I.$$.fragment,t),f(G.$$.fragment,t),f(S.$$.fragment,t),f(_.$$.fragment,t),f(B.$$.fragment,t),f(H.$$.fragment,t),f(N.$$.fragment,t),f(P.$$.fragment,t),jt=!1},d(t){t&&(l(Q),l(X),l(A),l(D),l(d),l(O),l(T),l(K),l(C),l(tt),l(J),l(et),l(lt),l(h),l(st),l(nt),l(x),l(at),l(pt),l(j),l(it),l(mt),l(g),l(ot),l(ut),l(k),l(rt),l(Z),l(yt),l(W),l(ft),l(Mt),l(R),l(ct),l(Ut),l(q),l($t),l(dt),l(V),l(Tt),l(Ct),l(F),l(Jt),l(wt),l(z),l(ht),l(E),l(bt),l(L),l(xt),l(vt),l(Y)),l(U),M($,t),M(w,t),M(b,t),M(v,t),M(I,t),M(G,t),M(S,t),M(_,t),M(B,t),M(H,t),M(N,t),M(P,t)}}}const ae='{"title":"파이프라인을 이용한 자동 음성 인식","local":"automatic-speech-recognition-with-a-pipeline","sections":[],"depth":1}';function pe(It){return Dt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class re extends Ot{constructor(U){super(),Kt(this,U,pe,ne,Qt,{})}}export{re as component};
