Deskripsi
Proyek Skip-Thought Vectors menawarkan encoder Sent2Vec dan kode pelatihan terkait, yang berasal langsung dari makalah penelitian "Skip-Thought Vectors." Alat ini dirancang untuk menghasilkan representasi vektor kalimat yang padat dan berkualitas tinggi. Embedding kalimat ini kemudian dapat dimanfaatkan di berbagai aplikasi pemrosesan bahasa alami (NLP), secara signifikan meningkatkan kinerjanya.
Baca Selengkapnya
Implementasi utamanya dalam Python, memerlukan dependensi spesifik seperti Python 2.7, Theano 0.7, NumPy, SciPy, scikit-learn, NLTK 3, dan secara opsional Keras dan gensim untuk eksperimen tertentu. Pengguna perlu mengunduh file model yang telah dilatih sebelumnya dan embedding kata, yang berukuran besar, sehingga memerlukan ruang penyimpanan yang memadai. Penyiapan melibatkan konfigurasi jalur ke file yang diunduh ini di dalam skrip `skipthoughts.py` dan pengaturan flag Theano untuk pemilihan perangkat (CPU atau GPU).
Setelah disiapkan, encoder dapat memproses daftar kalimat untuk menghasilkan vektor numerik. Vektor keluaran berdimensi 4800, menggabungkan model uni-skip dan bi-skip, dengan vektor gabungan direkomendasikan untuk kinerja optimal seperti yang ditunjukkan dalam eksperimen makalah. Proses pengkodean dapat dikontrol untuk verbositas, menampilkan kemajuan berdasarkan panjang kalimat yang diproses.
Repositori ini juga menyertakan kode untuk mereplikasi eksperimen yang dirinci dalam makalah, mencakup tugas-tugas seperti Klasifikasi Tipe Pertanyaan TREC, Peringkat Gambar-Kalimat (menggunakan dataset COCO), Keterkaitan Semantik (dataset SICK), Deteksi Parafrase (Microsoft Research Paraphrase Corpus), dan berbagai tolok ukur klasifikasi biner (MR, CR, SUBJ, MPQA). Skrip eksperimental ini memandu pengguna tentang persiapan data dan eksekusi untuk mencapai hasil yang dilaporkan, seringkali melibatkan validasi silang untuk penyetelan hyperparameter.
Proyek ini menekankan pentingnya token Akhir Kalimat (EOS), yang dapat digunakan secara opsional selama pengkodean untuk berpotensi meningkatkan kinerja, terutama untuk kalimat yang tidak memiliki tanda baca standar. Kode ini dirilis di bawah Lisensi Apache 2.0, dan pengguna didorong untuk mengutip makalah penelitian yang relevan jika mereka merasa kode tersebut bermanfaat.
- KategoriAlat Pemrosesan Bahasa Alami
- Model HargaOpen source
- PenerapanDi-host sendiri
- PlatformLinux, macOS, Windows
Fitur Inti Skip-Thought Vectors
Implementasi encoder Sent2Vec
Kode pelatihan dari makalah 'Skip-Thought Vectors'
Menghasilkan representasi vektor kalimat yang padat
Mendukung model uni-skip dan bi-skip
Vektor gabungan-skip direkomendasikan untuk kinerja terbaik
Menyertakan kode untuk eksperimen klasifikasi TREC
Menyertakan kode untuk eksperimen Peringkat Gambar-Kalimat
Menyertakan kode untuk eksperimen Keterkaitan Semantik
Menyertakan kode untuk eksperimen Deteksi Parafrase
Menyertakan kode untuk tolok ukur klasifikasi biner
Penggunaan token EOS opsional untuk pengkodean
Implementasi berbasis Python
Memulai dengan Skip-Thought Vectors
Unduh file model dan embedding kata
Konfigurasi jalur ke file yang diunduh di skipthoughts.py
Atur THEANO_FLAGS untuk pemilihan perangkat (CPU/GPU)
Impor skipthoughts dan muat model
Inisialisasi encoder dengan model yang dimuat
Kodekan daftar kalimat untuk mendapatkan vektor
Jalankan skrip yang disediakan untuk eksperimen NLP tertentu
Kasus Penggunaan Skip-Thought Vectors
- Pembuatan Embedding Kalimat
- Klasifikasi Teks
- Peringkat Gambar-Kalimat
- Kesamaan Semantik
- Deteksi Parafrase
- Klasifikasi Biner








