Web Analytics Made Easy - Statcounter
반응형

Bouncing ideas 생각 작업실 55

신경망 이용한 음운론 연구 workflow (feat. Fairseq)

0. 요약그냥 제가 같은 작업 자꾸자꾸 반복하는 거 좀 체계화/단일화 하기 위해서 순서 정리하는 글이에요.  목차 1. 단계들1단계: 시작하기일단 찬물을 마셔서 정신을 차리고, 모든 걸 담을 수 있는(?) 폴더를 하나 만든다. 사람이 준비 안 되어 있으면 기계는 일하지 않는다. 폴더에는 일단은 raw data만 담아둔다. 2단계: 모델 훈련하기Google colab이든 Amazon AWS든 Microsoft Azure든 본인 취향에 맞는 cloud computing resources 에서 모델을 훈련한다. 나는 아직 모델 훈련 전단계가 익숙하지 않기 때문에 raw data 읽어들이거나 preprocessing할 때 중간중간 printout 할 수 있게 Jupyter notebook을 선호한다. 예시: h..

언어학의 초심으로 돌아가기

0. 도입 및 요약지난 2024년 3월에는 미국언어학회(Linguistic Society of America)의 학회지 "Language"[링크]의 제 100권(volume)이 발간되었습니다. 1년에 1권(volume)이 나온다는 걸 생각하면 100주년이 된 것입니다. 이를 기념하기 위해 미국 구조주의 언어학의 아버지이자 LSA의 창립멤버였던 Leonard Bloomfield의 1925년 글 "Why a linguistic society?"(왜 언어학회를?)가 코멘터리와 함께 다시 게재되었습니다.[링크] 이번 포스팅에서는 Bloomfield의 "Why a linguistic society?"를 간단하게 번역/소개합니다. "Why a linguistic society?"는 저널 Language에 실린 첫번..

fairseq translation task cross-attention 접근 쉽게하기

.translate() method에 verbose parameter가 있다는 걸 간과했다. verbose = True 주니까 각 hypothesis 별로 아래와 같은 log가 터미널에 뿌려졌다. 2024-04-10 00:27:55 | INFO | fairseq.hub_utils | H-0.012383962981402874c i m a lZ cc v ngZ 2024-04-10 00:37:22 | INFO | fairseq.hub_utils | P-0.0000 -0.0000 -0.0001 -0.0000 -0.0000 -0.1113 -0.0000 -0.0000 -0.0000 beam = 5 였으므로 5개 후보형을 고려한다. 그래서 각 2줄, 총 10줄의 log가 떴다. 이 데이터는 이해하기 쉽다. 입력값 (..

Never assume anything

실험데이터를 기계에 넣고 다 돌려버리는 것과 별개로, human touch가 들어가는 것이 필요하다. 예상치도 못한 변수가 있을 수 있기 때문이고 그 부분에서 이름 걸고 연구하는 사람이 확인을 하고 책임을 질 선택을 해야 하기 때문이다. 사람은 다양하다. 사람으로부터 얻는 데이터도 다양하다. 그래서 무엇도 당연히 생각하면 안된다. 상상을 초월하는 경우는 늘 있다. 예전에 토론토에서 운전하다가 교외에서 사고를 낸 적이 있다. 대인사고는 아니었는데, 차가 좀 망가져서 garage에서 견인차를 불러 수리를 맡겼다. 어짜피 garage가 토론토에 있었기 때문에 견인차 옆자리를 얻어타고 돌아가는데, 아저씨 운전석에 대문짝만하게 NEVER ASSUME ANYTHING이라고 써져있는 걸 봤다. "무엇도 당연하게 전제..

Python으로 textgrid 생성했는데 왜 먹지를 못하니

0. 요약 Montreal Forced Aligner를 이용한 Forced alignment를 대규모로 하다가 문제에 봉착했다. 큰 소리로 생각한다는 개념으로 나의 생각 과정을 여기에 적는다. 목차 1. 이슈 각 wav 녹음파일에 대하여 stimulus (화면에 표시된 한국어 단어)의 내용 (한글철자)을 유일한 tier로 가지는 praat textgrid를 python script를 이용하여 생성했다. "[participant ID]_[base id]_[phonotactics]_[manipulation]_[repetition]_[group].wav" 형식의 wav 파일명을 parsing하여 base_id와 phonotactics 값에 따라 해당하는 단어의 철자형을 TSV 형식의 stimuli list 로..

ㄹ의 이형태

Crosby and Dalola. (2021). phonetic variation in Korean liquid phoneme. Proc Ling Soc Amer 6(1). 701-712 https://doi.org/10.3765/plsa.v6i1.5002 Phonetic variation in the Korean liquid phoneme | Proceedings of the Linguistic Society of America journals.linguisticsociety.org  40세 미만 표준어 화자 남6, 여6 음향분석. 통계처리는 linear mixed-effects regression models주로 formant analysis주된 쟁점은 2가지.1. 통상적으로..

수집데이터의 물리적 저장

연구를 위해 수집한 채록 데이터(음성파일 + 응답지 조사 결과)가 계륵이다. 다른 프로젝트에서 정해진 프로토콜에 따라 '수집자'의 자격으로 일만 하고 이후 과정을 신경쓰지 않았을 때에는 몰랐는데, 수집 후가 정말 골치아프다. 수집하는 과정보다 결과물들을 물리적으로 저장하는 방식이 더 골치아프다. 우선 피실험자 개개인별로 본인에게서 나온 데이터의 공개범위를 다르게 지정해놓았기 때문에, 아예 따로 저장해놓아야 한다. 또 이유는 모르겠지만, 수집 데이터가 캐나다 영토 내에 물리적으로 존재하는 서버에 저장되어야 한댄다. 진짜로 인터넷 연결 안된 학교 교내 서버에 박아놓고 옛날 도서관마냥 열람하는 방식을 심각하게 고민하고 있다. 진심으로 날것의 데이터를 사랑해야 하나보다. 근데 졸업하고 내가 학교를 떠나게 되면,..

Fairseq transformer model에서 attention 뽑아내기

0. 요약 이 포스팅은 Fairseq을 이용해 train한 transformer model에서 attention weights를 뽑아내기 위한 노력의 과정을 기술한다. 목차 1. 이슈 Fairseq이 attention weights를 순순히 내놓지 않는다. 선전포고다! 우선 왜 attention weights를 뽑아내야 하는지에 대한 맥락부터 서술하고 시도해본 해결책 + 과정을 섹션 4부터 설명한다. 3. 맥락 Fairseq model이 꽤나 괜찮은 성능을 보였다. (Fairseq입문) (IPA변환기) 이론가로서 나에게 중요한 건 모델의 성능 그자체는 아니다. 촘스키가 말했듯 언어학은 "engineered solution"이 아니라 "real solution"이 필요하다. 답은 나왔다. 엔지니어는 답을 ..

segment harmony 와 binding

아래 두 문장에서 it의 reference가 다르다. a.에서 it은 the street 이지만 b. 에서는 the cat이다. a. The cat did not cross the street because it was too busy. b. The cat did not cross the street because it was too tired. 통사론에서의 정확한 용어가 어떤지 모르겠지만, it이 문장 상 앞의 nominal 중 하나에 bound되기 때문에 가볍게 binding이라고 하자. segment harmony는 Consonant Harmony와 Vowel Harmony를 통칭하여 일컫는 말이다. Harmony는 매우 많이 연구되었는데, 서아프리카 언어들의 ATR 조화, 중세한국어의 양성/음성 ..

'JKDY' 테스트 돌리기 + 배포🎉

0. 들어가는 말 (이 글은 2024.02.19 - 좌충우돌 딥러닝을 이용한 한글IPA변환기 에서 이어지는 글입니다.) 구어체로 느슨하게 전사하는 프로그램을 완성하기는 했는데, 욕심이 나서 UI를 입혔다. 챗GPT 시키니 금세 되니 좋다. 비록 자잘한 오류가 많아서 '내가 못하는 새로운 일'을 시킬 수는 없지만, 할줄 아는데 귀찮은 것은 챗GPT 시켜서 초벌로 해놓고 나온 결과를 직접 수정하니 편리하다. 앱의 이름은 JKDY로 정했다. 이 프로그램이 "좋거든요"를 전사하면 조커등여 [tɕ o kh ʌ t ɯ ŋ jʌ] 라고 나오는데 약자를 따와 JKDY라고 한 것이다. 목차 1. 조커등여 새로 만든 장난감(?) 가지고 놀다가 대체 내가 무슨 괴물을 만든 건가 생각이 들었다.ㅋㅋㅋ 무슨일이냐 하면 바로 이..

반응형