โปรดดูที่ https://github.com/neuspeech/eeg-to-text สำหรับรหัสที่แก้ไขและการทดลองโดยละเอียด เพื่อหลีกเลี่ยงความสับสนต่อไปเราเก็บ repo นี้
เรียกใช้ conda env create -f environment.yml เพื่อสร้างสภาพแวดล้อม conda (ชื่อ "eegtotext") ที่ใช้ในการทดลองของเรา
.mat ทั้งหมดไปที่ ~/datasets/ZuCo/task1-SR/Matlab_files , ~/datasets/ZuCo/task2-NR/Matlab_files , ~/datasets/ZuCo/task3-TSR/Matlab_files ตามลำดับ.mat ทั้งหมดไปยัง ~/datasets/ZuCo/task2-NR-2.0/Matlab_files เรียกใช้ bash ./scripts/prepare_dataset.sh เพื่อประมวลผลไฟล์ preprocess .mat และเตรียมฉลากความเชื่อมั่น
สำหรับแต่ละงานไฟล์ .mat ทั้งหมดจะถูกแปลงเป็น .pickle หนึ่งไฟล์ที่เก็บไว้ใน ~/datasets/ZuCo/<task_name>/<task_name>-dataset.pickle -dataset.pickle
ชุดข้อมูลความเชื่อมั่นสำหรับ ZUCO ( sentiment_labels.json ) จะถูกเก็บไว้ใน ~/datasets/ZuCo/task1-SR/sentiment_labels/sentiment_labels.json
ชุดข้อมูลความเชื่อมั่นสำหรับ Stanford Sentiment Treebank ที่ผ่านการกรองจะถูกเก็บไว้ใน ~/datasets/stanfordsentiment/ternary_dataset.json
ในการฝึกอบรมแบบจำลองการถอดรหัส EEG-to-text ให้เรียกใช้ bash ./scripts/train_decoding.sh
ในการประเมินรูปแบบการถอดรหัส EEG-to-text ที่ผ่านการฝึกอบรมจากด้านบนให้เรียกใช้ bash ./scripts/eval_decoding.sh
สำหรับการกำหนดค่าโดยละเอียดของอาร์กิวเมนต์ที่มีอยู่โปรดดูฟังก์ชั่น get_config(case = 'train_decoding') ใน /config.py
ก่อนอื่นเราฝึกอบรมตัวถอดรหัสและตัวจําแนกเป็นรายบุคคลจากนั้นเราประเมินไปป์ไลน์ในข้อมูล ZUCO TASK1-SR
ในการเรียกใช้กระบวนการฝึกอบรมและการประเมินผลทั้งหมดให้เรียกใช้ bash ./scripts/train_eval_zeroshot_pipeline.sh
สำหรับการกำหนดค่าโดยละเอียดของอาร์กิวเมนต์ที่มีอยู่โปรดดูฟังก์ชัน get_config(case = 'eval_sentiment') ใน /config.py
@inproceedings{wang2022open,
title={Open vocabulary electroencephalography-to-text decoding and zero-shot sentiment classification},
author={Wang, Zhenhailong and Ji, Heng},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
volume={36},
number={5},
pages={5350--5358},
year={2022}
}