python package 알아보기

2024년 1월 18일 목요일

Today I Learned

날짜

2024년 1월 18일 목요일

내용

하루종일 함수를 만들면서 코드를 짰다. 재밌다!

nltk

파이썬 패키지 중 하나로 자연어 처리를 위한 패키지이다. 자연어라 하면 그냥 사람들이 쓰는 언어(영어, 한국어, 일본어 등등)다. 자연어 처리라 하면, 사람들이 작성한 문장을 단어 단위로 쪼개기도 하고, 그 쪼갠 단어를 원형으로 변형해준다. 예를 들어, “벌써 이번 달의 절반이 지났다니 시간 참 빠르네” 라는 문장을

“벌써”, “이번”, “달”, “의”, “절반”, “이”, “지났다니”, “시간”, “참”, “빠르네” 로 쪼갠다. 보시다싶이 그냥 띄어쓰기로 쪼개는 게 아니라 실제 어근 단위로 쪼개준다. 물론 한국어보단 영어가 훨씬 정확하다. 위 단어들은 원래 형태가 아니기 떄문에 “빠르네”를 “빠르다”로 바꿔준다거나 “의” , “이”와 같은 조사(영어에서는 관사)를 제거해주기도 한다. 의미 없는 단어들을 불용어(stopwords)라고 한다.

특정 단어들의 성질(긍부정)이나 카테고리등을 분류해주는 패키지도 존재한다. 물론 문장 전체를 이용하면 문맥이 파악되니 정확하겠지만 그래도 나쁘지 않다. SQL 자체에도 존재하지만 파이썬 패키지에도 존재하다.

AI

작년에 개인적으로 만들어보고 싶은 게임이 있었다. AI를 이용한 게임인데 그때는 ChatGPT 세상이라 OpenAI가 다였다. 개발이 중단되었지만 올해는 꼭 만들 계획이다. 최근엔 여러 LLM(Large Language Model)들이 등장했는데, 구글도 마찬가지다. OpenAI가 ChatGPT로 채팅을 통한 대화형 인공지능 서비스를 제공한다면 구글에선 Bard다. 아직 무료고, 실험단계라 많이 부족한 건 사실이지만 구글링 실력은 기가 막히기도 하고, 이미지도 제공해준다던가 데이터의 출처도 주는 등 여러 장점들이 있다.

새로운 스프린트에 사용하는 AI를 bard로 정했다. 우선, 비공식이긴 하나 Python에서 사용할 수 있는 package가 있다는 것이 크다. 다다음주 공식 출시될 예정이기 때문에 위험성도 없다. 요즘 AI로 이것저것 만드는 사람들이 하도 많아 쉽게 API를 작성할 수 있다. 문제는, 내가 원하는 데이터를 일관되게 만들어 낼 수 있도록 명령문을 설정하는 것.

사실 우리 서비스를 위한 커스텀 모델을 만들고 알맞게 학습시키면 최적이겠으나 비용으로나 시간적으로나 쉽지 않다. 개발자는 기계에게 일을 시키는 사람이니, 난 이 AI가 맘에 드는 답변을 내놓을 떄까지 가만두지 않을 생각이다. 망치로 내려치면 아무것도 못하는 주제에.

회고

Task에 정해진 시간이 있어 스톱워치를 켜놓고 일했더니 하루종일 출발 드림팀 찍는 기분이다. 아이패드 배터리가 녹아버리는게 아쉽다.