종이용 코드 및 데이터 차분함 유지 및 탐색: EMNLP 2020에서 텍스트 기반 게임의 액션 생성을 위한 언어 모델.
우리의 ClubFloyd 데이터세트 ( calm/lm_data.zip
)는 ClubFloyd 웹사이트에서 크롤링되며 다양한 장르와 스타일의 590개 텍스트 기반 게임을 포괄하는 426개의 인간 게임플레이 기록이 포함되어 있습니다.
데이터는 [CLS] observation [SEP] action [SEP] next observation [SEP] next action [SEP]
형식의 223,527개의 컨텍스트-작업 쌍으로 구성됩니다. 우리는 다음 행동 [CLS] observation [SEP] action [SEP] next observation [SEP]
next action [SEP]
을 사용하고, 이 행동 생성 능력이 일반화됨을 보여줍니다. 보이지 않는 게임 에 접근하고 강화 학습과 결합하면 게임 플레이를 지원합니다.
pip install torch==1.4 transformers==2.5.1 jericho fasttext wandb importlib_metadata
git clone https://github.com/princeton-nlp/calm-textgame && cd calm-textgame
ln -s ../lm calm && ln -s ../lm drrn
(fasttext에 대한 pip 설치가 실패하면 여기에서 빌드 단계를 시도하십시오: https://github.com/facebookresearch/fastText#building-fasttext-for-python)
cd calm
unzip lm_data.zip
python train.py
GPT-2 및 n-gram 모델 모두에 대해 훈련된 모델 가중치를 여기에서 다운로드할 수 있습니다.
cd ../drrn
python train.py --rom_path ../games/ ${GAME} --lm_path ${PATH_TO_CALM} --lm_type ${gpt_or_ngram}
from lm import GPT2LM
model = GPT2LM ( "model_weights/gpt2" )
print ( model . generate ( "[CLS] observation [SEP] action [SEP] next observation [SEP]" , k = 30 ))
@inproceedings{yao2020calm,
title={Keep CALM and Explore: Language Models for Action Generation in Text-based Games},
author={Yao, Shunyu and Rao, Rohan and Hausknecht, Matthew and Narasimhan, Karthik},
booktitle={Empirical Methods in Natural Language Processing (EMNLP)},
year={2020}
}
멋진 ClubFloyd 웹사이트를 호스팅하고 사용을 허가해주신 Jacqueline에게 감사드립니다!
코드는 TDQN(RL 부분) 및 Huggingface Transformers(CALM 부분)에서 차용합니다.
질문이 있으시면 Shunyu Yao <[email protected]>
에게 연락해주세요.