최근 챗gpt 얘기가 너무 많이 나오길래 저도 관심을 두고 있었습니다. 그러다 제가 앤써북 카페를 통해 지원한 도서체험단으로 선정되어 해당 책으로 리뷰를 작성해보겠습니다. 목차소개입니다.챗gpt부터 프로그램 세팅과 파이썬 기초문법을 시작으로 다양한 예제 코드가 수록되어 있었습니다. https://blog.naver.com/gongp_7/223081870173 [ChatGPT] 챗지피티 사용하여 지렁이 게임 코드 받기(에러)+짧은 대화 안녕하세요 오늘은 openAI의 ChatGPT를 사용해보려 합니다. 사실 제가 전공자이다보니 인공지능에는 … blog.naver.com 제일 먼저 소개 되어있던 챗gpt를 사용해보겠습니다.이를 보고 한 번 사용해 보고자 지렁이게임 코드를 받는 예제를 위 링크를 통해 작성해보았습니다. 그리고 내용에 tts 라이브러리를 이용하여 텍스트를 소리로 바꾸는 TTS(Text to Speech)를 구현하는 내용이 소개되어 있었습니다.제가 예전에 어시스턴트 프로그램을 졸업작품으로 제출하였는데, 그 때 gtts 라이브러리를 이용하여 구현하였었습니다. 이부분을 보니 그때의 추억이 새록새록 떠올랐습니다. 오늘 살펴볼 코드는..파이썬으로 자연어처리(형태소 분석하기)책에서는 vsc를 통해 작업을 진행한 것으로 보이지만 저는 아나콘다를 이미 깔아두었기에 아나콘다와 함께 설치한 spyder라는 프로그램을 통해 코드를 실행시켰습니다. import nltkfrom nltk.tokenize import word_tokenizefrom nltk.corpus import stopwordsfrom nltk.tag import pos_tagfrom collections import Counternltk.download(‘punkt’);nltk.download(‘stopwords’)nltk.download(‘averaged_perceptron_tagger’)def preprocess(text): text = text.lower() words = word_tokenize(text) words = [word for word in words if word.isalpha()] stop_words = set(stopwords.words(‘english’)) words = [word for word in words if not word in stop_words] return wordsdef count_words(words): word_counts = Counter(words) top_words = word_counts.most_common(10) return top_wordsdef tag_parts_of_speech(words): tagged_words = pos_tag(words) return tagged_wordstext = input(“enter some text: “)words = preprocess(text)top_words = count_words(words)print(“top 10 words: “, top_words)tagged_words = tag_parts_of_speech(words)print(‘part of speech tagging: ‘, tagged_words) 코드 내용을 보시면 형태소 분석에 사용할 라이브러리를 불러와 각 함수를 실행 시킬 때, 단어를 분리하고 단어 수를 카운트하고, 태깅 작업으로 각 단어를 분석하도록 처리하고 있습니다.여기서 set(stopwords.words(‘english’))라는 부분에서 불용어를 처리하고 있습니다.그러나 한글을 처리하고 싶다면 set(stopwords.words(‘korea’))로는 처리할 수 없습니다.토큰화작업을 처리할 때 필요없는 조사나 접속사 등을 제거하는 간단한 방법과직접 단어를 지정해주는 방법이 있습니다.https://wikidocs.net/22530 02-04 불용어(Stopword) 갖고 있는 데이터에서 유의미한 단어 토큰만을 선별하기 위해서는 큰 의미가 없는 단어 토큰을 제거하는 작업이 필요합니다. 여기서 큰 의미가 없다라는 것은 자주 등장하지만 분석을 하… wikidocs.net 위의 링크를 참고하셔서 조사나 접속사 이외에도 제거하고 싶은 명사, 형용사를 지정해줄 수 있습니다.이런 작업을 통해 보다 원하는 데이터를 쉽게 처리할 수 있을 것입니다.아래는 실행 사진입니다.(spyder를 통해 실행시켰으며, 튜플형 리스트 형태의 결과가 출력되었습니다.) 책 내용을 보다보니 이 책에 수록된 코드들은 모두 ChatGPT를 이용하여 얻어온 코드로 보입니다.모든 코드의 시작부분에 openAI 로고가 찍혀있었으며, 모든 코드의 시작은 한 사용자가 질문을 하고 답변으로 코드를 보여주는 식으로 구성되어 있습니다.제가 가장 기대했던 부분인 자연어 처리와 음성 비서 만들기 챕터에는 제가 졸업작품으로 만든 코드와 거의 흡사하거나 조금 기대치 미달이었습니다. tts라이브러리 사용방법이나 위에서 소개드린 형태소 분석하기 등 참고하기 좋은 코드가 있었지만 제가 원하는 ai assistant를 만들기엔 자료가 부족했습니다.파이썬 기초 문법을 떼신 분들이 참고용으로 보시면서 소개된 코드들을 실행해보고 공부하기에 좋을 것이란 생각이 듭니다. 다양한 코드를 실행하며 라이브러리나 api 등을 사용해 볼 수 있으니 많은 참고가 될 것 입니다.추가로 소개드린 코드 외에도 이미지에서 얼굴을 찾아 모자이크 처리나, 가상화폐 데이터를 시각화하는 프로그램 코드들처럼 만들어보기 재밌어보이는 코드들이 다양하게 소개되어 있었습니다. 그리고 이 책을 보면서 제 졸업작품 얘기를 많이 꺼냈습니다.제 졸업작품 소개를 간단하게 정리해보자면, 먼저 stt를 통해 명령어를 받습니다.그리고 저는 4가지 단어에 반응하도록 만들었습니다.1.일정 제가 대학생이라 학교 홈페이지를 크롤링할 수 있었기에 학번과 비밀번호를 미리 설정해두고 학교 홈페이지를 크롤링하여 시간표 정보를 받아 파일로 저장시켰습니다.그리고 음성 명령어를 통해 해당 요일의 시간표 정보를 tts로 읽어줍니다.2. 날씨날씨 정보는 openAI를 통해 그 날의 날씨정보를 웹사이트를 통해 가져오는 방식으로 구성하였습니다.3.자기소개음성 명령어로 누구라는 단어를 들으면 tts를 통해 간단하게 자기 소개를 시켰습니다.(4. 하나가 더 있었는데 1년이 지나며 기억이 흐릿하네요..;ㅎㅎ) 아무튼 이 책을 보면 제 졸업작품과 흡사한 작품도 얼마든지 만들 수 있을 것으로 보입니다.물론 저는 제 코드를 더 성장시켜서 차이를 만들어야겠죠?개발자를 목표로 노력하시는 모든 분들 응원합니다.오늘도 끝까지 봐주신 분들 모두 감사합니다. #pyton #openAI #chatGPT #programming #code #coding #파이썬 #오픈AI #챗gpt #챗지피티 #프로그래밍 #코드 #코딩