자연어 처리 (16) 썸네일형 리스트형 GPT2를 활용한 한국어 언어생성 모델-자연어처리_23-08-21,22 예제3. 버트를 활용한 한국어 텍스트 분류 모델 예제1. GPT2를 활용한 한국어 언어 생성 모델 GluonNLP는 NLP에서 최첨단(SOTA) 딥 러닝 모델의 구현과 텍스트 데이터 파이프라인 및 모델을 위한 빌드 블록을 제공합니다. 엔지니어, 연구원 및 학생이 이러한 모델을 기반으로 연구 아이디어 및 제품의 프로토타입을 빠르게 제작할 수 있도록 설계되었습니다. 이 툴킷은 5가지 주요 기능을 제공합니다. 한국어로 생성한 모델 - 연구 논문에 보고된 SOTA 결과를 재현하기 위한 교육 스크립트. 일반적인 NLP 작업을 위한 선행 학습된 모델입니다. 구현 복잡성을 크게 줄이는 세심하게 설계된 API. 새로운 NLP 작업을 시작하는 데 도움이 되는 자습서입니다. 커뮤니티 지원. ‘▁’ 문자 => U2581 =.. JinCoding 실무형 NLP Course 5강 : Transfomer 실습 - 23-08-20 [Transformers] Architecture Decoder Masked multi-head self-attention Encoder-decoder multi-head attention Output Training Parameters [실습] BERT 기반 한국어 감성 분류 모델 개발 PyTorch Transformer 구현 Decoder Masked multi-head self-attention “Auto-regressive” : 이전 정보(regressive)를 이용해서 현재 정보(auto)를 예측 현재 토큰 위치 : t 0 , 1, …., t까지 토큰들의 attention score 계산 t+1, …, mask 씌움 (-infinite) Auto-regressive : 이전 정보를 이용해서 현재.. JinCoding 실무형 NLP Course 4강 : Transformer_23-08-19 Transformers 과거 주류 모델 Sequence-to-Sequence (Encoder Decoder Model) With Recurrent or Convolutional Model = 이전 단어가 다음 단어에 영향을 줌 Activation Functions : 모델에 비선형성(non-linearity)을 추가 선형성(linearity) : linear transformation (행렬 덧셈과 곱셈) 후에도 선형성을 유지 linearity의 단점 : deep neural network 구축해도 single neural network로 표현 선형성 단점은 레이어 하나를 통과한 결과 z를 다 통과해보니까 결국엔 하나의 single neural network로 표현됨 비선형성 (non-linearity).. 자연어처리_챗봇_23-08-16 dict1 = {'a': 1, 'b': 2} # **args : 딕셔너리를 전달받을 때 사용하는 매개변수 def test(**args) : print(args['a'], args['b']) test(**dict1) —- 가정 설정문(assert) Assert 사용법 => assert는 뒤의 조건이 True가 아니면 AssertError를 발생한다 => assert문 형식 assert 조건, ‘메시지’ ‘메시지’는 생략할 수 있다 데이터가 있는지 없는지 존재여부를 확인할 때 사용 에러를 통해 프로그램을 중지하고 싶을 때 사용한다 자연어처리_챗봇_23-08-14 tqdm은 생략해도 성능에 문제가 없고 for문이 어느정도로 어떻게 진행되고 있는지 확인하기 위해 사용했었다, enc_processing , dec_output_processing 함수 눈여겨볼 필요가 있습니다 예제4. 데이터를 불러오고 가공하는 다양한 기능 구성하기 및 테스트 판다스를 통해서 데이터를 불러온 후, question, answer로 분리하는 함수 한글 텍스트를 토크나이징하기 위해 형태소로 분리하는 단어 사전을 만들기 위해서, 데이터를 전처리한 후 단어리스트를 만드는 함수 단어 사전을 만드는 함수 인코더에 적용될 입력값을 만드는 전처리 함수 디코더의 입력으로 사용될 입력값을 만드는 전처리 함수 디코더의 결과로 학습을 위해 필요한 라벨인 타깃값을 만드는 전처리 함수 File name : wor.. 자연어처리_챗봇_23-08-11 시퀀스 투 시퀀스 모델 (sequence to sequence model) (1) 시퀀스 투 시퀀스 모델 시퀀스 형태의 입력값을 시퀀스 형태의 출력으로 만들 수 있게 하는 모델이다. 하나의 텍스트 문장이 입력으로 들어오면 하나의 텍스트 문장을 출력하는 구조이다. 시퀀스 투 시퀀스 (sequence to sequence) 이 모델은 순환신경망(RNN) 모델을 기반으로 하며, 인코더 부분과 디코더 부분으로 나뉜다. 인코더 부분에서 입력값을 받아 입력값의 정보를 담은 벡터를 만들어낸다 디코더 부분에서 이 벡터를 활용해 재귀적으로 출력값을 만들어낸다 이 모델이 많이 활용되는 분야 기계 번역 텍스트요약 이미지 설명 image captioning -> 이미지를 입력으로 주고 chatgpt가 이미지에 있는 형상(석양.. JinCoding 실무형 NLP Course 3강: 문서 검색 시스템 예제 문서 검색 시스템 예제 [2] 컴퓨터는 언어를 어떻게 이해할까? Embedding [BONUS] 벡터 , numpy를 사용한 기본 연산 [3] 문서 검색 시스템 개발 SentenceBERT Streamlit(web application) 상사님 : 검색 시스템 개발해봐 주피터노트북 실험한걸 주면 별로 안좋아하심 내가 혼자 실험 용도로 내가 누군가에게 서비스를 보여주려면 웹 애플리케이션으로 보여드리는게 좋다 잘하는 사람들은 역시 서비스 단위로 기획을 하는구나 .. Embeddings Word2Vec 1-1) Skip-gram “나 (target) 를 보고 주변 단어(context)를 맞춰봐 Context : 주변 단어 Target : 중심 단어 Window size : 주변 단어 개수 Context 개수 .. 자연어처리_챗봇_23-08-09 챗봇 실행 방법 챗봇 서버 실행 - 챗봇 클라이언트 실행 bot.py 실행 test\chatbot_client_test.py 실행 help(socket.socket.listen) 으로 동시접속자 관련 글 확인 가능합니다 구체적인 내용은 웹에서 검색 필요합니다 일반적으로 서비스화를 하려면 웹서버가 존재해야함 챗봇 API 서버 구축 Open AI 서버? 가 존재합니다 ? 챗봇 API 서버는 다양한 메신저 플랫폼과 챗봇 엔진 사이에서 서로 데이터를 주고 받을 수 있도록 인터페이스 역할을 하낟 RestAPI 웹 URI를 통해 자원을 명시하고, HTTP 네소드를 통해 해당 자원에 대한 CRUD 동작을 처리하는 API 호출 방식이다 파이썬 Flask Flask는 파이썬 기반으로 경량화된 프레임워크이다 구현이 간단하.. 자연어처리_챗봇구축_23-08-08 예제10. 데이터베이스 제어 모듈, 챗봇 답변 검색 모듈 생성 및 답변 검색 테스트 2 사용자 사전 File : user_dic.tsv 의도 분류 데이터셋 : total_train_data.csv 개체명 인식 데이터셋 : ner_train.txt 학습데이터 File : train_data.xlsx 개체명 인식 모델 : ner_model.h5 의도 분류 모델 : intent_model.h5 말뭉치 File : corpus.txt # 양수 0123 # 음수 4321 (-4, -3, -2, -1) st = ‘abcd’ print(st[:-3]) # a print(st[:-1]) # abc 다음주 프로젝트 진행 예정 : 챗봇 성능이 더 높게끔 만들어보기 (함부로 못한다는 소리하지 말기 => 하면! 된다! ) 챗.. 자연어처리_챗봇구축_230807 개체명 인식 모델 학습 챗봇 엔진에 입력된 문장의 의도를 분류한 후, 문장 내 개체명 인식을 진행한다 개체명 인식을 위해 양방향 LSTM을 이용한다 한단계 한단계 나아가면서 데이터가 어떻게 변형되는지 확실히 알아야 한다. 다중분류는 softmax 로 한다 One-hot encoding 값을 일반 정수로 변경 함수 두개 기능은 똑같다 그러나 리턴값이 다르다 Np.argmax argmax(a, axis=None, out=None, *, keepdims=) => 리턴값 : numpy 배열 tf.math.argmax argmax_v2(inpit, axis=None, output_type=tf.int64, name=None) => 리턴값 : tensor flow 클래스 (tensorflow.python.frame.. 이전 1 2 다음