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