자신만의 영어 Database 구축하기 : 클리앙

안녕하세요

팁과 강좌에 오래간만에 영어 관련한 글을 올립니다.

꽤 오래전에 이 글을 썼었네요. 2021년이었으니까요.

https://www.clien.net/service/board/lecture/15966976CLIEN


요즘은 chatGPT가 생기면서 뭐 영어 공부 방법,자신만의영어Database구축하기클리앙 영어 회화 등 영어에 관련된 모든 방법론이나 화제는 chatGPT가 쓸어가는 것 같습니다. 사실 저도 chatGPT를 잘 쓰고 있기도 하구요.

저는 사실 GPT4 API를 써서, 더 간편하게 결과를 출력해내지만 chatGPT 만으로도 유의미한 콘텐츠를 창출해낼 수는 있는 것 같습니다.


오늘 얘기 드리고 싶은 것은 21년에 썼던 글에서 많은 분들이 미국 상장기업의 transcript를 활용하면 좋다는 점에 많이 공감을 해주셨던 것으로 기억합니다. 

저 또한 그 후에 어떻게 그 transcript들만 모아서 내가 원할때 데이터베이스로 활용하면 좋지 않을까 라는 생각을 고민했었고, 그 결과를 공유하고 다른 분들도 활용하시면 어떨까 해서 올립니다. (초급을 넘어서는 python 프로그래밍 지식이 있으면 유리합니다. 클리앙에는 프로그래밍을 잘하시는 분들이 있으니 유리하지 않을까 싶습니다.)


1. 먼저 저는 인터넷에서 일단 NASDAQ에서 인더스트리별로 정리된 기업들의 ticker들을 정리했습니다.

이런 식으로요. 저는 최대한 모든 기업들의-인더스트리를 가리지 않고- transcript를 다 수집하고 싶었습니다.

Pasted image 20240102161050.png


2. 그리고 rapidapi 라는 곳에 회원가입을 하고 rapidapi/seekingalplha의 api를 활용하고자 했습니다.

Seeking Alpha API Documentation Free with API Key & SDK | RapidAPI

이제 api를 이용해서 기업들의 conference call transcript를 정리할 수 있는 함수를 python으로 만듭니다.


3. 이제 크롤러를 만들어야 하는데 제가 설명이 중구난방일 수 있습니다. 이해 부탁 드립니다.

저는 crwl_transcript_time.py 라는 파일을 만들어서 밑에 두 함수를 먼저 만들었습니다

밑의 그림에는 포함되어 있진 않지만 여러분의 api_key가 밑의 함수에 들어갈 수 있도록 위에서 API_KEY = " "로 만들어 주셔야 합니다. 

Pasted image 20240102161241.png


4. 다음으로는 

위의 함수들을 이용해서 이제 csv 파일에 있는 기업들의 리스트들을 ticker를 따라 돌면서 인더스트리별로 필요한 파일을 다운받는 코드를 작성하셔야 합니다.


Pasted image 20240102161559.png


저기 위에서 (ticker, 1, 1548801373, 1577658973) 의 뒷부분의 숫자 2개는 연도입니다. unix timestamp converter 를 참조하시면 됩니다.

그러면 원하는 연도만 다운받으실 수 있습니다.


참고로 말씀 드리면 이 api는 유료입니다.

https://rapidapi.com/apidojo/api/seeking-alpha/pricing


저는 여기서 pro를 2달 동안 사용했던 것으로 기억합니다.

그래서 2020년 ~ 2022년 3년 간의 위 표시된 모든 인더스트리의 transcript 데이터를 2달 동안 다운 받았습니다. Monthly plan이라서요.


2022년 데이터가 가장 적어서 2달 동안 가능했던 거 같아요. 아마 많은 기업들의 2022년 회기연도가 2022년에 끝나지 않아서 그랬던 것으로 보입니다.


만약 특정 인더스트리만 원한다면 pro 플랜 안에서 3~5개년도 수집도 충분할 것 같습니다.


이제 함수를 실행하고 나온 json 데이터들이 한 곳의 폴더에 모이면 이 json 파일에서 텍스트만 parsing 하고 합쳐주시는 파일을 새로 만들고 실행하면 됩니다. 그러기 위해서는


5. 먼저 parser를 만드시고,

Pasted image 20240102162734.png


그 다음에 합치는 거죠

Pasted image 20240102162806.png


그러면 내가 원하는 인더스트리의 특정 연도의 기업들의 트랜스크립트만 수집한 텍스트 파일이 등장하게 됩니다.


저는 이걸 얻고나서 그 때 당시 많이 기뻤습니다! 이런거에 기쁜 사람은 많지 않겠지만...


여기까지 오셨으면 다 8부 능선을 넘어섰습니다.

남은 부분은 너무 쉬어요.


https://www.laurenceanthony.net/software/antconc/  

로 가셔서 각자의 운영체제에 해당하는 링크를 눌러서 antconc를 다운받으시면 됩니다.


antconc는 A freeware corpus analysis toolkit for concordancing and text analysis: 코퍼스 분석을 해주는 freeware입니다.


홈페이지에는 기업에서 사용했을 때의 license는 별도로 언급하지는 않습니다. 하지만 직접 홈페이지에 들어가셔서 한 번 보시면 좋을 것 같습니다.


이 프로그램을 다운받고 설치 후, 파일에서 open corpus manager를 열고 난 후,

Pasted image 20240102163828.png


corpus source에서 raw file를 선택하고, 텍스트 파일을 add하고 create 하면 db 파일이 만들어 집니다.

db 파일이 생성된 후, 다시 corpus manager로 가서


Pasted image 20240102163936.png


database 파일을 선택하면, 저같은 경우엔 my_corpus_3.db 를 선택하고 choose를 눌렀습니다. 사진에는 reference corpus로 되어있는데, target corpus로 바꾸고 난 후 db를 선택하시면 됩니다.


그러면 이런 식으로 나의 비즈니스 영어 db가 구축됩니다.

Pasted image 20240102164534.png



윗 부분은 'foray'라는 단어로 검색을 했을 때 나타나는 결과입니다.

뒷 부분에 into가 계속 나온 걸 볼 수 있죠. 그래서 collocate 이랑 n-gram 서치를 해보시면


Pasted image 20240102164807.png


 처럼 나타나는 걸 알 수 있습니다.


foray into: ~로 진출 / 요렇게 쓰이는 표현입니다.

그리고 KWIC에서 해당 문장을 더블 클릭하면 원문을 다 읽을 수 있게 이동합니다.


더욱 자세한 사용을 원하시면 'antconc 사용법'으로 유튜브에서 검색하시면 파라메터를 좀 더 세팅해볼 수 있습니다. 


저같은 경우 p-value를 0.01 이하로 낮춰놨습니다.


사실 chatGPT가 나오기 전에는 정말 이 database가 유용했습니다.

하지만 chatGPT가 나오면서 저도 사용빈도가 예전보다는 낮아졌지만 대신 이런 점에서는 여전히 잘 쓰고 있습니다.


새로운 생소한 표현이나 단어를 사용해서 내가 문장을 만들어보고 싶은데 이게 얼마나 자주 쓰이는 표현인지 궁금할 때가 있습니다. 


무엇을 자세히 알아내다 라는 비슷한 의미의 표현인 'parse out' 과 'tease apart' 이 있습니다.

Parse out은 이미 친숙한 표현인데 tease apart는 생소해서 chatGPT에 물어보니 역시 sort of analyze 인 자세히 뜯어보다 정도로 해석할 여지가 있다고 합니다.


------

추가

1. 위에 올린 글 중에서 api 관련 코드가 depreciated 된 부분이 있는 것 같습니다. 2023년 데이터를 만약 추출하실려면 rapid api 문서를 잘 참조하시면 될 듯 합니다

2. 나는 굳이 미국 상장기업 transcript 가 필요없고, 프로그래밍에 연관되고 싶지 않으시다면,  antconc 프로그램을 다운 받아서 raw file 이 아닌 corpus database 항목으로 가시면 기본적으로 온라인으로 접속해 corpus를 다운받으실 수 있으실 겁니다. 

윗 그림에서 AmE06 으로 보이는 부분이 기본적으로 제공되어 다운받아 사용할 수 있는 corpus 입니다. 

3. 브런치에는 동영상을 바로 올릴 수가 있는데 클리앙에는 동영상을 바로 올릴 수가 없네요. 부득불 영상으로 어떻게 했는지 제가 올린 동영상 링크를 공유 드립니다.


chatGPT가 이메일 초안 등 새로운 글을 작성했을 때, 브레인스토밍은 잘 해주는데, 실제로 미국 Businessman 들이 어떻게 이 단어를 썼을까 궁금하면 개인만의 db를 구축해서 써보는 것도 괜찮을 것 같습니다. 일단 antconc가 freeware니까요. 홈페이지 들어가서 봐도 freeware로만 언급하지 라이선스에 대해 언급된 건 아직 못 봤어요.

자료실