import{s as ht,n as Ut,o as wt}from"../chunks/scheduler.b8dd6794.js";import{S as $t,i as qt,g as p,s as a,r as m,A as bt,h as i,f as e,c as n,j as jt,u,x as M,k as dt,y as It,a as l,v as r,d as c,t as y,w as J}from"../chunks/index.0a3e3d78.js";import{C as W}from"../chunks/CodeBlock.822b8cc6.js";import{H as Ct}from"../chunks/Heading.e6dfd430.js";function gt(pt){let o,N,Z,Q,f,E,T,it="오디오 분류는 녹음된 오디오 내용에 기반하여 하나 혹은 여러개의 레이블을 할당하는 작업입니다. 이 레이블은 음악, 음성, 노이즈 같은 카테고리에 해당할 수도 있고, 새소리나 차 엔진 소리처럼 더 구체적인 카테고리일 수도 있습니다.",F,j,Mt="인기 있는 오디오 트랜스포머 모델들이 세부적으로 어떻게 작동하는지, 커스텀 모델을 어떻게 파인튜닝하는지 등을 알아보기 전에 🤗 Transformers를 이용하여 단 몇줄의 코드만으로 사전학습된 모델을 오디오 분류에 쓰는 법을 알아봅시다.",B,d,ot='이전 단원에서 사용했던 <a href="https://huggingface.co/datasets/PolyAI/minds14" rel="nofollow">MINDS-14</a> 데이터셋을 쓰겠습니다. 기억하시다시피, MINDS-14는 사람들이 인터넷뱅킹 시스템에 대해 전화로 여러 언어와 방언으로 묻는 것이 녹음돼있습니다. 각 녹음에는 <code>intent_class</code>가 있으며 이를 이용해 녹음들을 전화의 의도에 따라 분류할 수 있습니다.',R,h,mt="파이프라인을 써보기 위해 이전과 마찬가지로 데이터의 <code>en-AU</code> 부분을 가져와 모델이 요구하는 16 kHz 샘플링 속도를 가지도록 업샘플링 해봅시다.",D,U,S,w,ut=`🤗 Transformers의 <code>audio-classification</code> 파이프라인을 사용하면 녹음된 오디오를 클래스 집합으로 분류할 수 있습니다.
우리의 경우, MINDS-14 데이터셋의 의도 분류를 위해 파인튜닝된 모델이 필요합니다. 운좋게도, 바로 그럴때 쓰이는 모델이 허브에 있습니다! <code>pipeline()</code> 함수를 써서 이를 불러보겠습니다:`,H,$,L,q,rt="이 파이프라인은 오디오 데이터로 넘파이 배열을 요구합니다. 원시 오디오 데이터의 모든 전처리는 편리하게도 파이프라인이 해결해줍니다. 한 예를 봅시다:",V,b,P,I,ct="데이터셋의 구조를 기억하신다면, 원시 오디오 데이터가 <code>[&quot;audio&quot;][&quot;array&quot;]</code> 아래에 넘파이 배열로 저장돼있는걸 기억하실겁니다. 그대로 <code>classifier</code>에 넘겨봅시다:",X,C,Y,g,yt="<strong>Output:</strong>",O,_,K,x,Jt="모델은 전화하는 사람이 청구서의 지불 방법에 대해 묻고 있다고 매우 확신하고 있습니다. 실제 레이블은 어떤지 확인해봅시다:",tt,k,st,z,ft="<strong>Output:</strong>",et,v,lt,A,Tt="만세! 예측값이 맞았습니다! 운 좋게도 우리는 필요한 레이블을 정확하게 분류할 수 있는 모델을 찾을 수 있었습니다. 그러나 분류 작업을 다루는 많은 경우에는 사전학습된 모델의 클래스가 우리가 바라는 분류 클래스와 일치하지 않습니다. 이와 같은 경우, 여러분은 사전학습된 모델을 “보정(calibrate)“하여 여러분의 클래스 레이블에 맞출 수 있습니다. 이후 단원에서 이를 어떻게 하는지 배우게 됩니다. 이제 음성 처리에서 매우 일반적인 작업인 <em>자동 음성 인식</em>에 대해 살펴봅시다.",at,G,nt;return f=new Ct({props:{title:"파이프라인을 이용한 오디오 분류",local:"audio-classification-with-a-pipeline",headingTag:"h1"}}),U=new W({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwQXVkaW8lMEElMEFtaW5kcyUyMCUzRCUyMGxvYWRfZGF0YXNldCglMjJQb2x5QUklMkZtaW5kczE0JTIyJTJDJTIwbmFtZSUzRCUyMmVuLUFVJTIyJTJDJTIwc3BsaXQlM0QlMjJ0cmFpbiUyMiklMEFtaW5kcyUyMCUzRCUyMG1pbmRzLmNhc3RfY29sdW1uKCUyMmF1ZGlvJTIyJTJDJTIwQXVkaW8oc2FtcGxpbmdfcmF0ZSUzRDE2XzAwMCkp",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;en-AU&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 W({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMHBpcGVsaW5lJTBBJTBBY2xhc3NpZmllciUyMCUzRCUyMHBpcGVsaW5lKCUwQSUyMCUyMCUyMCUyMCUyMmF1ZGlvLWNsYXNzaWZpY2F0aW9uJTIyJTJDJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0QlMjJhbnRvbi1sJTJGeHRyZW1lX3NfeGxzcl8zMDBtX21pbmRzMTQlMjIlMkMlMEEp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> pipeline

classifier = pipeline(
    <span class="hljs-string">&quot;audio-classification&quot;</span>,
    model=<span class="hljs-string">&quot;anton-l/xtreme_s_xlsr_300m_minds14&quot;</span>,
)`,wrap:!1}}),b=new W({props:{code:"ZXhhbXBsZSUyMCUzRCUyMG1pbmRzJTVCMCU1RA==",highlighted:'example = minds[<span class="hljs-number">0</span>]',wrap:!1}}),C=new W({props:{code:"Y2xhc3NpZmllcihleGFtcGxlJTVCJTIyYXVkaW8lMjIlNUQlNUIlMjJhcnJheSUyMiU1RCk=",highlighted:'classifier(example[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>])',wrap:!1}}),_=new W({props:{code:"JTVCJTBBJTIwJTIwJTIwJTIwJTdCJTIyc2NvcmUlMjIlM0ElMjAwLjk2MzE1MjUyNzgwOTE0MzElMkMlMjAlMjJsYWJlbCUyMiUzQSUyMCUyMnBheV9iaWxsJTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdCJTIyc2NvcmUlMjIlM0ElMjAwLjAyODE5Njk4MzAzOTM3OTEyJTJDJTIwJTIybGFiZWwlMjIlM0ElMjAlMjJmcmVlemUlMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlN0IlMjJzY29yZSUyMiUzQSUyMDAuMDAzMjc4NzQ5Mjk2NDQxNjc0MiUyQyUyMCUyMmxhYmVsJTIyJTNBJTIwJTIyY2FyZF9pc3N1ZXMlMjIlN0QlMkMlMEElMjAlMjAlMjAlMjAlN0IlMjJzY29yZSUyMiUzQSUyMDAuMDAxOTQxNDQ0NTg1MDk5ODE2MyUyQyUyMCUyMmxhYmVsJTIyJTNBJTIwJTIyYWJyb2FkJTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdCJTIyc2NvcmUlMjIlM0ElMjAwLjAwMDgzNzg2OTM2MDExMTY1MzglMkMlMjAlMjJsYWJlbCUyMiUzQSUyMCUyMmhpZ2hfdmFsdWVfcGF5bWVudCUyMiU3RCUyQyUwQSU1RA==",highlighted:`[
    {<span class="hljs-string">&quot;score&quot;</span>: <span class="hljs-number">0.9631525278091431</span>, <span class="hljs-string">&quot;label&quot;</span>: <span class="hljs-string">&quot;pay_bill&quot;</span>},
    {<span class="hljs-string">&quot;score&quot;</span>: <span class="hljs-number">0.02819698303937912</span>, <span class="hljs-string">&quot;label&quot;</span>: <span class="hljs-string">&quot;freeze&quot;</span>},
    {<span class="hljs-string">&quot;score&quot;</span>: <span class="hljs-number">0.0032787492964416742</span>, <span class="hljs-string">&quot;label&quot;</span>: <span class="hljs-string">&quot;card_issues&quot;</span>},
    {<span class="hljs-string">&quot;score&quot;</span>: <span class="hljs-number">0.0019414445850998163</span>, <span class="hljs-string">&quot;label&quot;</span>: <span class="hljs-string">&quot;abroad&quot;</span>},
    {<span class="hljs-string">&quot;score&quot;</span>: <span class="hljs-number">0.0008378693601116538</span>, <span class="hljs-string">&quot;label&quot;</span>: <span class="hljs-string">&quot;high_value_payment&quot;</span>},
]`,wrap:!1}}),k=new W({props:{code:"aWQybGFiZWwlMjAlM0QlMjBtaW5kcy5mZWF0dXJlcyU1QiUyMmludGVudF9jbGFzcyUyMiU1RC5pbnQyc3RyJTBBaWQybGFiZWwoZXhhbXBsZSU1QiUyMmludGVudF9jbGFzcyUyMiU1RCk=",highlighted:`id2label = minds.features[<span class="hljs-string">&quot;intent_class&quot;</span>].int2str
id2label(example[<span class="hljs-string">&quot;intent_class&quot;</span>])`,wrap:!1}}),v=new W({props:{code:"JTIycGF5X2JpbGwlMjI=",highlighted:'<span class="hljs-string">&quot;pay_bill&quot;</span>',wrap:!1}}),{c(){o=p("meta"),N=a(),Z=p("p"),Q=a(),m(f.$$.fragment),E=a(),T=p("p"),T.textContent=it,F=a(),j=p("p"),j.textContent=Mt,B=a(),d=p("p"),d.innerHTML=ot,R=a(),h=p("p"),h.innerHTML=mt,D=a(),m(U.$$.fragment),S=a(),w=p("p"),w.innerHTML=ut,H=a(),m($.$$.fragment),L=a(),q=p("p"),q.textContent=rt,V=a(),m(b.$$.fragment),P=a(),I=p("p"),I.innerHTML=ct,X=a(),m(C.$$.fragment),Y=a(),g=p("p"),g.innerHTML=yt,O=a(),m(_.$$.fragment),K=a(),x=p("p"),x.textContent=Jt,tt=a(),m(k.$$.fragment),st=a(),z=p("p"),z.innerHTML=ft,et=a(),m(v.$$.fragment),lt=a(),A=p("p"),A.innerHTML=Tt,at=a(),G=p("p"),this.h()},l(t){const s=bt("svelte-u9bgzb",document.head);o=i(s,"META",{name:!0,content:!0}),s.forEach(e),N=n(t),Z=i(t,"P",{}),jt(Z).forEach(e),Q=n(t),u(f.$$.fragment,t),E=n(t),T=i(t,"P",{"data-svelte-h":!0}),M(T)!=="svelte-1f5hdt5"&&(T.textContent=it),F=n(t),j=i(t,"P",{"data-svelte-h":!0}),M(j)!=="svelte-1pbyuyc"&&(j.textContent=Mt),B=n(t),d=i(t,"P",{"data-svelte-h":!0}),M(d)!=="svelte-1oiet0d"&&(d.innerHTML=ot),R=n(t),h=i(t,"P",{"data-svelte-h":!0}),M(h)!=="svelte-n7qc2f"&&(h.innerHTML=mt),D=n(t),u(U.$$.fragment,t),S=n(t),w=i(t,"P",{"data-svelte-h":!0}),M(w)!=="svelte-oztqy5"&&(w.innerHTML=ut),H=n(t),u($.$$.fragment,t),L=n(t),q=i(t,"P",{"data-svelte-h":!0}),M(q)!=="svelte-qdshyx"&&(q.textContent=rt),V=n(t),u(b.$$.fragment,t),P=n(t),I=i(t,"P",{"data-svelte-h":!0}),M(I)!=="svelte-c5buei"&&(I.innerHTML=ct),X=n(t),u(C.$$.fragment,t),Y=n(t),g=i(t,"P",{"data-svelte-h":!0}),M(g)!=="svelte-1mvdyro"&&(g.innerHTML=yt),O=n(t),u(_.$$.fragment,t),K=n(t),x=i(t,"P",{"data-svelte-h":!0}),M(x)!=="svelte-iw7pnk"&&(x.textContent=Jt),tt=n(t),u(k.$$.fragment,t),st=n(t),z=i(t,"P",{"data-svelte-h":!0}),M(z)!=="svelte-1mvdyro"&&(z.innerHTML=ft),et=n(t),u(v.$$.fragment,t),lt=n(t),A=i(t,"P",{"data-svelte-h":!0}),M(A)!=="svelte-115np59"&&(A.innerHTML=Tt),at=n(t),G=i(t,"P",{}),jt(G).forEach(e),this.h()},h(){dt(o,"name","hf:doc:metadata"),dt(o,"content",_t)},m(t,s){It(document.head,o),l(t,N,s),l(t,Z,s),l(t,Q,s),r(f,t,s),l(t,E,s),l(t,T,s),l(t,F,s),l(t,j,s),l(t,B,s),l(t,d,s),l(t,R,s),l(t,h,s),l(t,D,s),r(U,t,s),l(t,S,s),l(t,w,s),l(t,H,s),r($,t,s),l(t,L,s),l(t,q,s),l(t,V,s),r(b,t,s),l(t,P,s),l(t,I,s),l(t,X,s),r(C,t,s),l(t,Y,s),l(t,g,s),l(t,O,s),r(_,t,s),l(t,K,s),l(t,x,s),l(t,tt,s),r(k,t,s),l(t,st,s),l(t,z,s),l(t,et,s),r(v,t,s),l(t,lt,s),l(t,A,s),l(t,at,s),l(t,G,s),nt=!0},p:Ut,i(t){nt||(c(f.$$.fragment,t),c(U.$$.fragment,t),c($.$$.fragment,t),c(b.$$.fragment,t),c(C.$$.fragment,t),c(_.$$.fragment,t),c(k.$$.fragment,t),c(v.$$.fragment,t),nt=!0)},o(t){y(f.$$.fragment,t),y(U.$$.fragment,t),y($.$$.fragment,t),y(b.$$.fragment,t),y(C.$$.fragment,t),y(_.$$.fragment,t),y(k.$$.fragment,t),y(v.$$.fragment,t),nt=!1},d(t){t&&(e(N),e(Z),e(Q),e(E),e(T),e(F),e(j),e(B),e(d),e(R),e(h),e(D),e(S),e(w),e(H),e(L),e(q),e(V),e(P),e(I),e(X),e(Y),e(g),e(O),e(K),e(x),e(tt),e(st),e(z),e(et),e(lt),e(A),e(at),e(G)),e(o),J(f,t),J(U,t),J($,t),J(b,t),J(C,t),J(_,t),J(k,t),J(v,t)}}}const _t='{"title":"파이프라인을 이용한 오디오 분류","local":"audio-classification-with-a-pipeline","sections":[],"depth":1}';function xt(pt){return wt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Wt extends $t{constructor(o){super(),qt(this,o,xt,gt,ht,{})}}export{Wt as component};
