TensorFlow를 사용한 시퀀스2시퀀스 챗봇 구현입니다.
아래 시작 지침을 참조하거나 일부 채팅 로그를 확인하세요.
(배치 파일은 현재 Windows에서만 사용할 수 있습니다. Mac 및 Linux 사용자의 경우 Python 콘솔에 대한 아래 지침을 참조하세요.)
콘솔 채팅의 경우:
chat_console_best_weights_training.bat
또는 chat_console_best_weights_validation.bat
실행하세요.웹 채팅의 경우:
모델 디렉터리에서 chat_web_best_weights_training.bat
또는 chat_web_best_weights_validation.bat
실행하세요.
서버 콘솔에 표시된 URL과 /chat_ui.html
순으로 브라우저를 엽니다. 이는 일반적으로 http://localhost:8080/chat_ui.html입니다.
콘솔 작업 디렉터리를 seq2seq-chatbot 디렉터리로 설정합니다. 이 디렉터리에는 바로 모델 및 데이터 세트 디렉터리가 있어야 합니다.
모델 체크포인트 경로를 사용하여 chat.py를 실행합니다.
run chat.py models d ataset_name m odel_name c heckpoint.ckpt
예를 들어 훈련된 코넬 영화 대화 모델 training_model_v2 와 채팅하려면 다음을 수행합니다.
training_model_v2를 다운로드하고 seq2seq-chatbot/models/cornell_movie_dialog 폴더에 압축을 풉니다.
콘솔 작업 디렉터리를 seq2seq-chatbot 디렉터리로 설정합니다.
달리다:
run chat.py models c ornell_movie_dialog t rained_model_v2 b est_weights_training.ckpt
결과는 다음과 같아야 합니다.
Python 콘솔에서 모델을 학습하려면 다음 안내를 따르세요.
hparams.json 파일을 원하는 교육 하이퍼파라미터로 구성합니다.
콘솔 작업 디렉터리를 seq2seq-chatbot 디렉터리로 설정합니다. 이 디렉터리에는 바로 모델 및 데이터 세트 디렉터리가 있어야 합니다.
새 모델을 훈련하려면 데이터세트 경로를 사용하여 train.py를 실행하세요.
run train.py --datasetdir=datasets d ataset_name
또는 기존 모델 학습을 재개하려면 모델 체크포인트 경로를 사용하여 train.py를 실행하세요.
run train.py --checkpointfile=models d ataset_name m odel_name c heckpoint.ckpt
예를 들어, 기본 하이퍼파라미터를 사용하여 코넬 영화 대화 데이터세트에서 새 모델을 훈련하려면 다음을 수행하세요.
콘솔 작업 디렉터리를 seq2seq-chatbot 디렉터리로 설정합니다.
달리다:
run train.py --datasetdir=datasets c ornell_movie_dialog
결과는 다음과 같아야 합니다.
문서가 곧 제공될 예정입니다...
TensorBoard는 TensorFlow 모델이 훈련될 때 내부적으로 무슨 일이 일어나고 있는지 시각화하는 훌륭한 도구입니다.
터미널에서 TensorBoard를 시작하려면:
tensorboard --logdir=model_dir
여기서 model_dir은 모델 체크포인트 파일이 있는 디렉터리의 경로입니다. 예를 들어 훈련된 코넬 영화 대화 모델을 보려면 training_model_v2 :
tensorboard --logdir=models c ornell_movie_dialog t rained_model_v2
문서가 곧 제공될 예정입니다...
문서가 곧 제공될 예정입니다...
TensorBoard는 PCA 또는 T-SNE와 같은 차원 축소 기술을 수행하여 단어 임베딩을 3D 공간에 투영할 수 있으며, 모든 단어에 대한 임베딩 공간에서 가장 가까운 이웃을 확인하여 모델이 어휘의 단어를 어떻게 그룹화했는지 탐색할 수 있습니다. . TensorFlow 및 TensorBoard 프로젝터의 단어 임베딩에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
모델 디렉터리에 대해 TensorBoard를 시작하고 "프로젝터" 탭을 선택하면 다음과 같아야 합니다.
곧 지침이 제공될 예정입니다...
seq2seq-chatbot에서는 다음 Python 패키지가 사용됩니다. (Anaconda와 함께 제공되는 패키지 제외)
TensorFlow *참고 - TF 2.x는 아직 지원되지 않습니다. 최신 TF 1.x 버전을 사용하세요.
pip install --upgrade tensorflow==1. *
GPU 지원: (CUDA 및 cuDNN을 포함한 전체 GPU 설치 지침은 여기를 참조하세요.)
pip install --upgrade tensorflow-gpu==1. *
json피클
pip install --upgrade jsonpickle
6.7, 플라스크 0.12.4 및 플라스크-레스트풀(웹 인터페이스를 실행하는 데 필요)을 클릭합니다.
pip install click==6.7
pip install flask==0.12.4
pip install --upgrade flask-restful
로드맵 페이지 보기
이 구현은 다음에서 영감을 얻었습니다.
신경망을 사용한 시퀀스 학습
신경 대화 모델
정렬 및 번역을 공동 학습하여 신경 기계 번역(Bahdanau 주의 메커니즘)
주의 기반 신경 기계 번역에 대한 효과적인 접근 방식(Luong 주의 메커니즘)